@charset "UTF-8";
/* $breakpoints: (
  small: 0,
  medium: 640px,
  large: 1024px,
  xlarge: 1200px,
  xxlarge: 1440px,
); */
/**
 * Foundation for Sites by ZURB
 * Version 6.2.4
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/*! 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: not-allowed; }

/**
   * 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.
   * [NOTE] We don't enable this ruleset in Foundation, because we want the <fieldset> element to have plain styling.
   */
/* 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; }

.foundation-mq {
  font-family: "small=0em&xs-phone=20em&sm-phone=23.4375em&md-phone=30em&medium=40em&tablet=48em&lg-tablet=55em&desktop=62em&large=64em&widescreen=75em&xlarge=75em&xxlarge=90em"; }

html {
  font-size: 100%;
  box-sizing: border-box; }

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

body {
  padding: 0;
  margin: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #312E2B;
  background: #FFFAF5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic;
  display: inline-block;
  vertical-align: middle; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0; }

select {
  width: 100%;
  border-radius: 0; }

#map_canvas img,
#map_canvas embed,
#map_canvas object,
.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  background: transparent;
  padding: 0;
  border: 0;
  border-radius: 0;
  line-height: 1; }
  [data-whatinput='mouse'] button {
    outline: 0; }

.is-visible {
  display: block !important; }

.is-hidden {
  display: none !important; }

.row {
  max-width: 75rem;
  margin-left: auto;
  margin-right: auto; }
  .row::before, .row::after {
    content: ' ';
    display: table; }
  .row::after {
    clear: both; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row .row {
    margin-left: -0.625rem;
    margin-right: -0.625rem; }
    @media screen and (min-width: 40em) {
      .row .row {
        margin-left: -0.9375rem;
        margin-right: -0.9375rem; } }
    .row .row.collapse {
      margin-left: 0;
      margin-right: 0; }
  .row.expanded {
    max-width: none; }
    .row.expanded .row {
      margin-left: auto;
      margin-right: auto; }

.column, .columns {
  width: 100%;
  float: left;
  padding-left: 0.625rem;
  padding-right: 0.625rem; }
  @media screen and (min-width: 40em) {
    .column, .columns {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }
  .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
    float: right; }
  .column.end:last-child:last-child, .end.columns:last-child:last-child {
    float: left; }

.column.row.row, .row.row.columns {
  float: none; }

.row .column.row.row, .row .row.row.columns {
  padding-left: 0;
  padding-right: 0;
  margin-left: 0;
  margin-right: 0; }

.small-1 {
  width: 8.33333%; }

.small-push-1 {
  position: relative;
  left: 8.33333%; }

.small-pull-1 {
  position: relative;
  left: -8.33333%; }

.small-offset-0 {
  margin-left: 0%; }

.small-2 {
  width: 16.66667%; }

.small-push-2 {
  position: relative;
  left: 16.66667%; }

.small-pull-2 {
  position: relative;
  left: -16.66667%; }

.small-offset-1 {
  margin-left: 8.33333%; }

.small-3 {
  width: 25%; }

.small-push-3 {
  position: relative;
  left: 25%; }

.small-pull-3 {
  position: relative;
  left: -25%; }

.small-offset-2 {
  margin-left: 16.66667%; }

.small-4 {
  width: 33.33333%; }

.small-push-4 {
  position: relative;
  left: 33.33333%; }

.small-pull-4 {
  position: relative;
  left: -33.33333%; }

.small-offset-3 {
  margin-left: 25%; }

.small-5 {
  width: 41.66667%; }

.small-push-5 {
  position: relative;
  left: 41.66667%; }

.small-pull-5 {
  position: relative;
  left: -41.66667%; }

.small-offset-4 {
  margin-left: 33.33333%; }

.small-6 {
  width: 50%; }

.small-push-6 {
  position: relative;
  left: 50%; }

.small-pull-6 {
  position: relative;
  left: -50%; }

.small-offset-5 {
  margin-left: 41.66667%; }

.small-7 {
  width: 58.33333%; }

.small-push-7 {
  position: relative;
  left: 58.33333%; }

.small-pull-7 {
  position: relative;
  left: -58.33333%; }

.small-offset-6 {
  margin-left: 50%; }

.small-8 {
  width: 66.66667%; }

.small-push-8 {
  position: relative;
  left: 66.66667%; }

.small-pull-8 {
  position: relative;
  left: -66.66667%; }

.small-offset-7 {
  margin-left: 58.33333%; }

.small-9 {
  width: 75%; }

.small-push-9 {
  position: relative;
  left: 75%; }

.small-pull-9 {
  position: relative;
  left: -75%; }

.small-offset-8 {
  margin-left: 66.66667%; }

.small-10 {
  width: 83.33333%; }

.small-push-10 {
  position: relative;
  left: 83.33333%; }

.small-pull-10 {
  position: relative;
  left: -83.33333%; }

.small-offset-9 {
  margin-left: 75%; }

.small-11 {
  width: 91.66667%; }

.small-push-11 {
  position: relative;
  left: 91.66667%; }

.small-pull-11 {
  position: relative;
  left: -91.66667%; }

.small-offset-10 {
  margin-left: 83.33333%; }

.small-12 {
  width: 100%; }

.small-offset-11 {
  margin-left: 91.66667%; }

.small-up-1 > .column, .small-up-1 > .columns {
  width: 100%;
  float: left; }
  .small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) {
    clear: both; }
  .small-up-1 > .column:last-child, .small-up-1 > .columns:last-child {
    float: left; }

.small-up-2 > .column, .small-up-2 > .columns {
  width: 50%;
  float: left; }
  .small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) {
    clear: both; }
  .small-up-2 > .column:last-child, .small-up-2 > .columns:last-child {
    float: left; }

.small-up-3 > .column, .small-up-3 > .columns {
  width: 33.33333%;
  float: left; }
  .small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) {
    clear: both; }
  .small-up-3 > .column:last-child, .small-up-3 > .columns:last-child {
    float: left; }

.small-up-4 > .column, .small-up-4 > .columns {
  width: 25%;
  float: left; }
  .small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) {
    clear: both; }
  .small-up-4 > .column:last-child, .small-up-4 > .columns:last-child {
    float: left; }

.small-up-5 > .column, .small-up-5 > .columns {
  width: 20%;
  float: left; }
  .small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) {
    clear: both; }
  .small-up-5 > .column:last-child, .small-up-5 > .columns:last-child {
    float: left; }

.small-up-6 > .column, .small-up-6 > .columns {
  width: 16.66667%;
  float: left; }
  .small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) {
    clear: both; }
  .small-up-6 > .column:last-child, .small-up-6 > .columns:last-child {
    float: left; }

.small-collapse > .column, .small-collapse > .columns {
  padding-left: 0;
  padding-right: 0; }

.small-collapse .row {
  margin-left: 0;
  margin-right: 0; }

.expanded.row .small-collapse.row {
  margin-left: 0;
  margin-right: 0; }

.small-uncollapse > .column, .small-uncollapse > .columns {
  padding-left: 0.625rem;
  padding-right: 0.625rem; }

.small-centered {
  margin-left: auto;
  margin-right: auto; }
  .small-centered, .small-centered:last-child:not(:first-child) {
    float: none;
    clear: both; }

.small-uncentered,
.small-push-0,
.small-pull-0 {
  position: static;
  margin-left: 0;
  margin-right: 0;
  float: left; }

@media screen and (min-width: 23.4375em) {
  .sm-phone-1 {
    width: 8.33333%; }
  .sm-phone-push-1 {
    position: relative;
    left: 8.33333%; }
  .sm-phone-pull-1 {
    position: relative;
    left: -8.33333%; }
  .sm-phone-offset-0 {
    margin-left: 0%; }
  .sm-phone-2 {
    width: 16.66667%; }
  .sm-phone-push-2 {
    position: relative;
    left: 16.66667%; }
  .sm-phone-pull-2 {
    position: relative;
    left: -16.66667%; }
  .sm-phone-offset-1 {
    margin-left: 8.33333%; }
  .sm-phone-3 {
    width: 25%; }
  .sm-phone-push-3 {
    position: relative;
    left: 25%; }
  .sm-phone-pull-3 {
    position: relative;
    left: -25%; }
  .sm-phone-offset-2 {
    margin-left: 16.66667%; }
  .sm-phone-4 {
    width: 33.33333%; }
  .sm-phone-push-4 {
    position: relative;
    left: 33.33333%; }
  .sm-phone-pull-4 {
    position: relative;
    left: -33.33333%; }
  .sm-phone-offset-3 {
    margin-left: 25%; }
  .sm-phone-5 {
    width: 41.66667%; }
  .sm-phone-push-5 {
    position: relative;
    left: 41.66667%; }
  .sm-phone-pull-5 {
    position: relative;
    left: -41.66667%; }
  .sm-phone-offset-4 {
    margin-left: 33.33333%; }
  .sm-phone-6 {
    width: 50%; }
  .sm-phone-push-6 {
    position: relative;
    left: 50%; }
  .sm-phone-pull-6 {
    position: relative;
    left: -50%; }
  .sm-phone-offset-5 {
    margin-left: 41.66667%; }
  .sm-phone-7 {
    width: 58.33333%; }
  .sm-phone-push-7 {
    position: relative;
    left: 58.33333%; }
  .sm-phone-pull-7 {
    position: relative;
    left: -58.33333%; }
  .sm-phone-offset-6 {
    margin-left: 50%; }
  .sm-phone-8 {
    width: 66.66667%; }
  .sm-phone-push-8 {
    position: relative;
    left: 66.66667%; }
  .sm-phone-pull-8 {
    position: relative;
    left: -66.66667%; }
  .sm-phone-offset-7 {
    margin-left: 58.33333%; }
  .sm-phone-9 {
    width: 75%; }
  .sm-phone-push-9 {
    position: relative;
    left: 75%; }
  .sm-phone-pull-9 {
    position: relative;
    left: -75%; }
  .sm-phone-offset-8 {
    margin-left: 66.66667%; }
  .sm-phone-10 {
    width: 83.33333%; }
  .sm-phone-push-10 {
    position: relative;
    left: 83.33333%; }
  .sm-phone-pull-10 {
    position: relative;
    left: -83.33333%; }
  .sm-phone-offset-9 {
    margin-left: 75%; }
  .sm-phone-11 {
    width: 91.66667%; }
  .sm-phone-push-11 {
    position: relative;
    left: 91.66667%; }
  .sm-phone-pull-11 {
    position: relative;
    left: -91.66667%; }
  .sm-phone-offset-10 {
    margin-left: 83.33333%; }
  .sm-phone-12 {
    width: 100%; }
  .sm-phone-offset-11 {
    margin-left: 91.66667%; }
  .sm-phone-up-1 > .column, .sm-phone-up-1 > .columns {
    width: 100%;
    float: left; }
    .sm-phone-up-1 > .column:nth-of-type(1n), .sm-phone-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .sm-phone-up-1 > .column:nth-of-type(1n+1), .sm-phone-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .sm-phone-up-1 > .column:last-child, .sm-phone-up-1 > .columns:last-child {
      float: left; }
  .sm-phone-up-2 > .column, .sm-phone-up-2 > .columns {
    width: 50%;
    float: left; }
    .sm-phone-up-2 > .column:nth-of-type(1n), .sm-phone-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .sm-phone-up-2 > .column:nth-of-type(2n+1), .sm-phone-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .sm-phone-up-2 > .column:last-child, .sm-phone-up-2 > .columns:last-child {
      float: left; }
  .sm-phone-up-3 > .column, .sm-phone-up-3 > .columns {
    width: 33.33333%;
    float: left; }
    .sm-phone-up-3 > .column:nth-of-type(1n), .sm-phone-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .sm-phone-up-3 > .column:nth-of-type(3n+1), .sm-phone-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .sm-phone-up-3 > .column:last-child, .sm-phone-up-3 > .columns:last-child {
      float: left; }
  .sm-phone-up-4 > .column, .sm-phone-up-4 > .columns {
    width: 25%;
    float: left; }
    .sm-phone-up-4 > .column:nth-of-type(1n), .sm-phone-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .sm-phone-up-4 > .column:nth-of-type(4n+1), .sm-phone-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .sm-phone-up-4 > .column:last-child, .sm-phone-up-4 > .columns:last-child {
      float: left; }
  .sm-phone-up-5 > .column, .sm-phone-up-5 > .columns {
    width: 20%;
    float: left; }
    .sm-phone-up-5 > .column:nth-of-type(1n), .sm-phone-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .sm-phone-up-5 > .column:nth-of-type(5n+1), .sm-phone-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .sm-phone-up-5 > .column:last-child, .sm-phone-up-5 > .columns:last-child {
      float: left; }
  .sm-phone-up-6 > .column, .sm-phone-up-6 > .columns {
    width: 16.66667%;
    float: left; }
    .sm-phone-up-6 > .column:nth-of-type(1n), .sm-phone-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .sm-phone-up-6 > .column:nth-of-type(6n+1), .sm-phone-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .sm-phone-up-6 > .column:last-child, .sm-phone-up-6 > .columns:last-child {
      float: left; }
  .sm-phone-collapse > .column, .sm-phone-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .sm-phone-collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .expanded.row .sm-phone-collapse.row {
    margin-left: 0;
    margin-right: 0; }
  .sm-phone-uncollapse > .column, .sm-phone-uncollapse > .columns {
    padding-left: 0.625rem;
    padding-right: 0.625rem; }
  .sm-phone-centered {
    margin-left: auto;
    margin-right: auto; }
    .sm-phone-centered, .sm-phone-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .sm-phone-uncentered,
  .sm-phone-push-0,
  .sm-phone-pull-0 {
    position: static;
    margin-left: 0;
    margin-right: 0;
    float: left; } }

@media screen and (min-width: 30em) {
  .md-phone-1 {
    width: 8.33333%; }
  .md-phone-push-1 {
    position: relative;
    left: 8.33333%; }
  .md-phone-pull-1 {
    position: relative;
    left: -8.33333%; }
  .md-phone-offset-0 {
    margin-left: 0%; }
  .md-phone-2 {
    width: 16.66667%; }
  .md-phone-push-2 {
    position: relative;
    left: 16.66667%; }
  .md-phone-pull-2 {
    position: relative;
    left: -16.66667%; }
  .md-phone-offset-1 {
    margin-left: 8.33333%; }
  .md-phone-3 {
    width: 25%; }
  .md-phone-push-3 {
    position: relative;
    left: 25%; }
  .md-phone-pull-3 {
    position: relative;
    left: -25%; }
  .md-phone-offset-2 {
    margin-left: 16.66667%; }
  .md-phone-4 {
    width: 33.33333%; }
  .md-phone-push-4 {
    position: relative;
    left: 33.33333%; }
  .md-phone-pull-4 {
    position: relative;
    left: -33.33333%; }
  .md-phone-offset-3 {
    margin-left: 25%; }
  .md-phone-5 {
    width: 41.66667%; }
  .md-phone-push-5 {
    position: relative;
    left: 41.66667%; }
  .md-phone-pull-5 {
    position: relative;
    left: -41.66667%; }
  .md-phone-offset-4 {
    margin-left: 33.33333%; }
  .md-phone-6 {
    width: 50%; }
  .md-phone-push-6 {
    position: relative;
    left: 50%; }
  .md-phone-pull-6 {
    position: relative;
    left: -50%; }
  .md-phone-offset-5 {
    margin-left: 41.66667%; }
  .md-phone-7 {
    width: 58.33333%; }
  .md-phone-push-7 {
    position: relative;
    left: 58.33333%; }
  .md-phone-pull-7 {
    position: relative;
    left: -58.33333%; }
  .md-phone-offset-6 {
    margin-left: 50%; }
  .md-phone-8 {
    width: 66.66667%; }
  .md-phone-push-8 {
    position: relative;
    left: 66.66667%; }
  .md-phone-pull-8 {
    position: relative;
    left: -66.66667%; }
  .md-phone-offset-7 {
    margin-left: 58.33333%; }
  .md-phone-9 {
    width: 75%; }
  .md-phone-push-9 {
    position: relative;
    left: 75%; }
  .md-phone-pull-9 {
    position: relative;
    left: -75%; }
  .md-phone-offset-8 {
    margin-left: 66.66667%; }
  .md-phone-10 {
    width: 83.33333%; }
  .md-phone-push-10 {
    position: relative;
    left: 83.33333%; }
  .md-phone-pull-10 {
    position: relative;
    left: -83.33333%; }
  .md-phone-offset-9 {
    margin-left: 75%; }
  .md-phone-11 {
    width: 91.66667%; }
  .md-phone-push-11 {
    position: relative;
    left: 91.66667%; }
  .md-phone-pull-11 {
    position: relative;
    left: -91.66667%; }
  .md-phone-offset-10 {
    margin-left: 83.33333%; }
  .md-phone-12 {
    width: 100%; }
  .md-phone-offset-11 {
    margin-left: 91.66667%; }
  .md-phone-up-1 > .column, .md-phone-up-1 > .columns {
    width: 100%;
    float: left; }
    .md-phone-up-1 > .column:nth-of-type(1n), .md-phone-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .md-phone-up-1 > .column:nth-of-type(1n+1), .md-phone-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .md-phone-up-1 > .column:last-child, .md-phone-up-1 > .columns:last-child {
      float: left; }
  .md-phone-up-2 > .column, .md-phone-up-2 > .columns {
    width: 50%;
    float: left; }
    .md-phone-up-2 > .column:nth-of-type(1n), .md-phone-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .md-phone-up-2 > .column:nth-of-type(2n+1), .md-phone-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .md-phone-up-2 > .column:last-child, .md-phone-up-2 > .columns:last-child {
      float: left; }
  .md-phone-up-3 > .column, .md-phone-up-3 > .columns {
    width: 33.33333%;
    float: left; }
    .md-phone-up-3 > .column:nth-of-type(1n), .md-phone-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .md-phone-up-3 > .column:nth-of-type(3n+1), .md-phone-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .md-phone-up-3 > .column:last-child, .md-phone-up-3 > .columns:last-child {
      float: left; }
  .md-phone-up-4 > .column, .md-phone-up-4 > .columns {
    width: 25%;
    float: left; }
    .md-phone-up-4 > .column:nth-of-type(1n), .md-phone-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .md-phone-up-4 > .column:nth-of-type(4n+1), .md-phone-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .md-phone-up-4 > .column:last-child, .md-phone-up-4 > .columns:last-child {
      float: left; }
  .md-phone-up-5 > .column, .md-phone-up-5 > .columns {
    width: 20%;
    float: left; }
    .md-phone-up-5 > .column:nth-of-type(1n), .md-phone-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .md-phone-up-5 > .column:nth-of-type(5n+1), .md-phone-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .md-phone-up-5 > .column:last-child, .md-phone-up-5 > .columns:last-child {
      float: left; }
  .md-phone-up-6 > .column, .md-phone-up-6 > .columns {
    width: 16.66667%;
    float: left; }
    .md-phone-up-6 > .column:nth-of-type(1n), .md-phone-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .md-phone-up-6 > .column:nth-of-type(6n+1), .md-phone-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .md-phone-up-6 > .column:last-child, .md-phone-up-6 > .columns:last-child {
      float: left; }
  .md-phone-collapse > .column, .md-phone-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .md-phone-collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .expanded.row .md-phone-collapse.row {
    margin-left: 0;
    margin-right: 0; }
  .md-phone-uncollapse > .column, .md-phone-uncollapse > .columns {
    padding-left: 0.625rem;
    padding-right: 0.625rem; }
  .md-phone-centered {
    margin-left: auto;
    margin-right: auto; }
    .md-phone-centered, .md-phone-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .md-phone-uncentered,
  .md-phone-push-0,
  .md-phone-pull-0 {
    position: static;
    margin-left: 0;
    margin-right: 0;
    float: left; } }

@media screen and (min-width: 40em) {
  .medium-1 {
    width: 8.33333%; }
  .medium-push-1 {
    position: relative;
    left: 8.33333%; }
  .medium-pull-1 {
    position: relative;
    left: -8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    width: 16.66667%; }
  .medium-push-2 {
    position: relative;
    left: 16.66667%; }
  .medium-pull-2 {
    position: relative;
    left: -16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    width: 25%; }
  .medium-push-3 {
    position: relative;
    left: 25%; }
  .medium-pull-3 {
    position: relative;
    left: -25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    width: 33.33333%; }
  .medium-push-4 {
    position: relative;
    left: 33.33333%; }
  .medium-pull-4 {
    position: relative;
    left: -33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5 {
    width: 41.66667%; }
  .medium-push-5 {
    position: relative;
    left: 41.66667%; }
  .medium-pull-5 {
    position: relative;
    left: -41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    width: 50%; }
  .medium-push-6 {
    position: relative;
    left: 50%; }
  .medium-pull-6 {
    position: relative;
    left: -50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    width: 58.33333%; }
  .medium-push-7 {
    position: relative;
    left: 58.33333%; }
  .medium-pull-7 {
    position: relative;
    left: -58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    width: 66.66667%; }
  .medium-push-8 {
    position: relative;
    left: 66.66667%; }
  .medium-pull-8 {
    position: relative;
    left: -66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    width: 75%; }
  .medium-push-9 {
    position: relative;
    left: 75%; }
  .medium-pull-9 {
    position: relative;
    left: -75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    width: 83.33333%; }
  .medium-push-10 {
    position: relative;
    left: 83.33333%; }
  .medium-pull-10 {
    position: relative;
    left: -83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11 {
    width: 91.66667%; }
  .medium-push-11 {
    position: relative;
    left: 91.66667%; }
  .medium-pull-11 {
    position: relative;
    left: -91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-up-1 > .column, .medium-up-1 > .columns {
    width: 100%;
    float: left; }
    .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child {
      float: left; }
  .medium-up-2 > .column, .medium-up-2 > .columns {
    width: 50%;
    float: left; }
    .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child {
      float: left; }
  .medium-up-3 > .column, .medium-up-3 > .columns {
    width: 33.33333%;
    float: left; }
    .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child {
      float: left; }
  .medium-up-4 > .column, .medium-up-4 > .columns {
    width: 25%;
    float: left; }
    .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child {
      float: left; }
  .medium-up-5 > .column, .medium-up-5 > .columns {
    width: 20%;
    float: left; }
    .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child {
      float: left; }
  .medium-up-6 > .column, .medium-up-6 > .columns {
    width: 16.66667%;
    float: left; }
    .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child {
      float: left; }
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .medium-collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .expanded.row .medium-collapse.row {
    margin-left: 0;
    margin-right: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem; }
  .medium-centered {
    margin-left: auto;
    margin-right: auto; }
    .medium-centered, .medium-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .medium-uncentered,
  .medium-push-0,
  .medium-pull-0 {
    position: static;
    margin-left: 0;
    margin-right: 0;
    float: left; } }

@media screen and (min-width: 48em) {
  .tablet-1 {
    width: 8.33333%; }
  .tablet-push-1 {
    position: relative;
    left: 8.33333%; }
  .tablet-pull-1 {
    position: relative;
    left: -8.33333%; }
  .tablet-offset-0 {
    margin-left: 0%; }
  .tablet-2 {
    width: 16.66667%; }
  .tablet-push-2 {
    position: relative;
    left: 16.66667%; }
  .tablet-pull-2 {
    position: relative;
    left: -16.66667%; }
  .tablet-offset-1 {
    margin-left: 8.33333%; }
  .tablet-3 {
    width: 25%; }
  .tablet-push-3 {
    position: relative;
    left: 25%; }
  .tablet-pull-3 {
    position: relative;
    left: -25%; }
  .tablet-offset-2 {
    margin-left: 16.66667%; }
  .tablet-4 {
    width: 33.33333%; }
  .tablet-push-4 {
    position: relative;
    left: 33.33333%; }
  .tablet-pull-4 {
    position: relative;
    left: -33.33333%; }
  .tablet-offset-3 {
    margin-left: 25%; }
  .tablet-5 {
    width: 41.66667%; }
  .tablet-push-5 {
    position: relative;
    left: 41.66667%; }
  .tablet-pull-5 {
    position: relative;
    left: -41.66667%; }
  .tablet-offset-4 {
    margin-left: 33.33333%; }
  .tablet-6 {
    width: 50%; }
  .tablet-push-6 {
    position: relative;
    left: 50%; }
  .tablet-pull-6 {
    position: relative;
    left: -50%; }
  .tablet-offset-5 {
    margin-left: 41.66667%; }
  .tablet-7 {
    width: 58.33333%; }
  .tablet-push-7 {
    position: relative;
    left: 58.33333%; }
  .tablet-pull-7 {
    position: relative;
    left: -58.33333%; }
  .tablet-offset-6 {
    margin-left: 50%; }
  .tablet-8 {
    width: 66.66667%; }
  .tablet-push-8 {
    position: relative;
    left: 66.66667%; }
  .tablet-pull-8 {
    position: relative;
    left: -66.66667%; }
  .tablet-offset-7 {
    margin-left: 58.33333%; }
  .tablet-9 {
    width: 75%; }
  .tablet-push-9 {
    position: relative;
    left: 75%; }
  .tablet-pull-9 {
    position: relative;
    left: -75%; }
  .tablet-offset-8 {
    margin-left: 66.66667%; }
  .tablet-10 {
    width: 83.33333%; }
  .tablet-push-10 {
    position: relative;
    left: 83.33333%; }
  .tablet-pull-10 {
    position: relative;
    left: -83.33333%; }
  .tablet-offset-9 {
    margin-left: 75%; }
  .tablet-11 {
    width: 91.66667%; }
  .tablet-push-11 {
    position: relative;
    left: 91.66667%; }
  .tablet-pull-11 {
    position: relative;
    left: -91.66667%; }
  .tablet-offset-10 {
    margin-left: 83.33333%; }
  .tablet-12 {
    width: 100%; }
  .tablet-offset-11 {
    margin-left: 91.66667%; }
  .tablet-up-1 > .column, .tablet-up-1 > .columns {
    width: 100%;
    float: left; }
    .tablet-up-1 > .column:nth-of-type(1n), .tablet-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .tablet-up-1 > .column:nth-of-type(1n+1), .tablet-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .tablet-up-1 > .column:last-child, .tablet-up-1 > .columns:last-child {
      float: left; }
  .tablet-up-2 > .column, .tablet-up-2 > .columns {
    width: 50%;
    float: left; }
    .tablet-up-2 > .column:nth-of-type(1n), .tablet-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .tablet-up-2 > .column:nth-of-type(2n+1), .tablet-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .tablet-up-2 > .column:last-child, .tablet-up-2 > .columns:last-child {
      float: left; }
  .tablet-up-3 > .column, .tablet-up-3 > .columns {
    width: 33.33333%;
    float: left; }
    .tablet-up-3 > .column:nth-of-type(1n), .tablet-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .tablet-up-3 > .column:nth-of-type(3n+1), .tablet-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .tablet-up-3 > .column:last-child, .tablet-up-3 > .columns:last-child {
      float: left; }
  .tablet-up-4 > .column, .tablet-up-4 > .columns {
    width: 25%;
    float: left; }
    .tablet-up-4 > .column:nth-of-type(1n), .tablet-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .tablet-up-4 > .column:nth-of-type(4n+1), .tablet-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .tablet-up-4 > .column:last-child, .tablet-up-4 > .columns:last-child {
      float: left; }
  .tablet-up-5 > .column, .tablet-up-5 > .columns {
    width: 20%;
    float: left; }
    .tablet-up-5 > .column:nth-of-type(1n), .tablet-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .tablet-up-5 > .column:nth-of-type(5n+1), .tablet-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .tablet-up-5 > .column:last-child, .tablet-up-5 > .columns:last-child {
      float: left; }
  .tablet-up-6 > .column, .tablet-up-6 > .columns {
    width: 16.66667%;
    float: left; }
    .tablet-up-6 > .column:nth-of-type(1n), .tablet-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .tablet-up-6 > .column:nth-of-type(6n+1), .tablet-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .tablet-up-6 > .column:last-child, .tablet-up-6 > .columns:last-child {
      float: left; }
  .tablet-collapse > .column, .tablet-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .tablet-collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .expanded.row .tablet-collapse.row {
    margin-left: 0;
    margin-right: 0; }
  .tablet-uncollapse > .column, .tablet-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem; }
  .tablet-centered {
    margin-left: auto;
    margin-right: auto; }
    .tablet-centered, .tablet-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .tablet-uncentered,
  .tablet-push-0,
  .tablet-pull-0 {
    position: static;
    margin-left: 0;
    margin-right: 0;
    float: left; } }

@media screen and (min-width: 55em) {
  .lg-tablet-1 {
    width: 8.33333%; }
  .lg-tablet-push-1 {
    position: relative;
    left: 8.33333%; }
  .lg-tablet-pull-1 {
    position: relative;
    left: -8.33333%; }
  .lg-tablet-offset-0 {
    margin-left: 0%; }
  .lg-tablet-2 {
    width: 16.66667%; }
  .lg-tablet-push-2 {
    position: relative;
    left: 16.66667%; }
  .lg-tablet-pull-2 {
    position: relative;
    left: -16.66667%; }
  .lg-tablet-offset-1 {
    margin-left: 8.33333%; }
  .lg-tablet-3 {
    width: 25%; }
  .lg-tablet-push-3 {
    position: relative;
    left: 25%; }
  .lg-tablet-pull-3 {
    position: relative;
    left: -25%; }
  .lg-tablet-offset-2 {
    margin-left: 16.66667%; }
  .lg-tablet-4 {
    width: 33.33333%; }
  .lg-tablet-push-4 {
    position: relative;
    left: 33.33333%; }
  .lg-tablet-pull-4 {
    position: relative;
    left: -33.33333%; }
  .lg-tablet-offset-3 {
    margin-left: 25%; }
  .lg-tablet-5 {
    width: 41.66667%; }
  .lg-tablet-push-5 {
    position: relative;
    left: 41.66667%; }
  .lg-tablet-pull-5 {
    position: relative;
    left: -41.66667%; }
  .lg-tablet-offset-4 {
    margin-left: 33.33333%; }
  .lg-tablet-6 {
    width: 50%; }
  .lg-tablet-push-6 {
    position: relative;
    left: 50%; }
  .lg-tablet-pull-6 {
    position: relative;
    left: -50%; }
  .lg-tablet-offset-5 {
    margin-left: 41.66667%; }
  .lg-tablet-7 {
    width: 58.33333%; }
  .lg-tablet-push-7 {
    position: relative;
    left: 58.33333%; }
  .lg-tablet-pull-7 {
    position: relative;
    left: -58.33333%; }
  .lg-tablet-offset-6 {
    margin-left: 50%; }
  .lg-tablet-8 {
    width: 66.66667%; }
  .lg-tablet-push-8 {
    position: relative;
    left: 66.66667%; }
  .lg-tablet-pull-8 {
    position: relative;
    left: -66.66667%; }
  .lg-tablet-offset-7 {
    margin-left: 58.33333%; }
  .lg-tablet-9 {
    width: 75%; }
  .lg-tablet-push-9 {
    position: relative;
    left: 75%; }
  .lg-tablet-pull-9 {
    position: relative;
    left: -75%; }
  .lg-tablet-offset-8 {
    margin-left: 66.66667%; }
  .lg-tablet-10 {
    width: 83.33333%; }
  .lg-tablet-push-10 {
    position: relative;
    left: 83.33333%; }
  .lg-tablet-pull-10 {
    position: relative;
    left: -83.33333%; }
  .lg-tablet-offset-9 {
    margin-left: 75%; }
  .lg-tablet-11 {
    width: 91.66667%; }
  .lg-tablet-push-11 {
    position: relative;
    left: 91.66667%; }
  .lg-tablet-pull-11 {
    position: relative;
    left: -91.66667%; }
  .lg-tablet-offset-10 {
    margin-left: 83.33333%; }
  .lg-tablet-12 {
    width: 100%; }
  .lg-tablet-offset-11 {
    margin-left: 91.66667%; }
  .lg-tablet-up-1 > .column, .lg-tablet-up-1 > .columns {
    width: 100%;
    float: left; }
    .lg-tablet-up-1 > .column:nth-of-type(1n), .lg-tablet-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .lg-tablet-up-1 > .column:nth-of-type(1n+1), .lg-tablet-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .lg-tablet-up-1 > .column:last-child, .lg-tablet-up-1 > .columns:last-child {
      float: left; }
  .lg-tablet-up-2 > .column, .lg-tablet-up-2 > .columns {
    width: 50%;
    float: left; }
    .lg-tablet-up-2 > .column:nth-of-type(1n), .lg-tablet-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .lg-tablet-up-2 > .column:nth-of-type(2n+1), .lg-tablet-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .lg-tablet-up-2 > .column:last-child, .lg-tablet-up-2 > .columns:last-child {
      float: left; }
  .lg-tablet-up-3 > .column, .lg-tablet-up-3 > .columns {
    width: 33.33333%;
    float: left; }
    .lg-tablet-up-3 > .column:nth-of-type(1n), .lg-tablet-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .lg-tablet-up-3 > .column:nth-of-type(3n+1), .lg-tablet-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .lg-tablet-up-3 > .column:last-child, .lg-tablet-up-3 > .columns:last-child {
      float: left; }
  .lg-tablet-up-4 > .column, .lg-tablet-up-4 > .columns {
    width: 25%;
    float: left; }
    .lg-tablet-up-4 > .column:nth-of-type(1n), .lg-tablet-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .lg-tablet-up-4 > .column:nth-of-type(4n+1), .lg-tablet-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .lg-tablet-up-4 > .column:last-child, .lg-tablet-up-4 > .columns:last-child {
      float: left; }
  .lg-tablet-up-5 > .column, .lg-tablet-up-5 > .columns {
    width: 20%;
    float: left; }
    .lg-tablet-up-5 > .column:nth-of-type(1n), .lg-tablet-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .lg-tablet-up-5 > .column:nth-of-type(5n+1), .lg-tablet-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .lg-tablet-up-5 > .column:last-child, .lg-tablet-up-5 > .columns:last-child {
      float: left; }
  .lg-tablet-up-6 > .column, .lg-tablet-up-6 > .columns {
    width: 16.66667%;
    float: left; }
    .lg-tablet-up-6 > .column:nth-of-type(1n), .lg-tablet-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .lg-tablet-up-6 > .column:nth-of-type(6n+1), .lg-tablet-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .lg-tablet-up-6 > .column:last-child, .lg-tablet-up-6 > .columns:last-child {
      float: left; }
  .lg-tablet-collapse > .column, .lg-tablet-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .lg-tablet-collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .expanded.row .lg-tablet-collapse.row {
    margin-left: 0;
    margin-right: 0; }
  .lg-tablet-uncollapse > .column, .lg-tablet-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem; }
  .lg-tablet-centered {
    margin-left: auto;
    margin-right: auto; }
    .lg-tablet-centered, .lg-tablet-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .lg-tablet-uncentered,
  .lg-tablet-push-0,
  .lg-tablet-pull-0 {
    position: static;
    margin-left: 0;
    margin-right: 0;
    float: left; } }

@media screen and (min-width: 64em) {
  .large-1 {
    width: 8.33333%; }
  .large-push-1 {
    position: relative;
    left: 8.33333%; }
  .large-pull-1 {
    position: relative;
    left: -8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    width: 16.66667%; }
  .large-push-2 {
    position: relative;
    left: 16.66667%; }
  .large-pull-2 {
    position: relative;
    left: -16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3 {
    width: 25%; }
  .large-push-3 {
    position: relative;
    left: 25%; }
  .large-pull-3 {
    position: relative;
    left: -25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    width: 33.33333%; }
  .large-push-4 {
    position: relative;
    left: 33.33333%; }
  .large-pull-4 {
    position: relative;
    left: -33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    width: 41.66667%; }
  .large-push-5 {
    position: relative;
    left: 41.66667%; }
  .large-pull-5 {
    position: relative;
    left: -41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    width: 50%; }
  .large-push-6 {
    position: relative;
    left: 50%; }
  .large-pull-6 {
    position: relative;
    left: -50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    width: 58.33333%; }
  .large-push-7 {
    position: relative;
    left: 58.33333%; }
  .large-pull-7 {
    position: relative;
    left: -58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    width: 66.66667%; }
  .large-push-8 {
    position: relative;
    left: 66.66667%; }
  .large-pull-8 {
    position: relative;
    left: -66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    width: 75%; }
  .large-push-9 {
    position: relative;
    left: 75%; }
  .large-pull-9 {
    position: relative;
    left: -75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    width: 83.33333%; }
  .large-push-10 {
    position: relative;
    left: 83.33333%; }
  .large-pull-10 {
    position: relative;
    left: -83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    width: 91.66667%; }
  .large-push-11 {
    position: relative;
    left: 91.66667%; }
  .large-pull-11 {
    position: relative;
    left: -91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-up-1 > .column, .large-up-1 > .columns {
    width: 100%;
    float: left; }
    .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child {
      float: left; }
  .large-up-2 > .column, .large-up-2 > .columns {
    width: 50%;
    float: left; }
    .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child {
      float: left; }
  .large-up-3 > .column, .large-up-3 > .columns {
    width: 33.33333%;
    float: left; }
    .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child {
      float: left; }
  .large-up-4 > .column, .large-up-4 > .columns {
    width: 25%;
    float: left; }
    .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child {
      float: left; }
  .large-up-5 > .column, .large-up-5 > .columns {
    width: 20%;
    float: left; }
    .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child {
      float: left; }
  .large-up-6 > .column, .large-up-6 > .columns {
    width: 16.66667%;
    float: left; }
    .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child {
      float: left; }
  .large-collapse > .column, .large-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .large-collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .expanded.row .large-collapse.row {
    margin-left: 0;
    margin-right: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem; }
  .large-centered {
    margin-left: auto;
    margin-right: auto; }
    .large-centered, .large-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .large-uncentered,
  .large-push-0,
  .large-pull-0 {
    position: static;
    margin-left: 0;
    margin-right: 0;
    float: left; } }

@media screen and (min-width: 75em) {
  .xlarge-1 {
    width: 8.33333%; }
  .xlarge-push-1 {
    position: relative;
    left: 8.33333%; }
  .xlarge-pull-1 {
    position: relative;
    left: -8.33333%; }
  .xlarge-offset-0 {
    margin-left: 0%; }
  .xlarge-2 {
    width: 16.66667%; }
  .xlarge-push-2 {
    position: relative;
    left: 16.66667%; }
  .xlarge-pull-2 {
    position: relative;
    left: -16.66667%; }
  .xlarge-offset-1 {
    margin-left: 8.33333%; }
  .xlarge-3 {
    width: 25%; }
  .xlarge-push-3 {
    position: relative;
    left: 25%; }
  .xlarge-pull-3 {
    position: relative;
    left: -25%; }
  .xlarge-offset-2 {
    margin-left: 16.66667%; }
  .xlarge-4 {
    width: 33.33333%; }
  .xlarge-push-4 {
    position: relative;
    left: 33.33333%; }
  .xlarge-pull-4 {
    position: relative;
    left: -33.33333%; }
  .xlarge-offset-3 {
    margin-left: 25%; }
  .xlarge-5 {
    width: 41.66667%; }
  .xlarge-push-5 {
    position: relative;
    left: 41.66667%; }
  .xlarge-pull-5 {
    position: relative;
    left: -41.66667%; }
  .xlarge-offset-4 {
    margin-left: 33.33333%; }
  .xlarge-6 {
    width: 50%; }
  .xlarge-push-6 {
    position: relative;
    left: 50%; }
  .xlarge-pull-6 {
    position: relative;
    left: -50%; }
  .xlarge-offset-5 {
    margin-left: 41.66667%; }
  .xlarge-7 {
    width: 58.33333%; }
  .xlarge-push-7 {
    position: relative;
    left: 58.33333%; }
  .xlarge-pull-7 {
    position: relative;
    left: -58.33333%; }
  .xlarge-offset-6 {
    margin-left: 50%; }
  .xlarge-8 {
    width: 66.66667%; }
  .xlarge-push-8 {
    position: relative;
    left: 66.66667%; }
  .xlarge-pull-8 {
    position: relative;
    left: -66.66667%; }
  .xlarge-offset-7 {
    margin-left: 58.33333%; }
  .xlarge-9 {
    width: 75%; }
  .xlarge-push-9 {
    position: relative;
    left: 75%; }
  .xlarge-pull-9 {
    position: relative;
    left: -75%; }
  .xlarge-offset-8 {
    margin-left: 66.66667%; }
  .xlarge-10 {
    width: 83.33333%; }
  .xlarge-push-10 {
    position: relative;
    left: 83.33333%; }
  .xlarge-pull-10 {
    position: relative;
    left: -83.33333%; }
  .xlarge-offset-9 {
    margin-left: 75%; }
  .xlarge-11 {
    width: 91.66667%; }
  .xlarge-push-11 {
    position: relative;
    left: 91.66667%; }
  .xlarge-pull-11 {
    position: relative;
    left: -91.66667%; }
  .xlarge-offset-10 {
    margin-left: 83.33333%; }
  .xlarge-12 {
    width: 100%; }
  .xlarge-offset-11 {
    margin-left: 91.66667%; }
  .xlarge-up-1 > .column, .xlarge-up-1 > .columns {
    width: 100%;
    float: left; }
    .xlarge-up-1 > .column:nth-of-type(1n), .xlarge-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-1 > .column:nth-of-type(1n+1), .xlarge-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .xlarge-up-1 > .column:last-child, .xlarge-up-1 > .columns:last-child {
      float: left; }
  .xlarge-up-2 > .column, .xlarge-up-2 > .columns {
    width: 50%;
    float: left; }
    .xlarge-up-2 > .column:nth-of-type(1n), .xlarge-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-2 > .column:nth-of-type(2n+1), .xlarge-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .xlarge-up-2 > .column:last-child, .xlarge-up-2 > .columns:last-child {
      float: left; }
  .xlarge-up-3 > .column, .xlarge-up-3 > .columns {
    width: 33.33333%;
    float: left; }
    .xlarge-up-3 > .column:nth-of-type(1n), .xlarge-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-3 > .column:nth-of-type(3n+1), .xlarge-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .xlarge-up-3 > .column:last-child, .xlarge-up-3 > .columns:last-child {
      float: left; }
  .xlarge-up-4 > .column, .xlarge-up-4 > .columns {
    width: 25%;
    float: left; }
    .xlarge-up-4 > .column:nth-of-type(1n), .xlarge-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-4 > .column:nth-of-type(4n+1), .xlarge-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .xlarge-up-4 > .column:last-child, .xlarge-up-4 > .columns:last-child {
      float: left; }
  .xlarge-up-5 > .column, .xlarge-up-5 > .columns {
    width: 20%;
    float: left; }
    .xlarge-up-5 > .column:nth-of-type(1n), .xlarge-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-5 > .column:nth-of-type(5n+1), .xlarge-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .xlarge-up-5 > .column:last-child, .xlarge-up-5 > .columns:last-child {
      float: left; }
  .xlarge-up-6 > .column, .xlarge-up-6 > .columns {
    width: 16.66667%;
    float: left; }
    .xlarge-up-6 > .column:nth-of-type(1n), .xlarge-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-6 > .column:nth-of-type(6n+1), .xlarge-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .xlarge-up-6 > .column:last-child, .xlarge-up-6 > .columns:last-child {
      float: left; }
  .xlarge-collapse > .column, .xlarge-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .xlarge-collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .expanded.row .xlarge-collapse.row {
    margin-left: 0;
    margin-right: 0; }
  .xlarge-uncollapse > .column, .xlarge-uncollapse > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem; }
  .xlarge-centered {
    margin-left: auto;
    margin-right: auto; }
    .xlarge-centered, .xlarge-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .xlarge-uncentered,
  .xlarge-push-0,
  .xlarge-pull-0 {
    position: static;
    margin-left: 0;
    margin-right: 0;
    float: left; } }

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

p {
  font-size: inherit;
  line-height: 1.6;
  margin-bottom: 1rem;
  text-rendering: optimizeLegibility; }

em,
i {
  font-style: italic;
  line-height: inherit; }

strong,
b {
  font-weight: bold;
  line-height: inherit; }

small {
  font-size: 80%;
  line-height: inherit; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: Montserrat, “Helvetica Neue”, Helvetica, Arial, sans-serif;
  font-weight: normal;
  font-style: bold;
  color: #731422;
  text-rendering: optimizeLegibility;
  margin-top: 0;
  margin-bottom: 0.5rem;
  line-height: 1.4; }
  h1 small,
  h2 small,
  h3 small,
  h4 small,
  h5 small,
  h6 small {
    color: #cacaca;
    line-height: 0; }

h1 {
  font-size: 1.25rem; }

h2 {
  font-size: 1.25rem; }

h3 {
  font-size: 1.25rem; }

h4 {
  font-size: 1.25rem; }

h5 {
  font-size: 1.125rem; }

h6 {
  font-size: 1rem; }

@media screen and (min-width: 40em) {
  h1 {
    font-size: 2rem; }
  h2 {
    font-size: 1.625rem; }
  h3 {
    font-size: 1.25rem; }
  h4 {
    font-size: 1.25rem; }
  h5 {
    font-size: 1.125rem; }
  h6 {
    font-size: 1rem; } }

a {
  color: #1164AD;
  text-decoration: none;
  line-height: inherit;
  cursor: pointer; }
  a:hover, a:focus {
    color: #0f5695;
    text-decoration: underline; }
  a img {
    border: 0; }

hr {
  max-width: 75rem;
  height: 0;
  border-right: 0;
  border-top: 0;
  border-bottom: 1px solid #cacaca;
  border-left: 0;
  margin: 1.25rem auto;
  clear: both; }

ul,
ol,
dl {
  line-height: 1.6;
  margin-bottom: 1rem;
  list-style-position: outside; }

li {
  font-size: inherit; }

ul {
  list-style-type: disc;
  margin-left: 1.25rem; }

ol {
  margin-left: 1.25rem; }

ul ul, ol ul, ul ol, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0; }

dl {
  margin-bottom: 1rem; }
  dl dt {
    margin-bottom: 0.3rem;
    font-weight: bold; }

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #cacaca; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #8a8a8a; }

cite {
  display: block;
  font-size: 0.8125rem;
  color: #8a8a8a; }
  cite:before {
    content: '\2014 \0020'; }

abbr {
  color: #312E2B;
  cursor: help;
  border-bottom: 1px dotted #0a0a0a; }

code {
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #0a0a0a;
  background-color: #e6e6e6;
  border: 1px solid #cacaca;
  padding: 0.125rem 0.3125rem 0.0625rem; }

kbd {
  padding: 0.125rem 0.25rem 0;
  margin: 0;
  background-color: #e6e6e6;
  color: #0a0a0a;
  font-family: Consolas, "Liberation Mono", Courier, monospace; }

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: normal;
  line-height: 1.4;
  color: #8a8a8a; }

.lead {
  font-size: 125%;
  line-height: 1.6; }

.stat {
  font-size: 2.5rem;
  line-height: 1; }
  p + .stat {
    margin-top: -1rem; }

.no-bullet, .footer-menu-list, .feature-block__list, .list-item .subheader, .search-facet-list, .search-result .subheader {
  margin-left: 0;
  list-style: none; }

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

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

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

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

@media screen and (min-width: 23.4375em) {
  .sm-phone-text-left {
    text-align: left; }
  .sm-phone-text-right {
    text-align: right; }
  .sm-phone-text-center {
    text-align: center; }
  .sm-phone-text-justify {
    text-align: justify; } }

@media screen and (min-width: 30em) {
  .md-phone-text-left {
    text-align: left; }
  .md-phone-text-right {
    text-align: right; }
  .md-phone-text-center {
    text-align: center; }
  .md-phone-text-justify {
    text-align: justify; } }

@media screen and (min-width: 40em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

@media screen and (min-width: 48em) {
  .tablet-text-left {
    text-align: left; }
  .tablet-text-right {
    text-align: right; }
  .tablet-text-center {
    text-align: center; }
  .tablet-text-justify {
    text-align: justify; } }

@media screen and (min-width: 55em) {
  .lg-tablet-text-left {
    text-align: left; }
  .lg-tablet-text-right {
    text-align: right; }
  .lg-tablet-text-center {
    text-align: center; }
  .lg-tablet-text-justify {
    text-align: justify; } }

@media screen and (min-width: 64em) {
  .large-text-left {
    text-align: left; }
  .large-text-right {
    text-align: right; }
  .large-text-center {
    text-align: center; }
  .large-text-justify {
    text-align: justify; } }

@media screen and (min-width: 75em) {
  .xlarge-text-left {
    text-align: left; }
  .xlarge-text-right {
    text-align: right; }
  .xlarge-text-center {
    text-align: center; }
  .xlarge-text-justify {
    text-align: justify; } }

.show-for-print {
  display: none !important; }

@media print {
  * {
    background: transparent !important;
    color: black !important;
    box-shadow: none !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #8a8a8a;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; } }

.button {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 4px;
  padding: 0.85em 1em;
  margin: 0 1rem 1rem 0;
  font-size: 0.9rem;
  background-color: #1164AD;
  color: #fefefe; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #0e5593;
    color: #fefefe; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-left: 0;
    margin-right: 0; }
  .button.primary {
    background-color: #1164AD;
    color: #fefefe; }
    .button.primary:hover, .button.primary:focus {
      background-color: #0e508a;
      color: #fefefe; }
  .button.secondary {
    background-color: #777;
    color: #fefefe; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #5f5f5f;
      color: #fefefe; }
  .button.success {
    background-color: #3adb76;
    color: #fefefe; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #fefefe; }
  .button.warning {
    background-color: #ffae00;
    color: #fefefe; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #fefefe; }
  .button.alert {
    background-color: #ec5840;
    color: #fefefe; }
    .button.alert:hover, .button.alert:focus {
      background-color: #da3116;
      color: #fefefe; }
  .button.hollow {
    border: 1px solid #1164AD;
    color: #1164AD; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #093257;
      color: #093257; }
    .button.hollow.primary {
      border: 1px solid #1164AD;
      color: #1164AD; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #093257;
        color: #093257; }
    .button.hollow.secondary {
      border: 1px solid #777;
      color: #777; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #3c3c3c;
        color: #3c3c3c; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #157539;
        color: #157539; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
    .button.hollow.alert {
      border: 1px solid #ec5840;
      color: #ec5840; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #881f0e;
        color: #881f0e; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
      background-color: #1164AD;
      color: #fefefe; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #1164AD;
        color: #fefefe; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #777;
        color: #fefefe; }
    .button.disabled.success, .button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #3adb76;
        color: #fefefe; }
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #ffae00;
        color: #fefefe; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #ec5840;
        color: #fefefe; }
  .button.dropdown::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    border-color: #fefefe transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    position: relative;
    top: 0.4em;
    float: right;
    margin-left: 1em;
    display: inline-block; }
  .button.arrow-only::after {
    margin-left: 0;
    float: none;
    top: -0.1em; }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  margin: 0 0 1rem;
  font-family: inherit;
  font-size: 1rem;
  color: #8a8a8a;
  background-color: #fefefe;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  border-radius: 0;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
  -moz-appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    outline: none;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

textarea {
  max-width: 100%; }
  textarea[rows] {
    height: auto; }

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #cacaca; }

input::placeholder,
textarea::placeholder {
  color: #cacaca; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #e6e6e6;
  cursor: default; }

[type='submit'],
[type='button'] {
  border-radius: 4px;
  -webkit-appearance: none;
  -moz-appearance: none; }

input[type='search'] {
  box-sizing: border-box; }

[type='file'],
[type='checkbox'],
[type='radio'] {
  margin: 0 0 1rem; }

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0;
  vertical-align: baseline; }
  [type='checkbox'] + label[for],
  [type='radio'] + label[for] {
    cursor: pointer; }

label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.5rem; }

[type='file'] {
  width: 100%; }

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #0a0a0a; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #333; }

.input-group {
  display: table;
  width: 100%;
  margin-bottom: 1rem; }
  .input-group > :first-child {
    border-radius: 0 0 0 0; }
  .input-group > :last-child > * {
    border-radius: 0 0 0 0; }

.input-group-label, .input-group-field, .input-group-button {
  margin: 0;
  white-space: nowrap;
  display: table-cell;
  vertical-align: middle; }

.input-group-label {
  text-align: center;
  padding: 0 1rem;
  background: #e6e6e6;
  color: #0a0a0a;
  border: 1px solid #cacaca;
  white-space: nowrap;
  width: 1%;
  height: 100%; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

.input-group-field {
  border-radius: 0;
  height: 2.5rem; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  height: 100%;
  width: 1%; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button {
    margin: 0; }

.input-group .input-group-button {
  display: table-cell; }

fieldset {
  border: 0;
  padding: 0;
  margin: 0; }

legend {
  margin-bottom: 0.5rem;
  max-width: 100%; }

.fieldset {
  border: 1px solid #cacaca;
  padding: 1.25rem;
  margin: 1.125rem 0; }
  .fieldset legend {
    background: #FFFAF5;
    padding: 0 0.1875rem;
    margin: 0;
    margin-left: -0.1875rem; }

select {
  height: 2.4375rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  margin: 0 0 1rem;
  font-size: 1rem;
  font-family: inherit;
  line-height: normal;
  color: #8a8a8a;
  background-color: #fafafa;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%2851, 51, 51%29'></polygon></svg>");
  background-size: 9px 6px;
  background-position: right -1rem center;
  background-origin: content-box;
  background-repeat: no-repeat;
  padding-right: 1.5rem; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:disabled {
    background-color: #e6e6e6;
    cursor: default; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

.is-invalid-input:not(:focus) {
  background-color: rgba(236, 88, 64, 0.1);
  border-color: #ec5840; }

.is-invalid-label {
  color: #ec5840; }

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: #ec5840; }
  .form-error.is-visible {
    display: block; }

.accordion {
  list-style-type: none;
  background: #fefefe;
  margin-left: 0; }

.accordion-item:first-child > :first-child {
  border-radius: 0 0 0 0; }

.accordion-item:last-child > :last-child {
  border-radius: 0 0 0 0; }

.accordion-title {
  display: block;
  padding: 1.25rem 1rem;
  line-height: 1;
  font-size: 0.75rem;
  color: #1164AD;
  position: relative;
  border: 1px solid #e6e6e6;
  border-bottom: 0; }
  :last-child:not(.is-active) > .accordion-title {
    border-radius: 0 0 0 0;
    border-bottom: 1px solid #e6e6e6; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #e6e6e6; }
  .accordion-title::before {
    content: '+';
    position: absolute;
    right: 1rem;
    top: 50%;
    margin-top: -0.5rem; }
  .is-active > .accordion-title::before {
    content: '–'; }

.accordion-content {
  padding: 1rem;
  display: none;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  background-color: #fefefe;
  color: #1164AD; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #e6e6e6; }

.is-accordion-submenu-parent > a {
  position: relative; }
  .is-accordion-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    border-color: #1164AD transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    position: absolute;
    top: 50%;
    margin-top: -4px;
    right: 1rem; }

.is-accordion-submenu-parent[aria-expanded='true'] > a::after {
  -ms-transform-origin: 50% 50%;
      transform-origin: 50% 50%;
  -ms-transform: scaleY(-1);
      transform: scaleY(-1); }

.badge {
  display: inline-block;
  padding: 0.3em;
  min-width: 2.1em;
  font-size: 0.6rem;
  text-align: center;
  border-radius: 50%;
  background: #1164AD;
  color: #fefefe; }
  .badge.secondary {
    background: #777;
    color: #fefefe; }
  .badge.success {
    background: #3adb76;
    color: #fefefe; }
  .badge.warning {
    background: #ffae00;
    color: #fefefe; }
  .badge.alert {
    background: #ec5840;
    color: #fefefe; }

.breadcrumbs {
  list-style: none;
  margin: 0 0 1rem 0; }
  .breadcrumbs::before, .breadcrumbs::after {
    content: ' ';
    display: table; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    color: #0a0a0a;
    font-size: 0.6875rem;
    cursor: default;
    text-transform: uppercase; }
    .breadcrumbs li:not(:last-child)::after {
      color: #cacaca;
      content: "/";
      margin: 0 0.75rem;
      position: relative;
      top: 1px;
      opacity: 1; }
  .breadcrumbs a {
    color: #1164AD; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #cacaca;
    cursor: not-allowed; }

.button-group {
  margin-bottom: 1rem;
  font-size: 0; }
  .button-group::before, .button-group::after {
    content: ' ';
    display: table; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 1.25rem; }
  .button-group.expanded {
    margin-right: -1px; }
    .button-group.expanded::before, .button-group.expanded::after {
      display: none; }
    .button-group.expanded .button:first-child:nth-last-child(2), .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button {
      display: inline-block;
      width: calc(50% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(2):last-child, .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(3), .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button {
      display: inline-block;
      width: calc(33.33333% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(3):last-child, .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(4), .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button {
      display: inline-block;
      width: calc(25% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(4):last-child, .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(5), .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button {
      display: inline-block;
      width: calc(20% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(5):last-child, .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(6), .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button {
      display: inline-block;
      width: calc(16.66667% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(6):last-child, .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child {
        margin-right: -6px; }
  .button-group.primary .button {
    background-color: #1164AD;
    color: #fefefe; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #0e508a;
      color: #fefefe; }
  .button-group.secondary .button {
    background-color: #777;
    color: #fefefe; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #5f5f5f;
      color: #fefefe; }
  .button-group.success .button {
    background-color: #3adb76;
    color: #fefefe; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #22bb5b;
      color: #fefefe; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #fefefe; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #fefefe; }
  .button-group.alert .button {
    background-color: #ec5840;
    color: #fefefe; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #da3116;
      color: #fefefe; }
  .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
    width: 100%; }
    .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
      margin-bottom: 0; }
  @media screen and (min-width: 40em) {
    .button-group.stacked-for-small .button {
      width: auto;
      margin-bottom: 0; } }
  @media screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
      width: auto;
      margin-bottom: 0; } }
  @media screen and (max-width: 19.9375em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }

.callout {
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(10, 10, 10, 0.25);
  border-radius: 0;
  position: relative;
  color: #312E2B;
  background-color: white; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #d3e8fb; }
  .callout.secondary {
    background-color: #ebebeb; }
  .callout.success {
    background-color: #e1faea; }
  .callout.warning {
    background-color: #fff3d9; }
  .callout.alert {
    background-color: #fce6e2; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.close-button {
  position: absolute;
  color: #8a8a8a;
  right: 1rem;
  top: 0.5rem;
  font-size: 2em;
  line-height: 1;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #0a0a0a; }

.menu {
  margin: 0;
  list-style-type: none; }
  .menu > li {
    display: table-cell;
    vertical-align: middle; }
    [data-whatinput='mouse'] .menu > li {
      outline: 0; }
  .menu > li > a {
    display: block;
    padding: 0.7rem 1rem;
    line-height: 1; }
  .menu input,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu > li > a img,
  .menu > li > a i,
  .menu > li > a svg {
    vertical-align: middle; }
    .menu > li > a img + span,
    .menu > li > a i + span,
    .menu > li > a svg + span {
      vertical-align: middle; }
  .menu > li > a img,
  .menu > li > a i,
  .menu > li > a svg {
    margin-right: 0.25rem;
    display: inline-block; }
  .menu > li {
    display: table-cell; }
  .menu.vertical > li {
    display: block; }
  @media screen and (min-width: 23.4375em) {
    .menu.sm-phone-horizontal > li {
      display: table-cell; }
    .menu.sm-phone-vertical > li {
      display: block; } }
  @media screen and (min-width: 30em) {
    .menu.md-phone-horizontal > li {
      display: table-cell; }
    .menu.md-phone-vertical > li {
      display: block; } }
  @media screen and (min-width: 40em) {
    .menu.medium-horizontal > li {
      display: table-cell; }
    .menu.medium-vertical > li {
      display: block; } }
  @media screen and (min-width: 48em) {
    .menu.tablet-horizontal > li {
      display: table-cell; }
    .menu.tablet-vertical > li {
      display: block; } }
  @media screen and (min-width: 55em) {
    .menu.lg-tablet-horizontal > li {
      display: table-cell; }
    .menu.lg-tablet-vertical > li {
      display: block; } }
  @media screen and (min-width: 64em) {
    .menu.large-horizontal > li {
      display: table-cell; }
    .menu.large-vertical > li {
      display: block; } }
  @media screen and (min-width: 75em) {
    .menu.xlarge-horizontal > li {
      display: table-cell; }
    .menu.xlarge-vertical > li {
      display: block; } }
  .menu.simple li {
    line-height: 1;
    display: inline-block;
    margin-right: 1rem; }
  .menu.simple a {
    padding: 0; }
  .menu.align-right::before, .menu.align-right::after {
    content: ' ';
    display: table; }
  .menu.align-right::after {
    clear: both; }
  .menu.align-right > li {
    float: right; }
  .menu.expanded {
    width: 100%;
    display: table;
    table-layout: fixed; }
    .menu.expanded > li:first-child:last-child {
      width: 100%; }
  .menu.icon-top > li > a {
    text-align: center; }
    .menu.icon-top > li > a img,
    .menu.icon-top > li > a i,
    .menu.icon-top > li > a svg {
      display: block;
      margin: 0 auto 0.25rem; }
  .menu.nested {
    margin-left: 1rem; }
  .menu .active > a {
    color: #fefefe;
    background: #1164AD; }

.menu-text {
  font-weight: bold;
  color: inherit;
  line-height: 1;
  padding-top: 0;
  padding-bottom: 0;
  padding: 0.7rem 1rem; }

.menu-centered {
  text-align: center; }
  .menu-centered > .menu {
    display: inline-block; }

.no-js [data-responsive-menu] ul {
  display: none; }

.is-drilldown {
  position: relative;
  overflow: hidden; }
  .is-drilldown li {
    display: block !important; }

.is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #fefefe;
  transition: transform 0.15s linear; }
  .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    -ms-transform: translateX(-100%);
        transform: translateX(-100%); }
  .is-drilldown-submenu.is-closing {
    -ms-transform: translateX(100%);
        transform: translateX(100%); }

.is-drilldown-submenu-parent > a {
  position: relative; }
  .is-drilldown-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    border-color: transparent transparent transparent #1164AD;
    border-left-style: solid;
    border-right-width: 0;
    position: absolute;
    top: 50%;
    margin-top: -6px;
    right: 1rem; }

.js-drilldown-back > a::before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  border-color: transparent #1164AD transparent transparent;
  border-right-style: solid;
  border-left-width: 0;
  border-left-width: 0;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem; }

.dropdown-pane {
  background-color: #FFFAF5;
  border: 1px solid #cacaca;
  border-radius: 0;
  display: block;
  font-size: 1rem;
  padding: 1rem;
  position: absolute;
  visibility: hidden;
  width: 300px;
  z-index: 10; }
  .dropdown-pane.is-open {
    visibility: visible; }

.dropdown-pane.tiny {
  width: 100px; }

.dropdown-pane.small {
  width: 200px; }

.dropdown-pane.large {
  width: 400px; }

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  left: auto;
  right: 0;
  top: 100%; }

.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 0;
  top: 100%; }

.dropdown.menu > li.is-dropdown-submenu-parent > a {
  padding-right: 1.5rem;
  position: relative; }

.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 5px;
  border-color: #1164AD transparent transparent;
  border-top-style: solid;
  border-bottom-width: 0;
  right: 5px;
  margin-top: -2px; }

[data-whatinput='mouse'] .dropdown.menu a {
  outline: 0; }

.no-js .dropdown.menu ul {
  display: none; }

.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0; }

.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  left: auto;
  right: 100%; }

.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%; }

.dropdown.menu.vertical > li > a::after {
  right: 14px;
  margin-top: -3px; }

.dropdown.menu.vertical > li.opens-left > a::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 5px;
  border-color: transparent #1164AD transparent transparent;
  border-right-style: solid;
  border-left-width: 0; }

.dropdown.menu.vertical > li.opens-right > a::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 5px;
  border-color: transparent transparent transparent #1164AD;
  border-left-style: solid;
  border-right-width: 0; }

@media screen and (min-width: 23.4375em) {
  .dropdown.menu.sm-phone-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.sm-phone-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.sm-phone-horizontal > li.is-dropdown-submenu-parent > a {
    padding-right: 1.5rem;
    position: relative; }
  .dropdown.menu.sm-phone-horizontal > li.is-dropdown-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: #1164AD transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    right: 5px;
    margin-top: -2px; }
  .dropdown.menu.sm-phone-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.sm-phone-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.sm-phone-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.sm-phone-vertical > li > a::after {
    right: 14px;
    margin-top: -3px; }
  .dropdown.menu.sm-phone-vertical > li.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #1164AD transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .dropdown.menu.sm-phone-vertical > li.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #1164AD;
    border-left-style: solid;
    border-right-width: 0; } }

@media screen and (min-width: 30em) {
  .dropdown.menu.md-phone-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.md-phone-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.md-phone-horizontal > li.is-dropdown-submenu-parent > a {
    padding-right: 1.5rem;
    position: relative; }
  .dropdown.menu.md-phone-horizontal > li.is-dropdown-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: #1164AD transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    right: 5px;
    margin-top: -2px; }
  .dropdown.menu.md-phone-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.md-phone-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.md-phone-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.md-phone-vertical > li > a::after {
    right: 14px;
    margin-top: -3px; }
  .dropdown.menu.md-phone-vertical > li.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #1164AD transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .dropdown.menu.md-phone-vertical > li.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #1164AD;
    border-left-style: solid;
    border-right-width: 0; } }

@media screen and (min-width: 40em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
    padding-right: 1.5rem;
    position: relative; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: #1164AD transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    right: 5px;
    margin-top: -2px; }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.medium-vertical > li > a::after {
    right: 14px;
    margin-top: -3px; }
  .dropdown.menu.medium-vertical > li.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #1164AD transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .dropdown.menu.medium-vertical > li.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #1164AD;
    border-left-style: solid;
    border-right-width: 0; } }

@media screen and (min-width: 48em) {
  .dropdown.menu.tablet-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.tablet-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.tablet-horizontal > li.is-dropdown-submenu-parent > a {
    padding-right: 1.5rem;
    position: relative; }
  .dropdown.menu.tablet-horizontal > li.is-dropdown-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: #1164AD transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    right: 5px;
    margin-top: -2px; }
  .dropdown.menu.tablet-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.tablet-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.tablet-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.tablet-vertical > li > a::after {
    right: 14px;
    margin-top: -3px; }
  .dropdown.menu.tablet-vertical > li.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #1164AD transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .dropdown.menu.tablet-vertical > li.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #1164AD;
    border-left-style: solid;
    border-right-width: 0; } }

@media screen and (min-width: 55em) {
  .dropdown.menu.lg-tablet-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.lg-tablet-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.lg-tablet-horizontal > li.is-dropdown-submenu-parent > a {
    padding-right: 1.5rem;
    position: relative; }
  .dropdown.menu.lg-tablet-horizontal > li.is-dropdown-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: #1164AD transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    right: 5px;
    margin-top: -2px; }
  .dropdown.menu.lg-tablet-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.lg-tablet-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.lg-tablet-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.lg-tablet-vertical > li > a::after {
    right: 14px;
    margin-top: -3px; }
  .dropdown.menu.lg-tablet-vertical > li.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #1164AD transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .dropdown.menu.lg-tablet-vertical > li.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #1164AD;
    border-left-style: solid;
    border-right-width: 0; } }

@media screen and (min-width: 64em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
    padding-right: 1.5rem;
    position: relative; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: #1164AD transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    right: 5px;
    margin-top: -2px; }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.large-vertical > li > a::after {
    right: 14px;
    margin-top: -3px; }
  .dropdown.menu.large-vertical > li.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #1164AD transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .dropdown.menu.large-vertical > li.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #1164AD;
    border-left-style: solid;
    border-right-width: 0; } }

@media screen and (min-width: 75em) {
  .dropdown.menu.xlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.xlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a {
    padding-right: 1.5rem;
    position: relative; }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: #1164AD transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    right: 5px;
    margin-top: -2px; }
  .dropdown.menu.xlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.xlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.xlarge-vertical > li > a::after {
    right: 14px;
    margin-top: -3px; }
  .dropdown.menu.xlarge-vertical > li.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #1164AD transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #1164AD;
    border-left-style: solid;
    border-right-width: 0; } }

.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  left: auto;
  right: 0; }

.is-dropdown-menu.vertical {
  width: 100px; }
  .is-dropdown-menu.vertical.align-right {
    float: right; }

.is-dropdown-submenu-parent {
  position: relative; }
  .is-dropdown-submenu-parent a::after {
    position: absolute;
    top: 50%;
    right: 5px;
    margin-top: -2px; }
  .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
    top: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }

.is-dropdown-submenu {
  display: none;
  position: absolute;
  top: 0;
  left: 100%;
  min-width: 200px;
  z-index: 1;
  background: #fefefe;
  border: 1px solid #cacaca; }
  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
    right: 14px;
    margin-top: -3px; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #1164AD transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #1164AD;
    border-left-style: solid;
    border-right-width: 0; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu.js-dropdown-active {
    display: block; }

.flex-video {
  position: relative;
  height: 0;
  padding-bottom: 75%;
  margin-bottom: 1rem;
  overflow: hidden; }
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .flex-video.widescreen {
    padding-bottom: 56.25%; }
  .flex-video.vimeo {
    padding-top: 0; }

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  border-radius: 0;
  background: #1164AD;
  color: #fefefe; }
  .label.secondary {
    background: #777;
    color: #fefefe; }
  .label.success {
    background: #3adb76;
    color: #fefefe; }
  .label.warning {
    background: #ffae00;
    color: #fefefe; }
  .label.alert {
    background: #ec5840;
    color: #fefefe; }

.media-object {
  margin-bottom: 1rem;
  display: block; }
  .media-object img {
    max-width: none; }
  @media screen and (max-width: 19.9375em) {
    .media-object.stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      display: block; }
      .media-object.stack-for-small .media-object-section img {
        width: 100%; } }

.media-object-section {
  display: table-cell;
  vertical-align: top; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section > :last-child {
    margin-bottom: 0; }
  .media-object-section.middle {
    vertical-align: middle; }
  .media-object-section.bottom {
    vertical-align: bottom; }

html,
body {
  height: 100%; }

.off-canvas-wrapper {
  width: 100%;
  overflow-x: hidden;
  position: relative;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-overflow-scrolling: auto; }

.off-canvas-wrapper-inner {
  position: relative;
  width: 100%;
  min-height: 100%;
  transition: transform 0.5s ease; }
  .off-canvas-wrapper-inner::before, .off-canvas-wrapper-inner::after {
    content: ' ';
    display: table; }
  .off-canvas-wrapper-inner::after {
    clear: both; }

.off-canvas-content,
.off-canvas-content {
  min-height: 100%;
  background: #FFFAF5;
  transition: transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  z-index: 1;
  padding-bottom: 0.1px;
  box-shadow: 0 0 10px rgba(10, 10, 10, 0.5); }

.js-off-canvas-exit {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(254, 254, 254, 0.25);
  cursor: pointer;
  transition: background 0.5s ease; }

.off-canvas {
  position: absolute;
  background: #e6e6e6;
  z-index: -1;
  max-height: 100%;
  overflow-y: auto;
  -ms-transform: translateX(0);
      transform: translateX(0); }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.position-left {
    left: -250px;
    top: 0;
    width: 250px; }
    .is-open-left {
      -ms-transform: translateX(250px);
          transform: translateX(250px); }
  .off-canvas.position-right {
    right: -250px;
    top: 0;
    width: 250px; }
    .is-open-right {
      -ms-transform: translateX(-250px);
          transform: translateX(-250px); }

@media screen and (min-width: 23.4375em) {
  .position-left.reveal-for-sm-phone {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-sm-phone ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-sm-phone {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-sm-phone ~ .off-canvas-content {
      margin-right: 250px; } }

@media screen and (min-width: 30em) {
  .position-left.reveal-for-md-phone {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-md-phone ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-md-phone {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-md-phone ~ .off-canvas-content {
      margin-right: 250px; } }

@media screen and (min-width: 40em) {
  .position-left.reveal-for-medium {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-medium {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 250px; } }

@media screen and (min-width: 48em) {
  .position-left.reveal-for-tablet {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-tablet ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-tablet {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-tablet ~ .off-canvas-content {
      margin-right: 250px; } }

@media screen and (min-width: 55em) {
  .position-left.reveal-for-lg-tablet {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-lg-tablet ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-lg-tablet {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-lg-tablet ~ .off-canvas-content {
      margin-right: 250px; } }

@media screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-large {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 250px; } }

@media screen and (min-width: 75em) {
  .position-left.reveal-for-xlarge {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-xlarge ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-xlarge {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-xlarge ~ .off-canvas-content {
      margin-right: 250px; } }

.orbit {
  position: relative; }

.orbit-container {
  position: relative;
  margin: 0;
  overflow: hidden;
  list-style: none; }

.orbit-slide {
  width: 100%;
  max-height: 100%; }
  .orbit-slide.no-motionui.is-active {
    top: 0;
    left: 0; }

.orbit-figure {
  margin: 0; }

.orbit-image {
  margin: 0;
  width: 100%;
  max-width: 100%; }

.orbit-caption {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 1rem;
  margin-bottom: 0;
  color: #fefefe;
  background-color: rgba(10, 10, 10, 0.5); }

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #fefefe; }
  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
    outline: 0; }
  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
    background-color: rgba(10, 10, 10, 0.5); }

.orbit-previous {
  left: 0; }

.orbit-next {
  left: auto;
  right: 0; }

.orbit-bullets {
  position: relative;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  text-align: center; }
  [data-whatinput='mouse'] .orbit-bullets {
    outline: 0; }
  .orbit-bullets button {
    width: 1.2rem;
    height: 1.2rem;
    margin: 0.1rem;
    background-color: #cacaca;
    border-radius: 50%; }
    .orbit-bullets button:hover {
      background-color: #8a8a8a; }
    .orbit-bullets button.is-active {
      background-color: #8a8a8a; }

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    content: ' ';
    display: table; }
  .pagination::after {
    clear: both; }
  .pagination li {
    font-size: 0.875rem;
    margin-right: 0.0625rem;
    border-radius: 0;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media screen and (min-width: 40em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    color: #0a0a0a;
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 0; }
    .pagination a:hover,
    .pagination button:hover {
      background: #e6e6e6; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #1164AD;
    color: #fefefe;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #cacaca;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    content: '\2026';
    padding: 0.1875rem 0.625rem;
    color: #0a0a0a; }

.pagination-previous a::before,
.pagination-previous.disabled::before {
  content: '\00ab';
  display: inline-block;
  margin-right: 0.5rem; }

.pagination-next a::after,
.pagination-next.disabled::after {
  content: '\00bb';
  display: inline-block;
  margin-left: 0.5rem; }

.progress {
  background-color: #cacaca;
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0; }
  .progress.primary .progress-meter {
    background-color: #1164AD; }
  .progress.secondary .progress-meter {
    background-color: #777; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #ec5840; }

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #1164AD; }

.progress-meter-text {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
  position: absolute;
  margin: 0;
  font-size: 0.75rem;
  font-weight: bold;
  color: #fefefe;
  white-space: nowrap; }

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #e6e6e6;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -ms-touch-action: none;
      touch-action: none; }

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.5rem;
  background-color: #cacaca;
  transition: all 0.2s ease-in-out; }
  .slider-fill.is-dragging {
    transition: all 0s linear; }

.slider-handle {
  position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
  position: absolute;
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  background-color: #1164AD;
  transition: all 0.2s ease-in-out;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  border-radius: 0; }
  [data-whatinput='mouse'] .slider-handle {
    outline: 0; }
  .slider-handle:hover {
    background-color: #0e5593; }
  .slider-handle.is-dragging {
    transition: all 0s linear; }

.slider.disabled,
.slider[disabled] {
  opacity: 0.25;
  cursor: not-allowed; }

.slider.vertical {
  display: inline-block;
  width: 0.5rem;
  height: 12.5rem;
  margin: 0 1.25rem;
  -ms-transform: scale(1, -1);
      transform: scale(1, -1); }
  .slider.vertical .slider-fill {
    top: 0;
    width: 0.5rem;
    max-height: 100%; }
  .slider.vertical .slider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.4rem;
    height: 1.4rem;
    -ms-transform: translateX(-50%);
        transform: translateX(-50%); }

.sticky-container {
  position: relative; }

.sticky {
  position: absolute;
  z-index: 0;
  transform: translate3d(0, 0, 0); }

.sticky.is-stuck {
  position: fixed;
  z-index: 5; }
  .sticky.is-stuck.is-at-top {
    top: 0; }
  .sticky.is-stuck.is-at-bottom {
    bottom: 0; }

.sticky.is-anchored {
  position: absolute;
  left: auto;
  right: auto; }
  .sticky.is-anchored.is-at-bottom {
    bottom: 0; }

body.is-reveal-open {
  overflow: hidden; }

html.is-reveal-open,
html.is-reveal-open body {
  min-height: 100%;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.reveal-overlay {
  display: none;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1005;
  background-color: rgba(10, 10, 10, 0.45);
  overflow-y: scroll; }

.reveal {
  display: none;
  z-index: 1006;
  padding: 1rem;
  border: 1px solid #cacaca;
  background-color: #fefefe;
  border-radius: 0;
  position: relative;
  top: 100px;
  margin-left: auto;
  margin-right: auto;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media screen and (min-width: 40em) {
    .reveal {
      min-height: 0; } }
  .reveal .column, .reveal .columns,
  .reveal .columns {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media screen and (min-width: 40em) {
    .reveal {
      width: 600px;
      max-width: 75rem; } }
  @media screen and (min-width: 40em) {
    .reveal .reveal {
      left: auto;
      right: auto;
      margin: 0 auto; } }
  .reveal.collapse {
    padding: 0; }
  @media screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 75rem; } }
  @media screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 75rem; } }
  @media screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 75rem; } }
  .reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    max-width: none;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media screen and (max-width: 19.9375em) {
    .reveal {
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      height: 100vh;
      min-height: 100vh;
      max-width: none;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

.switch {
  height: 2rem;
  margin-bottom: 1rem;
  outline: 0;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  color: #fefefe;
  font-weight: bold;
  font-size: 0.875rem; }

.switch-input {
  opacity: 0;
  position: absolute;
  margin-bottom: 0; }

.switch-paddle {
  background: #cacaca;
  cursor: pointer;
  display: block;
  position: relative;
  width: 4rem;
  height: 2rem;
  transition: all 0.25s ease-out;
  border-radius: 0;
  color: inherit;
  font-weight: inherit; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    background: #fefefe;
    content: '';
    display: block;
    position: absolute;
    height: 1.5rem;
    left: 0.25rem;
    top: 0.25rem;
    width: 1.5rem;
    transition: all 0.25s ease-out;
    transform: translate3d(0, 0, 0);
    border-radius: 0; }
  input:checked ~ .switch-paddle {
    background: #1164AD; }
    input:checked ~ .switch-paddle::after {
      left: 2.25rem; }
  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
    outline: 0; }

.switch-active, .switch-inactive {
  position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%); }

.switch-active {
  left: 8%;
  display: none; }
  input:checked + label > .switch-active {
    display: block; }

.switch-inactive {
  right: 15%; }
  input:checked + label > .switch-inactive {
    display: none; }

.switch.tiny {
  height: 1.5rem; }
  .switch.tiny .switch-paddle {
    width: 3rem;
    height: 1.5rem;
    font-size: 0.625rem; }
  .switch.tiny .switch-paddle::after {
    width: 1rem;
    height: 1rem; }
  .switch.tiny input:checked ~ .switch-paddle::after {
    left: 1.75rem; }

.switch.small {
  height: 1.75rem; }
  .switch.small .switch-paddle {
    width: 3.5rem;
    height: 1.75rem;
    font-size: 0.75rem; }
  .switch.small .switch-paddle::after {
    width: 1.25rem;
    height: 1.25rem; }
  .switch.small input:checked ~ .switch-paddle::after {
    left: 2rem; }

.switch.large {
  height: 2.5rem; }
  .switch.large .switch-paddle {
    width: 5rem;
    height: 2.5rem;
    font-size: 1rem; }
  .switch.large .switch-paddle::after {
    width: 2rem;
    height: 2rem; }
  .switch.large input:checked ~ .switch-paddle::after {
    left: 2.75rem; }

table {
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  table thead,
  table tbody,
  table tfoot {
    border: 1px solid #f1f1f1;
    background-color: #fefefe; }
  table caption {
    font-weight: bold;
    padding: 0.5rem 0.625rem 0.625rem; }
  table thead {
    background: #f8f8f8;
    color: #312E2B; }
  table tfoot {
    background: #f1f1f1;
    color: #312E2B; }
  table thead tr,
  table tfoot tr {
    background: transparent; }
  table thead th,
  table thead td,
  table tfoot th,
  table tfoot td {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold;
    text-align: left; }
  table tbody tr:nth-child(even) {
    background-color: #f1f1f1; }
  table tbody th,
  table tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }

@media screen and (max-width: 47.9375em) {
  table.stack thead {
    display: none; }
  table.stack tfoot {
    display: none; }
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block; }
  table.stack td {
    border-top: 0; } }

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto; }

table.hover thead tr:hover {
  background-color: #f3f3f3; }

table.hover tfoot tr:hover {
  background-color: #ececec; }

table.hover tbody tr:hover {
  background-color: #f9f9f9; }

table.hover tbody tr:nth-of-type(even):hover {
  background-color: #ececec; }

.table-scroll {
  overflow-x: auto; }
  .table-scroll table {
    width: auto; }

.tabs {
  margin: 0;
  list-style-type: none;
  background: #fefefe;
  border: 1px solid #e6e6e6; }
  .tabs::before, .tabs::after {
    content: ' ';
    display: table; }
  .tabs::after {
    clear: both; }

.tabs.vertical > li {
  width: auto;
  float: none;
  display: block; }

.tabs.simple > li > a {
  padding: 0; }
  .tabs.simple > li > a:hover {
    background: transparent; }

.tabs.primary {
  background: #1164AD; }
  .tabs.primary > li > a {
    color: #fefefe; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #126cbc; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    line-height: 1;
    font-size: 0.75rem; }
    .tabs-title > a:hover {
      background: #fefefe; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #e6e6e6; }

.tabs-content {
  background: #fefefe;
  transition: all 0.5s ease;
  border: 1px solid #e6e6e6;
  border-top: 0; }

.tabs-content.vertical {
  border: 1px solid #e6e6e6;
  border-left: 0; }

.tabs-panel {
  display: none;
  padding: 1rem; }
  .tabs-panel.is-active {
    display: block; }

.thumbnail {
  border: solid 4px #fefefe;
  box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
  display: inline-block;
  line-height: 0;
  max-width: 100%;
  transition: box-shadow 200ms ease-out;
  border-radius: 0;
  margin-bottom: 1rem; }
  .thumbnail:hover, .thumbnail:focus {
    box-shadow: 0 0 6px 1px rgba(17, 100, 173, 0.5); }

.title-bar {
  background: #0a0a0a;
  color: #fefefe;
  padding: 0.5rem; }
  .title-bar::before, .title-bar::after {
    content: ' ';
    display: table; }
  .title-bar::after {
    clear: both; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

.title-bar-left {
  float: left; }

.title-bar-right {
  float: right;
  text-align: right; }

.title-bar-title {
  font-weight: bold;
  vertical-align: middle;
  display: inline-block; }

.has-tip {
  border-bottom: dotted 1px #8a8a8a;
  font-weight: bold;
  position: relative;
  display: inline-block;
  cursor: help; }

.tooltip {
  background-color: #0a0a0a;
  color: #fefefe;
  font-size: 80%;
  padding: 0.75rem;
  position: absolute;
  z-index: 10;
  top: calc(100% + 0.6495rem);
  max-width: 10rem !important;
  border-radius: 0; }
  .tooltip::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: transparent transparent #0a0a0a;
    border-bottom-style: solid;
    border-top-width: 0;
    bottom: 100%;
    position: absolute;
    left: 50%;
    -ms-transform: translateX(-50%);
        transform: translateX(-50%); }
  .tooltip.top::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: #0a0a0a transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    top: 100%;
    bottom: auto; }
  .tooltip.left::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: transparent transparent transparent #0a0a0a;
    border-left-style: solid;
    border-right-width: 0;
    bottom: auto;
    left: 100%;
    top: 50%;
    -ms-transform: translateY(-50%);
        transform: translateY(-50%); }
  .tooltip.right::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: transparent #0a0a0a transparent transparent;
    border-right-style: solid;
    border-left-width: 0;
    bottom: auto;
    left: auto;
    right: 100%;
    top: 50%;
    -ms-transform: translateY(-50%);
        transform: translateY(-50%); }

.top-bar {
  padding: 0.5rem; }
  .top-bar::before, .top-bar::after {
    content: ' ';
    display: table; }
  .top-bar::after {
    clear: both; }
  .top-bar,
  .top-bar ul {
    background-color: #312E2B; }
  .top-bar input {
    max-width: 108px;
    margin-right: 1rem; }
  .top-bar .input-group-field {
    width: 100%;
    margin-right: 0; }
  .top-bar input.button {
    width: auto; }
  .top-bar .top-bar-left,
  .top-bar .top-bar-right {
    width: 100%; }
  @media screen and (min-width: 40em) {
    .top-bar .top-bar-left,
    .top-bar .top-bar-right {
      width: auto; } }
  @media screen and (max-width: 29.9375em) {
    .top-bar.stacked-for-sm-phone .top-bar-left,
    .top-bar.stacked-for-sm-phone .top-bar-right {
      width: 100%; } }
  @media screen and (max-width: 39.9375em) {
    .top-bar.stacked-for-md-phone .top-bar-left,
    .top-bar.stacked-for-md-phone .top-bar-right {
      width: 100%; } }
  @media screen and (max-width: 47.9375em) {
    .top-bar.stacked-for-medium .top-bar-left,
    .top-bar.stacked-for-medium .top-bar-right {
      width: 100%; } }
  @media screen and (max-width: 54.9375em) {
    .top-bar.stacked-for-tablet .top-bar-left,
    .top-bar.stacked-for-tablet .top-bar-right {
      width: 100%; } }
  @media screen and (max-width: 61.9375em) {
    .top-bar.stacked-for-lg-tablet .top-bar-left,
    .top-bar.stacked-for-lg-tablet .top-bar-right {
      width: 100%; } }
  @media screen and (max-width: 74.9375em) {
    .top-bar.stacked-for-large .top-bar-left,
    .top-bar.stacked-for-large .top-bar-right {
      width: 100%; } }
  @media screen and (max-width: 89.9375em) {
    .top-bar.stacked-for-xlarge .top-bar-left,
    .top-bar.stacked-for-xlarge .top-bar-right {
      width: 100%; } }

.top-bar-title {
  float: left;
  margin-right: 1rem; }

.top-bar-left {
  float: left; }

.top-bar-right {
  float: right; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media screen and (max-width: 19.9375em) {
  .hide-for-small-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 20em) {
  .show-for-small-only {
    display: none !important; } }

@media screen and (min-width: 23.4375em) {
  .hide-for-sm-phone {
    display: none !important; } }

@media screen and (max-width: 23.375em) {
  .show-for-sm-phone {
    display: none !important; } }

@media screen and (min-width: 23.4375em) and (max-width: 29.9375em) {
  .hide-for-sm-phone-only {
    display: none !important; } }

@media screen and (max-width: 23.375em), screen and (min-width: 30em) {
  .show-for-sm-phone-only {
    display: none !important; } }

@media screen and (min-width: 30em) {
  .hide-for-md-phone {
    display: none !important; } }

@media screen and (max-width: 29.9375em) {
  .show-for-md-phone {
    display: none !important; } }

@media screen and (min-width: 30em) and (max-width: 39.9375em) {
  .hide-for-md-phone-only {
    display: none !important; } }

@media screen and (max-width: 29.9375em), screen and (min-width: 40em) {
  .show-for-md-phone-only {
    display: none !important; } }

@media screen and (min-width: 40em) {
  .hide-for-medium {
    display: none !important; } }

@media screen and (max-width: 39.9375em) {
  .show-for-medium {
    display: none !important; } }

@media screen and (min-width: 40em) and (max-width: 47.9375em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 39.9375em), screen and (min-width: 48em) {
  .show-for-medium-only {
    display: none !important; } }

@media screen and (min-width: 48em) {
  .hide-for-tablet {
    display: none !important; } }

@media screen and (max-width: 47.9375em) {
  .show-for-tablet {
    display: none !important; } }

@media screen and (min-width: 48em) and (max-width: 54.9375em) {
  .hide-for-tablet-only {
    display: none !important; } }

@media screen and (max-width: 47.9375em), screen and (min-width: 55em) {
  .show-for-tablet-only {
    display: none !important; } }

@media screen and (min-width: 55em) {
  .hide-for-lg-tablet {
    display: none !important; } }

@media screen and (max-width: 54.9375em) {
  .show-for-lg-tablet {
    display: none !important; } }

@media screen and (min-width: 55em) and (max-width: 61.9375em) {
  .hide-for-lg-tablet-only {
    display: none !important; } }

@media screen and (max-width: 54.9375em), screen and (min-width: 62em) {
  .show-for-lg-tablet-only {
    display: none !important; } }

@media screen and (min-width: 64em) {
  .hide-for-large {
    display: none !important; } }

@media screen and (max-width: 63.9375em) {
  .show-for-large {
    display: none !important; } }

@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 63.9375em), screen and (min-width: 75em) {
  .show-for-large-only {
    display: none !important; } }

@media screen and (min-width: 75em) {
  .hide-for-xlarge {
    display: none !important; } }

@media screen and (max-width: 74.9375em) {
  .show-for-xlarge {
    display: none !important; } }

@media screen and (min-width: 75em) and (max-width: 89.9375em) {
  .hide-for-xlarge-only {
    display: none !important; } }

@media screen and (max-width: 74.9375em), screen and (min-width: 90em) {
  .show-for-xlarge-only {
    display: none !important; } }

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0); }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  height: auto;
  width: auto;
  overflow: visible;
  clip: auto; }

.show-for-landscape,
.hide-for-portrait {
  display: block !important; }
  @media screen and (orientation: landscape) {
    .show-for-landscape,
    .hide-for-portrait {
      display: block !important; } }
  @media screen and (orientation: portrait) {
    .show-for-landscape,
    .hide-for-portrait {
      display: none !important; } }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }
  @media screen and (orientation: landscape) {
    .hide-for-landscape,
    .show-for-portrait {
      display: none !important; } }
  @media screen and (orientation: portrait) {
    .hide-for-landscape,
    .show-for-portrait {
      display: block !important; } }

.float-left {
  float: left !important; }

.float-right {
  float: right !important; }

.float-center {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.clearfix::before, .clearfix::after {
  content: ' ';
  display: table; }

.clearfix::after {
  clear: both; }

.slide-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: translateY(-100%);
      transform: translateY(-100%);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-down.mui-enter.mui-enter-active {
  -ms-transform: translateY(0);
      transform: translateY(0); }

.slide-in-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: translateX(-100%);
      transform: translateX(-100%);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-left.mui-enter.mui-enter-active {
  -ms-transform: translateX(0);
      transform: translateX(0); }

.slide-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: translateY(100%);
      transform: translateY(100%);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-up.mui-enter.mui-enter-active {
  -ms-transform: translateY(0);
      transform: translateY(0); }

.slide-in-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: translateX(100%);
      transform: translateX(100%);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-right.mui-enter.mui-enter-active {
  -ms-transform: translateX(0);
      transform: translateX(0); }

.slide-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: translateY(0);
      transform: translateY(0);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-down.mui-leave.mui-leave-active {
  -ms-transform: translateY(100%);
      transform: translateY(100%); }

.slide-out-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: translateX(0);
      transform: translateX(0);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-right.mui-leave.mui-leave-active {
  -ms-transform: translateX(100%);
      transform: translateX(100%); }

.slide-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: translateY(0);
      transform: translateY(0);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-up.mui-leave.mui-leave-active {
  -ms-transform: translateY(-100%);
      transform: translateY(-100%); }

.slide-out-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: translateX(0);
      transform: translateX(0);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-left.mui-leave.mui-leave-active {
  -ms-transform: translateX(-100%);
      transform: translateX(-100%); }

.fade-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 0;
  transition-property: opacity; }

.fade-in.mui-enter.mui-enter-active {
  opacity: 1; }

.fade-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 1;
  transition-property: opacity; }

.fade-out.mui-leave.mui-leave-active {
  opacity: 0; }

.hinge-in-from-top.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateX(-90deg);
  -ms-transform-origin: top;
      transform-origin: top;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-top.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateY(-90deg);
  -ms-transform-origin: right;
      transform-origin: right;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-right.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-bottom.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateX(90deg);
  -ms-transform-origin: bottom;
      transform-origin: bottom;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-bottom.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateY(90deg);
  -ms-transform-origin: left;
      transform-origin: left;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-left.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-x.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateX(-90deg);
  -ms-transform-origin: center;
      transform-origin: center;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-middle-x.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-y.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateY(-90deg);
  -ms-transform-origin: center;
      transform-origin: center;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-middle-y.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-out-from-top.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: top;
      transform-origin: top;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-top.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: right;
      transform-origin: right;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-right.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.hinge-out-from-bottom.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: bottom;
      transform-origin: bottom;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-bottom.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(90deg);
  opacity: 0; }

.hinge-out-from-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: left;
      transform-origin: left;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-left.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(90deg);
  opacity: 0; }

.hinge-out-from-middle-x.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: center;
      transform-origin: center;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-middle-x.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-middle-y.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  -ms-transform-origin: center;
      transform-origin: center;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-middle-y.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.scale-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: scale(0.5);
      transform: scale(0.5);
  transition-property: transform, opacity;
  opacity: 0; }

.scale-in-up.mui-enter.mui-enter-active {
  -ms-transform: scale(1);
      transform: scale(1);
  opacity: 1; }

.scale-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: scale(1.5);
      transform: scale(1.5);
  transition-property: transform, opacity;
  opacity: 0; }

.scale-in-down.mui-enter.mui-enter-active {
  -ms-transform: scale(1);
      transform: scale(1);
  opacity: 1; }

.scale-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: scale(1);
      transform: scale(1);
  transition-property: transform, opacity;
  opacity: 1; }

.scale-out-up.mui-leave.mui-leave-active {
  -ms-transform: scale(1.5);
      transform: scale(1.5);
  opacity: 0; }

.scale-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: scale(1);
      transform: scale(1);
  transition-property: transform, opacity;
  opacity: 1; }

.scale-out-down.mui-leave.mui-leave-active {
  -ms-transform: scale(0.5);
      transform: scale(0.5);
  opacity: 0; }

.spin-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: rotate(-0.75turn);
      transform: rotate(-0.75turn);
  transition-property: transform, opacity;
  opacity: 0; }

.spin-in.mui-enter.mui-enter-active {
  -ms-transform: rotate(0);
      transform: rotate(0);
  opacity: 1; }

.spin-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: rotate(0);
      transform: rotate(0);
  transition-property: transform, opacity;
  opacity: 1; }

.spin-out.mui-leave.mui-leave-active {
  -ms-transform: rotate(0.75turn);
      transform: rotate(0.75turn);
  opacity: 0; }

.spin-in-ccw.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: rotate(0.75turn);
      transform: rotate(0.75turn);
  transition-property: transform, opacity;
  opacity: 0; }

.spin-in-ccw.mui-enter.mui-enter-active {
  -ms-transform: rotate(0);
      transform: rotate(0);
  opacity: 1; }

.spin-out-ccw.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -ms-transform: rotate(0);
      transform: rotate(0);
  transition-property: transform, opacity;
  opacity: 1; }

.spin-out-ccw.mui-leave.mui-leave-active {
  -ms-transform: rotate(-0.75turn);
      transform: rotate(-0.75turn);
  opacity: 0; }

.slow {
  transition-duration: 750ms !important; }

.fast {
  transition-duration: 250ms !important; }

.linear {
  transition-timing-function: linear !important; }

.ease {
  transition-timing-function: ease !important; }

.ease-in {
  transition-timing-function: ease-in !important; }

.ease-out {
  transition-timing-function: ease-out !important; }

.ease-in-out {
  transition-timing-function: ease-in-out !important; }

.bounce-in {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  transition-delay: 300ms !important; }

.long-delay {
  transition-delay: 700ms !important; }

.shake {
  animation-name: shake-7; }

@keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    transform: translateX(-7%); } }

.spin-cw {
  animation-name: spin-cw-1turn; }

@keyframes spin-cw-1turn {
  0% {
    transform: rotate(-1turn); }
  100% {
    transform: rotate(0); } }

.spin-ccw {
  animation-name: spin-cw-1turn; }

@keyframes spin-cw-1turn {
  0% {
    transform: rotate(0); }
  100% {
    transform: rotate(1turn); } }

.wiggle {
  animation-name: wiggle-7deg; }

@keyframes wiggle-7deg {
  40%, 50%, 60% {
    transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    transform: rotate(0); } }

.shake,
.spin-cw,
.spin-ccw,
.wiggle {
  animation-duration: 500ms; }

.infinite {
  animation-iteration-count: infinite; }

.slow {
  animation-duration: 750ms !important; }

.fast {
  animation-duration: 250ms !important; }

.linear {
  animation-timing-function: linear !important; }

.ease {
  animation-timing-function: ease !important; }

.ease-in {
  animation-timing-function: ease-in !important; }

.ease-out {
  animation-timing-function: ease-out !important; }

.ease-in-out {
  animation-timing-function: ease-in-out !important; }

.bounce-in {
  animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  animation-delay: 300ms !important; }

.long-delay {
  animation-delay: 700ms !important; }

/*  Functions (New for MyGiza)
--------------------------------------*/
/* Trying without this - Foundation comes with this function natively
@function rem-calc($values, $base-value: $rem-base) {
	$max: length($values);

	@if $max == 1 { @return convert-to-rem(nth($values, 1), $base-value); }

	$remValues: ();
	@for $i from 1 through $max {
		$remValues: append($remValues, convert-to-rem(nth($values, $i), $base-value));
	}
	@return $remValues;
} */
/*  Mixins (New for MyGiza)
--------------------------------------*/
/*  Helpers (New for MyGiza)
--------------------------------------*/
.collection-section .collections-list, .select-links, .accordion-section .accordion-content .content-wrap .col ul, .collection-section.two-columns .content-heading .links, .collection-section.two-columns .sidebar .links, .collection-section.two-columns .sidebar .social-networks, .reveal .collaborators ul, .reveal.add-reveal .bottom-info-block ul, .reveal.add-reveal .add-lists, .reveal.met-search .selection-filter-col .selected-items-list, .reveal.met-search .filter-list {
  margin: 0;
  padding: 0;
  list-style: none; }

.clearfix:after, .collection-section .collections-list .list-row:after, .collection-heading .links:after, .accordion-section .links-row:after, .reveal.email-reveal .new_form .email-wrap:after, .reveal.email-reveal .new_form .check-wrap:after, .reveal.met-search .selection-filter-col:after {
  content: '';
  display: block;
  clear: both; }

.ellipsis {
  white-space: nowrap;
  /* 1 */
  text-overflow: ellipsis;
  /* 2 */
  overflow: hidden; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* custom select styles */
.jcf-select {
  display: block;
  position: relative;
  margin: 0 0 13px;
  min-width: 150px;
  height: 30px;
  border: 1px solid #979797;
  background: #fff; }

.jcf-select select {
  z-index: 1;
  left: 0;
  top: 0; }

.jcf-select .jcf-select-text {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  cursor: default;
  display: block;
  font-size: 1rem;
  line-height: 1.75;
  margin: 0 35px 0 5px; }

.jcf-select .jcf-select-opener {
  position: absolute;
  text-align: center;
  width: 26px;
  bottom: 0;
  right: 0;
  top: 0; }
  .jcf-select .jcf-select-opener:before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1;
    font-size: 1.125rem;
    position: absolute;
    top: 6px;
    left: 2px;
    content: "\f078";
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased; }

body > .jcf-select-drop {
  position: absolute;
  margin: -1px 0 0;
  z-index: 9999; }

body > .jcf-select-drop.jcf-drop-flipped {
  margin: 1px 0 0; }

.jcf-select .jcf-select-drop {
  position: absolute;
  margin-top: 0px;
  z-index: 9999;
  top: 100%;
  left: -1px;
  right: -1px; }

.jcf-select .jcf-drop-flipped {
  bottom: 100%;
  top: auto; }

.jcf-select-drop .jcf-select-drop-content {
  border: 1px solid #1164AD; }

/* multiple select styles */
.jcf-list-box {
  overflow: hidden;
  display: inline-block;
  border: 1px solid #b8c3c9;
  min-width: 200px;
  margin: 0 15px; }

/* select options styles */
.jcf-list {
  display: inline-block;
  vertical-align: top;
  position: relative;
  background: #fff;
  line-height: 14px;
  font-size: 12px;
  width: 100%; }

.jcf-list .jcf-list-content {
  vertical-align: top;
  display: inline-block;
  overflow: auto;
  width: 100%; }

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

.jcf-list ul li {
  overflow: hidden;
  display: block; }

.jcf-list .jcf-overflow {
  overflow: auto; }

.jcf-list .jcf-option {
  overflow: hidden;
  cursor: default;
  display: block;
  padding: 5px 9px;
  color: #656565;
  height: 1%; }

.jcf-list .jcf-disabled {
  background: #fff !important;
  color: #aaa !important; }

.jcf-select-drop .jcf-hover,
.jcf-list-box .jcf-selected {
  background: #e6e6e6;
  color: #000; }

.jcf-list .jcf-optgroup-caption {
  white-space: nowrap;
  font-weight: bold;
  display: block;
  padding: 5px 9px;
  cursor: default;
  color: #000; }

.jcf-list .jcf-optgroup .jcf-option {
  padding-left: 30px; }

/* custom scrollbars styles */
.jcf-scrollable-wrapper {
  box-sizing: content-box;
  position: relative; }

.jcf-scrollbar-vertical {
  position: absolute;
  cursor: default;
  width: 10px;
  bottom: 0;
  right: 0;
  top: 0; }

.jcf-scrollbar-vertical .jcf-scrollbar-dec,
.jcf-scrollbar-vertical .jcf-scrollbar-inc {
  background: #bbb;
  height: 0;
  width: 0;
  left: 0;
  top: 0;
  display: none; }

.jcf-scrollbar-vertical .jcf-scrollbar-inc {
  top: auto;
  bottom: 0; }

.jcf-scrollbar-vertical .jcf-scrollbar-handle {
  background: rgba(74, 74, 74, 0.5);
  height: 150px !important;
  width: 10px;
  border-radius: 2px; }

.jcf-scrollbar-horizontal {
  position: absolute;
  background: #e3e3e3;
  right: auto;
  top: auto;
  left: 0;
  bottom: 0;
  width: 1px;
  height: 14px; }

.jcf-scrollbar-horizontal .jcf-scrollbar-dec,
.jcf-scrollbar-horizontal .jcf-scrollbar-inc {
  display: inline-block;
  vertical-align: top;
  overflow: hidden;
  background: #bbb;
  height: 14px;
  width: 14px; }

.jcf-scrollbar-horizontal .jcf-scrollbar-inc {
  left: auto;
  right: 0; }

.jcf-scrollbar-horizontal .jcf-scrollbar-slider {
  display: inline-block;
  position: relative;
  height: 14px; }

.jcf-scrollbar-horizontal .jcf-scrollbar-handle {
  position: absolute;
  background: #888;
  height: 14px; }

.jcf-scrollbar.jcf-inactive .jcf-scrollbar-handle {
  visibility: hidden; }

.jcf-scrollbar.jcf-inactive .jcf-scrollbar-dec,
.jcf-scrollbar.jcf-inactive .jcf-scrollbar-inc {
  background: #e3e3e3; }

/* common custom form elements styles */
.jcf-disabled {
  background: #ddd !important; }

.jcf-focus,
.jcf-focus * {
  border-color: #1164AD !important; }

/*  Fontastic
--------------------------------------*/
@font-face {
  font-family: "giza-project-icons";
  src: url("../fonts/giza-project-icons.eot");
  src: url("../fonts/giza-project-icons.eot?#iefix") format("embedded-opentype"), url("../fonts/giza-project-icons.woff") format("woff"), url("../fonts/giza-project-icons.ttf") format("truetype"), url("../fonts/giza-project-icons.svg#giza-project-icons") format("svg");
  font-weight: normal;
  font-style: normal; }

[data-icon]:before,
[class^="icon-"]:before,
[class*=" icon-"]:before {
  font-family: "giza-project-icons" !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  position: relative;
  top: 0.1em; }

[data-icon].icon-fw:before,
[class^="icon-"].icon-fw:before,
[class*=" icon-"].icon-fw:before {
  width: 1.4em; }

[data-icon].icon-padded:before,
[class^="icon-"].icon-padded:before,
[class*=" icon-"].icon-padded:before {
  margin-right: 0.25em; }

[data-icon]:before {
  content: attr(data-icon); }

.icon-angle-left:before {
  content: "\61"; }

.icon-angle-right:before {
  content: "\62"; }

.icon-bookmark:before {
  content: "\63"; }

.icon-book:before {
  content: "\64"; }

.icon-bars:before {
  content: "\65"; }

.icon-caret-down:before {
  content: "\66"; }

.icon-check:before {
  content: "\67"; }

.icon-circle-thin:before {
  content: "\68"; }

.icon-facebook-square:before {
  content: "\69"; }

.icon-file-text-o:before {
  content: "\6a"; }

.icon-google-plus-square:before {
  content: "\6b"; }

.icon-home:before {
  content: "\6c"; }

.icon-info-circle:before {
  content: "\6d"; }

.icon-list:before {
  content: "\6e"; }

.icon-map-o:before {
  content: "\6f"; }

.icon-pencil-square-o:before {
  content: "\70"; }

.icon-quote-left:before {
  content: "\71"; }

.icon-sticky-note-o:before {
  content: "\72"; }

.icon-twitter:before {
  content: "\73"; }

.icon-user:before {
  content: "\74"; }

.icon-video-camera:before {
  content: "\75"; }

.icon-camera:before {
  content: "\76"; }

.icon-search:before {
  content: "\77"; }

.icon-vase:before {
  content: "\78"; }

.icon-pyramid-3d:before {
  content: "\79"; }

.icon-instagram:before {
  content: "\7a"; }

.icon-users:before {
  content: "\41"; }

.icon-volume-up:before {
  content: "\42"; }

.icon-paw:before {
  content: "\43"; }

.icon-map-marker:before {
  content: "\44"; }

.icon-paypal:before {
  content: "\45"; }

.icon-university:before {
  content: "\46"; }

.icon-th:before {
  content: "\47"; }

.icon-th-large:before {
  content: "\48"; }

.icon-envelope-square:before {
  content: "\49"; }

.icon-twitter-square:before {
  content: "\4a"; }

.icon-link:before {
  content: "\4b"; }

.icon-align-justify:before {
  content: "\4c"; }

.icon-ellipsis-h:before {
  content: "\4d"; }

.icon-plus-circle:before {
  content: "\4e"; }

.icon-trash-o:before {
  content: "\4f"; }

.icon-arrow-circle-right:before {
  content: "\50"; }

.icon-minus-circle:before {
  content: "\51"; }

.icon-check-circle:before {
  content: "\52"; }

.icon-picture-o:before {
  content: "\53"; }

.icon-comments:before {
  content: "\54"; }

/*  Typography
--------------------------------------*/
h1, h3, h5 {
  text-transform: uppercase; }

h2, h3, h4, h5, h6 {
  font-weight: 500; }

.h7 {
  display: block;
  color: #312E2B;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: inherit;
  font-weight: bold;
  text-transform: none;
  margin: 0; }

.text-heading {
  font-family: Montserrat, “Helvetica Neue”, Helvetica, Arial, sans-serif; }

.text-alt {
  font-family: Georgia, serif; }

.heading-alt {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: bold;
  text-transform: none; }

.heading-mixedcase {
  text-transform: none; }

.heading-em {
  font-family: Georgia, serif;
  text-transform: none;
  letter-spacing: 0;
  font-style: italic; }

.h2-minor {
  font-size: 1.5rem; }

.h3-minor {
  font-size: 1.125rem; }

.accent-red {
  color: #A51C30; }

.accent-maroon {
  color: #731422; }

.text-bold {
  font-weight: 700; }

.text-medium,
.text-semibold {
  font-weight: 500; }

.text-regular,
.text-normal {
  font-weight: 300; }

.text-light {
  font-weight: 100; }

a.heading-link {
  color: #731422; }
  a.heading-link:hover, a.heading-link:active, a.heading-link:focus {
    color: #0f5695; }

.link-lighter {
  color: #67b0f0; }
  .link-lighter:hover, .link-lighter:active, .link-lighter:focus {
    color: #95c8f5; }

.text-smaller, .back-to-top-link, .footer-menu-list, .feature-block__footer, .list-item, .library-item__secondary, .search-result .subheader {
  font-size: 0.875rem; }

.text-muted, .library-item__secondary {
  color: #8C8179; }

.dl-slim {
  line-height: 1.5; }
  .dl-slim dt {
    margin-bottom: 0; }
    .dl-slim dt:after {
      content: ':'; }

.abbr-list dt {
  display: inline-block;
  float: left;
  clear: left;
  margin-right: 0.5em;
  margin-bottom: 1em; }
  .abbr-list dt:after {
    content: ':'; }

.abbr-list dd {
  display: inline-block;
  float: left;
  margin-bottom: 1em; }

.back-to-top-link {
  display: inline-block;
  margin-top: -0.4em;
  margin-bottom: 0.2em;
  color: #8C8179;
  clear: both; }
  .back-to-top-link:hover, .back-to-top-link:active, .back-to-top-link:focus {
    color: #0f5695; }

.m-x-auto {
  margin-right: auto !important;
  margin-left: auto !important; }

.m-a-0 {
  margin: 0 0 !important; }

.m-t-0 {
  margin-top: 0 !important; }

.m-r-0 {
  margin-right: 0 !important; }

.m-b-0 {
  margin-bottom: 0 !important; }

.m-l-0 {
  margin-left: 0 !important; }

.m-x-0 {
  margin-right: 0 !important;
  margin-left: 0 !important; }

.m-y-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important; }

.m-a-qt {
  margin: 0.25rem 0.25rem !important; }

.m-t-qt {
  margin-top: 0.25rem !important; }

.m-r-qt {
  margin-right: 0.25rem !important; }

.m-b-qt {
  margin-bottom: 0.25rem !important; }

.m-l-qt {
  margin-left: 0.25rem !important; }

.m-x-qt {
  margin-right: 0.25rem !important;
  margin-left: 0.25rem !important; }

.m-y-qt {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important; }

.m-a-half {
  margin: 0.5rem 0.5rem !important; }

.m-t-half {
  margin-top: 0.5rem !important; }

.m-r-half {
  margin-right: 0.5rem !important; }

.m-b-half {
  margin-bottom: 0.5rem !important; }

.m-l-half {
  margin-left: 0.5rem !important; }

.m-x-half {
  margin-right: 0.5rem !important;
  margin-left: 0.5rem !important; }

.m-y-half {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important; }

.m-a-1 {
  margin: 1rem 1rem !important; }

.m-t-1 {
  margin-top: 1rem !important; }

.m-r-1 {
  margin-right: 1rem !important; }

.m-b-1 {
  margin-bottom: 1rem !important; }

.m-l-1 {
  margin-left: 1rem !important; }

.m-x-1 {
  margin-right: 1rem !important;
  margin-left: 1rem !important; }

.m-y-1 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important; }

.m-a-2 {
  margin: 2rem 2rem !important; }

.m-t-2 {
  margin-top: 2rem !important; }

.m-r-2 {
  margin-right: 2rem !important; }

.m-b-2 {
  margin-bottom: 2rem !important; }

.m-l-2 {
  margin-left: 2rem !important; }

.m-x-2 {
  margin-right: 2rem !important;
  margin-left: 2rem !important; }

.m-y-2 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important; }

.m-a-3 {
  margin: 3rem 3rem !important; }

.m-t-3 {
  margin-top: 3rem !important; }

.m-r-3 {
  margin-right: 3rem !important; }

.m-b-3 {
  margin-bottom: 3rem !important; }

.m-l-3 {
  margin-left: 3rem !important; }

.m-x-3 {
  margin-right: 3rem !important;
  margin-left: 3rem !important; }

.m-y-3 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important; }

.m-a-4 {
  margin: 4rem 4rem !important; }

.m-t-4 {
  margin-top: 4rem !important; }

.m-r-4 {
  margin-right: 4rem !important; }

.m-b-4 {
  margin-bottom: 4rem !important; }

.m-l-4 {
  margin-left: 4rem !important; }

.m-x-4 {
  margin-right: 4rem !important;
  margin-left: 4rem !important; }

.m-y-4 {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important; }

.m-a-negqt {
  margin: -0.25rem -0.25rem !important; }

.m-t-negqt {
  margin-top: -0.25rem !important; }

.m-r-negqt {
  margin-right: -0.25rem !important; }

.m-b-negqt {
  margin-bottom: -0.25rem !important; }

.m-l-negqt {
  margin-left: -0.25rem !important; }

.m-x-negqt {
  margin-right: -0.25rem !important;
  margin-left: -0.25rem !important; }

.m-y-negqt {
  margin-top: -0.25rem !important;
  margin-bottom: -0.25rem !important; }

.m-a-neghalf {
  margin: -0.5rem -0.5rem !important; }

.m-t-neghalf {
  margin-top: -0.5rem !important; }

.m-r-neghalf {
  margin-right: -0.5rem !important; }

.m-b-neghalf {
  margin-bottom: -0.5rem !important; }

.m-l-neghalf {
  margin-left: -0.5rem !important; }

.m-x-neghalf {
  margin-right: -0.5rem !important;
  margin-left: -0.5rem !important; }

.m-y-neghalf {
  margin-top: -0.5rem !important;
  margin-bottom: -0.5rem !important; }

.m-a-neg1 {
  margin: -1rem -1rem !important; }

.m-t-neg1 {
  margin-top: -1rem !important; }

.m-r-neg1 {
  margin-right: -1rem !important; }

.m-b-neg1 {
  margin-bottom: -1rem !important; }

.m-l-neg1 {
  margin-left: -1rem !important; }

.m-x-neg1 {
  margin-right: -1rem !important;
  margin-left: -1rem !important; }

.m-y-neg1 {
  margin-top: -1rem !important;
  margin-bottom: -1rem !important; }

.p-a-0 {
  padding: 0 0 !important; }

.p-t-0 {
  padding-top: 0 !important; }

.p-r-0 {
  padding-right: 0 !important; }

.p-b-0 {
  padding-bottom: 0 !important; }

.p-l-0 {
  padding-left: 0 !important; }

.p-x-0 {
  padding-right: 0 !important;
  padding-left: 0 !important; }

.p-y-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important; }

.p-a-qt {
  padding: 0.25rem 0.25rem !important; }

.p-t-qt {
  padding-top: 0.25rem !important; }

.p-r-qt {
  padding-right: 0.25rem !important; }

.p-b-qt {
  padding-bottom: 0.25rem !important; }

.p-l-qt {
  padding-left: 0.25rem !important; }

.p-x-qt {
  padding-right: 0.25rem !important;
  padding-left: 0.25rem !important; }

.p-y-qt {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important; }

.p-a-half {
  padding: 0.5rem 0.5rem !important; }

.p-t-half {
  padding-top: 0.5rem !important; }

.p-r-half {
  padding-right: 0.5rem !important; }

.p-b-half {
  padding-bottom: 0.5rem !important; }

.p-l-half {
  padding-left: 0.5rem !important; }

.p-x-half {
  padding-right: 0.5rem !important;
  padding-left: 0.5rem !important; }

.p-y-half {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important; }

.p-a-1 {
  padding: 1rem 1rem !important; }

.p-t-1 {
  padding-top: 1rem !important; }

.p-r-1 {
  padding-right: 1rem !important; }

.p-b-1 {
  padding-bottom: 1rem !important; }

.p-l-1 {
  padding-left: 1rem !important; }

.p-x-1 {
  padding-right: 1rem !important;
  padding-left: 1rem !important; }

.p-y-1 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important; }

.p-a-2 {
  padding: 2rem 2rem !important; }

.p-t-2 {
  padding-top: 2rem !important; }

.p-r-2 {
  padding-right: 2rem !important; }

.p-b-2 {
  padding-bottom: 2rem !important; }

.p-l-2 {
  padding-left: 2rem !important; }

.p-x-2 {
  padding-right: 2rem !important;
  padding-left: 2rem !important; }

.p-y-2 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important; }

.p-a-3 {
  padding: 3rem 3rem !important; }

.p-t-3 {
  padding-top: 3rem !important; }

.p-r-3 {
  padding-right: 3rem !important; }

.p-b-3 {
  padding-bottom: 3rem !important; }

.p-l-3 {
  padding-left: 3rem !important; }

.p-x-3 {
  padding-right: 3rem !important;
  padding-left: 3rem !important; }

.p-y-3 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important; }

.p-a-4 {
  padding: 4rem 4rem !important; }

.p-t-4 {
  padding-top: 4rem !important; }

.p-r-4 {
  padding-right: 4rem !important; }

.p-b-4 {
  padding-bottom: 4rem !important; }

.p-l-4 {
  padding-left: 4rem !important; }

.p-x-4 {
  padding-right: 4rem !important;
  padding-left: 4rem !important; }

.p-y-4 {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important; }

.p-a-negqt {
  padding: -0.25rem -0.25rem !important; }

.p-t-negqt {
  padding-top: -0.25rem !important; }

.p-r-negqt {
  padding-right: -0.25rem !important; }

.p-b-negqt {
  padding-bottom: -0.25rem !important; }

.p-l-negqt {
  padding-left: -0.25rem !important; }

.p-x-negqt {
  padding-right: -0.25rem !important;
  padding-left: -0.25rem !important; }

.p-y-negqt {
  padding-top: -0.25rem !important;
  padding-bottom: -0.25rem !important; }

.p-a-neghalf {
  padding: -0.5rem -0.5rem !important; }

.p-t-neghalf {
  padding-top: -0.5rem !important; }

.p-r-neghalf {
  padding-right: -0.5rem !important; }

.p-b-neghalf {
  padding-bottom: -0.5rem !important; }

.p-l-neghalf {
  padding-left: -0.5rem !important; }

.p-x-neghalf {
  padding-right: -0.5rem !important;
  padding-left: -0.5rem !important; }

.p-y-neghalf {
  padding-top: -0.5rem !important;
  padding-bottom: -0.5rem !important; }

.p-a-neg1 {
  padding: -1rem -1rem !important; }

.p-t-neg1 {
  padding-top: -1rem !important; }

.p-r-neg1 {
  padding-right: -1rem !important; }

.p-b-neg1 {
  padding-bottom: -1rem !important; }

.p-l-neg1 {
  padding-left: -1rem !important; }

.p-x-neg1 {
  padding-right: -1rem !important;
  padding-left: -1rem !important; }

.p-y-neg1 {
  padding-top: -1rem !important;
  padding-bottom: -1rem !important; }

/*  Forms
--------------------------------------*/
legend {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: bold;
  text-transform: none; }

textarea {
  resize: none; }

select, input, textarea {
  background-color: #fff;
  border: solid 1px #B3AAA1;
  border-radius: 3px; }

.search-facet-item {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
  position: relative; }
  .search-facet-item > [type="radio"],
  .search-facet-item > [type="checkbox"] {
    position: absolute;
    top: 0.35em; }
  .search-facet-item > label {
    line-height: 1.5;
    margin-left: 1.5em; }

#search-form {
  display: -ms-flexbox;
  display: flex; }
  #search-form input {
    margin: 0;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px; }
  #search-form button {
    margin: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    color: #fefefe;
    display: inline-block; }
  #search-form .icon-search::before {
    top: -0.1em; }

.form-search-joined {
  display: -ms-flexbox;
  display: flex; }
  .form-search-joined input[type="text"] {
    -ms-flex: 1;
        flex: 1;
    margin: 0; }
  .form-search-joined .button,
  .form-search-joined input[type="submit"] {
    -ms-flex: 0;
        flex: 0;
    margin: 0;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    display: inline-block; }

.tooltip.narrow {
  width: 170px !important; }
  @media (min-width: 330px) {
    .tooltip.narrow {
      width: 220px !important; } }

input[type="radio"] {
  border-radius: 50% !important; }

/*  Buttons
--------------------------------------*/
.button {
  font-weight: bold; }
  .button:hover, .button:active, .button:focus {
    text-decoration: none; }

.button.secondary {
  background-color: #F0EAE4;
  border: solid 1px #DBD6D0;
  color: #312E2B; }
  .button.secondary:hover, .button.secondary:active, .button.secondary:focus {
    background-color: #DBD6D0;
    color: #312E2B; }

.button-group .button {
  border-radius: 0; }

.button-group .button:first-child {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px; }

.button-group .button:last-child {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px; }

.button-group .button.primary {
  background-color: #312E2B;
  color: #fefefe; }

.button-group .button.secondary {
  background-color: #B3AAA1;
  border-color: transparent;
  color: #F0EAE4; }
  .button-group .button.secondary:hover, .button-group .button.secondary:active, .button-group .button.secondary:focus {
    background-color: #8C8179;
    color: #fefefe; }

.vertical li > a {
  line-height: 1.4;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem; }

.menu-pagination li {
  display: inline-block; }
  .menu-pagination li a {
    padding-left: 0.25rem;
    padding-right: 0.25rem; }
    @media screen and (min-width: 40em) {
      .menu-pagination li a {
        padding-left: 0.28rem;
        padding-right: 0.28rem; } }

.sticky-sidebar {
  padding-right: 10px; }
  @media screen and (min-width: 40em) {
    .sticky-sidebar {
      padding-right: 15px; } }

/*  Tooltips & Modals (Reveal)
--------------------------------------*/
.tooltip {
  max-width: 20em !important; }

.reveal-overlay {
  background-color: rgba(0, 0, 0, 0.6); }

.photo-gallery-modal {
  top: 55px !important;
  margin-bottom: 0px; }
  @media screen and (min-width: 40em) {
    .photo-gallery-modal {
      top: 65px !important;
      margin-bottom: 65px; } }

.modal-inverse {
  background-color: #111;
  border: none;
  border-radius: 6px;
  padding: 20px 15px 20px; }
  @media screen and (min-width: 40em) {
    .modal-inverse {
      padding: 40px 80px 80px; } }
  .modal-inverse,
  .modal-inverse h1,
  .modal-inverse h2,
  .modal-inverse h3,
  .modal-inverse h4 {
    color: #eee; }

.modal-img-container {
  text-align: center; }
  .modal-img-container img {
    margin: 0 auto; }

/*  Navbar
--------------------------------------*/
@media screen and (max-width: 19.9375em) {
  .no-js .top-bar {
    display: none; } }

@media screen and (min-width: 40em) {
  .no-js .title-bar {
    display: none; } }

@media screen and (min-width: 40em) {
  .no-js [data-sticky-container] {
    height: 85px; } }

[data-sticky-container] {
  height: 85px; }

.title-bar {
  background-color: #312E2B;
  padding-top: 0.5em;
  padding-bottom: 0.8em;
  margin: 0; }

.top-bar-container {
  background-color: #312E2B;
  border-bottom: solid 1px #B3AAA1;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  z-index: 999; }

/*
.sticky.is-stuck { // Sticky top nav
  z-index: 10;

  &.top-bar-container {
    z-index: 55;
  }

}
*/
.top-bar {
  padding: 0;
  margin: 0; }

.top-bar {
  height: 55px; }
  .top-bar img {
    height: 55px; }
  .top-bar a,
  .top-bar .pseudolink {
    color: #B3AAA1; }
    .top-bar a:hover, .top-bar a:active, .top-bar a:focus,
    .top-bar .pseudolink:hover,
    .top-bar .pseudolink:active,
    .top-bar .pseudolink:focus {
      color: #fefefe; }
  .top-bar input {
    margin-right: 4px;
    display: inline-block; }

.nav-menu-primary {
  float: right; }
  .nav-menu-primary li > a,
  .nav-menu-primary li > .pseudolink,
  .nav-menu-primary li > .menu-text-item {
    display: block;
    height: 55px;
    padding-top: 17px;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 15px;
    font-family: Montserrat, “Helvetica Neue”, Helvetica, Arial, sans-serif;
    color: #fefefe; }
  .nav-menu-primary li > .menu-text-item {
    color: #DBD6D0;
    font-weight: normal; }
  .nav-menu-primary li .icon-home .hide-for-medium {
    display: inline-block;
    margin-left: 0.2em; }
  @media screen and (min-width: 40em) {
    .nav-menu-primary li .icon-home:before {
      top: 0; } }
  .nav-menu-primary li.active > a,
  .nav-menu-primary li.active > .pseudolink {
    background-color: transparent;
    color: #fefefe;
    font-weight: bold;
    border-left: solid 5px #A51C30;
    padding-left: 11px; }
    @media screen and (min-width: 40em) {
      .nav-menu-primary li.active > a,
      .nav-menu-primary li.active > .pseudolink {
        border-left: 0;
        border-bottom: solid 5px #A51C30;
        padding-left: 1rem;
        /*background-color: #A51C30*/ } }
  .nav-menu-primary li .is-dropdown-submenu {
    width: 330px;
    top: 91% !important;
    border: solid 1px rgba(255, 255, 255, 0.2);
    padding-top: 0.25rem;
    padding-bottom: 0.75rem;
    z-index: 60; }
  .nav-menu-primary li.is-submenu-item > a,
  .nav-menu-primary li.is-submenu-item > .pseudolink,
  .nav-menu-primary li.is-submenu-item > .menu-text-item {
    height: auto;
    text-transform: none;
    padding-top: 0.8rem;
    padding-bottom: 0.8rem; }
    @media screen and (min-width: 40em) {
      .nav-menu-primary li.is-submenu-item > a,
      .nav-menu-primary li.is-submenu-item > .pseudolink,
      .nav-menu-primary li.is-submenu-item > .menu-text-item {
        padding-top: 0.5rem;
        padding-bottom: 0.5rem; } }
  .nav-menu-primary li.li-indented {
    padding-left: 1rem; }
    .nav-menu-primary li.li-indented > a,
    .nav-menu-primary li.li-indented > .pseudolink,
    .nav-menu-primary li.li-indented > .menu-text-item {
      font-weight: normal;
      font-size: 0.875rem;
      padding-top: 0.5rem;
      padding-bottom: 0.5rem; }
      @media screen and (min-width: 40em) {
        .nav-menu-primary li.li-indented > a,
        .nav-menu-primary li.li-indented > .pseudolink,
        .nav-menu-primary li.li-indented > .menu-text-item {
          padding-top: 0.2rem;
          padding-bottom: 0.2rem; } }

.menu > li > .menu-text-item {
  padding-left: 1rem;
  padding-right: 1rem; }

.top-bar-container .title-bar {
  height: 45px; }

@media screen and (max-width: 19.9375em) {
  .nav-menu-primary .submenu.is-drilldown-submenu {
    margin-top: -45px;
    padding-top: 45px;
    padding-bottom: 10px;
    height: 100vh !important;
    min-height: 100vh !important;
    overflow-y: auto !important; } }

.dropdown.menu.vertical > li.opens-left > a::after {
  border-color: transparent #B3AAA1 transparent transparent; }

@media screen and (min-width: 40em) {
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    border-color: #B3AAA1 transparent transparent; } }

.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  border-color: #B3AAA1 transparent transparent; }

.is-drilldown-submenu-parent > a::after {
  border-color: transparent transparent transparent #B3AAA1; }

.js-drilldown-back > a::before {
  border-color: transparent #B3AAA1 transparent transparent; }

.dropdown.menu .is-submenu-item.is-dropdown-submenu-parent .submenu {
  top: 0 !important; }

.top-bar .menu li:last-child button {
  margin-right: 0;
  height: 39px;
  color: #B3AAA1;
  font-family: Montserrat, “Helvetica Neue”, Helvetica, Arial, sans-serif;
  font-size: 15px;
  font-weight: normal;
  text-transform: uppercase; }
  .top-bar .menu li:last-child button:hover, .top-bar .menu li:last-child button:active, .top-bar .menu li:last-child button:focus {
    color: #fefefe; }
  .top-bar .menu li:last-child button .hide-for-medium {
    display: inline-block;
    margin-left: 0.2em; }

[data-toggle="search-dropdown"] {
  background-color: #312E2B; }
  @media screen and (min-width: 40em) {
    [data-toggle="search-dropdown"] {
      width: 3rem; } }
  [data-toggle="search-dropdown"].is-active {
    color: #ec5840 !important; }
    [data-toggle="search-dropdown"].is-active:before {
      content: '\00d7';
      position: relative;
      top: -0.3em;
      font-size: 120%; }
    [data-toggle="search-dropdown"].is-active:hover, [data-toggle="search-dropdown"].is-active:active, [data-toggle="search-dropdown"].is-active:focus {
      color: #fefefe !important;
      background-color: #A51C30 !important; }

.top-bar .dropdown-pane {
  background-color: #312E2B;
  color: #F0EAE4; }

#search-dropdown {
  border: none;
  text-align: left;
  position: static !important;
  top: auto;
  left: auto;
  padding: 1rem;
  width: auto; }
  @media screen and (max-width: 19.9375em) {
    #search-dropdown {
      display: block !important;
      opacity: 1.0 !important;
      visibility: visible !important; } }
  @media screen and (min-width: 40em) {
    #search-dropdown {
      position: absolute !important;
      top: 0px !important;
      height: 55px;
      width: 700px;
      padding: 7px 0 7px;
      opacity: 0;
      transition: visibility 0.25s linear, opacity 0.25s linear;
      text-align: right; } }
  #search-dropdown.is-open {
    opacity: 1.0; }
  #search-dropdown form {
    display: inline-block;
    margin-right: 1rem; }
  #search-dropdown input[type="text"] {
    width: 220px;
    max-width: 1200px;
    height: 41px;
    display: inline-block;
    margin-right: 2px; }
    @media screen and (min-width: 40em) {
      #search-dropdown input[type="text"] {
        width: 400px; } }
  #search-dropdown .button {
    display: inline-block;
    margin: 0;
    height: 41px;
    position: relative;
    top: -1px; }
  #search-dropdown small {
    display: block;
    line-height: 1.2;
    margin-right: 1rem; }
    @media screen and (min-width: 40em) {
      #search-dropdown small {
        display: inline-block;
        padding: 3px;
        height: 25px; } }
    #search-dropdown small a {
      display: block;
      text-transform: none;
      font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
      padding: 0.8rem 0; }

/*  Footer
--------------------------------------*/
nav.row .medium-4 ul {
  list-style-type: none;
  margin: 0;
  padding: 0; }

.footer, footer.legal-social {
  background-color: #F0EAE4; }

.footer {
  padding-top: 1rem;
  border-top: 1px solid #DBD6D0;
  margin-top: 4rem; }

footer.legal-social {
  padding-bottom: 1rem;
  padding-top: 2rem; }

.orbit-bullets {
  position: absolute;
  top: 10px;
  right: 10px;
  margin: 0; }
  .orbit-bullets > button {
    border-radius: 0;
    width: 0.75rem;
    height: 0.75rem; }

.footer-menu-list li {
  line-height: 1.3;
  margin-bottom: 0.6em; }

.accordion-slim li {
  line-height: 1.3;
  margin-bottom: 0.6em; }

.accordion-slim li a {
  line-height: 1.3;
  padding: 0; }
  .accordion-slim li a:after {
    position: static;
    display: inline-block;
    margin-left: 0.3rem;
    vertical-align: middle;
    margin-bottom: -0.2rem; }

.accordion-slim .nested {
  padding: 0.6em 0 0 0;
  margin: 0; }

.image-spacer {
  margin-right: 1.5rem; }
  @media screen and (min-width: 40em) {
    .image-spacer {
      margin-left: 1.5rem;
      margin-right: 0; } }

/*  Headers
--------------------------------------*/
.page-header .title {
  min-height: 72px; }
  @media screen and (min-width: 40em) {
    .page-header .title {
      min-height: 86px; } }

.page-header h1 {
  padding-top: 22px;
  padding-left: 0px; }
  .page-header h1 a {
    color: inherit !important;
    text-decoration: none !important; }

.page-header .page-header__meta {
  color: #8C8179;
  text-transform: none;
  padding-left: 0px;
  margin-top: -0.4em;
  margin-bottom: 0.8rem;
  text-shadow: 0 1px 4px rgba(255, 255, 255, 0.8); }

.header-full .page-header {
  margin-bottom: 0; }
  .header-full .page-header .title {
    min-height: 228px; }

.header-full .content-start {
  position: relative;
  margin-top: -9rem; }

@media screen and (min-width: 40em) {
  .header-full .content-col-secondary {
    margin-top: 44rem; } }

@media screen and (min-width: 64em) {
  .header-full .page-navigation-container {
    position: absolute;
    width: 100%; } }

@media screen and (min-width: 40em) {
  .header-full.mode-intro .content-col-secondary {
    margin-top: 6rem; }
  .header-full.mode-intro .view-mode-toggle {
    padding-left: 6px; } }
  @media screen and (min-width: 40em) and (min-width: 64em) {
    .header-full.mode-intro .view-mode-toggle {
      padding-left: 0; } }

.page-header {
  background-color: #DBD6D0; }
  .page-header .title {
    background-repeat: no-repeat;
    background-position: 50% top; }

.header-bg-1 h1, .header-bg-6 h1 {
  text-shadow: 0 1px 4px rgba(255, 255, 255, 0.8); }

.header-bg-7 h1, .header-bg-2 h1, .header-bg-3 h1, .header-bg-4 h1, .header-bg-5 h1, .header-bg-8 h1, .header-bg-9 h1 {
  color: #fefefe;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.8); }

.header-bg-7 h1 {
  text-transform: none; }

.header-bg-1 {
  background-color: #c6ddeb; }
  .header-bg-1 .title {
    background-image: url("../images/pageheader-bg-tall1.jpg"); }

.header-bg-2 {
  background-color: #945d3f; }
  .header-bg-2 .title {
    background-image: url("../images/pageheader-bg-slim2.jpg"); }

.header-bg-3 {
  background-color: #8C704C; }
  .header-bg-3 .title {
    background-image: url("../images/pageheader-bg-slim3.jpg"); }

.header-bg-4 {
  background-color: #ff894f; }
  .header-bg-4 .title {
    background-image: url("../images/pageheader-bg-slim4.jpg"); }

.header-bg-5 {
  background-color: #e4b05a; }
  .header-bg-5 .title {
    background-image: url("../images/pageheader-bg-slim5.jpg"); }

.header-bg-6 {
  background-color: #cdcacb; }
  .header-bg-6 .title {
    background-image: url("../images/pageheader-bg-slim6.jpg"); }

.header-bg-7 {
  background-color: #b48d78; }
  .header-bg-7 .title {
    background-image: url("../images/pageheader-bg-slim7.jpg"); }

.header-bg-8 {
  background-color: #3F3429; }
  .header-bg-8 .title {
    background-image: url("../images/pageheader-bg-slim8.jpg"); }

.header-bg-9 {
  background-color: #7A5B40; }
  .header-bg-9 .title {
    background-image: url("../images/pageheader-bg-slim9.jpg"); }

.page-subheader {
  background-color: #F0EAE4;
  border-bottom: solid 1px #DBD6D0;
  padding-top: 1rem;
  padding-bottom: 1rem; }

.bg-sand-light {
  background-color: #F0EAE4; }

.bg-sand-medium {
  background-color: #DBD6D0; }

.bg-sand-dark {
  background-color: #B3AAA1; }

/*  Feature Items
--------------------------------------*/
.feature-block {
  margin-bottom: 1rem;
  background-color: #FFFAF5;
  border: solid 3px #FFFAF5;
  border-radius: 6px; }
  .feature-block.secondary {
    background-color: #DBD6D0;
    border: solid 3px #FFFAF5;
    border-radius: 6px;
    padding: 1.25rem; }
  .feature-block.tertiary {
    background-color: #F0EAE4;
    border: solid 2px #DBD6D0;
    padding: 1.25rem; }

.feature-block__header {
  position: relative;
  padding: 12px 10px;
  background-color: #F0EAE4;
  border-bottom: solid 1px #DBD6D0;
  margin-bottom: 1rem; }
  .secondary .feature-block__header {
    padding: 0;
    background-color: transparent;
    border-bottom: none; }

.feature-block__title {
  font-weight: bold;
  margin: 0;
  padding: 0; }
  .collapsible .feature-block__title {
    padding-right: 40px; }
  .is-collapsed .feature-block__title {
    color: #8C8179; }

.feature-block__body {
  padding: 1px 12px; }
  .is-collapsed .feature-block__body {
    display: none; }
  .secondary .feature-block__body {
    padding: 1px 0 0; }

.secondary .feature-block__footer p {
  margin-bottom: 1px; }

.feature-block__list {
  margin: 0;
  padding: 0; }
  @media screen and (min-width: 40em) {
    .feature-block__list.multicol-2 {
      column-count: 2; } }
  @media screen and (min-width: 40em) {
    .feature-block__list.multicol-4 {
      column-count: 4; } }
  .feature-block__list.item-grid {
    margin-right: -1rem; }
    .feature-block__list.item-grid::before, .feature-block__list.item-grid::after {
      content: ' ';
      display: table; }
    .feature-block__list.item-grid::after {
      clear: both; }
  .feature-block__list > li {
    break-inside: avoid;
    padding: 1px 0; }
  .feature-block__list.item-grid > li {
    float: left; }

.list-item .media-object-title {
  line-height: 1.4;
  font-weight: bold;
  margin-bottom: 0.1em; }

.list-item .subheader {
  margin-top: 0; }

.secondary .list-item .subheader {
  color: #564f49; }

.list-item .icon-large {
  font-size: 1.5rem;
  display: inline-block;
  margin-top: -0.1em;
  color: #8C8179; }
  .list-item .icon-large:hover, .list-item .icon-large:active, .list-item .icon-large:focus {
    color: #0f5695; }

.list-item .item-property:after {
  content: ':'; }

.no-labels .list-item .item-property {
  display: none; }

.first-property-bold .list-item ul li:first-child {
  font-weight: bold; }

.item-grid .list-item-thumbcaption, .item-grid
.list-item-mediacaption {
  margin-right: 1rem; }

.list-item-thumbcaption .thumbnail,
.list-item-thumbcaption .media-item,
.list-item-mediacaption .thumbnail,
.list-item-mediacaption .media-item {
  margin-bottom: 0.25em; }

.list-item-thumbcaption .media-item,
.list-item-mediacaption .media-item {
  border: solid 1px #fefefe; }

.list-item-textinfo {
  margin-bottom: 0.5rem; }
  .list-item-textinfo dl {
    margin-bottom: 0; }
  .list-item-textinfo dt:after {
    content: ':'; }

.list-item-resourcelink {
  border-top: solid 1px #B3AAA1;
  padding-top: 1rem;
  padding-bottom: 0.25rem; }

.thumbsize-lg .thumbnail {
  width: 148px;
  height: auto; }

.thumbsize-lg.thumbs-square .thumbnail {
  height: 148px; }

.thumbsize-lg.item-grid .list-item > *:last-child {
  width: 148px; }

.thumbsize-md .thumbnail {
  width: 62px;
  height: auto; }

.thumbsize-md.thumbs-square .thumbnail {
  height: 62px; }

.thumbsize-sm .thumbnail {
  width: 42px;
  height: auto; }

.thumbsize-sm.thumbs-square .thumbnail {
  height: 42px; }

.thumbsize-full .thumbnail {
  width: 100%;
  height: auto; }

.thumbnail {
  background-color: #B3AAA1;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center; }
  .thumbnail a {
    display: block;
    height: 100%;
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center; }
  .thumbnail img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    margin-left: auto;
    margin-right: auto; }

.feature-block__header .toggler {
  display: none;
  position: absolute;
  z-index: 20;
  background: transparent;
  height: 2rem;
  width: 2rem;
  top: 0.6rem;
  right: 0.75rem;
  border-radius: 4px; }
  .feature-block__header .toggler:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 7px;
    border-color: transparent transparent #8C8179;
    border-bottom-style: solid;
    border-top-width: 0;
    position: absolute;
    top: 50%;
    margin-top: -4px;
    right: 0.55rem; }
  .feature-block__header .toggler:hover, .feature-block__header .toggler:active, .feature-block__header .toggler:focus {
    background-color: #fefefe; }

.feature-block.secondary .toggler {
  top: -0.2rem;
  right: -0.25rem; }

.feature-block.collapsible .toggler {
  display: block; }

.is-collapsed .feature-block__header .toggler:after {
  -ms-transform-origin: 50% 50%;
      transform-origin: 50% 50%;
  -ms-transform: scaleY(-1);
      transform: scaleY(-1); }

.secondary.is-collapsed .feature-block__header {
  margin-bottom: 0; }

.badge {
  background-color: #beb7af;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  position: relative;
  top: -0.2em;
  margin-left: 0.25em;
  min-width: 1.85em;
  font-size: 0.65em;
  font-weight: bold;
  padding: 0.4em 0.6em;
  border-radius: 0.9em;
  line-height: 1; }
  .feature-block__header .badge {
    font-size: 0.6em;
    top: -0.25em; }
  .vertical.menu .badge {
    background-color: #B3AAA1;
    padding: 0.1em 0.35em 0.2em;
    min-width: 1em;
    margin-left: 0.15em;
    opacity: 0.8; }
  .badge.secondary {
    background-color: #8C8179; }

@media screen and (min-width: 40em) {
  .feature-block .menu.vertical > li a {
    padding-left: 0;
    padding-top: 0.4rem;
    padding-bottom: 0.4rem; } }

.feature-block .menu.vertical [data-icon],
.feature-block .menu.vertical [class^="icon-"],
.feature-block .menu.vertical [class*=" icon-"] {
  color: #731422; }

.item__featured-image {
  position: relative;
  z-index: 9;
  margin-bottom: 0.5rem;
  background-color: #B3AAA1;
  border: solid 3px #fefefe;
  border-radius: 6px;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.35); }
  .item__featured-image img {
    border-radius: 3px;
    display: block;
    max-width: 100%;
    max-height: 940px;
    width: auto;
    height: auto;
    margin: 0 auto; }

.item__featured-image__caption {
  position: absolute;
  bottom: 0px;
  left: 0;
  margin: 0;
  padding: 10px 12px;
  background-color: rgba(0, 0, 0, 0.5);
  color: #fefefe;
  width: 100%;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px; }

.item__overview {
  background-color: rgba(255, 250, 245, 0.9);
  border-radius: 6px;
  padding: 20px;
  margin-bottom: 1rem;
  position: relative;
  z-index: 9; }

.video-border .media-object video {
  background-color: #DBD6D0;
  border: solid 1px #B3AAA1; }

.share-links {
  font-size: 0.875rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-align: center;
      align-items: center; }

.share-links__text {
  -ms-flex: 0 0 3.5em;
      flex: 0 0 3.5em;
  font-style: italic;
  text-align: left; }

.share-links__icons {
  -ms-flex: 1;
      flex: 1;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-pack: end;
      justify-content: flex-end;
  font-size: 1.5rem;
  line-height: 1;
  margin: 0;
  padding: 0; }
  .share-links__icons li {
    -ms-flex: 0;
        flex: 0;
    margin-left: 0.25rem; }
  .share-links__icons a,
  .share-links__icons span {
    cursor: pointer;
    text-decoration: none; }

.share-links--left .share-links__icons {
  -ms-flex: 0;
      flex: 0;
  -ms-flex-pack: start;
      justify-content: flex-start; }
  .share-links--left .share-links__icons li {
    margin-left: 0;
    margin-right: 0.25rem; }

.share-email {
  color: #605852; }
  .share-email:hover, .share-email:active, .share-email:focus {
    color: #37322f; }

.share-facebook {
  color: #2867B1; }
  .share-facebook:hover, .share-facebook:active, .share-facebook:focus {
    color: #1a4373; }

.share-twitter {
  color: #4A90E2; }
  .share-twitter:hover, .share-twitter:active, .share-twitter:focus {
    color: #1f69c1; }

.share-instagram {
  color: #6B625C; }
  .share-instagram:hover, .share-instagram:active, .share-instagram:focus {
    color: #37322f; }

.library-item {
  padding: 0.75rem;
  margin-top: -0.75rem;
  margin-bottom: 0.75rem;
  border-bottom: solid 1px #F0EAE4; }
  :last-child > .library-item {
    margin-bottom: 1rem; }

.library-item__filesize {
  display: block; }

/*  Home
--------------------------------------*/
.home-hero-container {
  margin-bottom: 2rem;
  background: #71a7c4;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #71a7c4 0%, #9fbcca 27%, #c1c8ce 39%, #c6bfb4 41%, #d8cab3 48%, #dbc8b5 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#71a7c4', endColorstr='#dbc8b5',GradientType=0 );
  /* IE6-9 */ }

.video-bg-home {
  height: 550px;
  position: relative;
  z-index: 5; }

.home-hero-overlay {
  height: 100%;
  background-color: #B3AAA1;
  opacity: 0.4;
  position: relative;
  z-index: 0; }

.home-hero-title {
  position: absolute;
  width: 100%;
  z-index: 1;
  padding-top: 20px;
  padding-left: 1rem;
  padding-right: 1rem; }
  @media (max-width: 991px) {
    .home-hero-title {
      padding-top: 8.125rem;
      padding-left: 2.2rem; } }
  @media (max-width: 767px) {
    .home-hero-title {
      padding: 3.125rem 0.4375rem 0; } }
  @media screen and (min-width: 40em) {
    .home-hero-title {
      padding-top: 210px;
      padding-left: 8.0rem; } }
  .home-hero-title > h1 {
    line-height: 1.0;
    color: #fff;
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.5);
    font-size: 3.75rem; }
    @media screen and (min-width: 40em) {
      .home-hero-title > h1 {
        font-size: 6rem; } }
    .home-hero-title > h1 .title-text-alt {
      font-family: Georgia, serif;
      font-style: italic;
      font-size: 1.75rem;
      padding-bottom: 0.25rem;
      display: block;
      text-transform: none;
      text-shadow: 0 1px 3px rgba(0, 0, 0, 0.75); }
      @media screen and (min-width: 40em) {
        .home-hero-title > h1 .title-text-alt {
          font-size: 2.5rem;
          padding-left: 0.5rem;
          padding-bottom: 0; } }

.home-hero-content {
  background-color: rgba(49, 46, 43, 0.88);
  padding: 1.2rem 1.5rem 0.5rem;
  position: absolute;
  bottom: 0;
  color: #fff;
  z-index: 1; }
  @media (max-width: 767px) {
    .home-hero-content {
      padding: 0.625rem 0.25rem; } }
  @media (max-width: 991px) {
    .home-hero-content .lead {
      font-size: 1.125rem; } }
  @media (max-width: 767px) {
    .home-hero-content .lead {
      font-size: 1.0625rem; } }
  .home-hero-content .button.icon-search {
    padding: 0.76em 1em; }

.callout[data-closable] {
  padding-right: 3rem; }

.callout-banner-bottom {
  margin: 0;
  position: fixed;
  z-index: 99999;
  bottom: 0;
  left: 0;
  right: 0;
  border-left: none;
  border-right: none;
  border-bottom: none;
  box-shadow: 0 -1px 4px rgba(49, 46, 43, 0.2); }

/*  MyGiza (New for MyGiza)
--------------------------------------*/
.bg-stretch {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  background-size: cover;
  background-position: 50% 50%; }

.heading-block {
  margin-bottom: 1rem; }
  .heading-block h1 {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.33;
    color: #731422;
    text-transform: none;
    margin-bottom: 0.6875rem; }
    @media (min-width: 768px) {
      .heading-block h1 {
        font-size: 2.125rem;
        margin-bottom: 0.875rem; } }
  .heading-block p {
    font-family: Montserrat, “Helvetica Neue”, Helvetica, Arial, sans-serif;
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.5; }
    @media (min-width: 768px) {
      .heading-block p {
        font-size: 1.25rem; } }

.collection-section {
  margin-bottom: 1.375rem; }
  @media (min-width: 768px) {
    .collection-section {
      margin-bottom: 1.875rem; } }
  .collection-section .flex-hold {
    margin: 0 -1.25rem 0.6875rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media (min-width: 768px) {
      .collection-section .flex-hold {
        margin-bottom: 3.3125rem; } }
    .collection-section .flex-hold .columns {
      float: none; }
      @media (max-width: 767px) {
        .collection-section .flex-hold .columns {
          width: 100%; } }
  .collection-section .item-wrap {
    max-width: 33.125rem;
    margin: 0 auto 1.1875rem; }
    @media (min-width: 375px) {
      .collection-section .item-wrap {
        padding: 0 2.625rem; } }
    @media (min-width: 768px) {
      .collection-section .item-wrap {
        margin-bottom: 0;
        padding: 0;
        max-width: none; } }
    .collection-section .item-wrap img {
      width: 100%; }
    .collection-section .item-wrap a {
      text-decoration: none;
      display: block;
      position: relative;
      transition: box-shadow 0.3s ease-in-out; }
      .collection-section .item-wrap a:hover {
        box-shadow: 0 0 6px 1px rgba(17, 100, 173, 0.5); }
    .collection-section .item-wrap .upload-icon {
      width: 6rem;
      height: 6rem;
      position: absolute;
      top: 50%;
      left: 50%;
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }
      @media (min-width: 768px) {
        .collection-section .item-wrap .upload-icon {
          margin-top: -1.5rem;
          width: 4.375rem;
          height: 4.375rem; } }
      @media (min-width: 1024px) {
        .collection-section .item-wrap .upload-icon {
          margin-top: 0;
          width: 6rem;
          height: 6rem; } }
  .collection-section .caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(49, 46, 43, 0.8);
    color: #fff;
    font-size: 0.875rem;
    line-height: 1.14;
    padding: 0.375rem 1.25rem 0.375rem 0.5rem; }
    @media (min-width: 768px) {
      .collection-section .caption {
        padding: 0.5625rem 0.5rem; } }
    .collection-section .caption strong {
      display: block;
      margin-bottom: 2px; }
      @media (min-width: 768px) {
        .collection-section .caption strong {
          margin-bottom: 0.3125rem; } }
    .collection-section .caption span {
      display: block;
      font-size: 0.75rem; }
  @media (min-width: 768px) {
    .collection-section .items-holder {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin: 0 -0.5625rem; } }
  @media (min-width: 768px) {
    .collection-section .items-holder .item-wrap {
      width: 50%;
      padding: 0 0.5625rem; } }
  @media (min-width: 768px) {
    .collection-section .items-holder .item-wrap + .item-wrap + .item-wrap {
      margin-top: 1.0625rem; } }
  .collection-section .button {
    margin: 0; }
  .collection-section p.text-center {
    font-size: 0.875rem;
    color: #6b625c;
    margin-bottom: 0.625rem; }
    @media (min-width: 768px) {
      .collection-section p.text-center {
        margin-bottom: 0.75rem; } }
  .collection-section .collection-search {
    max-width: 49.1875rem;
    margin-bottom: 1.375rem; }
    @media (min-width: 640px) {
      .collection-section .collection-search {
        padding-right: 6.0625rem; } }
    .collection-section .collection-search .input-wrap {
      position: relative; }
      @media (min-width: 640px) {
        .collection-section .collection-search .input-wrap {
          overflow: hidden; } }
    .collection-section .collection-search input[type="search"] {
      height: 2.125rem;
      box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.15);
      border-radius: 0.1875rem;
      border: 1px solid #979797;
      background: #fff;
      font-size: 1rem;
      line-height: 1.25;
      color: #a0958e;
      font-style: italic;
      padding: 0.4375rem 0.625rem;
      margin: 0; }
      .collection-section .collection-search input[type="search"]::-webkit-input-placeholder {
        color: #a0958e;
        font-style: normal; }
      .collection-section .collection-search input[type="search"]::-moz-placeholder {
        opacity: 1;
        color: #a0958e;
        font-style: normal; }
      .collection-section .collection-search input[type="search"]:-moz-placeholder {
        color: #a0958e;
        font-style: normal; }
      .collection-section .collection-search input[type="search"]:-ms-input-placeholder {
        color: #a0958e;
        font-style: normal; }
      .collection-section .collection-search input[type="search"].placeholder {
        color: #a0958e;
        font-style: normal; }
    .collection-section .collection-search button[type="submit"] {
      position: absolute;
      top: 0.625rem;
      right: 0.625rem;
      color: #6b625c;
      font-size: 1rem;
      line-height: 1; }
    .collection-section .collection-search label {
      color: #312e2b;
      font-family: Helvetica;
      font-size: 1.125rem;
      float: left;
      width: 11.5625rem;
      margin-right: 0.3125rem; }
  .collection-section .selection-row {
    position: relative;
    margin-bottom: 1.3125rem; }
    @media (min-width: 640px) {
      .collection-section .selection-row {
        margin-bottom: 1.5625rem; } }
  .collection-section .view-switcher {
    position: absolute;
    bottom: 0;
    right: 0;
    margin: 0; }
  .collection-section .num-title {
    display: block;
    color: #000;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3; }
    @media (min-width: 640px) {
      .collection-section .num-title {
        margin-bottom: 1.3125rem; } }
  @media (min-width: 640px) {
    .collection-section .collections-list {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin: 0 -0.9375rem; } }
  @media (max-width: 639px) {
    .collection-section .collections-list li {
      padding: 0 1.25rem 0.5625rem;
      border-bottom: 1px solid #dbd6d0;
      margin: 0 -1.25rem; } }
  @media (min-width: 640px) {
    .collection-section .collections-list li {
      width: 33.33%;
      padding: 0 0.9375rem 1.875rem; } }
  @media (min-width: 768px) {
    .collection-section .collections-list li {
      width: 25%; } }
  @media (min-width: 1024px) {
    .collection-section .collections-list li {
      width: 20%; } }
  @media (min-width: 1200px) {
    .collection-section .collections-list li {
      width: 16.66%; } }
  @media (min-width: 640px) {
    .list-active .collection-section .collections-list li + li {
      padding-top: 0.625rem; } }
  @media (max-width: 639px) {
    .collection-section .collections-list li + li {
      padding-top: 0.625rem; } }
  @media (min-width: 640px) {
    .list-active .collection-section .collections-list li {
      width: 100%;
      padding-bottom: 0; } }
  .collection-section .collections-list .item-wrap {
    padding: 0;
    margin: 0; }
    @media (max-width: 639px) {
      .collection-section .collections-list .item-wrap {
        display: block !important;
        max-width: none; } }
    @media (max-width: 639px) {
      .collection-section .collections-list .item-wrap picture {
        width: 14.35%; } }
    @media (max-width: 639px) {
      .collection-section .collections-list .item-wrap a {
        transition: opacity 0.3s ease-in-out;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -ms-flex-align: center;
            align-items: center; }
        .collection-section .collections-list .item-wrap a:hover {
          box-shadow: none;
          opacity: 0.75; }
          .collection-section .collections-list .item-wrap a:hover .fa-chevron-right {
            color: #1164ad; } }
    .list-active .collection-section .collections-list .item-wrap {
      display: none; }
    @media (max-width: 639px) {
      .collection-section .collections-list .item-wrap .caption {
        position: static;
        background: none;
        color: #6b625c;
        font-size: 0.75rem;
        width: 85.65%; }
        .collection-section .collections-list .item-wrap .caption strong {
          color: #312e2b;
          font-size: 1rem;
          margin-bottom: 0.3125rem; } }
    .collection-section .collections-list .item-wrap .fa-chevron-right {
      color: #a0958e;
      font-size: 1.125rem;
      position: absolute;
      top: 50%;
      right: 0;
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
      margin-top: -0.3125rem; }
  .collection-section .collections-list .list-row {
    border-bottom: 1px solid #dbd6d0;
    padding-bottom: 0.375rem; }
    @media (max-width: 639px) {
      .collection-section .collections-list .list-row {
        display: none !important; } }
    .list-active .collection-section .collections-list .list-row {
      display: block; }
  .collection-section .btn-hold {
    float: right;
    padding: 0.125rem 0.875rem; }
    .collection-section .btn-hold .button.primary {
      border: 1px solid rgba(34, 34, 34, 0.4);
      border-radius: 3px;
      background: #0279c1;
      font-size: 0.6875rem;
      line-height: 1.27;
      padding: 0.375rem 1.0625rem;
      margin-left: 0.3125rem;
      text-shadow: 0 1px 0 rgba(34, 34, 34, 0.5); }
      .collection-section .btn-hold .button.primary:hover, .collection-section .btn-hold .button.primary:focus {
        background: #1164ad; }
  .collection-section .check-hold {
    position: relative;
    padding-left: 1.875rem;
    float: left;
    max-width: 56%; }
    .collection-section .check-hold .fake-input {
      position: absolute;
      top: 0.25rem;
      left: 1px;
      width: 0.9375rem;
      height: 0.9375rem;
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
      border: 1px solid #979797; }
      .collection-section .check-hold .fake-input:after {
        content: '';
        position: absolute;
        top: 2px;
        left: 2px;
        border-color: #979797;
        border-width: 0 0 2px 2px;
        border-style: solid;
        width: 0.5625rem;
        height: 0.375rem;
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
        opacity: 0; }
    .collection-section .check-hold label {
      color: #731422;
      font-size: 1.25rem;
      font-weight: 500;
      line-height: 1.3;
      text-transform: uppercase;
      font-family: "Montserrat"; }
      .collection-section .check-hold label em {
        display: inline-block;
        vertical-align: top;
        margin: 0.125rem 0 0 0.3125rem;
        text-transform: none;
        color: #312e2b;
        font-size: 1rem;
        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
      .collection-section .check-hold label:focus {
        outline: 1px dashed; }
    .collection-section .check-hold input[type="checkbox"] {
      opacity: 0;
      position: absolute;
      top: 0;
      left: 0; }
      .collection-section .check-hold input[type="checkbox"]:checked + .fake-input:after {
        opacity: 1; }
      .collection-section .check-hold input[type="checkbox"]:focus + .fake-input {
        border-color: #0279c1; }

body:not(.list-active) .collection-section .collections-list .list-row,
body:not(.list-active) .select-links,
body:not(.list-active) .collection-section .num-title em {
  display: none; }

@media (min-width: 640px) {
  body:not(.list-active) .collection-section .selection-row {
    margin-bottom: 3.9375rem; } }

.color-bg-section {
  background: #f0eae4;
  font-size: 0.875rem;
  line-height: 1.57;
  padding: 1.75rem 0 0.9375rem;
  margin-bottom: 1.8125rem; }
  @media (min-width: 768px) {
    .color-bg-section {
      font-size: 1rem;
      line-height: 1.5;
      padding: 1.875rem 0 1.8125rem;
      margin-bottom: 2.5rem; } }
  .color-bg-section h3 {
    color: #731422; }
    @media (min-width: 768px) {
      .color-bg-section h3 {
        margin-bottom: 0.6875rem; } }
  .color-bg-section.research-bg {
    background: #e6f1fa;
    margin: 0;
    padding-bottom: 1.9375rem; }
    @media (min-width: 768px) {
      .color-bg-section.research-bg {
        padding: 2.5rem 0 3.625rem; } }
    .color-bg-section.research-bg + .footer {
      margin-top: 0; }
    .color-bg-section.research-bg p {
      margin-bottom: 1.25rem; }
      @media (min-width: 768px) {
        .color-bg-section.research-bg p {
          margin-bottom: 2.75rem; } }
    @media (min-width: 768px) {
      .color-bg-section.research-bg h3 {
        text-align: center;
        margin-bottom: 1.625rem; } }
    @media (min-width: 768px) {
      .color-bg-section.research-bg .btn-wrap {
        text-align: center; } }

h3 {
  font-weight: 500; }
  @media (max-width: 767px) {
    h3 {
      font-size: 1rem; } }

.button.lg-btn {
  font-weight: 700;
  font-size: 1rem;
  padding: 0.6875rem 0.625rem 0.625rem;
  display: block;
  border-color: rgba(34, 34, 34, 0.4);
  margin: 0;
  box-shadow: 0 1px 0 #d9d9d9; }
  @media (min-width: 768px) {
    .button.lg-btn {
      font-size: 1.25rem;
      display: inline-block;
      vertical-align: top;
      padding: 0.8125rem 2.0625rem 0.9375rem; } }
  @media (max-width: 374px) {
    .button.lg-btn {
      font-size: 0.875rem; } }

@media (min-width: 768px) {
  .collection-info {
    margin-bottom: 3.6875rem; } }

.collection-info .row {
  margin-bottom: 0.8125rem; }
  @media (min-width: 768px) {
    .collection-info .row {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-pack: justify;
          justify-content: space-between;
      margin-bottom: 2.625rem;
      -ms-flex-align: center;
          align-items: center; } }
  @media (min-width: 768px) {
    .collection-info .row:before, .collection-info .row:after {
      display: none; } }
  @media (min-width: 768px) {
    .collection-info .row.img-right .text-wrap {
      -ms-flex-order: -1;
          order: -1; } }
  @media (min-width: 768px) {
    .collection-info .row.img-right .img-wrap {
      padding: 0 1.0625rem 0 0; } }

.collection-info .img-wrap {
  margin-bottom: 1.25rem; }
  @media (min-width: 768px) {
    .collection-info .img-wrap {
      width: 46.8%;
      margin: 0;
      padding-right: 2.5rem; } }
  @media (min-width: 1024px) {
    .collection-info .img-wrap {
      padding-right: 3.75rem; } }
  @media (min-width: 768px) {
    .collection-info .img-wrap img {
      width: 100%; } }
  .collection-info .img-wrap .img {
    border: 1px solid #6b625c; }

@media (min-width: 768px) {
  .collection-info .text-wrap {
    padding-right: 1.625rem;
    width: 51.5%;
    margin-top: -0.625rem; } }

@media (min-width: 768px) {
  .collection-info h3 {
    margin-bottom: 0.75rem; } }

.collection-heading .titles {
  color: #1164ad;
  font-family: 'Montserrat';
  font-size: 1.125rem;
  line-height: 1.33;
  font-weight: 500;
  text-transform: capitalize;
  float: left;
  width: calc(100% - 34px);
  padding-right: 0.625rem; }
  @media (min-width: 768px) {
    .collection-heading .titles {
      font-size: 1.75rem;
      width: calc(100% - 54px); } }
  @media (max-width: 374px) {
    .collection-heading .titles {
      font-size: 1rem; } }
  .collection-heading .titles a {
    text-decoration: none;
    color: #1164ad;
    display: inline-block;
    vertical-align: top; }
    .collection-heading .titles a:hover, .collection-heading .titles a.active {
      color: #312e2b; }
    .collection-heading .titles a.active {
      font-weight: 700; }
    .collection-heading .titles a + a:before {
      content: '';
      background: #8c8179;
      display: inline-block;
      vertical-align: top;
      width: 0.125rem;
      height: 1.125rem;
      margin: 0.1875rem 0.625rem 0 0.4375rem; }
      @media (min-width: 768px) {
        .collection-heading .titles a + a:before {
          width: 0.125rem;
          height: 1.625rem;
          margin: 0.5rem 1rem 0 0.6875rem; } }
      @media (max-width: 374px) {
        .collection-heading .titles a + a:before {
          margin: 0.125rem 0.5rem 0 0.375rem; } }

.collection-heading .add {
  width: 2.125rem;
  height: 2.125rem;
  border-radius: 2.5rem;
  background: #1164ad;
  position: relative;
  float: right;
  margin: -0.375rem -0.375rem 0 0;
  transition: background 0.3s ease-in-out; }
  @media (min-width: 768px) {
    .collection-heading .add {
      width: 2.5rem;
      height: 2.5rem;
      margin: 0 0.875rem 0 0; } }
  .collection-heading .add:before, .collection-heading .add:after {
    content: '';
    position: absolute;
    background: #fff;
    width: 0.875rem;
    height: 0.25rem;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); }
    @media (min-width: 768px) {
      .collection-heading .add:before, .collection-heading .add:after {
        width: 1.25rem;
        height: 0.3125rem;
        border-radius: 1px; } }
  .collection-heading .add:after {
    width: 0.25rem;
    height: 0.875rem; }
    @media (min-width: 768px) {
      .collection-heading .add:after {
        width: 0.3125rem;
        height: 1.25rem; } }
  .collection-heading .add:hover {
    background: #0c497f; }

.collection-heading .links {
  color: #312e2b;
  font-size: 1rem;
  line-height: 1.625rem;
  padding-top: 1.0625rem;
  padding-bottom: 0.5625rem;
  position: relative; }
  @media (min-width: 768px) {
    .collection-heading .links {
      padding-top: 1.125rem;
      padding-bottom: 0.4375rem; } }
  .collection-heading .links:before {
    content: '';
    display: block;
    background: #dbd6d0;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 1.4375rem;
    right: 1.4375rem; }
    @media (min-width: 640px) {
      .collection-heading .links:before {
        left: 1.25rem;
        right: 1.25rem; } }
    @media (min-width: 768px) {
      .collection-heading .links:before {
        left: 0.5625rem;
        right: 0.75rem; } }
  @media (max-width: 639px) {
    .collection-heading .links .go-back {
      display: none; } }
  @media (min-width: 640px) {
    .collection-heading .links .go-back {
      font-size: 0.8125rem;
      line-height: 1.5;
      float: right; } }
  @media (min-width: 768px) {
    .collection-heading .links .go-back {
      font-size: 1rem; } }
  .collection-heading .links .go-back:hover {
    color: #312e2b;
    text-decoration: none; }
  .collection-heading .links .dropdown {
    padding: 0 0.3125rem; }
    @media (min-width: 640px) {
      .collection-heading .links .dropdown {
        padding: 0;
        float: left; } }
    .collection-heading .links .dropdown > li.active > a {
      background: none; }
      @media (min-width: 640px) {
        .collection-heading .links .dropdown > li.active > a {
          font-weight: 700;
          color: #312e2b; } }
      @media (min-width: 640px) {
        .collection-heading .links .dropdown > li.active > a:before {
          opacity: 1;
          visibility: visible; } }
    @media (min-width: 640px) {
      .collection-heading .links .dropdown > li + li {
        padding: 0 0 0 0.625rem; } }
    @media (min-width: 768px) {
      .collection-heading .links .dropdown > li + li {
        padding: 0 0 0 1.375rem; } }
    .collection-heading .links .dropdown > li > a {
      color: #312e2b;
      padding: 0 1.5rem 0 0;
      text-decoration: none;
      font-weight: 700; }
      @media (min-width: 640px) {
        .collection-heading .links .dropdown > li > a {
          color: #1164ad;
          font-weight: 400;
          font-size: 0.8125rem;
          line-height: 1.5;
          padding: 0;
          position: relative; } }
      @media (min-width: 768px) {
        .collection-heading .links .dropdown > li > a {
          font-size: 1rem; } }
      .collection-heading .links .dropdown > li > a:after {
        border-width: 0.375rem 0.3125rem 0 0.3125rem;
        border-color: #8c8179 transparent transparent; }
        @media (min-width: 640px) {
          .collection-heading .links .dropdown > li > a:after {
            display: none; } }
      @media (min-width: 640px) {
        .collection-heading .links .dropdown > li > a:before {
          content: '';
          background: #a51b30;
          position: absolute;
          bottom: -0.5625rem;
          left: 0;
          right: 0;
          height: 0.25rem;
          opacity: 0;
          visibility: hidden;
          transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out; } }
      @media (min-width: 768px) {
        .collection-heading .links .dropdown > li > a:before {
          left: -0.375rem;
          right: -0.375rem; } }
      .collection-heading .links .dropdown > li > a:hover {
        color: #312e2b; }
        @media (min-width: 640px) {
          .collection-heading .links .dropdown > li > a:hover:before {
            opacity: 1;
            visibility: visible; } }
    .collection-heading .links .dropdown > li .menu {
      padding: 0.625rem 0; }
      .collection-heading .links .dropdown > li .menu a {
        font-weight: 400;
        font-size: 0.875rem;
        line-height: 1;
        color: #312e2b;
        padding: 0.5rem 0.875rem; }
        .collection-heading .links .dropdown > li .menu a:hover {
          color: #000; }
    .collection-heading .links .dropdown .menu {
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
      border-radius: 0.1875rem;
      border: 1px solid #a0958e;
      background-color: #fff; }

.collection-heading .save-heading {
  padding-top: 0.875rem;
  padding-bottom: 1.125rem; }
  @media (min-width: 640px) {
    .collection-heading .save-heading {
      box-shadow: inset 0 -1px 0 #312e2b;
      padding-top: 0.9375rem;
      padding-bottom: 0.0625rem;
      margin-bottom: -0.6875rem; } }
  @media (min-width: 768px) {
    .collection-heading .save-heading {
      margin-bottom: -1.25rem; } }
  .collection-heading .save-heading .title {
    display: block;
    font-size: 1rem;
    line-height: 1.38;
    font-weight: 700;
    color: #312e2b;
    float: left;
    width: 52%;
    padding: 0 4px; }
    @media (min-width: 768px) {
      .collection-heading .save-heading .title {
        font-size: 1.25rem;
        text-transform: capitalize;
        width: 50%; } }
  .collection-heading .save-heading .dropdown {
    float: right; }
    @media (min-width: 640px) {
      .collection-heading .save-heading .dropdown {
        padding-top: 0.4375rem; } }
    .collection-heading .save-heading .dropdown > li > a {
      padding: 0.25rem;
      color: #6b625c;
      font-size: 1.125rem;
      line-height: 1; }
      .collection-heading .save-heading .dropdown > li > a:after {
        display: none; }
    @media (min-width: 640px) {
      .collection-heading .save-heading .dropdown .menu {
        position: static !important;
        display: block !important;
        background: none;
        border: none; } }
    @media (max-width: 639px) {
      .collection-heading .save-heading .dropdown .menu {
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
        border-radius: 3px;
        border: 1px solid #a0958e;
        background-color: #fff;
        padding: 0.625rem 0; } }
    .collection-heading .save-heading .dropdown .menu li {
      font-size: 0.875rem;
      line-height: 1.43; }
      @media (min-width: 640px) {
        .collection-heading .save-heading .dropdown .menu li {
          display: inline-block;
          vertical-align: top;
          width: auto;
          margin-left: 1.375rem; } }
      @media (min-width: 768px) {
        .collection-heading .save-heading .dropdown .menu li {
          font-size: 1rem; } }
      .collection-heading .save-heading .dropdown .menu li + li {
        position: relative; }
        @media (min-width: 640px) {
          .collection-heading .save-heading .dropdown .menu li + li:before {
            content: '';
            background: #8c8179;
            width: 1px;
            height: 0.75rem;
            position: absolute;
            top: 2px;
            left: -0.75rem; } }
    .collection-heading .save-heading .dropdown .menu a {
      color: #312e2b;
      padding: 0.5rem 0.875rem;
      line-height: 1; }
      @media (min-width: 640px) {
        .collection-heading .save-heading .dropdown .menu a {
          padding: 0;
          color: #1164ad; } }

.view-switcher {
  margin: 0; }
  .view-switcher li {
    display: inline-block;
    vertical-align: top;
    margin-left: -0.25rem; }
    .view-switcher li + li a {
      border-color: #a51b30;
      background: #f0eae4;
      color: #312e2b; }
      .list-active .view-switcher li + li a {
        color: #dbd6d0;
        background: none;
        border-color: transparent; }
  .view-switcher a {
    display: block;
    width: 1.875rem;
    height: 1.875rem;
    border-radius: 0.1875rem;
    border: 2px solid transparent;
    background: transparent;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    text-decoration: none;
    color: #dbd6d0; }
    .list-active .view-switcher a {
      border-color: #a51b30;
      background: #f0eae4;
      color: #312e2b; }
  .view-switcher .bar-ico {
    width: 1.125rem;
    height: 0.875rem;
    text-indent: -9999px;
    display: block;
    position: relative; }
    .view-switcher .bar-ico:before, .view-switcher .bar-ico:after,
    .view-switcher .bar-ico span:before,
    .view-switcher .bar-ico span:after {
      content: '';
      background: #dbd6d0;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 2px; }
      .list-active .view-switcher .bar-ico:before, .list-active .view-switcher .bar-ico:after, .list-active
      .view-switcher .bar-ico span:before, .list-active
      .view-switcher .bar-ico span:after {
        background: #312e2b; }
    .view-switcher .bar-ico:after {
      top: 0.75rem; }
    .view-switcher .bar-ico span:before {
      top: 0.25rem; }
    .view-switcher .bar-ico span:after {
      top: 0.5rem; }

.select-links {
  padding-right: 6.25rem; }
  .select-links li {
    font-size: 1rem;
    line-height: 1.63;
    display: inline-block;
    vertical-align: top; }
    .select-links li + li {
      position: relative;
      margin: 0 0 0 1.375rem; }
      .select-links li + li:before {
        content: '';
        background: #8c8179;
        width: 0.125rem;
        height: 0.75rem;
        position: absolute;
        top: 0.4375rem;
        left: -13px; }
  .select-links a {
    color: #1164ad; }

.cookies-light-blue-bar {
  color: #000;
  background: rgba(149, 235, 235, 0.5);
  margin-bottom: 1.4375rem;
  padding: 0.6875rem 0 1rem; }
  @media (min-width: 768px) {
    .cookies-light-blue-bar {
      margin-top: -1.1875rem; } }
  .cookies-light-blue-bar a {
    color: #4a90e2;
    text-decoration: underline; }
    .cookies-light-blue-bar a:hover {
      text-decoration: none; }
  .cookies-light-blue-bar p {
    font-size: 0.875rem;
    line-height: 1.5;
    margin-bottom: 0; }
  .cookies-light-blue-bar .row.row-padded {
    position: relative;
    padding-left: 3.5rem; }
  .cookies-light-blue-bar .fa-info-circle {
    font-size: 1.5rem;
    color: #000;
    position: absolute;
    top: 50%;
    left: 0.4375rem;
    -ms-transform: translateY(-50%);
        transform: translateY(-50%); }

.accordion-section .accordion {
  background: none; }
  .accordion-section .accordion > li {
    position: relative;
    box-shadow: inset 0 -1px 0 #dbd6d0;
    margin: 0 -1.25rem;
    padding: 1.0625rem 2.9375rem 0.125rem; }
    @media (min-width: 640px) {
      .accordion-section .accordion > li {
        margin: 0;
        padding: 1.1875rem 0 0.375rem 0.125rem;
        box-shadow: none;
        position: relative; }
        .accordion-section .accordion > li:after {
          content: '';
          position: absolute;
          background: #312e2b;
          height: 1px;
          bottom: 0;
          left: -0.875rem;
          right: -0.875rem; } }
    .accordion-section .accordion > li.is-active .accordion-title:before {
      -ms-transform: rotate(90deg);
          transform: rotate(90deg); }
    @media (max-width: 639px) {
      .accordion-section .accordion > li:first-child {
        padding-top: 0; }
        .accordion-section .accordion > li:first-child .button {
          top: -6px; } }
  .accordion-section .accordion .button.primary {
    margin: 0;
    border: 1px solid rgba(34, 34, 34, 0.4);
    border-radius: 3px;
    background: #0279c1;
    font-size: 0.6875rem;
    line-height: 1.27;
    padding: 0.375rem 1.0625rem;
    position: absolute;
    top: 0.6875rem;
    right: 0.8125rem; }
    @media (min-width: 640px) {
      .accordion-section .accordion .button.primary {
        top: 1.0625rem;
        right: 0; } }
    .accordion-section .accordion .button.primary:hover, .accordion-section .accordion .button.primary:focus {
      background: #1164ad; }
    @media (max-width: 639px) {
      .accordion-section .accordion .button.primary {
        background: none;
        padding: 0;
        border: none; }
        .accordion-section .accordion .button.primary:hover, .accordion-section .accordion .button.primary:focus {
          color: #1164ad;
          background: none; } }
  .accordion-section .accordion .button .fa-arrow-circle-right {
    color: #1164ad;
    font-size: 1.625rem;
    line-height: 1.625rem; }

.accordion-section .accordion-title {
  font-size: 1rem;
  text-transform: uppercase;
  font-weight: 500;
  color: #731422;
  font-family: "Montserrat";
  display: inline-block;
  vertical-align: top;
  position: relative;
  background: none;
  padding: 0;
  border: none !important; }
  @media (min-width: 640px) {
    .accordion-section .accordion-title {
      padding-left: 1.25rem;
      margin-bottom: 0.9375rem; } }
  @media (min-width: 768px) {
    .accordion-section .accordion-title {
      font-size: 1.25rem; } }
  .accordion-section .accordion-title:before {
    content: '';
    width: 0;
    height: 0;
    border-width: 6px 0 6px 6px;
    border-color: transparent transparent transparent #8c8179;
    border-style: solid;
    position: absolute;
    top: 0.625rem;
    left: -1.25rem; }
    @media (min-width: 640px) {
      .accordion-section .accordion-title:before {
        left: 0; } }
    @media (min-width: 768px) {
      .accordion-section .accordion-title:before {
        top: 0.8125rem;
        border-width: 0.40625rem 0 0.40625rem 0.75rem; } }

.accordion-section .accordion-content {
  background: none;
  border: none !important;
  padding: 0 0 0.8125rem;
  color: #6b625c;
  font-size: 0.75rem;
  line-height: 1.33; }
  @media (min-width: 640px) {
    .accordion-section .accordion-content {
      padding: 0; } }
  @media (min-width: 768px) {
    .accordion-section .accordion-content {
      font-size: 1rem;
      line-height: 1.63;
      color: #312e2b; } }
  .accordion-section .accordion-content .content-wrap {
    margin-bottom: 0.8125rem;
    margin-top: -3px; }
    @media (min-width: 640px) {
      .accordion-section .accordion-content .content-wrap {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        position: relative;
        padding: 0.4375rem 0 1.125rem;
        margin-top: 0;
        margin-bottom: 0.5625rem; }
        .accordion-section .accordion-content .content-wrap:before, .accordion-section .accordion-content .content-wrap:after {
          content: '';
          background: #dbd6d0;
          height: 1px;
          position: absolute;
          left: -0.875rem;
          right: -0.875rem;
          bottom: 0; }
        .accordion-section .accordion-content .content-wrap:after {
          top: 0;
          bottom: auto; } }
    @media (min-width: 640px) {
      .accordion-section .accordion-content .content-wrap .col {
        width: 33.33%;
        padding: 0 1.25rem 0 0; } }
    @media (max-width: 639px) {
      .accordion-section .accordion-content .content-wrap .col ul {
        line-height: 1rem; } }

.accordion-section .links-row {
  position: relative; }
  @media (min-width: 640px) {
    .accordion-section .links-row {
      margin-bottom: -5px; } }

.accordion-section .social-networks {
  margin: 0; }
  @media (min-width: 640px) {
    .accordion-section .social-networks {
      float: left;
      width: 35%;
      margin-left: 4px; } }
  .accordion-section .social-networks li {
    display: inline-block;
    vertical-align: top;
    font-size: 1.1875rem;
    line-height: 1;
    margin: 0 0.1875rem 0.125rem 0; }
    @media (min-width: 640px) {
      .accordion-section .social-networks li {
        font-size: 1.375rem; } }
  .accordion-section .social-networks a {
    color: #a02d3a;
    transition: opacity 0.3s ease-in-out; }
    .accordion-section .social-networks a:hover {
      opacity: 0.8; }
    .accordion-section .social-networks a .fa-facebook-square,
    .accordion-section .social-networks a .fa-twitter-square {
      color: #4070b4; }

.accordion-section .links {
  margin: 0; }
  @media (min-width: 640px) {
    .accordion-section .links {
      position: static;
      float: right;
      text-align: right;
      padding-top: 0.3125rem; } }
  .accordion-section .links li {
    display: inline-block;
    vertical-align: top;
    font-size: 1.1875rem;
    line-height: 1;
    margin-left: 0.625rem; }
    @media (min-width: 640px) {
      .accordion-section .links li {
        position: static;
        margin-left: 1.375rem;
        font-size: 0.875rem; } }
    .accordion-section .links li + li {
      position: relative; }
      @media (min-width: 640px) {
        .accordion-section .links li + li:before {
          content: '';
          background: #8c8179;
          width: 1px;
          height: 0.75rem;
          position: absolute;
          top: 1px;
          left: -0.75rem; } }
    .accordion-section .links li .fa-trash-alt {
      font-size: 1rem; }
  .accordion-section .links a {
    color: #1164ad;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media (max-width: 639px) {
      .accordion-section .links a:hover, .accordion-section .links a:focus {
        text-decoration: none;
        color: #000; } }

@media (max-width: 639px) {
  .collection-section.two-columns .row:before, .collection-section.two-columns .row:after {
    display: none; } }

@media (max-width: 639px) {
  .collection-section.two-columns .row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }

.collection-section.two-columns .view-switcher {
  top: 10px;
  bottom: auto; }

.collection-section.two-columns .content-heading {
  position: relative;
  padding: 0 1.875rem 1rem; }
  @media (max-width: 639px) {
    .collection-section.two-columns .content-heading {
      width: 100%;
      -ms-flex-order: -1;
          order: -1; } }
  @media (min-width: 640px) {
    .collection-section.two-columns .content-heading {
      padding: 0 3.75rem 1.25rem 14.375rem; } }
  @media (min-width: 1024px) {
    .collection-section.two-columns .content-heading {
      padding: 0.375rem 3.75rem 1.625rem 15.625rem; } }
  .collection-section.two-columns .content-heading:after {
    content: '';
    background: #ccc;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: -1.25rem;
    right: -1.25rem; }
    @media (min-width: 640px) {
      .collection-section.two-columns .content-heading:after {
        display: none; } }
  .collection-section.two-columns .content-heading .links {
    font-size: 0.875rem;
    line-height: 1.14; }
    @media (min-width: 1024px) {
      .collection-section.two-columns .content-heading .links {
        font-size: 1rem; } }
    .collection-section.two-columns .content-heading .links li {
      color: #6b625c;
      display: inline-block;
      vertical-align: top; }
      .collection-section.two-columns .content-heading .links li.active a {
        color: #1164ad; }
      .collection-section.two-columns .content-heading .links li + li {
        position: relative;
        padding-left: 0.625rem; }
        @media (min-width: 1024px) {
          .collection-section.two-columns .content-heading .links li + li {
            padding-left: 1.0625rem; } }
        .collection-section.two-columns .content-heading .links li + li:before {
          content: '|';
          position: absolute;
          top: -1px;
          left: 2px; }
          @media (min-width: 1024px) {
            .collection-section.two-columns .content-heading .links li + li:before {
              left: 5px;
              top: -2px; } }
    .collection-section.two-columns .content-heading .links a {
      color: #6b625c; }
      .collection-section.two-columns .content-heading .links a:hover {
        color: #1164ad; }
  .collection-section.two-columns .content-heading .dropdown {
    position: absolute;
    top: 0;
    right: -8px; }
    @media (min-width: 640px) {
      .collection-section.two-columns .content-heading .dropdown {
        padding-top: 0.4375rem; } }
    .collection-section.two-columns .content-heading .dropdown > li > a {
      padding: 0.25rem;
      color: #6b625c;
      font-size: 1.125rem;
      line-height: 1; }
      .collection-section.two-columns .content-heading .dropdown > li > a:after {
        display: none; }
    @media (min-width: 640px) {
      .collection-section.two-columns .content-heading .dropdown .menu {
        position: static !important;
        display: block !important;
        background: none;
        border: none; } }
    @media (max-width: 639px) {
      .collection-section.two-columns .content-heading .dropdown .menu {
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
        border-radius: 3px;
        border: 1px solid #a0958e;
        background-color: #fff;
        padding: 0.625rem 0; } }
    .collection-section.two-columns .content-heading .dropdown .menu li {
      font-size: 0.875rem;
      line-height: 1.43; }
      @media (min-width: 640px) {
        .collection-section.two-columns .content-heading .dropdown .menu li {
          display: inline-block;
          vertical-align: top;
          width: auto;
          margin-left: 1.375rem; } }
      @media (min-width: 768px) {
        .collection-section.two-columns .content-heading .dropdown .menu li {
          font-size: 1rem; } }
      .collection-section.two-columns .content-heading .dropdown .menu li + li {
        position: relative; }
        @media (min-width: 640px) {
          .collection-section.two-columns .content-heading .dropdown .menu li + li:before {
            content: '';
            background: #8c8179;
            width: 1px;
            height: 0.75rem;
            position: absolute;
            top: 2px;
            left: -0.75rem; } }
    .collection-section.two-columns .content-heading .dropdown .menu a {
      color: #312e2b;
      padding: 0.5rem 0.875rem;
      line-height: 1; }
      @media (min-width: 640px) {
        .collection-section.two-columns .content-heading .dropdown .menu a {
          padding: 0;
          color: #1164ad; } }
  .collection-section.two-columns .content-heading .back-link {
    position: absolute;
    top: 0;
    left: 0;
    color: #a0958e;
    font-weight: 400;
    font-size: 1.125rem; }
  .collection-section.two-columns .content-heading h1 {
    font-weight: 500; }
    @media (min-width: 640px) {
      .collection-section.two-columns .content-heading h1 {
        font-size: 1.25rem; } }

@media (max-width: 639px) {
  .collection-section.two-columns .sidebar {
    width: 100%;
    border-bottom: 1px solid #dbd6d0;
    margin-bottom: 1.25rem; } }

@media (min-width: 640px) {
  .collection-section.two-columns .sidebar {
    border-radius: 4px;
    border: 1px solid #dbd6d0;
    background: #f0eae4;
    padding: 0.75rem;
    width: 200px;
    margin-right: 1rem;
    float: left;
    position: relative;
    z-index: 1; } }

@media (min-width: 1024px) {
  .collection-section.two-columns .sidebar {
    margin-right: 0.625rem;
    padding: 1.0625rem 1.1875rem 0.5625rem;
    width: 220px; } }

.collection-section.two-columns .sidebar .links li {
  font-size: 14px;
  line-height: 1.43;
  margin-bottom: 0.375rem; }

.collection-section.two-columns .sidebar .links a {
  color: #1164ad; }
  .collection-section.two-columns .sidebar .links a:hover {
    color: #8c8179;
    font-style: italic;
    text-decoration: none; }

.collection-section.two-columns .sidebar .social-networks li {
  display: inline-block;
  vertical-align: top;
  font-size: 24px; }

.collection-section.two-columns .sidebar .social-networks a {
  color: #a51b30; }
  .collection-section.two-columns .sidebar .social-networks a:hover {
    opacity: 0.75; }
  .collection-section.two-columns .sidebar .social-networks a .fa-facebook-square,
  .collection-section.two-columns .sidebar .social-networks a .fa-twitter-square {
    color: #2867b1; }

@media (min-width: 640px) {
  .collection-section.two-columns .dropdown.filter {
    border-bottom: 1px solid #dbd6d0;
    padding-bottom: 0.4375rem;
    margin-bottom: 0.9375rem; } }

@media (min-width: 640px) {
  .collection-section.two-columns .dropdown.filter > li {
    display: block; } }

.collection-section.two-columns .dropdown.filter > li > a {
  background: none;
  color: #312e2b;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.63;
  padding: 0.6875rem 1.4375rem 0.3125rem 0; }
  .collection-section.two-columns .dropdown.filter > li > a:after {
    margin-top: 0 !important; }
  @media (min-width: 640px) {
    .collection-section.two-columns .dropdown.filter > li > a {
      padding: 0;
      color: #6b625c;
      font-size: 0.875rem;
      pointer-events: none;
      margin-bottom: 0.4375rem;
      font-weight: 400; }
      .collection-section.two-columns .dropdown.filter > li > a:after {
        display: none; } }

.collection-section.two-columns .dropdown.filter .menu {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  border-radius: 3px;
  border: 1px solid #a0958e;
  background: #fff;
  padding: 0.625rem 0; }
  @media (min-width: 640px) {
    .collection-section.two-columns .dropdown.filter .menu {
      background: none;
      box-shadow: none;
      position: static !important;
      display: block !important;
      border: none;
      padding: 0;
      min-width: 0; } }
  .collection-section.two-columns .dropdown.filter .menu li {
    font-size: 0.875rem;
    line-height: 1.43; }
    @media (min-width: 640px) {
      .collection-section.two-columns .dropdown.filter .menu li {
        display: block; } }
  .collection-section.two-columns .dropdown.filter .menu a {
    color: #312e2b;
    padding: 0.5rem 0.875rem;
    line-height: 1; }
    @media (min-width: 640px) {
      .collection-section.two-columns .dropdown.filter .menu a {
        color: #1164ad;
        padding: 0;
        display: inline-block;
        vertical-align: top;
        margin-bottom: 0.75rem; }
        .collection-section.two-columns .dropdown.filter .menu a .num {
          color: #a0958e; } }

@media (max-width: 639px) {
  .collection-section.two-columns .collections-list {
    width: 100%; } }

@media (min-width: 640px) {
  .collection-section.two-columns .collections-list {
    margin: 0 !important; } }

@media (min-width: 640px) {
  .collection-section.two-columns .collections-list li {
    width: 50%;
    padding-bottom: 2.25rem; } }

@media (min-width: 768px) {
  .collection-section.two-columns .collections-list li {
    width: 33.33%; } }

@media (min-width: 1024px) {
  .collection-section.two-columns .collections-list li {
    width: 25%;
    padding: 0 1.25rem 2.25rem; } }

@media (min-width: 640px) {
  .list-active .collection-section.two-columns .collections-list li {
    width: 100%;
    padding-bottom: 0.6875rem; } }

@media (min-width: 640px) {
  .collection-section.two-columns .collections-list li + li {
    position: relative; }
    .list-active .collection-section.two-columns .collections-list li + li:before {
      content: '';
      position: absolute;
      top: 0;
      left: 13px;
      right: 13px;
      background: #ccc;
      height: 1px; } }

.collection-section.two-columns .collections-list .item-wrap {
  display: block !important; }
  .list-active .collection-section.two-columns .collections-list .item-wrap picture {
    display: none; }
  @media (min-width: 640px) {
    .collection-section.two-columns .collections-list .item-wrap a:hover, .collection-section.two-columns .collections-list .item-wrap a:focus {
      box-shadow: none; }
      .collection-section.two-columns .collections-list .item-wrap a:hover strong, .collection-section.two-columns .collections-list .item-wrap a:focus strong {
        text-decoration: underline; } }
  @media (min-width: 640px) {
    .collection-section.two-columns .collections-list .item-wrap a:hover img, .collection-section.two-columns .collections-list .item-wrap a:focus img {
      box-shadow: 0 0 6px 1px rgba(17, 100, 173, 0.5); } }
  .collection-section.two-columns .collections-list .item-wrap a img {
    transition: box-shadow 0.3s ease-in-out; }
  @media (max-width: 639px) {
    .collection-section.two-columns .collections-list .item-wrap .caption {
      padding: 0 1.25rem; } }
  @media (min-width: 640px) {
    .collection-section.two-columns .collections-list .item-wrap .caption {
      position: static;
      background: none;
      color: #6b625c;
      padding: 0.375rem 0; }
      .collection-section.two-columns .collections-list .item-wrap .caption strong {
        color: #312e2b; } }

.collection-slider {
  border: 1px solid #a0958e;
  border-radius: 4px;
  position: relative;
  padding: 0 4.375rem; }
  .collection-slider .slide {
    padding: 1.25rem; }
  .collection-slider .item-wrap {
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important; }
    .collection-slider .item-wrap a {
      position: relative; }
      .collection-slider .item-wrap a:after {
        content: '';
        border-radius: 3px;
        border: 4px solid #a51b30;
        position: absolute;
        top: -6px;
        bottom: -6px;
        left: -6px;
        right: -6px;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out; }
      .collection-slider .item-wrap a:hover, .collection-slider .item-wrap a:focus {
        box-shadow: none; }
        .collection-slider .item-wrap a:hover:after, .collection-slider .item-wrap a:focus:after {
          opacity: 1;
          visibility: visible; }
  .collection-slider .slick-arrow {
    position: absolute;
    display: block;
    text-indent: -9999px;
    top: 3px;
    bottom: 3px;
    width: 55px;
    background: #f0eae4;
    z-index: 2;
    transition: opacity 0.3s ease-in-out; }
    .collection-slider .slick-arrow:after {
      content: '';
      background: url("../images/right-triangle.svg") 50% 50% no-repeat;
      background-size: 100% 100%;
      width: 21px;
      height: 38px;
      position: absolute;
      top: 50%;
      left: 50%;
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }
    .collection-slider .slick-arrow.slick-prev {
      left: 3px; }
      .collection-slider .slick-arrow.slick-prev:after {
        -ms-transform: translate(-50%, -50%) rotate(180deg);
            transform: translate(-50%, -50%) rotate(180deg); }
    .collection-slider .slick-arrow.slick-next {
      right: 3px; }
    .collection-slider .slick-arrow:hover, .collection-slider .slick-arrow:focus {
      opacity: 0.75; }

@media (min-width: 640px) {
  .reveal {
    border: 1px solid #979797;
    border-radius: 4px;
    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.25); } }

@media (max-width: 639px) {
  .reveal {
    margin-left: auto; } }

.reveal .title {
  display: block;
  font-family: "Montserrat";
  font-weight: 500;
  color: #731422;
  font-size: 1.25rem;
  margin-bottom: 1rem;
  padding-right: 2.5rem; }
  @media (max-width: 639px) {
    .reveal .title {
      font-size: 1rem;
      margin-bottom: 1.3125rem; } }
  .reveal .title a {
    color: #1164ad; }
  .reveal .title .separator {
    color: #999; }

.reveal .new_form {
  color: #000;
  font-size: 1rem;
  line-height: 1.21;
  padding-top: .5rem; }
  @media (max-width: 639px) {
    .reveal .new_form {
      padding-top: 1.25rem; } }
  .reveal .new_form .info {
    display: block;
    font-size: 0.75rem;
    font-style: italic;
    margin-bottom: 0.5625rem; }
  .reveal .new_form input[type="text"],
  .reveal .new_form input[type="email"],
  .reveal .new_form input[type="password"] {
    height: 30px;
    box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.2);
    border: 1px solid #979797;
    background: #fff;
    color: #000;
    margin: 2px 0 0;
    padding: 0.125rem 0.3125rem 0;
    line-height: 1.75; }
    .reveal .new_form input[type="text"]::-webkit-input-placeholder,
    .reveal .new_form input[type="email"]::-webkit-input-placeholder,
    .reveal .new_form input[type="password"]::-webkit-input-placeholder {
      color: #000; }
    .reveal .new_form input[type="text"]::-moz-placeholder,
    .reveal .new_form input[type="email"]::-moz-placeholder,
    .reveal .new_form input[type="password"]::-moz-placeholder {
      opacity: 1;
      color: #000; }
    .reveal .new_form input[type="text"]:-moz-placeholder,
    .reveal .new_form input[type="email"]:-moz-placeholder,
    .reveal .new_form input[type="password"]:-moz-placeholder {
      color: #000; }
    .reveal .new_form input[type="text"]:-ms-input-placeholder,
    .reveal .new_form input[type="email"]:-ms-input-placeholder,
    .reveal .new_form input[type="password"]:-ms-input-placeholder {
      color: #000; }
    .reveal .new_form input[type="text"].placeholder,
    .reveal .new_form input[type="email"].placeholder,
    .reveal .new_form input[type="password"].placeholder {
      color: #000; }
  .reveal .new_form label {
    font-size: 1rem;
    margin-bottom: 0.6875rem; }
    .reveal .new_form label.password {
      margin-bottom: 0.375rem; }
      .reveal .new_form label.password + .info {
        font-size: 0.875rem;
        margin-bottom: 0.375rem; }
    .reveal .new_form label a {
      color: #000;
      text-decoration: underline; }
      .reveal .new_form label a:hover {
        text-decoration: none; }
  .reveal .new_form .btn-row {
    text-align: right;
    padding-top: 0.625rem; }
    @media (max-width: 639px) {
      .reveal .new_form .btn-row {
        padding-bottom: 1.25rem; } }
    .reveal .new_form .btn-row .button {
      margin: 0 0 0 0.5625rem;
      padding: 0.375rem 1.3125rem 0.4375rem; }

.reveal .close-button {
  font-size: 1.6rem;
  top: 14px;
  right: 20px; }
  .reveal .close-button:hover {
    color: #000;
    text-decoration: none; }

@media (max-width: 639px) {
  .reveal .collaborators {
    padding-bottom: 1.25rem; } }

.reveal .collaborators .title {
  display: block;
  color: #000;
  font-size: 1rem;
  font-weight: 700;
  text-transform: capitalize;
  margin-bottom: 0.4375rem !important;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
  @media (min-width: 640px) {
    .reveal .collaborators .title {
      margin: 0 0 7px !important; } }
  .reveal .collaborators .title .fas {
    color: #a0958e;
    display: inline-block;
    vertical-align: top;
    margin: 0.25rem 0 0 0.1875rem; }

.reveal .collaborators ul {
  border: 1px solid #dbd6d0;
  border-radius: 4px; }
  .reveal .collaborators ul li {
    border: none;
    margin: 0;
    padding: 0.625rem 2.0625rem 0.625rem 0.8125rem;
    border-bottom: 1px solid #dbd6d0;
    color: #312e2b;
    font-size: 0.875rem;
    line-height: 1.36;
    background: none; }
    .reveal .collaborators ul li:last-child {
      border-bottom: none; }
    .reveal .collaborators ul li .close-button {
      font-size: 1.5rem;
      line-height: 1;
      color: #a0958e;
      right: 0.5rem;
      top: 0.4375rem; }
      .reveal .collaborators ul li .close-button:hover {
        color: #000;
        text-decoration: none; }
  .reveal .collaborators ul .text {
    display: block; }
    .reveal .collaborators ul .text a {
      color: #1164ad; }
      .reveal .collaborators ul .text a:hover {
        text-decoration: underline; }

.reveal .button.social {
  transition: opacity 0.3s ease-in-out;
  display: block;
  text-transform: uppercase;
  font-weight: 600;
  font-size: 0.875rem;
  border-radius: 0;
  margin: 0 0 0.625rem; }
  .reveal .button.social.google {
    background: #de3437; }
  .reveal .button.social.facebook {
    background: #3767d1; }
  .reveal .button.social:hover, .reveal .button.social:focus {
    opacity: 0.85; }
  .reveal .button.social .fab {
    display: inline-block;
    vertical-align: top;
    margin: 0 0.375rem 0 0;
    font-weight: 400; }
    .reveal .button.social .fab.fa-facebook-f {
      margin-top: -1px; }

.reveal .button.btn-white {
  background: #fff;
  color: #312e2b;
  border: 1px solid rgba(34, 34, 34, 0.4); }
  .reveal .button.btn-white:hover, .reveal .button.btn-white:focus {
    background: #f2f2f2; }

.reveal.login-reveal {
  max-width: 31.25rem; }
  @media (min-width: 768px) {
    .reveal.login-reveal {
      padding: 1.625rem 1.625rem 2rem; } }

.reveal.email-reveal {
  max-width: 45.375rem;
  width: auto; }
  @media (min-width: 640px) {
    .reveal.email-reveal {
      padding: 1.3125rem 3rem 2.5rem; } }
  @media (min-width: 640px) {
    .reveal.email-reveal .title {
      margin: 0 0 1.6875rem -0.5625rem; } }
  .reveal.email-reveal .new_form {
    padding: 0 0 0.5625rem; }
    @media (min-width: 640px) {
      .reveal.email-reveal .new_form {
        padding-bottom: 2.3125rem; } }
    .reveal.email-reveal .new_form input[type="email"] {
      height: 2.125rem;
      border-radius: 0.1875rem; }
    .reveal.email-reveal .new_form .email-wrap {
      margin-bottom: 0.4375rem; }
      @media (min-width: 640px) {
        .reveal.email-reveal .new_form .email-wrap {
          margin-bottom: 0.9375rem; } }
      .reveal.email-reveal .new_form .email-wrap label {
        display: inline-block;
        vertical-align: top;
        margin: 0; }
        @media (min-width: 640px) {
          .reveal.email-reveal .new_form .email-wrap label {
            float: left;
            width: 7rem;
            margin: 0.125rem 0.5rem 0 0; } }
      .reveal.email-reveal .new_form .email-wrap .input-wrap {
        overflow: hidden; }
    @media (min-width: 640px) {
      .reveal.email-reveal .new_form .check-wrap {
        padding: 0 0 0 7.5rem; } }
    .reveal.email-reveal .new_form .check-wrap label {
      font-size: 0.875rem;
      text-transform: capitalize; }
      @media (min-width: 640px) {
        .reveal.email-reveal .new_form .check-wrap label {
          display: inline-block;
          vertical-align: top;
          margin-top: 0.125rem;
          max-width: 200px; } }
    @media (min-width: 640px) {
      .reveal.email-reveal .new_form .check-wrap p {
        float: right;
        margin: 0; } }
    .reveal.email-reveal .new_form .button {
      width: 116px;
      margin: 0;
      font-size: 1rem;
      padding: 0.6875rem 0.25rem; }
  .reveal.email-reveal .custom-checkbox {
    padding-left: 1.5625rem; }
    .reveal.email-reveal .custom-checkbox .fake-input {
      top: 0.3125rem;
      left: 0.125rem; }

.reveal.add-reveal {
  background: #fff;
  max-width: 31.25rem;
  padding: 1rem 1.5rem; }
  @media (max-width: 639px) {
    .reveal.add-reveal {
      height: auto;
      min-height: 0;
      padding-bottom: 6.25rem; } }
  @media (min-width: 640px) {
    .reveal.add-reveal .title {
      margin: 0 0 0.3125rem 0.1875rem; } }
  .reveal.add-reveal .info-line {
    display: block;
    font-size: 0.875rem; }
    @media (min-width: 640px) {
      .reveal.add-reveal .info-line {
        margin: 0 0 1.6875rem 0.3125rem; } }
    .reveal.add-reveal .info-line a {
      color: #1164ad; }
      .reveal.add-reveal .info-line a:hover {
        text-decoration: underline; }
  .reveal.add-reveal .new_form {
    padding: 0 0 0.875rem; }
    .reveal.add-reveal .new_form label {
      font-size: 0.875rem;
      margin-bottom: 2px; }
    .reveal.add-reveal .new_form .btn-row .button {
      font-size: 0.6875rem;
      padding: 0.5rem 0.5625rem;
      text-transform: capitalize;
      margin-left: 2px; }
      .reveal.add-reveal .new_form .btn-row .button:not(.btn-white) {
        border-color: rgba(34, 34, 34, 0.4);
        text-shadow: 0 1px 0 rgba(34, 34, 34, 0.5); }
  .reveal.add-reveal .jcf-scrollable-wrapper {
    width: 100% !important; }
  .reveal.add-reveal .jcf-scrollable {
    height: 22.75rem;
    width: 100% !important;
    padding: 0.3125rem 0; }
  .reveal.add-reveal .jcf-scrollbar-vertical {
    right: -1.125rem !important; }
  .reveal.add-reveal .jcf-scrollbar-horizontal {
    display: none !important; }
  .reveal.add-reveal .bottom-info-block {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    min-height: 5.625rem;
    box-shadow: 0 -1px 4px rgba(0, 0, 0, 0.5);
    border: 1px solid #979797;
    border-width: 1px 0 0;
    background: #fffaf5;
    padding: 0.875rem 2.5rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: center;
        align-items: center; }
    .reveal.add-reveal .bottom-info-block .img-wrap {
      width: 3.75rem;
      margin-right: 0.9375rem; }
    .reveal.add-reveal .bottom-info-block ul {
      width: calc(100% - 75px); }
      .reveal.add-reveal .bottom-info-block ul li {
        color: #000;
        font-size: 0.875rem;
        line-height: 1.29; }
  @media (min-width: 640px) {
    .reveal.add-reveal .add-lists {
      padding-bottom: 4.6875rem; } }
  .reveal.add-reveal .add-lists li {
    border-top: 1px solid #979797;
    position: relative;
    padding: 0.9375rem 2.5rem 0.9375rem 1.125rem;
    font-size: 1.0625rem;
    text-transform: capitalize; }
    @media (min-width: 640px) {
      .reveal.add-reveal .add-lists li {
        font-size: 1.25rem; } }
    .reveal.add-reveal .add-lists li a {
      color: #000; }
      .reveal.add-reveal .add-lists li a:hover {
        text-decoration: underline; }
      .reveal.add-reveal .add-lists li a .ico {
        position: absolute;
        top: 50%;
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
        right: 0.625rem;
        width: 1.5625rem;
        height: 1.5625rem;
        border-radius: 50%;
        background: #1164ad; }
        .reveal.add-reveal .add-lists li a .ico:before, .reveal.add-reveal .add-lists li a .ico:after {
          content: '';
          background: #fff;
          position: absolute;
          top: 50%;
          left: 50%;
          width: 0.6875rem;
          height: 0.1875rem;
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
          margin-left: -1px; }
        .reveal.add-reveal .add-lists li a .ico:before {
          height: 0.6875rem;
          width: 0.1875rem; }

.reveal.met-search {
  background: #fff;
  min-height: 0;
  height: auto;
  padding-bottom: 4.375rem; }
  @media (max-width: 639px) {
    .reveal.met-search {
      top: 0 !important;
      height: 100%; } }
  @media (min-width: 640px) {
    .reveal.met-search {
      max-width: 41.8125rem;
      width: 100%;
      min-height: 27.5rem;
      padding: 0;
      overflow-y: hidden; } }
  @media (min-width: 640px) {
    .reveal.met-search .title {
      border-bottom: 1px solid #ccc;
      padding: 1rem 2.75rem 1rem 1.375rem;
      margin: 0; } }
  .reveal.met-search .is-drilldown-submenu {
    background: #fff;
    overflow: hidden;
    overflow-y: auto; }
  .reveal.met-search .is-drilldown {
    max-width: none !important;
    margin: 0 -1rem;
    background: #fff; }
    @media (min-width: 640px) {
      .reveal.met-search .is-drilldown {
        width: 10.8125rem;
        float: left;
        margin: 0;
        overflow: visible; } }
    @media (max-width: 639px) {
      .reveal.met-search .is-drilldown {
        height: calc(100% - 78px);
        overflow-y: auto; } }
    @media (min-width: 640px) {
      .reveal.met-search .is-drilldown:after {
        content: '';
        position: absolute;
        top: -35px;
        bottom: -9999px;
        right: 0;
        width: 1px;
        background: #ccc; } }
  .reveal.met-search .vertical {
    border-bottom: 1px solid #ccc; }
    @media (min-width: 640px) {
      .reveal.met-search .vertical {
        border: 0; } }
    .reveal.met-search .vertical > li {
      border-bottom: 1px solid #ccc;
      font-size: 0.875rem;
      line-height: 1.14;
      padding: 0 1.25rem;
      background: #fff; }
      @media (min-width: 640px) {
        .reveal.met-search .vertical > li {
          margin-bottom: 1px; } }
      .reveal.met-search .vertical > li:last-child {
        border-bottom: 0; }
      @media (min-width: 640px) {
        .reveal.met-search .vertical > li {
          border: 0;
          padding: 0; } }
      .reveal.met-search .vertical > li.js-drilldown-back {
        display: none !important; }
      @media (min-width: 640px) {
        .reveal.met-search .vertical > li.is-drilldown-submenu-parent.li-active > a {
          background: #beddff; } }
      @media (min-width: 640px) {
        .reveal.met-search .vertical > li.is-drilldown-submenu-parent.li-active > .vertical {
          display: block; } }
      .reveal.met-search .vertical > li > a {
        color: #312e2b;
        padding: 0.9375rem 1.875rem 0.9375rem 0;
        position: relative; }
        @media (min-width: 640px) {
          .reveal.met-search .vertical > li > a {
            padding: 0.25rem 0.25rem 0.25rem 1.25rem;
            font-size: 0.75rem; } }
        .reveal.met-search .vertical > li > a:after {
          display: none; }
        @media (min-width: 640px) {
          .reveal.met-search .vertical > li > a:hover, .reveal.met-search .vertical > li > a:focus {
            background: #beddff;
            text-decoration: none; } }
        .reveal.met-search .vertical > li > a .fa-chevron-right {
          position: absolute;
          display: block;
          top: 50%;
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
          right: -4px;
          line-height: 1;
          color: #a0958e;
          font-size: 1.125rem;
          margin: 0; }
          @media (min-width: 640px) {
            .reveal.met-search .vertical > li > a .fa-chevron-right {
              display: none; } }
      .reveal.met-search .vertical > li > .vertical {
        border-top: 1px solid #ccc;
        padding-top: 0.5625rem; }
        @media (min-width: 640px) {
          .reveal.met-search .vertical > li > .vertical {
            -ms-transform: none;
                transform: none;
            left: 100%;
            border: 0;
            padding: 0;
            top: -2.1875rem;
            width: 17.125rem;
            height: 24.625rem;
            display: none;
            overflow-y: hidden;
            border-right: 1px solid #ccc; } }
        @media (min-width: 640px) {
          .reveal.met-search .vertical > li > .vertical > .is-drilldown-submenu-parent {
            height: 342px;
            overflow-y: auto; } }
  .reveal.met-search .met-title {
    display: block;
    color: #6b625c;
    font-size: 1rem;
    font-style: italic;
    margin-bottom: 0.5rem; }
    @media (min-width: 640px) {
      .reveal.met-search .met-title {
        width: 10.625rem;
        font-size: 0.75rem;
        padding: 0.375rem 0.4375rem 0.6875rem 1.375rem;
        margin: 0; } }
  .reveal.met-search .drop-title {
    display: block;
    color: #312e2b;
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 0.5625rem; }
  .reveal.met-search .search_form {
    position: relative;
    margin-bottom: 0.9375rem; }
    @media (min-width: 640px) {
      .reveal.met-search .search_form {
        border-bottom: 1px solid #ccc;
        padding: 0.625rem 0.75rem;
        margin: 0; } }
    .reveal.met-search .search_form input[type="search"] {
      width: 100%;
      display: block;
      height: 38px;
      box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2);
      border-radius: 3px;
      border: 1px solid #6b625c;
      background: #fff;
      opacity: 0.8;
      color: #000;
      font-size: 0.875rem;
      -webkit-appearance: none; }
      @media (min-width: 640px) {
        .reveal.met-search .search_form input[type="search"] {
          font-size: 0.6875rem;
          height: 29px;
          box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.2);
          border: 1px solid #aaa;
          background: #fff;
          border-radius: 0; } }
      .reveal.met-search .search_form input[type="search"]::-webkit-input-placeholder {
        color: #000; }
        @media (min-width: 640px) {
          .reveal.met-search .search_form input[type="search"]::-webkit-input-placeholder {
            color: #999; } }
      .reveal.met-search .search_form input[type="search"]::-moz-placeholder {
        opacity: 1;
        color: #000; }
        @media (min-width: 640px) {
          .reveal.met-search .search_form input[type="search"]::-moz-placeholder {
            color: #999; } }
      .reveal.met-search .search_form input[type="search"]:-moz-placeholder {
        color: #000; }
        @media (min-width: 640px) {
          .reveal.met-search .search_form input[type="search"]:-moz-placeholder {
            color: #999; } }
      .reveal.met-search .search_form input[type="search"]:-ms-input-placeholder {
        color: #000; }
        @media (min-width: 640px) {
          .reveal.met-search .search_form input[type="search"]:-ms-input-placeholder {
            color: #999; } }
      .reveal.met-search .search_form input[type="search"].placeholder {
        color: #000; }
        @media (min-width: 640px) {
          .reveal.met-search .search_form input[type="search"].placeholder {
            color: #999; } }
    .reveal.met-search .search_form button[type="submit"] {
      position: absolute;
      top: 1.1875rem;
      right: 1.375rem;
      font-size: 0.75rem;
      color: #222; }
  .reveal.met-search .accordion {
    position: static !important;
    height: auto !important;
    padding: 0.75rem 0; }
    @media (min-width: 640px) {
      .reveal.met-search .accordion {
        padding: 0.3125rem 0 0.625rem 0.625rem; } }
    .reveal.met-search .accordion .accordion-title {
      border: none;
      font-size: 0.875rem;
      line-height: 1; }
      @media (min-width: 640px) {
        .reveal.met-search .accordion .accordion-title {
          font-size: 0.75rem; } }
      .reveal.met-search .accordion .accordion-title:before {
        display: none; }
      .reveal.met-search .accordion .accordion-title:hover, .reveal.met-search .accordion .accordion-title:focus {
        background: none; }
    .reveal.met-search .accordion .accordion-item {
      margin-bottom: 0.4375rem; }
      @media (min-width: 640px) {
        .reveal.met-search .accordion .accordion-item {
          margin-bottom: 0.4375rem; } }
      .reveal.met-search .accordion .accordion-item.is-active .accordion-title .fa-chevron-right {
        -ms-transform: rotate(90deg);
            transform: rotate(90deg); }
    .reveal.met-search .accordion a {
      position: relative;
      display: block;
      color: #312e2b;
      font-size: 0.875rem;
      line-height: 1;
      padding: 0.5rem 3rem 0.5rem 1.3125rem; }
      @media (min-width: 640px) {
        .reveal.met-search .accordion a {
          font-size: 0.75rem; } }
      .reveal.met-search .accordion a .add-icon {
        position: absolute;
        top: 0;
        right: 0.9375rem;
        width: 1.5rem;
        height: 1.5rem;
        border-radius: 50%;
        background-color: #1164ad; }
        @media (min-width: 640px) {
          .reveal.met-search .accordion a .add-icon {
            right: 0.625rem; } }
        .reveal.met-search .accordion a .add-icon:before, .reveal.met-search .accordion a .add-icon:after {
          content: '';
          background: #fff;
          width: 11px;
          height: 3px;
          position: absolute;
          top: 50%;
          left: 50%;
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
          border: none !important; }
        .reveal.met-search .accordion a .add-icon:after {
          width: 3px;
          height: 11px; }
      .reveal.met-search .accordion a .fa-chevron-right {
        position: absolute;
        top: 0.375rem;
        left: 4px;
        font-size: 1.125rem;
        color: #a0958e; }
        @media (min-width: 640px) {
          .reveal.met-search .accordion a .fa-chevron-right {
            font-size: 0.75rem; } }
    .reveal.met-search .accordion .accordion-content {
      border: none;
      padding: 0.4375rem 0 0 1.25rem;
      background: #fff; }
      .reveal.met-search .accordion .accordion-content ul {
        margin: 0;
        padding: 0; }
        .reveal.met-search .accordion .accordion-content ul li {
          margin-bottom: 0.4375rem; }
  .reveal.met-search a.selected-item {
    font-weight: 700 !important; }
    @media (min-width: 640px) {
      .reveal.met-search a.selected-item {
        color: #416ce7; } }
    .reveal.met-search a.selected-item .add-icon:after {
      display: none !important; }
  @media (min-width: 640px) {
    .reveal.met-search .selection-filter-col {
      float: right;
      width: 11.125rem;
      margin: -1.8125rem 0 0;
      padding-right: 0.8125rem; } }
  @media (min-width: 768px) {
    .reveal.met-search .selection-filter-col {
      width: 12.5rem; } }
  @media (max-width: 639px) {
    .reveal.met-search .selection-filter-col {
      background: #fff;
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      padding: 0.9375rem 1.5625rem 0.9375rem 1.3125rem;
      z-index: 1;
      border-top: 1px solid #ccc;
      z-index: 9; } }
  .reveal.met-search .selection-filter-col p {
    margin: 0; }
    @media (max-width: 639px) {
      .reveal.met-search .selection-filter-col p {
        float: right; } }
  .reveal.met-search .selection-filter-col .met-title {
    width: auto;
    padding: 0 0 0.25rem; }
  .reveal.met-search .selection-filter-col .selected-items-list {
    max-height: 232px;
    overflow-y: auto; }
    @media (max-width: 639px) {
      .reveal.met-search .selection-filter-col .selected-items-list {
        border-bottom: 1px solid #ccc;
        border-top: 1px solid #ccc;
        padding-right: 25px;
        padding-top: 10px;
        padding-bottom: 10px;
        padding-left: 21px;
        bottom: 100%;
        left: 0;
        background: #fff;
        right: 0;
        display: none;
        position: fixed;
        top: 183px;
        bottom: 71px;
        overflow: hidden;
        overflow-y: auto;
        max-height: none; }
        .selected-item-active .reveal.met-search .selection-filter-col .selected-items-list {
          display: block; } }
    .reveal.met-search .selection-filter-col .selected-items-list li {
      font-size: 0.75rem;
      font-weight: 700;
      margin-bottom: 3px; }
      @media (max-width: 639px) {
        .reveal.met-search .selection-filter-col .selected-items-list li {
          font-size: 0.875rem; } }
    .reveal.met-search .selection-filter-col .selected-items-list a {
      color: #4a90e2;
      display: block;
      position: relative;
      padding: 0.25rem 1.875rem 0.25rem 0; }
      @media (max-width: 639px) {
        .reveal.met-search .selection-filter-col .selected-items-list a {
          color: #312e2b; } }
      .reveal.met-search .selection-filter-col .selected-items-list a .ico {
        width: 1.5rem;
        height: 1.5rem;
        border-radius: 50%;
        background-color: #1164ad;
        position: absolute;
        top: 2px;
        right: 0; }
        .reveal.met-search .selection-filter-col .selected-items-list a .ico:after {
          content: '';
          background: #fff;
          height: 0.1875rem;
          width: 0.6875rem;
          position: absolute;
          top: 50%;
          left: 50%;
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }
  .reveal.met-search .selection-filter-col .button {
    margin: 0;
    width: 84px; }
    @media (min-width: 640px) {
      .reveal.met-search .selection-filter-col .button {
        width: 56px;
        font-size: 0.6875rem;
        position: absolute;
        bottom: 0.4375rem;
        right: 0.4375rem; } }
  .reveal.met-search .filter-list {
    float: left;
    margin: 0.5rem 0 0; }
    .reveal.met-search .filter-list li {
      display: inline-block;
      vertical-align: top;
      font-size: 16px;
      color: #777;
      font-family: Helvetica; }
      .reveal.met-search .filter-list li + li:before {
        content: '|';
        display: inline-block;
        vertical-align: top;
        margin: -0.0625rem 0.4375rem 0 0.25rem; }
      .reveal.met-search .filter-list li + li a {
        color: #4a90e2;
        font-weight: 400; }
        .selected-item-active .reveal.met-search .filter-list li + li a {
          color: #000;
          font-weight: 700; }
      .reveal.met-search .filter-list li a {
        color: #000;
        font-weight: 700; }
        .selected-item-active .reveal.met-search .filter-list li a {
          color: #4a90e2;
          font-weight: 400; }

@media (max-width: 639px) {
  .reveal-overlay {
    background: #fff !important; } }

.custom-checkbox {
  position: relative;
  padding-left: 1.25rem; }
  .custom-checkbox input[type="checkbox"] {
    position: absolute;
    top: 0.5rem;
    left: 0;
    opacity: 0; }
    .custom-checkbox input[type="checkbox"]:checked + .fake-input:after {
      display: block; }
    .custom-checkbox input[type="checkbox"]:focus + .fake-input {
      border-color: #1164ad; }
  .custom-checkbox .fake-input {
    position: absolute;
    top: 0.5rem;
    left: 0;
    width: 0.8125rem;
    height: 0.8125rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
    border: 1px solid #979797;
    background-color: #fff; }
    .custom-checkbox .fake-input:after {
      content: '';
      position: absolute;
      top: 2px;
      left: 1px;
      width: 0.5625rem;
      height: 0.3125rem;
      border-style: solid;
      border-color: #000;
      border-width: 0 0 0.125rem 0.125rem;
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
      display: none; }

#skip-home a,
#skip a {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden; }

#skip-home a:focus,
#skip a:focus {
  position: static;
  width: auto;
  height: auto; }

.fa-facebook-square {
  color: #4070b4 !important; }

.fa-twitter-square {
  color: #6599e0 !important; }

.fa-instagram {
  color: #78716b !important; }

.fa-google-plus-square {
  color: #4c545c !important; }

.collection-thumb {
  width: 100%;
  max-width: 500px;
  position: relative;
  overflow: hidden; }
  .collection-thumb:after {
    content: "";
    display: block;
    padding-bottom: 100%; }

.collection-thumb-grid {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #B3AAA1; }
  .collection-thumb-grid .grid-image {
    float: left;
    clear: none;
    overflow: hidden;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center; }
    .collection-thumb-grid .grid-image img {
      height: auto;
      max-width: 100%;
      -ms-flex: 0;
          flex: 0;
      object-fit: cover; }

.grid-images-1 .grid-image {
  width: 100%;
  height: 100%; }

.grid-images-4 .grid-image {
  width: 50%;
  height: 50%; }

.grid-images-9 .grid-image {
  width: 33.333333333%;
  height: 33.333333333%; }

.collection-thumb-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(49, 46, 43, 0.8);
  color: #fefefe;
  font-size: 0.75rem;
  line-height: 1.3;
  padding: 0.25rem 0.5rem; }

.collection-thumb-title {
  color: #fefefe;
  font-weight: bold;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.875rem;
  line-height: inherit;
  margin-bottom: 0.15rem; }

.collection-thumb-meta {
  margin-bottom: 0.15rem; }

.collection-body {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }

.collection-text {
  -ms-flex: 1;
      flex: 1; }

/*  Search
--------------------------------------*/
.search-facet-section {
  display: block;
  border-top: solid 1px #F0EAE4;
  padding-top: 1rem; }

.search-facet-title {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: normal;
  font-size: 100%;
  text-transform: none;
  color: #8C8179;
  margin-bottom: 0; }

.search-facet-item input[type="radio"],
.search-facet-item input[type="checkbox"] {
  margin-bottom: 0; }

.search-facet-item label {
  color: #4a4a4a; }

.search-facet-item.is-active a,
.search-facet-item.is-active label,
.search-facet-item input:checked + label {
  color: #312E2B;
  font-weight: bold; }

.search-facet-item.is-active a:after {
  content: "\00d7";
  display: inline-block;
  margin-left: 0.3em;
  vertical-align: baseline;
  font-size: 110%;
  font-weight: normal;
  color: #731422; }

.search-facet-item.is-active a:hover, .search-facet-item.is-active a:hover:after, .search-facet-item.is-active a:active, .search-facet-item.is-active a:active:after, .search-facet-item.is-active a:focus, .search-facet-item.is-active a:focus:after {
  color: #ec5840; }

.search-result {
  border-top: solid 1px #ccc;
  padding-top: 1rem;
  padding-bottom: 1rem;
  margin-bottom: 0; }
  .search-result:last-child {
    border-bottom: solid 1px #ccc; }
  .search-result .media-object-title {
    font-weight: bold;
    margin-bottom: 0; }
  .search-result .subheader {
    margin-top: 0; }

.saved-searches {
  background: #dbd6d1;
  color: #000;
  padding: 0.875rem; }
  .saved-searches .title {
    display: block;
    font-size: 1rem;
    font-weight: 700;
    text-transform: capitalize;
    margin-bottom: 0.75rem; }
  .saved-searches .sv-wrap {
    font-size: 0.75rem;
    line-height: 1.33;
    text-transform: capitalize;
    margin-bottom: 0.75rem; }
    @media (max-width: 1023px) {
      .saved-searches .sv-wrap {
        width: 32%;
        padding-right: 0.9375rem;
        display: inline-block;
        vertical-align: top; } }
    @media (max-width: 639px) {
      .saved-searches .sv-wrap {
        width: 40%; } }
    @media (max-width: 479px) {
      .saved-searches .sv-wrap {
        width: 100%; } }
    .saved-searches .sv-wrap strong {
      font-weight: 400;
      display: block;
      font-size: 0.875rem; }
  @media (max-width: 1023px) {
    .saved-searches .link-hold {
      text-align: right; } }

label .input-wrap {
  position: relative;
  display: block; }
  label .input-wrap input[type="text"] {
    padding-right: 10rem;
    border-radius: 0 0.25rem 0.25rem 0; }
  label .input-wrap .select-btn {
    position: absolute;
    border-radius: 0 0.25rem 0.25rem 0;
    border: 1px solid #aaa;
    background: #eee;
    color: #222;
    top: 0;
    bottom: 0;
    right: 0;
    text-decoration: none;
    padding: 0.3125rem 0.5rem;
    transition: background 0.3s ease-in-out; }
    label .input-wrap .select-btn:hover {
      background: #d5d5d5; }

fieldset [type='checkbox'] + label,
fieldset [type='radio'] + label {
  vertical-align: top;
  margin-top: 0.125rem;
  margin-right: 0;
  max-width: calc(100% - 24px); }

.search-heading-block {
  position: relative; }
  @media (min-width: 640px) {
    .search-heading-block {
      margin-bottom: 1.875rem; } }
  @media (min-width: 768px) {
    .search-heading-block {
      margin-bottom: 2.5rem; } }
  .search-heading-block h3 {
    padding-right: 5rem; }
    @media (max-width: 639px) {
      .search-heading-block h3 {
        line-height: 1.125rem; } }
    .search-heading-block h3 em {
      color: #9b9b9b;
      font-size: 1.125rem; }
      @media (max-width: 767px) {
        .search-heading-block h3 em {
          font-size: 0.9375rem; } }
      .search-heading-block h3 em a {
        text-decoration: underline;
        color: #4a90e2; }
        .search-heading-block h3 em a:hover {
          text-decoration: none; }
  .search-heading-block .view-switcher {
    position: absolute;
    top: 0;
    right: 14px; }
    .search-heading-block .view-switcher li + li a {
      border-color: #4a90e2;
      background: rgba(74, 144, 226, 0.3); }
      .list-active .search-heading-block .view-switcher li + li a {
        background: none;
        border-color: transparent; }
    .list-active .search-heading-block .view-switcher a {
      border-color: #4a90e2;
      background: rgba(74, 144, 226, 0.3); }

.save-active .save-link {
  display: none; }

.saved-text {
  display: none; }
  .save-active .saved-text {
    display: inline; }

.media-object-holder {
  position: relative;
  border-top: 1px solid #ccc;
  padding-top: 1.25rem; }
  @media (max-width: 639px) {
    .media-object-holder {
      margin-bottom: 2.5rem; } }
  .list-active .media-object-holder {
    padding-top: 0; }
  @media (min-width: 640px) {
    .media-object-holder:before, .media-object-holder:after {
      content: '';
      background: #ccc;
      position: absolute;
      top: 1.25rem;
      bottom: 0;
      width: 1px;
      left: 50%; } }
  @media (min-width: 1024px) {
    .media-object-holder:before, .media-object-holder:after {
      left: 33.33%; } }
  .list-active .media-object-holder:before, .list-active .media-object-holder:after {
    display: none; }
  @media (min-width: 640px) {
    .media-object-holder:after {
      width: 0; } }
  @media (min-width: 1024px) {
    .media-object-holder:after {
      left: 66.66%;
      width: 1px; } }
  .media-object-holder .list-item {
    position: relative; }
    .list-active .media-object-holder .list-item {
      padding-right: 9.625rem; }
    .media-object-holder .list-item:last-child {
      border-bottom: none; }
    .media-object-holder .list-item:first-child {
      border-top: 0; }
  .media-object-holder .add-wrap {
    font-size: 0.875rem;
    line-height: 1;
    display: inline-block;
    vertical-align: top;
    padding-left: 1.75rem;
    position: relative;
    margin: 1.25rem 0 0 3.125rem; }
    .list-active .media-object-holder .add-wrap {
      min-width: 140px;
      text-align: right;
      position: absolute;
      top: 50%;
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
      right: -3.875rem;
      margin: 0; }
    .media-object-holder .add-wrap .ico {
      position: absolute;
      top: -3px;
      left: 0;
      position: absolute;
      display: block;
      background: #1164ad;
      width: 1.3125rem;
      height: 1.3125rem;
      border-radius: 50%; }
      .media-object-holder .add-wrap .ico:before, .media-object-holder .add-wrap .ico:after {
        content: '';
        background: #fff;
        width: 0.6875rem;
        height: 0.1875rem;
        position: absolute;
        top: 0.5625rem;
        left: 0.3125rem; }
      .media-object-holder .add-wrap .ico:after {
        width: 0.1875rem;
        height: 0.6875rem;
        top: 0.3125rem;
        left: 0.5625rem; }
    .media-object-holder .add-wrap .dropdown-pane {
      border: 1px solid #979797;
      background: #fff;
      color: #000;
      width: 14.375rem;
      top: -5.625rem !important;
      left: -11.875rem !important;
      font-size: 0.875rem; }
      @media (max-width: 639px) {
        .media-object-holder .add-wrap .dropdown-pane {
          left: -1.125rem !important; } }
      @media (min-width: 640px) {
        .list-active .media-object-holder .add-wrap .dropdown-pane {
          left: -7.875rem !important; } }
      .media-object-holder .add-wrap .dropdown-pane .title {
        display: block;
        margin-bottom: 0.5rem; }
      .media-object-holder .add-wrap .dropdown-pane a {
        color: #4a90e2;
        text-decoration: underline; }
        .media-object-holder .add-wrap .dropdown-pane a:hover {
          text-decoration: none; }
      .media-object-holder .add-wrap .dropdown-pane:after, .media-object-holder .add-wrap .dropdown-pane:before {
        content: '';
        position: absolute;
        bottom: -1rem;
        right: 0.875rem;
        width: 0;
        height: 0;
        border-width: 16px 15px 0 15px;
        border-color: #b1b1b1 transparent transparent transparent;
        border-style: solid; }
        @media (max-width: 639px) {
          .media-object-holder .add-wrap .dropdown-pane:after, .media-object-holder .add-wrap .dropdown-pane:before {
            right: auto;
            left: 0.875rem; } }
      .media-object-holder .add-wrap .dropdown-pane:before {
        bottom: -0.875rem;
        z-index: 1;
        border-width: 16px 15px 0 15px;
        border-color: #fff transparent transparent transparent; }
    .media-object-holder .add-wrap a.button {
      margin: -3px 0 0;
      padding: 3px 0 0;
      background: none;
      font-size: 0.875rem;
      line-height: 1;
      color: #1164ad;
      font-weight: 400;
      padding-left: 1.75rem;
      margin-left: -1.75rem; }
      .media-object-holder .add-wrap a.button .icon-hold {
        background: #1164ad;
        width: 1.3125rem;
        height: 1.3125rem;
        border-radius: 50%;
        display: inline-block;
        vertical-align: top;
        color: #fff;
        margin: -0.1875rem 0.875rem 0 -1.75rem;
        padding-top: 0.1875rem; }
        .media-object-holder .add-wrap a.button .icon-hold .fas {
          font-size: 0.75rem;
          line-height: 1; }
      .media-object-holder .add-wrap a.button:focus {
        outline: 1px dashed; }
  .media-object-holder .thumbnail.no-img {
    border: 0;
    background: none;
    position: relative; }
    .media-object-holder .thumbnail.no-img .ico {
      position: absolute;
      width: 28px;
      height: 28px;
      top: 50%;
      left: 50%;
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
      margin-top: 3px; }

body.list-active .media-object-holder {
  border-bottom: solid 1px #ccc; }
  body.list-active .media-object-holder .media-object-section.img-wrap {
    display: none; }

@media (min-width: 640px) {
  body:not(.list-active) .media-object-holder {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0 -1.25rem; } }

@media (min-width: 640px) {
  body:not(.list-active) .media-object-holder .list-item {
    width: 50%;
    padding-left: 1.25rem;
    padding-right: 1.25rem; } }

@media (min-width: 1024px) {
  body:not(.list-active) .media-object-holder .list-item {
    width: 33.33%; } }

@media (min-width: 640px) {
  body:not(.list-active) .media-object-holder .list-item:first-child, body:not(.list-active) .media-object-holder .list-item:nth-child(2) {
    border-top-width: 0; } }

@media (min-width: 1024px) {
  body:not(.list-active) .media-object-holder .list-item:nth-child(3) {
    border-top-width: 0; } }

/*  Giza @ School
--------------------------------------*/
.content-hilite {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  padding-top: 2rem;
  padding-bottom: 2rem;
  border-bottom: solid 1px #DBD6D0;
  margin-bottom: 1rem; }

.content-hilite-content {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto; }
  @media screen and (min-width: 40em) {
    .content-hilite-content {
      -ms-flex-order: 2;
          order: 2; } }

.content-hilite-body {
  padding-right: 1rem; }

.content-hilite-image {
  -ms-flex: 0 0 50px;
      flex: 0 0 50px;
  height: 50px;
  border-radius: 75px;
  background-color: #DBD6D0;
  background-image: url("../images/school-hilite-default.png");
  background-size: 50px;
  background-repeat: no-repeat; }
  @media screen and (min-width: 40em) {
    .content-hilite-image {
      -ms-flex-order: 1;
          order: 1;
      -ms-flex: 0 0 150px;
          flex: 0 0 150px;
      height: 150px;
      background-size: 150px;
      margin-right: 2rem; } }
  .content-hilite-image.img-lessontopics {
    background-image: url("../images/school-hilite-lessontopics.png"); }
  .content-hilite-image.img-people {
    background-image: url("../images/school-hilite-people.png"); }
  .content-hilite-image.img-faq {
    background-image: url("../images/school-hilite-faq.png"); }
  .content-hilite-image.img-videos {
    background-image: url("../images/school-hilite-videos.png"); }

@media screen and (min-width: 40em) {
  .content-hilite-primary {
    background-color: #FFFAF5;
    border: solid 1px #DBD6D0;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
    padding: 0; } }

@media screen and (min-width: 40em) {
  .content-hilite-primary .content-hilite-content {
    padding-top: 2rem;
    padding-bottom: 2rem; } }

@media screen and (min-width: 40em) {
  .content-hilite-primary .content-hilite-body {
    font-size: 106.25%; } }

@media screen and (min-width: 40em) {
  .content-hilite-primary .content-hilite-footer {
    padding-top: 1rem; } }

@media screen and (min-width: 40em) {
  .content-hilite-primary .content-hilite-image {
    -ms-flex: 0 0 160px;
        flex: 0 0 160px;
    height: auto;
    background-size: 160px;
    border-radius: 0; }
    .content-hilite-primary .content-hilite-image.img-lessontopics {
      background-image: url("../images/school-hilite-lessontopics-primary.png"); }
    .content-hilite-primary .content-hilite-image.img-people {
      background-image: url("../images/school-hilite-people-primary.png"); }
    .content-hilite-primary .content-hilite-image.img-faq {
      background-image: url("../images/school-hilite-faq-primary.png"); }
    .content-hilite-primary .content-hilite-image.img-videos {
      background-image: url("../images/school-hilite-videos-primary.png"); } }

.topic-blurb {
  padding-top: 0.5rem;
  padding-bottom: 2rem;
  border-bottom: solid 1px #DBD6D0;
  margin-bottom: 2rem; }

.topic-blurb-header {
  padding-bottom: 1rem; }

@media screen and (min-width: 40em) {
  .topic-blurb-body {
    display: -ms-flexbox;
    display: flex; } }

.topic-blurb-image {
  margin-bottom: 1rem;
  max-width: 200px; }
  @media screen and (min-width: 40em) {
    .topic-blurb-image {
      -ms-flex: 0 0 150px;
          flex: 0 0 150px;
      height: 150px;
      margin-right: 2rem; } }

@media screen and (min-width: 40em) {
  .topic-blurb-text {
    -ms-flex: 1 1 auto;
        flex: 1 1 auto; } }

.topic-blurb-footer {
  padding-bottom: 0.5rem; }

/*  Miscellaneous Utilities
--------------------------------------*/
.d-block {
  display: block; }

.d-inline {
  display: inline; }

.d-inline-block {
  display: inline-block; }

.d-flex {
  display: -ms-flexbox;
  display: flex; }

.d-none {
  display: none; }

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

.img-fluid-mw150 {
  width: 150px; }

.img-fluid-mw250 {
  width: 250px; }

.img-fluid-mw325 {
  width: 325px; }

.img-fluid-mw450 {
  width: 450px; }

@media screen and (max-width: 47.9375em) {
  .img-fluid-sm-mw325 {
    max-width: 325px; } }

@media screen and (min-width: 40em) and (max-width: 47.9375em) {
  .img-fluid-md-mw50 {
    max-width: 50%; } }

@media screen and (min-width: 48em) and (max-width: 54.9375em) {
  .img-fluid-md-mw50 {
    max-width: 50%; } }

@media screen and (min-width: 64em) {
  .img-fluid-lg-mw50 {
    max-width: 50%; } }

.flex-v {
  -ms-flex-direction: column;
      flex-direction: column; }

.flex-fixed {
  -ms-flex-positive: 0;
      flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0; }

.flex-mw-150 {
  -ms-flex-preferred-size: 150px;
      flex-basis: 150px; }

.flex-fluid {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto; }

.flex-header {
  -ms-flex: 0;
      flex: 0; }

.flex-body {
  -ms-flex: 1;
      flex: 1; }

.flex-footer {
  -ms-flex: 0;
      flex: 0; }

.border-light {
  border: solid 1px rgba(254, 254, 254, 0.5); }

.border-dark {
  border: solid 1px rgba(49, 46, 43, 0.25); }

.border-top-light {
  border-top: solid 1px rgba(254, 254, 254, 0.5); }

.border-top-dark {
  border-top: solid 1px rgba(49, 46, 43, 0.25); }

.border-bottom-light {
  border-bottom: solid 1px rgba(254, 254, 254, 0.5); }

.border-bottom-dark {
  border-bottom: solid 1px rgba(49, 46, 43, 0.25); }

.border-left-light {
  border-left: solid 1px rgba(254, 254, 254, 0.5); }

.border-left-dark {
  border-left: solid 1px rgba(49, 46, 43, 0.25); }

.border-right-light {
  border-right: solid 1px rgba(254, 254, 254, 0.5); }

.border-right-dark {
  border-right: solid 1px rgba(49, 46, 43, 0.25); }

.row-padded {
  padding-left: 10px;
  padding-right: 10px; }
  @media screen and (min-width: 40em) {
    .row-padded {
      padding-left: 15px;
      padding-right: 15px; } }

.lines {
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  padding: 1em; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0; }

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto; }

.invisible {
  visibility: hidden !important; }

#skippy,
.skiplink-text {
  color: #fefefe; }

:target:before {
  content: "";
  display: block;
  height: 85px;
  /* fixed header height*/
  margin: -85px 0 0;
  /* negative fixed header height */ }

.breakable-word {
  word-break: break-word; }

@media screen and (min-width: 40em) {
  .text-md-right {
    text-align: right; } }

@media screen and (min-width: 64em) {
  .text-lg-right {
    text-align: right; } }

@media screen and (min-width: 40em) {
  .text-md-left {
    text-align: left; } }

@media screen and (min-width: 64em) {
  .text-lg-left {
    text-align: left; } }

.text-nowrap {
  white-space: nowrap; }

.pointer-back::before,
.pointer-fwd::after {
  display: inline-block;
  font-family: "giza-project-icons";
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  font-size: inherit !important;
  line-height: 1 !important;
  position: relative;
  padding-left: 0.1em;
  padding-right: 0.1em;
  top: 0.17em; }

.pointer-back::before {
  content: "\61"; }

.pointer-fwd::after {
  content: "\62"; }

.top-banner {
  height: 29px;
  background-color: #FAF4CA;
  color: #312E2B;
  text-align: center;
  font-size: 13px;
  font-weight: bold;
  padding: 5px; }

#timeline-embed .tl-timenav-slider {
  background-color: #f0eae4; }

#timeline-embed .tl-timemarker .tl-timemarker-content-container {
  background-color: #f3eee9 !important;
  border: 1px solid #dbd6cf !important; }
  #timeline-embed .tl-timemarker .tl-timemarker-content-container :hover {
    background-color: white !important; }

#timeline-embed .tl-timemarker-content-container .tl-timemarker-content-container-small :hover {
  border: 1px solid #6b625c !important; }

#timeline-embed .tl-timemarker-active .tl-timemarker-content-container {
  background-color: white !important; }

#timeline-embed .tl-timemarker .tl-timemarker-content-container .tl-timemarker-content .tl-timemarker-text h2.tl-headline,
#timeline-embed .tl-timemarker .tl-timemarker-content-container .tl-timemarker-content .tl-timemarker-text h2.tl-headline p {
  color: #6b625c !important; }

#timeline-embed .tl-slide-content {
  max-width: 1200px !important; }

#timeline-embed #timeline-embed {
  background-color: #fffaf5 !important; }

#timeline-embed .tl-timemarker.tl-timemarker-active .tl-timemarker-line-left {
  border: solid 1.5px #a51b30 !important;
  padding-top: 20px !important; }

#timeline-embed .tl-timenav-slider {
  box-shadow: inset 0 1px 0 0 rgba(107, 98, 92, 0.5), inset 0 1px 6px 0 rgba(0, 0, 0, 0.2) !important; }

#timeline-embed .tl-timeaxis-content-container {
  background-color: #fffaf5 !important;
  padding-top: 5px !important; }

#timeline-embed .tl-text-content-container .tl-headline {
  color: #731422 !important;
  font-size: 24px !important;
  font-weight: 500 !important; }

#timeline-embed .tl-text-content-container .tl-text-content p {
  color: #312e2b; }

#timeline-embed .tl-headline-date {
  color: #6b625c !important;
  font-size: 16px !important;
  padding-top: 20px !important; }

#timeline-embed .tl-media .tl-media-content-container .tl-media-content img {
  padding-top: 20px !important; }

#timeline-embed .tl-slidenav-content-container {
  opacity: 0.6 !important; }
  #timeline-embed .tl-slidenav-content-container * {
    color: #6b625c !important;
    line-height: 19px !important;
    text-shadow: none !important;
    opacity: 1 !important;
    width: 120px !important; }

#timeline-embed .tl-slidenav-title, #timeline-embed .tl-slidenav-description {
  font-size: 12px !important; }

#timeline-embed .tl-slidenav-description {
  font-weight: bold !important; }

#timeline-embed .tl-slidenav-icon {
  font-family: "giza-project-icons" !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  position: relative !important;
  right: 18px !important; }

#timeline-embed .tl-slidenav-next {
  text-align: right !important;
  right: 140px !important; }

#timeline-embed .tl-slidenav-next .tl-slidenav-icon:before {
  content: "\62" !important; }

#timeline-embed .tl-slidenav-previous {
  text-align: left !important; }

#timeline-embed .tl-slidenav-previous .tl-slidenav-icon:before {
  content: "\61" !important; }

#timeline-embed .tl-slidenav-icon:before {
  font-size: 100px !important; }

#timeline-embed .tl-timemarker-active .tl-timemarker-line-left:after {
  background-color: #a51b30 !important; }

#timeline-embed .tl-timemarker .tl-timemarker-line-left:after, #timeline-embed .tl-timemarker .tl-timemarker-line-right:after {
  height: 8px !important;
  width: 8px !important;
  bottom: -1px !important;
  background-color: rgba(0, 0, 0, 0.15) !important; }

#timeline-embed .tl-caption {
  font-size: 12px !important;
  line-height: 12px !important;
  width: 90% !important; }

#timeline-embed .tl-media-content img {
  max-height: 375px !important; }

@media screen and (max-width: 667px) {
  #timeline-embed .tl-slidenav-next {
    right: 80px !important; }
  #timeline-embed .tl-media-content img {
    max-height: 240px !important; }
  #timeline-embed .tl-media-content-container {
    padding-bottom: 40px !important; }
  #timeline-embed .tl-slidenav-icon:before {
    font-size: 50px !important; } }

.gizaviewer {
  width: 100%;
  margin: 0 auto;
  padding: 10px;
  height: 70vh;
}


/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcm93LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19ndXR0ZXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NvbHVtbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLW1lbnUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXgtdmlkZW8uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZWRpYS1vYmplY3Quc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29yYml0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wcm9ncmVzcy1iYXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3NsaWRlci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3RpY2t5LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N3aXRjaC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aHVtYm5haWwuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9vbHRpcC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxvYXQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL19zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3V0aWwvX2tleWZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NsaWRlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdXRpbC9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19mYWRlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fem9vbS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdXRpbC9fYW5pbWF0aW9uLnNjc3MiLCJjb21wb25lbnRzL19mdW5jdGlvbnMuc2NzcyIsImNvbXBvbmVudHMvX21peGlucy5zY3NzIiwiY29tcG9uZW50cy9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay5zY3NzIiwiY29tcG9uZW50cy92ZW5kb3JzL19qY2Yuc2NzcyIsImNvbXBvbmVudHMvX2ZvbnRhc3RpYy5zY3NzIiwiY29tcG9uZW50cy9fdHlwb2dyYXBoeS5zY3NzIiwiY29tcG9uZW50cy9fc3BhY2Vycy5zY3NzIiwiY29tcG9uZW50cy9fZm9ybXMuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvX21lbnUuc2NzcyIsImNvbXBvbmVudHMvX21vZGFsLnNjc3MiLCJjb21wb25lbnRzL19uYXZiYXIuc2NzcyIsImNvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9faGVhZGVycy5zY3NzIiwiY29tcG9uZW50cy9fZmVhdHVyZS1pdGVtcy5zY3NzIiwiY29tcG9uZW50cy9fbGlicmFyeS5zY3NzIiwiY29tcG9uZW50cy9faG9tZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9pbmNsdWRlLW1lZGlhL2Rpc3QvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImNvbXBvbmVudHMvX215Z2l6YS5zY3NzIiwiY29tcG9uZW50cy9fc2VhcmNoLnNjc3MiLCJjb21wb25lbnRzL19zY2hvb2wuc2NzcyIsImNvbXBvbmVudHMvX3V0aWxpdGllcy1taXNjLnNjc3MiLCJjb21wb25lbnRzL190aW1lbGluZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ29MakI7Ozs7OztLQU1LO0FDMUxMOzs7OztHQUtHO0FDK01ELDRFQUE0RTtBQUU1RTs7OztLQUlHO0FBRUg7RUFDRSx3QkFBd0I7RUFBRSxPQUFPO0VBQ2pDLDJCQUEyQjtFQUFFLE9BQU87RUFDcEMsK0JBQStCO0VBQUUsT0FBTyxFQUN6Qzs7QUFFRDs7S0FFRztBQUVIO0VBQ0UsVUFBVSxFQUNYOztBQUVEO2tGQUNnRjtBQUVoRjs7Ozs7S0FLRztBQUVIOzs7Ozs7Ozs7Ozs7O0VBYUUsZUFBZSxFQUNoQjs7QUFFRDs7O0tBR0c7QUFFSDs7OztFQUlFLHNCQUFzQjtFQUFFLE9BQU87RUFDL0IseUJBQXlCO0VBQUUsT0FBTyxFQUNuQzs7QUFFRDs7O0tBR0c7QUFFSDtFQUNFLGNBQWM7RUFDZCxVQUFVLEVBQ1g7O0FBRUQ7OztLQUdHO0FINU1MOztFR2dOSSxjQUFjLEVBQ2Y7O0FBRUQ7a0ZBQ2dGO0FBRWhGOztLQUVHO0FBRUg7RUFDRSw4QkFBOEIsRUFDL0I7O0FBRUQ7OztLQUdHO0FBRUg7O0VBRUUsV0FBVyxFQUNaOztBQUVEO2tGQUNnRjtBQUVoRjs7S0FFRztBQUVIO0VBQ0UsMEJBQTBCLEVBQzNCOztBQUVEOztLQUVHO0FBRUg7O0VBRUUsa0JBQWtCLEVBQ25COztBQUVEOztLQUVHO0FBRUg7RUFDRSxtQkFBbUIsRUFDcEI7O0FBRUQ7OztLQUdHO0FBRUg7RUFDRSxlQUFlO0VBQ2YsaUJBQWlCLEVBQ2xCOztBQUVEOztLQUVHO0FBRUg7RUFDRSxpQkFBaUI7RUFDakIsWUFBWSxFQUNiOztBQUVEOztLQUVHO0FBRUg7RUFDRSxl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LFdBSG1CLEVQbUZkOztBQU1IO0VPNURKLHVCRGJzQixFTjJFakI7O0FBcEJEO0VLdEVKLGlCQ2VzQixFTnlEakI7O0FBSUM7RU8zRUosbUJBQW1CO0VBQ25CLGdCQUhtQixFUCtFZDs7QUFFRDtFTy9FSixtQkFBbUI7RUFDbkIsaUJBSG1CLEVQbUZkOztBQU1IO0VPNURKLGlCRGJzQixFTjJFakI7O0FBcEJEO0VLdEVKLGlCQ2VzQixFTnlEakI7O0FBSUM7RU8zRUosbUJBQW1CO0VBQ25CLGdCQUhtQixFUCtFZDs7QUFFRDtFTy9FSixtQkFBbUI7RUFDbkIsaUJBSG1CLEVQbUZkOztBQU1IO0VPNURKLHVCRGJzQixFTjJFakI7O0FBcEJEO0VLdEVKLFdDZXNCLEVOeURqQjs7QUFJQztFTzNFSixtQkFBbUI7RUFDbkIsVUFIbUIsRVArRWQ7O0FBRUQ7RU8vRUosbUJBQW1CO0VBQ25CLFdBSG1CLEVQbUZkOztBQU1IO0VPNURKLHVCRGJzQixFTjJFakI7O0FBcEJEO0VLdEVKLGlCQ2VzQixFTnlEakI7O0FBSUM7RU8zRUosbUJBQW1CO0VBQ25CLGdCQUhtQixFUCtFZDs7QUFFRDtFTy9FSixtQkFBbUI7RUFDbkIsaUJBSG1CLEVQbUZkOztBQU1IO0VPNURKLGlCRGJzQixFTjJFakI7O0FBcEJEO0VLdEVKLGlCQ2VzQixFTnlEakI7O0FBSUM7RU8zRUosbUJBQW1CO0VBQ25CLGdCQUhtQixFUCtFZDs7QUFFRDtFTy9FSixtQkFBbUI7RUFDbkIsaUJBSG1CLEVQbUZkOztBQU1IO0VPNURKLHVCRGJzQixFTjJFakI7O0FBcEJEO0VLdEVKLFdDZXNCLEVOeURqQjs7QUFJQztFTzNFSixtQkFBbUI7RUFDbkIsVUFIbUIsRVArRWQ7O0FBRUQ7RU8vRUosbUJBQW1CO0VBQ25CLFdBSG1CLEVQbUZkOztBQU1IO0VPNURKLHVCRGJzQixFTjJFakI7O0FBcEJEO0VLdEVKLGlCQ2VzQixFTnlEakI7O0FBSUM7RU8zRUosbUJBQW1CO0VBQ25CLGdCQUhtQixFUCtFZDs7QUFFRDtFTy9FSixtQkFBbUI7RUFDbkIsaUJBSG1CLEVQbUZkOztBQU1IO0VPNURKLGlCRGJzQixFTjJFakI7O0FBcEJEO0VLdEVKLGlCQ2VzQixFTnlEakI7O0FBSUM7RU8zRUosbUJBQW1CO0VBQ25CLGdCQUhtQixFUCtFZDs7QUFFRDtFTy9FSixtQkFBbUI7RUFDbkIsaUJBSG1CLEVQbUZkOztBQU1IO0VPNURKLHVCRGJzQixFTjJFakI7O0FBcEJEO0VLdEVKLFlDZXNCLEVOeURqQjs7QUFnQkQ7RU81REosdUJEYnNCLEVOMkVqQjs7QUFLRDtFUXZGRixZQUFpQjtFQUNqQixZVjhFdUQsRVU3Q3hEO0VScURHO0lRL0RBLFlBQVksRUFDYjtFUjhEQztJUTNEQSxZQUFZLEVBQ2I7RVIwREM7SVF2REEsWVYrQ3FELEVVOUN0RDs7QVJzREM7RVF2RkYsV0FBaUI7RUFDakIsWVY4RXVELEVVN0N4RDtFUnFERztJUS9EQSxZQUFZLEVBQ2I7RVI4REM7SVEzREEsWUFBWSxFQUNiO0VSMERDO0lRdkRBLFlWK0NxRCxFVTlDdEQ7O0FSc0RDO0VRdkZGLGlCQUFpQjtFQUNqQixZVjhFdUQsRVU3Q3hEO0VScURHO0lRL0RBLFlBQVksRUFDYjtFUjhEQztJUTNEQSxZQUFZLEVBQ2I7RVIwREM7SVF2REEsWVYrQ3FELEVVOUN0RDs7QVJzREM7RVF2RkYsV0FBaUI7RUFDakIsWVY4RXVELEVVN0N4RDtFUnFERztJUS9EQSxZQUFZLEVBQ2I7RVI4REM7SVEzREEsWUFBWSxFQUNiO0VSMERDO0lRdkRBLFlWK0NxRCxFVTlDdEQ7O0FSc0RDO0VRdkZGLFdBQWlCO0VBQ2pCLFlWOEV1RCxFVTdDeEQ7RVJxREc7SVEvREEsWUFBWSxFQUNiO0VSOERDO0lRM0RBLFlBQVksRUFDYjtFUjBEQztJUXZEQSxZVitDcUQsRVU5Q3REOztBUnNEQztFUXZGRixpQkFBaUI7RUFDakIsWVY4RXVELEVVN0N4RDtFUnFERztJUS9EQSxZQUFZLEVBQ2I7RVI4REM7SVEzREEsWUFBWSxFQUNiO0VSMERDO0lRdkRBLFlWK0NxRCxFVTlDdEQ7O0FSNEREO0VHekdGLGdCQUFnQjtFQUNoQixpQkFBaUIsRUh5R21COztBQURsQztFQUlJLGVBQWU7RUFDZixnQkFBZ0IsRUFDakI7O0FBR0g7RUFDRSxlQUFlO0VBQ2YsZ0JBQWdCLEVBQ2pCOztBQUVEO0VHOUdGLHVCQURpQjtFQUVqQix3QkFGaUIsRUhrSDhCOztBQUk3QztFT2pIQSxrQkFBa0I7RUFDbEIsbUJBQW1CLEVQa0hsQjtFQUZEO0lPcEhFLFlBQVk7SUFDWixZQUFZLEVBQ2I7O0FQdUhEOzs7RU81R0YsaUJBQWlCO0VBQ2pCLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsWUFBWSxFUDJHVDs7QUlJRDtFSi9ERTtJS3RFSixnQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUG1GZDtFQU1IO0lPNURKLGdCRGhCc0IsRU44RWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHNCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosV0Nlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLFVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLFdBSG1CLEVQbUZkO0VBTUg7SU81REosdUJEYnNCLEVOMkVqQjtFQXBCRDtJS3RFSixpQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUCtFZDtFQUVEO0lPL0VKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVBtRmQ7RUFNSDtJTzVESixpQkRic0IsRU4yRWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHVCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosV0Nlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLFVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLFdBSG1CLEVQbUZkO0VBTUg7SU81REosdUJEYnNCLEVOMkVqQjtFQXBCRDtJS3RFSixpQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUCtFZDtFQUVEO0lPL0VKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVBtRmQ7RUFNSDtJTzVESixpQkRic0IsRU4yRWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHVCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosV0Nlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLFVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLFdBSG1CLEVQbUZkO0VBTUg7SU81REosdUJEYnNCLEVOMkVqQjtFQXBCRDtJS3RFSixpQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUCtFZDtFQUVEO0lPL0VKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVBtRmQ7RUFNSDtJTzVESixpQkRic0IsRU4yRWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHVCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosWUNlc0IsRU55RGpCO0VBZ0JEO0lPNURKLHVCRGJzQixFTjJFakI7RUFLRDtJUXZGRixZQUFpQjtJQUNqQixZVjhFdUQsRVU3Q3hEO0lScURHO01RL0RBLFlBQVksRUFDYjtJUjhEQztNUTNEQSxZQUFZLEVBQ2I7SVIwREM7TVF2REEsWVYrQ3FELEVVOUN0RDtFUnNEQztJUXZGRixXQUFpQjtJQUNqQixZVjhFdUQsRVU3Q3hEO0lScURHO01RL0RBLFlBQVksRUFDYjtJUjhEQztNUTNEQSxZQUFZLEVBQ2I7SVIwREM7TVF2REEsWVYrQ3FELEVVOUN0RDtFUnNEQztJUXZGRixpQkFBaUI7SUFDakIsWVY4RXVELEVVN0N4RDtJUnFERztNUS9EQSxZQUFZLEVBQ2I7SVI4REM7TVEzREEsWUFBWSxFQUNiO0lSMERDO01RdkRBLFlWK0NxRCxFVTlDdEQ7RVJzREM7SVF2RkYsV0FBaUI7SUFDakIsWVY4RXVELEVVN0N4RDtJUnFERztNUS9EQSxZQUFZLEVBQ2I7SVI4REM7TVEzREEsWUFBWSxFQUNiO0lSMERDO01RdkRBLFlWK0NxRCxFVTlDdEQ7RVJzREM7SVF2RkYsV0FBaUI7SUFDakIsWVY4RXVELEVVN0N4RDtJUnFERztNUS9EQSxZQUFZLEVBQ2I7SVI4REM7TVEzREEsWUFBWSxFQUNiO0lSMERDO01RdkRBLFlWK0NxRCxFVTlDdEQ7RVJzREM7SVF2RkYsaUJBQWlCO0lBQ2pCLFlWOEV1RCxFVTdDeEQ7SVJxREc7TVEvREEsWUFBWSxFQUNiO0lSOERDO01RM0RBLFlBQVksRUFDYjtJUjBEQztNUXZEQSxZVitDcUQsRVU5Q3REO0VSNEREO0lHekdGLGdCQUFnQjtJQUNoQixpQkFBaUIsRUh5R21CO0VBRGxDO0lBSUksZUFBZTtJQUNmLGdCQUFnQixFQUNqQjtFQUdIO0lBQ0UsZUFBZTtJQUNmLGdCQUFnQixFQUNqQjtFQUVEO0lHOUdGLHVCQURpQjtJQUVqQix3QkFGaUIsRUhrSDhCO0VBSTdDO0lPakhBLGtCQUFrQjtJQUNsQixtQkFBbUIsRVBrSGxCO0lBRkQ7TU9wSEUsWUFBWTtNQUNaLFlBQVksRUFDYjtFUHVIRDs7O0lPNUdGLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLFlBQVksRVAyR1QsRUFBQTs7QUlJRDtFSi9ERTtJS3RFSixnQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUG1GZDtFQU1IO0lPNURKLGdCRGhCc0IsRU44RWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHNCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosV0Nlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLFVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLFdBSG1CLEVQbUZkO0VBTUg7SU81REosdUJEYnNCLEVOMkVqQjtFQXBCRDtJS3RFSixpQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUCtFZDtFQUVEO0lPL0VKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVBtRmQ7RUFNSDtJTzVESixpQkRic0IsRU4yRWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHVCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosV0Nlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLFVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLFdBSG1CLEVQbUZkO0VBTUg7SU81REosdUJEYnNCLEVOMkVqQjtFQXBCRDtJS3RFSixpQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUCtFZDtFQUVEO0lPL0VKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVBtRmQ7RUFNSDtJTzVESixpQkRic0IsRU4yRWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHVCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosV0Nlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLFVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLFdBSG1CLEVQbUZkO0VBTUg7SU81REosdUJEYnNCLEVOMkVqQjtFQXBCRDtJS3RFSixpQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUCtFZDtFQUVEO0lPL0VKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVBtRmQ7RUFNSDtJTzVESixpQkRic0IsRU4yRWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHVCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosWUNlc0IsRU55RGpCO0VBZ0JEO0lPNURKLHVCRGJzQixFTjJFakI7RUFLRDtJUXZGRixZQUFpQjtJQUNqQixZVjhFdUQsRVU3Q3hEO0lScURHO01RL0RBLFlBQVksRUFDYjtJUjhEQztNUTNEQSxZQUFZLEVBQ2I7SVIwREM7TVF2REEsWVYrQ3FELEVVOUN0RDtFUnNEQztJUXZGRixXQUFpQjtJQUNqQixZVjhFdUQsRVU3Q3hEO0lScURHO01RL0RBLFlBQVksRUFDYjtJUjhEQztNUTNEQSxZQUFZLEVBQ2I7SVIwREM7TVF2REEsWVYrQ3FELEVVOUN0RDtFUnNEQztJUXZGRixpQkFBaUI7SUFDakIsWVY4RXVELEVVN0N4RDtJUnFERztNUS9EQSxZQUFZLEVBQ2I7SVI4REM7TVEzREEsWUFBWSxFQUNiO0lSMERDO01RdkRBLFlWK0NxRCxFVTlDdEQ7RVJzREM7SVF2RkYsV0FBaUI7SUFDakIsWVY4RXVELEVVN0N4RDtJUnFERztNUS9EQSxZQUFZLEVBQ2I7SVI4REM7TVEzREEsWUFBWSxFQUNiO0lSMERDO01RdkRBLFlWK0NxRCxFVTlDdEQ7RVJzREM7SVF2RkYsV0FBaUI7SUFDakIsWVY4RXVELEVVN0N4RDtJUnFERztNUS9EQSxZQUFZLEVBQ2I7SVI4REM7TVEzREEsWUFBWSxFQUNiO0lSMERDO01RdkRBLFlWK0NxRCxFVTlDdEQ7RVJzREM7SVF2RkYsaUJBQWlCO0lBQ2pCLFlWOEV1RCxFVTdDeEQ7SVJxREc7TVEvREEsWUFBWSxFQUNiO0lSOERDO01RM0RBLFlBQVksRUFDYjtJUjBEQztNUXZEQSxZVitDcUQsRVU5Q3REO0VSNEREO0lHekdGLGdCQUFnQjtJQUNoQixpQkFBaUIsRUh5R21CO0VBRGxDO0lBSUksZUFBZTtJQUNmLGdCQUFnQixFQUNqQjtFQUdIO0lBQ0UsZUFBZTtJQUNmLGdCQUFnQixFQUNqQjtFQUVEO0lHOUdGLHVCQURpQjtJQUVqQix3QkFGaUIsRUhrSDhCO0VBSTdDO0lPakhBLGtCQUFrQjtJQUNsQixtQkFBbUIsRVBrSGxCO0lBRkQ7TU9wSEUsWUFBWTtNQUNaLFlBQVksRUFDYjtFUHVIRDs7O0lPNUdGLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLFlBQVksRVAyR1QsRUFBQTs7QUlJRDtFSi9ERTtJS3RFSixnQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUG1GZDtFQU1IO0lPNURKLGdCRGhCc0IsRU44RWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHNCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosV0Nlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLFVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLFdBSG1CLEVQbUZkO0VBTUg7SU81REosdUJEYnNCLEVOMkVqQjtFQXBCRDtJS3RFSixpQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUCtFZDtFQUVEO0lPL0VKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVBtRmQ7RUFNSDtJTzVESixpQkRic0IsRU4yRWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHVCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosV0Nlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLFVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLFdBSG1CLEVQbUZkO0VBTUg7SU81REosdUJEYnNCLEVOMkVqQjtFQXBCRDtJS3RFSixpQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUCtFZDtFQUVEO0lPL0VKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVBtRmQ7RUFNSDtJTzVESixpQkRic0IsRU4yRWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHVCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosV0Nlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLFVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLFdBSG1CLEVQbUZkO0VBTUg7SU81REosdUJEYnNCLEVOMkVqQjtFQXBCRDtJS3RFSixpQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUCtFZDtFQUVEO0lPL0VKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVBtRmQ7RUFNSDtJTzVESixpQkRic0IsRU4yRWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHVCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosWUNlc0IsRU55RGpCO0VBZ0JEO0lPNURKLHVCRGJzQixFTjJFakI7RUFLRDtJUXZGRixZQUFpQjtJQUNqQixZVjhFdUQsRVU3Q3hEO0lScURHO01RL0RBLFlBQVksRUFDYjtJUjhEQztNUTNEQSxZQUFZLEVBQ2I7SVIwREM7TVF2REEsWVYrQ3FELEVVOUN0RDtFUnNEQztJUXZGRixXQUFpQjtJQUNqQixZVjhFdUQsRVU3Q3hEO0lScURHO01RL0RBLFlBQVksRUFDYjtJUjhEQztNUTNEQSxZQUFZLEVBQ2I7SVIwREM7TVF2REEsWVYrQ3FELEVVOUN0RDtFUnNEQztJUXZGRixpQkFBaUI7SUFDakIsWVY4RXVELEVVN0N4RDtJUnFERztNUS9EQSxZQUFZLEVBQ2I7SVI4REM7TVEzREEsWUFBWSxFQUNiO0lSMERDO01RdkRBLFlWK0NxRCxFVTlDdEQ7RVJzREM7SVF2RkYsV0FBaUI7SUFDakIsWVY4RXVELEVVN0N4RDtJUnFERztNUS9EQSxZQUFZLEVBQ2I7SVI4REM7TVEzREEsWUFBWSxFQUNiO0lSMERDO01RdkRBLFlWK0NxRCxFVTlDdEQ7RVJzREM7SVF2RkYsV0FBaUI7SUFDakIsWVY4RXVELEVVN0N4RDtJUnFERztNUS9EQSxZQUFZLEVBQ2I7SVI4REM7TVEzREEsWUFBWSxFQUNiO0lSMERDO01RdkRBLFlWK0NxRCxFVTlDdEQ7RVJzREM7SVF2RkYsaUJBQWlCO0lBQ2pCLFlWOEV1RCxFVTdDeEQ7SVJxREc7TVEvREEsWUFBWSxFQUNiO0lSOERDO01RM0RBLFlBQVksRUFDYjtJUjBEQztNUXZEQSxZVitDcUQsRVU5Q3REO0VSNEREO0lHekdGLGdCQUFnQjtJQUNoQixpQkFBaUIsRUh5R21CO0VBRGxDO0lBSUksZUFBZTtJQUNmLGdCQUFnQixFQUNqQjtFQUdIO0lBQ0UsZUFBZTtJQUNmLGdCQUFnQixFQUNqQjtFQUVEO0lHOUdGLHdCQURpQjtJQUVqQix5QkFGaUIsRUhrSDhCO0VBSTdDO0lPakhBLGtCQUFrQjtJQUNsQixtQkFBbUIsRVBrSGxCO0lBRkQ7TU9wSEUsWUFBWTtNQUNaLFlBQVksRUFDYjtFUHVIRDs7O0lPNUdGLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLFlBQVksRVAyR1QsRUFBQTs7QUlJRDtFSi9ERTtJS3RFSixnQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUG1GZDtFQU1IO0lPNURKLGdCRGhCc0IsRU44RWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHNCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosV0Nlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLFVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLFdBSG1CLEVQbUZkO0VBTUg7SU81REosdUJEYnNCLEVOMkVqQjtFQXBCRDtJS3RFSixpQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUCtFZDtFQUVEO0lPL0VKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVBtRmQ7RUFNSDtJTzVESixpQkRic0IsRU4yRWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHVCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosV0Nlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLFVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLFdBSG1CLEVQbUZkO0VBTUg7SU81REosdUJEYnNCLEVOMkVqQjtFQXBCRDtJS3RFSixpQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUCtFZDtFQUVEO0lPL0VKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVBtRmQ7RUFNSDtJTzVESixpQkRic0IsRU4yRWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHVCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosV0Nlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLFVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLFdBSG1CLEVQbUZkO0VBTUg7SU81REosdUJEYnNCLEVOMkVqQjtFQXBCRDtJS3RFSixpQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUCtFZDtFQUVEO0lPL0VKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVBtRmQ7RUFNSDtJTzVESixpQkRic0IsRU4yRWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHVCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosWUNlc0IsRU55RGpCO0VBZ0JEO0lPNURKLHVCRGJzQixFTjJFakI7RUFLRDtJUXZGRixZQUFpQjtJQUNqQixZVjhFdUQsRVU3Q3hEO0lScURHO01RL0RBLFlBQVksRUFDYjtJUjhEQztNUTNEQSxZQUFZLEVBQ2I7SVIwREM7TVF2REEsWVYrQ3FELEVVOUN0RDtFUnNEQztJUXZGRixXQUFpQjtJQUNqQixZVjhFdUQsRVU3Q3hEO0lScURHO01RL0RBLFlBQVksRUFDYjtJUjhEQztNUTNEQSxZQUFZLEVBQ2I7SVIwREM7TVF2REEsWVYrQ3FELEVVOUN0RDtFUnNEQztJUXZGRixpQkFBaUI7SUFDakIsWVY4RXVELEVVN0N4RDtJUnFERztNUS9EQSxZQUFZLEVBQ2I7SVI4REM7TVEzREEsWUFBWSxFQUNiO0lSMERDO01RdkRBLFlWK0NxRCxFVTlDdEQ7RVJzREM7SVF2RkYsV0FBaUI7SUFDakIsWVY4RXVELEVVN0N4RDtJUnFERztNUS9EQSxZQUFZLEVBQ2I7SVI4REM7TVEzREEsWUFBWSxFQUNiO0lSMERDO01RdkRBLFlWK0NxRCxFVTlDdEQ7RVJzREM7SVF2RkYsV0FBaUI7SUFDakIsWVY4RXVELEVVN0N4RDtJUnFERztNUS9EQSxZQUFZLEVBQ2I7SVI4REM7TVEzREEsWUFBWSxFQUNiO0lSMERDO01RdkRBLFlWK0NxRCxFVTlDdEQ7RVJzREM7SVF2RkYsaUJBQWlCO0lBQ2pCLFlWOEV1RCxFVTdDeEQ7SVJxREc7TVEvREEsWUFBWSxFQUNiO0lSOERDO01RM0RBLFlBQVksRUFDYjtJUjBEQztNUXZEQSxZVitDcUQsRVU5Q3REO0VSNEREO0lHekdGLGdCQUFnQjtJQUNoQixpQkFBaUIsRUh5R21CO0VBRGxDO0lBSUksZUFBZTtJQUNmLGdCQUFnQixFQUNqQjtFQUdIO0lBQ0UsZUFBZTtJQUNmLGdCQUFnQixFQUNqQjtFQUVEO0lHOUdGLHdCQURpQjtJQUVqQix5QkFGaUIsRUhrSDhCO0VBSTdDO0lPakhBLGtCQUFrQjtJQUNsQixtQkFBbUIsRVBrSGxCO0lBRkQ7TU9wSEUsWUFBWTtNQUNaLFlBQVksRUFDYjtFUHVIRDs7O0lPNUdGLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLFlBQVksRVAyR1QsRUFBQTs7QUlJRDtFSi9ERTtJS3RFSixnQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUG1GZDtFQU1IO0lPNURKLGdCRGhCc0IsRU44RWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHNCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosV0Nlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLFVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLFdBSG1CLEVQbUZkO0VBTUg7SU81REosdUJEYnNCLEVOMkVqQjtFQXBCRDtJS3RFSixpQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUCtFZDtFQUVEO0lPL0VKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVBtRmQ7RUFNSDtJTzVESixpQkRic0IsRU4yRWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHVCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosV0Nlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLFVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLFdBSG1CLEVQbUZkO0VBTUg7SU81REosdUJEYnNCLEVOMkVqQjtFQXBCRDtJS3RFSixpQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUCtFZDtFQUVEO0lPL0VKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVBtRmQ7RUFNSDtJTzVESixpQkRic0IsRU4yRWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHVCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosV0Nlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLFVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLFdBSG1CLEVQbUZkO0VBTUg7SU81REosdUJEYnNCLEVOMkVqQjtFQXBCRDtJS3RFSixpQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUCtFZDtFQUVEO0lPL0VKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVBtRmQ7RUFNSDtJTzVESixpQkRic0IsRU4yRWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHVCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosWUNlc0IsRU55RGpCO0VBZ0JEO0lPNURKLHVCRGJzQixFTjJFakI7RUFLRDtJUXZGRixZQUFpQjtJQUNqQixZVjhFdUQsRVU3Q3hEO0lScURHO01RL0RBLFlBQVksRUFDYjtJUjhEQztNUTNEQSxZQUFZLEVBQ2I7SVIwREM7TVF2REEsWVYrQ3FELEVVOUN0RDtFUnNEQztJUXZGRixXQUFpQjtJQUNqQixZVjhFdUQsRVU3Q3hEO0lScURHO01RL0RBLFlBQVksRUFDYjtJUjhEQztNUTNEQSxZQUFZLEVBQ2I7SVIwREM7TVF2REEsWVYrQ3FELEVVOUN0RDtFUnNEQztJUXZGRixpQkFBaUI7SUFDakIsWVY4RXVELEVVN0N4RDtJUnFERztNUS9EQSxZQUFZLEVBQ2I7SVI4REM7TVEzREEsWUFBWSxFQUNiO0lSMERDO01RdkRBLFlWK0NxRCxFVTlDdEQ7RVJzREM7SVF2RkYsV0FBaUI7SUFDakIsWVY4RXVELEVVN0N4RDtJUnFERztNUS9EQSxZQUFZLEVBQ2I7SVI4REM7TVEzREEsWUFBWSxFQUNiO0lSMERDO01RdkRBLFlWK0NxRCxFVTlDdEQ7RVJzREM7SVF2RkYsV0FBaUI7SUFDakIsWVY4RXVELEVVN0N4RDtJUnFERztNUS9EQSxZQUFZLEVBQ2I7SVI4REM7TVEzREEsWUFBWSxFQUNiO0lSMERDO01RdkRBLFlWK0NxRCxFVTlDdEQ7RVJzREM7SVF2RkYsaUJBQWlCO0lBQ2pCLFlWOEV1RCxFVTdDeEQ7SVJxREc7TVEvREEsWUFBWSxFQUNiO0lSOERDO01RM0RBLFlBQVksRUFDYjtJUjBEQztNUXZEQSxZVitDcUQsRVU5Q3REO0VSNEREO0lHekdGLGdCQUFnQjtJQUNoQixpQkFBaUIsRUh5R21CO0VBRGxDO0lBSUksZUFBZTtJQUNmLGdCQUFnQixFQUNqQjtFQUdIO0lBQ0UsZUFBZTtJQUNmLGdCQUFnQixFQUNqQjtFQUVEO0lHOUdGLHdCQURpQjtJQUVqQix5QkFGaUIsRUhrSDhCO0VBSTdDO0lPakhBLGtCQUFrQjtJQUNsQixtQkFBbUIsRVBrSGxCO0lBRkQ7TU9wSEUsWUFBWTtNQUNaLFlBQVksRUFDYjtFUHVIRDs7O0lPNUdGLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLFlBQVksRVAyR1QsRUFBQTs7QUlJRDtFSi9ERTtJS3RFSixnQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUG1GZDtFQU1IO0lPNURKLGdCRGhCc0IsRU44RWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHNCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosV0Nlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLFVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLFdBSG1CLEVQbUZkO0VBTUg7SU81REosdUJEYnNCLEVOMkVqQjtFQXBCRDtJS3RFSixpQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUCtFZDtFQUVEO0lPL0VKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVBtRmQ7RUFNSDtJTzVESixpQkRic0IsRU4yRWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHVCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosV0Nlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLFVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLFdBSG1CLEVQbUZkO0VBTUg7SU81REosdUJEYnNCLEVOMkVqQjtFQXBCRDtJS3RFSixpQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUCtFZDtFQUVEO0lPL0VKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVBtRmQ7RUFNSDtJTzVESixpQkRic0IsRU4yRWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHVCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosV0Nlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLFVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLFdBSG1CLEVQbUZkO0VBTUg7SU81REosdUJEYnNCLEVOMkVqQjtFQXBCRDtJS3RFSixpQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUCtFZDtFQUVEO0lPL0VKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVBtRmQ7RUFNSDtJTzVESixpQkRic0IsRU4yRWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHVCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosWUNlc0IsRU55RGpCO0VBZ0JEO0lPNURKLHVCRGJzQixFTjJFakI7RUFLRDtJUXZGRixZQUFpQjtJQUNqQixZVjhFdUQsRVU3Q3hEO0lScURHO01RL0RBLFlBQVksRUFDYjtJUjhEQztNUTNEQSxZQUFZLEVBQ2I7SVIwREM7TVF2REEsWVYrQ3FELEVVOUN0RDtFUnNEQztJUXZGRixXQUFpQjtJQUNqQixZVjhFdUQsRVU3Q3hEO0lScURHO01RL0RBLFlBQVksRUFDYjtJUjhEQztNUTNEQSxZQUFZLEVBQ2I7SVIwREM7TVF2REEsWVYrQ3FELEVVOUN0RDtFUnNEQztJUXZGRixpQkFBaUI7SUFDakIsWVY4RXVELEVVN0N4RDtJUnFERztNUS9EQSxZQUFZLEVBQ2I7SVI4REM7TVEzREEsWUFBWSxFQUNiO0lSMERDO01RdkRBLFlWK0NxRCxFVTlDdEQ7RVJzREM7SVF2RkYsV0FBaUI7SUFDakIsWVY4RXVELEVVN0N4RDtJUnFERztNUS9EQSxZQUFZLEVBQ2I7SVI4REM7TVEzREEsWUFBWSxFQUNiO0lSMERDO01RdkRBLFlWK0NxRCxFVTlDdEQ7RVJzREM7SVF2RkYsV0FBaUI7SUFDakIsWVY4RXVELEVVN0N4RDtJUnFERztNUS9EQSxZQUFZLEVBQ2I7SVI4REM7TVEzREEsWUFBWSxFQUNiO0lSMERDO01RdkRBLFlWK0NxRCxFVTlDdEQ7RVJzREM7SVF2RkYsaUJBQWlCO0lBQ2pCLFlWOEV1RCxFVTdDeEQ7SVJxREc7TVEvREEsWUFBWSxFQUNiO0lSOERDO01RM0RBLFlBQVksRUFDYjtJUjBEQztNUXZEQSxZVitDcUQsRVU5Q3REO0VSNEREO0lHekdGLGdCQUFnQjtJQUNoQixpQkFBaUIsRUh5R21CO0VBRGxDO0lBSUksZUFBZTtJQUNmLGdCQUFnQixFQUNqQjtFQUdIO0lBQ0UsZUFBZTtJQUNmLGdCQUFnQixFQUNqQjtFQUVEO0lHOUdGLHdCQURpQjtJQUVqQix5QkFGaUIsRUhrSDhCO0VBSTdDO0lPakhBLGtCQUFrQjtJQUNsQixtQkFBbUIsRVBrSGxCO0lBRkQ7TU9wSEUsWUFBWTtNQUNaLFlBQVksRUFDYjtFUHVIRDs7O0lPNUdGLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLFlBQVksRVAyR1QsRUFBQTs7QUlJRDtFSi9ERTtJS3RFSixnQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUG1GZDtFQU1IO0lPNURKLGdCRGhCc0IsRU44RWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHNCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosV0Nlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLFVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLFdBSG1CLEVQbUZkO0VBTUg7SU81REosdUJEYnNCLEVOMkVqQjtFQXBCRDtJS3RFSixpQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUCtFZDtFQUVEO0lPL0VKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVBtRmQ7RUFNSDtJTzVESixpQkRic0IsRU4yRWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHVCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosV0Nlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLFVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLFdBSG1CLEVQbUZkO0VBTUg7SU81REosdUJEYnNCLEVOMkVqQjtFQXBCRDtJS3RFSixpQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUCtFZDtFQUVEO0lPL0VKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVBtRmQ7RUFNSDtJTzVESixpQkRic0IsRU4yRWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHVCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosV0Nlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLFVBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLFdBSG1CLEVQbUZkO0VBTUg7SU81REosdUJEYnNCLEVOMkVqQjtFQXBCRDtJS3RFSixpQkNlc0IsRU55RGpCO0VBSUM7SU8zRUosbUJBQW1CO0lBQ25CLGdCQUhtQixFUCtFZDtFQUVEO0lPL0VKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVBtRmQ7RUFNSDtJTzVESixpQkRic0IsRU4yRWpCO0VBcEJEO0lLdEVKLGlCQ2VzQixFTnlEakI7RUFJQztJTzNFSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQK0VkO0VBRUQ7SU8vRUosbUJBQW1CO0lBQ25CLGlCQUhtQixFUG1GZDtFQU1IO0lPNURKLHVCRGJzQixFTjJFakI7RUFwQkQ7SUt0RUosWUNlc0IsRU55RGpCO0VBZ0JEO0lPNURKLHVCRGJzQixFTjJFakI7RUFLRDtJUXZGRixZQUFpQjtJQUNqQixZVjhFdUQsRVU3Q3hEO0lScURHO01RL0RBLFlBQVksRUFDYjtJUjhEQztNUTNEQSxZQUFZLEVBQ2I7SVIwREM7TVF2REEsWVYrQ3FELEVVOUN0RDtFUnNEQztJUXZGRixXQUFpQjtJQUNqQixZVjhFdUQsRVU3Q3hEO0lScURHO01RL0RBLFlBQVksRUFDYjtJUjhEQztNUTNEQSxZQUFZLEVBQ2I7SVIwREM7TVF2REEsWVYrQ3FELEVVOUN0RDtFUnNEQztJUXZGRixpQkFBaUI7SUFDakIsWVY4RXVELEVVN0N4RDtJUnFERztNUS9EQSxZQUFZLEVBQ2I7SVI4REM7TVEzREEsWUFBWSxFQUNiO0lSMERDO01RdkRBLFlWK0NxRCxFVTlDdEQ7RVJzREM7SVF2RkYsV0FBaUI7SUFDakIsWVY4RXVELEVVN0N4RDtJUnFERztNUS9EQSxZQUFZLEVBQ2I7SVI4REM7TVEzREEsWUFBWSxFQUNiO0lSMERD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dkJmLHdDQUF3QztFQUcxQyxvQ0FBNEI7VUFBNUIsNEJBQTRCLEVDUjNCOztBSlJIO0VFc0NFLGdDQUZpQjtNQUVqQiw0QkFGaUIsRUVoQmhCOztBSm5CSDtFQWJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsNkJBRmlCO01BRWpCLHlCQUZpQjtFQ3ZCZix3Q0FBd0M7RUFHMUMsb0NBQTRCO1VBQTVCLDRCQUE0QixFQ1IzQjs7QUpQSDtFRXFDRSxnQ0FGaUI7TUFFakIsNEJBRmlCLEVFaEJoQjs7QUpsQkg7RUFkQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDZCQUZpQjtNQUVqQix5QkFGaUI7RUN2QmYsd0NBQXdDO0VBRzFDLG9DQUE0QjtVQUE1Qiw0QkFBNEIsRUNSM0I7O0FKTkg7RUVvQ0UsaUNBRmlCO01BRWpCLDZCQUZpQixFRWhCaEI7O0FKakJIO0VBZkEsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw2QkFGaUI7TUFFakIseUJBRmlCO0VDdkJmLHdDQUF3QztFQUcxQyxvQ0FBNEI7VUFBNUIsNEJBQTRCLEVDUjNCOztBSkxIO0VFbUNFLGlDQUZpQjtNQUVqQiw2QkFGaUIsRUVoQmhCOztBSmRIO0VBbEJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsV0ZoQ2tDO0VLQWxDLDZCQUE2QixFREU1Qjs7QUpGSDtFRWdDRSxXRmhDcUMsRUljcEM7O0FKYkg7RUFuQkEsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixXRi9Ca0M7RUtEbEMsNkJBQTZCLEVERTVCOztBSkRIO0VFK0JFLFdGL0JxQyxFSWFwQzs7QUpWSDtFQXRCQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLCtDSXJDWTtFSnFDWiwwQkFGaUI7TUFFakIsc0JBRmlCO0VLdkJmLHdDQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpFSDtFRTRCRSw0Q0lWc0M7RUNKcEMsV0FBMkIsRUhKNUI7O0FKVEg7RUF2QkEsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiwrQ0lwQ2M7RUpvQ2QsNEJBRmlCO01BRWpCLHdCQUZpQjtFS3ZCZix3Q0FBd0M7RUFDeEMsV0FBMkIsRUhONUI7O0FKR0g7RUUyQkUsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSlJIO0VBeEJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsOENJbkNlO0VKbUNmLDZCQUZpQjtNQUVqQix5QkFGaUI7RUt2QmYsd0NBQXdDO0VBQ3hDLFdBQTJCLEVITjVCOztBSklIO0VFMEJFLDRDSVZzQztFQ0pwQyxXQUEyQixFSEo1Qjs7QUpQSDtFQXpCQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDhDSWxDYTtFSmtDYiwyQkFGaUI7TUFFakIsdUJBRmlCO0VLdkJmLHdDQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpLSDtFRXlCRSw0Q0lWc0M7RUNKcEMsV0FBMkIsRUhKNUI7O0FKTkg7RUExQkEsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiwrQ0lyQ1k7RUpxQ1osNkJBRmlCO01BRWpCLHlCQUZpQjtFS3ZCZix3Q0FBd0M7RUFDeEMsV0FBMkIsRUhONUI7O0FKTUg7RUV3QkUsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSkxIO0VBM0JBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsK0NJcENjO0VKb0NkLDZCQUZpQjtNQUVqQix5QkFGaUI7RUt2QmYsd0NBQXdDO0VBQ3hDLFdBQTJCLEVITjVCOztBSk9IO0VFdUJFLDRDSVZzQztFQ0pwQyxXQUEyQixFSEo1Qjs7QUpKSDtFQTVCQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDRDSVJ3QztFSlF4QywwQkFGaUI7TUFFakIsc0JBRmlCO0VLdkJmLHdDQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QUpRSDtFRXNCRSwrQ0lyQ1k7RUN1QlYsV0FBOEIsRUhKL0I7O0FKSEg7RUE3QkEsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0Q0lSd0M7RUpReEMsNEJBRmlCO01BRWpCLHdCQUZpQjtFS3ZCZix3Q0FBd0M7RUFDeEMsV0FBOEIsRUhOL0I7O0FKU0g7RUVxQkUsK0NJcENjO0VDc0JaLFdBQThCLEVISi9COztBSkZIO0VBOUJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsNENJUndDO0VKUXhDLDZCQUZpQjtNQUVqQix5QkFGaUI7RUt2QmYsd0NBQXdDO0VBQ3hDLFdBQThCLEVITi9COztBSlVIO0VFb0JFLDhDSW5DZTtFQ3FCYixXQUE4QixFSEovQjs7QUpESDtFQS9CQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDRDSVJ3QztFSlF4QywyQkFGaUI7TUFFakIsdUJBRmlCO0VLdkJmLHdDQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QUpXSDtFRW1CRSw4Q0lsQ2E7RUNvQlgsV0FBOEIsRUhKL0I7O0FKQUg7RUFoQ0EsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0Q0lSd0M7RUpReEMsNkJBRmlCO01BRWpCLHlCQUZpQjtFS3ZCZix3Q0FBd0M7RUFDeEMsV0FBOEIsRUhOL0I7O0FKWUg7RUVrQkUsK0NJckNZO0VDdUJWLFdBQThCLEVISi9COztBSkNIO0VBakNBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsNENJUndDO0VKUXhDLDZCQUZpQjtNQUVqQix5QkFGaUI7RUt2QmYsd0NBQXdDO0VBQ3hDLFdBQThCLEVITi9COztBSmFIO0VFaUJFLCtDSXBDYztFQ3NCWixXQUE4QixFSEovQjs7QUpJSDtFQXBDQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDBCQUZpQjtNQUVqQixzQkFGaUI7RU0zQmYsd0NBQXdDO0VBQ3hDLFdBQTJCLEVKRjVCOztBSmdCSDtFRWNFLHdCQUZpQjtNQUVqQixvQkFGaUI7RU1oQmYsV0FBMkIsRUpBNUI7O0FKS0g7RUFyQ0EsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiwwQkFGaUI7TUFFakIsc0JBRmlCO0VNM0JmLHdDQUF3QztFQUN4QyxXQUEyQixFSkY1Qjs7QUppQkg7RUVhRSx3QkFGaUI7TUFFakIsb0JBRmlCO0VNaEJmLFdBQTJCLEVKQTVCOztBSk1IO0VBdENBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsd0JBRmlCO01BRWpCLG9CQUZpQjtFTTNCZix3Q0FB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RU0sMEJBQW1DO0lBQ25DLDZCQUE2QjtJQUM3Qiw2QkFBNkI7SUFDN0Isc0JBQXNCO0lBQ3RCLHdCQUF3QixFQUN6Qjs7QUFqRkw7RUFxRkksMkJBQTJCLEVBQzVCOztBQXRGSDtFQXlGSSw2QkFBNkIsRUFDOUI7O0FBMUZIO0VBNkZJLDZDQUE2QztFQUM3Qyw4QkFBOEI7RUFDOUIsK0JBQStCO0VBQy9CLGdDQUFnQztFQUNoQyw4QkFBOEI7RUFDOUIsdUJBQXVCLEVBQ3hCOztBQW5HSDtFQXNHSSw2QkFBNkI7RUFDN0Isd0JBQXdCLEVBQ3pCOztBQXhHSDtFQTJHSSwwQkFBMEIsRUFDM0I7O0FBNUdIO0VBK0dJLDRCQUE0QixFQUM3Qjs7QUFoSEg7RUFtSEksMEJBQTBCLEVBQzNCOztBQXBISDtFQXVISSw0QkFBNEIsRUFDN0I7O0FBeEhIO0VBMkhJLHFDQUE4QyxFQUMvQzs7QUE1SEg7RUErSEksdUJBQXVCO0VBQ3ZCLHNCQUFzQjtFQUN0Qix3QkFBd0I7RUFDeEIsaURBQTRDLEVBQzdDOztBQW5JSDtFQXNJSSwyQkFBMkI7RUFDM0IsNkJBQTZCO0VBQzdCLHNCQUFzQixFQUN2Qjs7QUF6SUg7RUE0SUksNkJBQTZCLEVBQzlCOztBQUlEO0VBakpGO0lBb0pNLHVCQUF1QixFQUN4QjtFQXJKTDtJQXdKTSw2QkFBNkIsRUFDOUI7RUF6Skw7SUE0Sk0sZ0NBQWdDLEVBQ2pDO0VBN0pMO0lBZ0tNLDJCQUEyQixFQUM1QixFQUFBIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiAkYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pOyAqL1xuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuMi40XG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyoqXG4gICAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gICAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gICAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAgICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAgICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICAgKiBhbmQgRmlyZWZveC5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAgICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAgICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgKi9cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAgICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAgICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAgICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICAgKi9cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIExpbmtzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICAgKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gICAqIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cbiAgICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAgICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICAgKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAgICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gICAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qKlxuICAgKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAgICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICAgKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAgICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi8qIEZvcm1zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAgICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICAgKi9cbi8qKlxuICAgKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICAgKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICAgKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICAgKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gICAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gICAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gICAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICAgKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gICAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gICAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAgICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiAzICovIH1cblxuLyoqXG4gICAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAqL1xuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4vKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICAgKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gICAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICAgKi9cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKipcbiAgICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICAgKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICAgKlxuICAgKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICAgKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICAgKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICAgKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICAgKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gICAqL1xuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gICAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAgICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICAgKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gICAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gICAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAgICogW05PVEVdIFdlIGRvbid0IGVuYWJsZSB0aGlzIHJ1bGVzZXQgaW4gRm91bmRhdGlvbiwgYmVjYXVzZSB3ZSB3YW50IHRoZSA8ZmllbGRzZXQ+IGVsZW1lbnQgdG8gaGF2ZSBwbGFpbiBzdHlsaW5nLlxuICAgKi9cbi8qIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICB9ICovXG4vKipcbiAgICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICAgKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gICAqL1xubGVnZW5kIHtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICAgKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gICAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICAgKi9cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogVGFibGVzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICAgKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0meHMtcGhvbmU9MjBlbSZzbS1waG9uZT0yMy40Mzc1ZW0mbWQtcGhvbmU9MzBlbSZtZWRpdW09NDBlbSZ0YWJsZXQ9NDhlbSZsZy10YWJsZXQ9NTVlbSZkZXNrdG9wPTYyZW0mbGFyZ2U9NjRlbSZ3aWRlc2NyZWVuPTc1ZW0meGxhcmdlPTc1ZW0meHhsYXJnZT05MGVtXCI7IH1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMzEyRTJCO1xuICBiYWNrZ3JvdW5kOiAjRkZGQUY1O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbnNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbiNtYXBfY2FudmFzIGltZyxcbiNtYXBfY2FudmFzIGVtYmVkLFxuI21hcF9jYW52YXMgb2JqZWN0LFxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5yb3cge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5yb3c6OmJlZm9yZSwgLnJvdzo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAucm93OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4sIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnJvdyAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTsgfSB9XG4gICAgLnJvdyAucm93LmNvbGxhcHNlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5yb3cuZXhwYW5kZWQge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAgIC5yb3cuZXhwYW5kZWQgLnJvdyB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uY29sdW1uLCAuY29sdW1ucyB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgLmNvbHVtbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAuY29sdW1uczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmNvbHVtbi5lbmQ6bGFzdC1jaGlsZDpsYXN0LWNoaWxkLCAuZW5kLmNvbHVtbnM6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uY29sdW1uLnJvdy5yb3csIC5yb3cucm93LmNvbHVtbnMge1xuICBmbG9hdDogbm9uZTsgfVxuXG4ucm93IC5jb2x1bW4ucm93LnJvdywgLnJvdyAucm93LnJvdy5jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5zbWFsbC0xIHtcbiAgd2lkdGg6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC1wdWxsLTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC04LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7IH1cblxuLnNtYWxsLTIge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC0yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtMyB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXB1c2gtMyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMjUlOyB9XG5cbi5zbWFsbC1wdWxsLTMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0yNSU7IH1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtNCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdWxsLTQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0zMy4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uc21hbGwtNSB7XG4gIHdpZHRoOiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtNSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC00MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtNiB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXB1c2gtNiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNTAlOyB9XG5cbi5zbWFsbC1wdWxsLTYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC01MCU7IH1cblxuLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtNyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC1wdWxsLTcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC01OC4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uc21hbGwtOCB7XG4gIHdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtOCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTgge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC02Ni42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtOSB7XG4gIHdpZHRoOiA3NSU7IH1cblxuLnNtYWxsLXB1c2gtOSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNzUlOyB9XG5cbi5zbWFsbC1wdWxsLTkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC03NSU7IH1cblxuLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTEwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtMTAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC04My4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTExIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtMTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC05MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLTEyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTEgPiAuY29sdW1uLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5zbWFsbC11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC0yID4gLmNvbHVtbiwgLnNtYWxsLXVwLTIgPiAuY29sdW1ucyB7XG4gIHdpZHRoOiA1MCU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC0zID4gLmNvbHVtbiwgLnNtYWxsLXVwLTMgPiAuY29sdW1ucyB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5zbWFsbC11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC00ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTQgPiAuY29sdW1ucyB7XG4gIHdpZHRoOiAyNSU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5zbWFsbC11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC01ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTUgPiAuY29sdW1ucyB7XG4gIHdpZHRoOiAyMCU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC5zbWFsbC11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC02ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTYgPiAuY29sdW1ucyB7XG4gIHdpZHRoOiAxNi42NjY2NyU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5zbWFsbC11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC5zbWFsbC11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5zbWFsbC1jb2xsYXBzZSAucm93IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uZXhwYW5kZWQucm93IC5zbWFsbC1jb2xsYXBzZS5yb3cge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9XG5cbi5zbWFsbC1jZW50ZXJlZCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLnNtYWxsLWNlbnRlcmVkLCAuc21hbGwtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnNtYWxsLXVuY2VudGVyZWQsXG4uc21hbGwtcHVzaC0wLFxuLnNtYWxsLXB1bGwtMCB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIzLjQzNzVlbSkge1xuICAuc20tcGhvbmUtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5zbS1waG9uZS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAuc20tcGhvbmUtcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTguMzMzMzMlOyB9XG4gIC5zbS1waG9uZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5zbS1waG9uZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5zbS1waG9uZS1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLnNtLXBob25lLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLnNtLXBob25lLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLnNtLXBob25lLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnNtLXBob25lLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAuc20tcGhvbmUtcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTI1JTsgfVxuICAuc20tcGhvbmUtb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLnNtLXBob25lLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtLXBob25lLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuc20tcGhvbmUtcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTMzLjMzMzMzJTsgfVxuICAuc20tcGhvbmUtb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLnNtLXBob25lLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtLXBob25lLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuc20tcGhvbmUtcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAuc20tcGhvbmUtb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLnNtLXBob25lLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnNtLXBob25lLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAuc20tcGhvbmUtcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTsgfVxuICAuc20tcGhvbmUtb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLnNtLXBob25lLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnNtLXBob25lLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuc20tcGhvbmUtcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTU4LjMzMzMzJTsgfVxuICAuc20tcGhvbmUtb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLnNtLXBob25lLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtLXBob25lLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuc20tcGhvbmUtcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAuc20tcGhvbmUtb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLnNtLXBob25lLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnNtLXBob25lLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAuc20tcGhvbmUtcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTc1JTsgfVxuICAuc20tcGhvbmUtb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLnNtLXBob25lLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5zbS1waG9uZS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5zbS1waG9uZS1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTgzLjMzMzMzJTsgfVxuICAuc20tcGhvbmUtb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLnNtLXBob25lLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5zbS1waG9uZS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC5zbS1waG9uZS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAuc20tcGhvbmUtb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5zbS1waG9uZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNtLXBob25lLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuc20tcGhvbmUtdXAtMSA+IC5jb2x1bW4sIC5zbS1waG9uZS11cC0xID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnNtLXBob25lLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtLXBob25lLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuc20tcGhvbmUtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5zbS1waG9uZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuc20tcGhvbmUtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtLXBob25lLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5zbS1waG9uZS11cC0yID4gLmNvbHVtbiwgLnNtLXBob25lLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5zbS1waG9uZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbS1waG9uZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnNtLXBob25lLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAuc20tcGhvbmUtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnNtLXBob25lLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbS1waG9uZS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAuc20tcGhvbmUtdXAtMyA+IC5jb2x1bW4sIC5zbS1waG9uZS11cC0zID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAuc20tcGhvbmUtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc20tcGhvbmUtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5zbS1waG9uZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLnNtLXBob25lLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5zbS1waG9uZS11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc20tcGhvbmUtdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnNtLXBob25lLXVwLTQgPiAuY29sdW1uLCAuc20tcGhvbmUtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMjUlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnNtLXBob25lLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtLXBob25lLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuc20tcGhvbmUtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5zbS1waG9uZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuc20tcGhvbmUtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtLXBob25lLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5zbS1waG9uZS11cC01ID4gLmNvbHVtbiwgLnNtLXBob25lLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5zbS1waG9uZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbS1waG9uZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnNtLXBob25lLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAuc20tcGhvbmUtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnNtLXBob25lLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbS1waG9uZS11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAuc20tcGhvbmUtdXAtNiA+IC5jb2x1bW4sIC5zbS1waG9uZS11cC02ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAuc20tcGhvbmUtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc20tcGhvbmUtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5zbS1waG9uZS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLnNtLXBob25lLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5zbS1waG9uZS11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc20tcGhvbmUtdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnNtLXBob25lLWNvbGxhcHNlID4gLmNvbHVtbiwgLnNtLXBob25lLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5zbS1waG9uZS1jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmV4cGFuZGVkLnJvdyAuc20tcGhvbmUtY29sbGFwc2Uucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnNtLXBob25lLXVuY29sbGFwc2UgPiAuY29sdW1uLCAuc20tcGhvbmUtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9XG4gIC5zbS1waG9uZS1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgLnNtLXBob25lLWNlbnRlcmVkLCAuc20tcGhvbmUtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbS1waG9uZS11bmNlbnRlcmVkLFxuICAuc20tcGhvbmUtcHVzaC0wLFxuICAuc20tcGhvbmUtcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBmbG9hdDogbGVmdDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLm1kLXBob25lLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWQtcGhvbmUtcHVzaC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1kLXBob25lLXB1bGwtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04LjMzMzMzJTsgfVxuICAubWQtcGhvbmUtb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubWQtcGhvbmUtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWQtcGhvbmUtcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC5tZC1waG9uZS1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMTYuNjY2NjclOyB9XG4gIC5tZC1waG9uZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5tZC1waG9uZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZC1waG9uZS1wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7IH1cbiAgLm1kLXBob25lLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0yNSU7IH1cbiAgLm1kLXBob25lLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5tZC1waG9uZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZC1waG9uZS1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1kLXBob25lLXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0zMy4zMzMzMyU7IH1cbiAgLm1kLXBob25lLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5tZC1waG9uZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZC1waG9uZS1wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLm1kLXBob25lLXB1bGwtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC00MS42NjY2NyU7IH1cbiAgLm1kLXBob25lLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5tZC1waG9uZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZC1waG9uZS1wdXNoLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgLm1kLXBob25lLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01MCU7IH1cbiAgLm1kLXBob25lLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZC1waG9uZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZC1waG9uZS1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1kLXBob25lLXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01OC4zMzMzMyU7IH1cbiAgLm1kLXBob25lLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5tZC1waG9uZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZC1waG9uZS1wdXNoLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm1kLXBob25lLXB1bGwtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC02Ni42NjY2NyU7IH1cbiAgLm1kLXBob25lLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5tZC1waG9uZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZC1waG9uZS1wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7IH1cbiAgLm1kLXBob25lLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC03NSU7IH1cbiAgLm1kLXBob25lLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZC1waG9uZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWQtcGhvbmUtcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWQtcGhvbmUtcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04My4zMzMzMyU7IH1cbiAgLm1kLXBob25lLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5tZC1waG9uZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWQtcGhvbmUtcHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubWQtcGhvbmUtcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC05MS42NjY2NyU7IH1cbiAgLm1kLXBob25lLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWQtcGhvbmUtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZC1waG9uZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1kLXBob25lLXVwLTEgPiAuY29sdW1uLCAubWQtcGhvbmUtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5tZC1waG9uZS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZC1waG9uZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1kLXBob25lLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAubWQtcGhvbmUtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1kLXBob25lLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZC1waG9uZS11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWQtcGhvbmUtdXAtMiA+IC5jb2x1bW4sIC5tZC1waG9uZS11cC0yID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubWQtcGhvbmUtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWQtcGhvbmUtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZC1waG9uZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLm1kLXBob25lLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZC1waG9uZS11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWQtcGhvbmUtdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1kLXBob25lLXVwLTMgPiAuY29sdW1uLCAubWQtcGhvbmUtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLm1kLXBob25lLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1kLXBob25lLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWQtcGhvbmUtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC5tZC1waG9uZS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWQtcGhvbmUtdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1kLXBob25lLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZC1waG9uZS11cC00ID4gLmNvbHVtbiwgLm1kLXBob25lLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5tZC1waG9uZS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZC1waG9uZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1kLXBob25lLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAubWQtcGhvbmUtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1kLXBob25lLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZC1waG9uZS11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWQtcGhvbmUtdXAtNSA+IC5jb2x1bW4sIC5tZC1waG9uZS11cC01ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAyMCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubWQtcGhvbmUtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWQtcGhvbmUtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZC1waG9uZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLm1kLXBob25lLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZC1waG9uZS11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWQtcGhvbmUtdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1kLXBob25lLXVwLTYgPiAuY29sdW1uLCAubWQtcGhvbmUtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLm1kLXBob25lLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1kLXBob25lLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWQtcGhvbmUtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC5tZC1waG9uZS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWQtcGhvbmUtdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1kLXBob25lLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZC1waG9uZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZC1waG9uZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAubWQtcGhvbmUtY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5leHBhbmRlZC5yb3cgLm1kLXBob25lLWNvbGxhcHNlLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5tZC1waG9uZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLm1kLXBob25lLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAubWQtcGhvbmUtY2VudGVyZWQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgIC5tZC1waG9uZS1jZW50ZXJlZCwgLm1kLXBob25lLWNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubWQtcGhvbmUtdW5jZW50ZXJlZCxcbiAgLm1kLXBob25lLXB1c2gtMCxcbiAgLm1kLXBob25lLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgZmxvYXQ6IGxlZnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0yNSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAubWVkaXVtLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01MCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAubWVkaXVtLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC03NSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTEgPiAuY29sdW1uLCAubWVkaXVtLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNvbHVtbiwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNvbHVtbiwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNvbHVtbiwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNvbHVtbiwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAyMCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNvbHVtbiwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLm1lZGl1bS1jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmV4cGFuZGVkLnJvdyAubWVkaXVtLWNvbGxhcHNlLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH1cbiAgLm1lZGl1bS1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgLm1lZGl1bS1jZW50ZXJlZCwgLm1lZGl1bS1jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1lZGl1bS11bmNlbnRlcmVkLFxuICAubWVkaXVtLXB1c2gtMCxcbiAgLm1lZGl1bS1wdWxsLTAge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGZsb2F0OiBsZWZ0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAudGFibGV0LTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAudGFibGV0LXB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMlOyB9XG4gIC50YWJsZXQtcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTguMzMzMzMlOyB9XG4gIC50YWJsZXQtb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAudGFibGV0LTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnRhYmxldC1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLnRhYmxldC1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMTYuNjY2NjclOyB9XG4gIC50YWJsZXQtb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAudGFibGV0LTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnRhYmxldC1wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7IH1cbiAgLnRhYmxldC1wdWxsLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMjUlOyB9XG4gIC50YWJsZXQtb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLnRhYmxldC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC50YWJsZXQtcHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMlOyB9XG4gIC50YWJsZXQtcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTMzLjMzMzMzJTsgfVxuICAudGFibGV0LW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC50YWJsZXQtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAudGFibGV0LXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTsgfVxuICAudGFibGV0LXB1bGwtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC00MS42NjY2NyU7IH1cbiAgLnRhYmxldC1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAudGFibGV0LTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnRhYmxldC1wdXNoLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgLnRhYmxldC1wdWxsLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTAlOyB9XG4gIC50YWJsZXQtb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLnRhYmxldC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC50YWJsZXQtcHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMlOyB9XG4gIC50YWJsZXQtcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTU4LjMzMzMzJTsgfVxuICAudGFibGV0LW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC50YWJsZXQtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAudGFibGV0LXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAudGFibGV0LXB1bGwtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC02Ni42NjY2NyU7IH1cbiAgLnRhYmxldC1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAudGFibGV0LTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnRhYmxldC1wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7IH1cbiAgLnRhYmxldC1wdWxsLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNzUlOyB9XG4gIC50YWJsZXQtb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLnRhYmxldC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAudGFibGV0LXB1c2gtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4My4zMzMzMyU7IH1cbiAgLnRhYmxldC1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTgzLjMzMzMzJTsgfVxuICAudGFibGV0LW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC50YWJsZXQtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnRhYmxldC1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC50YWJsZXQtcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC05MS42NjY2NyU7IH1cbiAgLnRhYmxldC1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLnRhYmxldC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnRhYmxldC1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLnRhYmxldC11cC0xID4gLmNvbHVtbiwgLnRhYmxldC11cC0xID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnRhYmxldC11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC50YWJsZXQtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC50YWJsZXQtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC50YWJsZXQtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnRhYmxldC11cC0xID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAudGFibGV0LXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJsZXQtdXAtMiA+IC5jb2x1bW4sIC50YWJsZXQtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnRhYmxldC11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC50YWJsZXQtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC50YWJsZXQtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC50YWJsZXQtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnRhYmxldC11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAudGFibGV0LXVwLTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJsZXQtdXAtMyA+IC5jb2x1bW4sIC50YWJsZXQtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnRhYmxldC11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC50YWJsZXQtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC50YWJsZXQtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC50YWJsZXQtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnRhYmxldC11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAudGFibGV0LXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJsZXQtdXAtNCA+IC5jb2x1bW4sIC50YWJsZXQtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMjUlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnRhYmxldC11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC50YWJsZXQtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC50YWJsZXQtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC50YWJsZXQtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnRhYmxldC11cC00ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAudGFibGV0LXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJsZXQtdXAtNSA+IC5jb2x1bW4sIC50YWJsZXQtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMjAlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnRhYmxldC11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC50YWJsZXQtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC50YWJsZXQtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC50YWJsZXQtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnRhYmxldC11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAudGFibGV0LXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJsZXQtdXAtNiA+IC5jb2x1bW4sIC50YWJsZXQtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnRhYmxldC11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC50YWJsZXQtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC50YWJsZXQtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC50YWJsZXQtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnRhYmxldC11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAudGFibGV0LXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJsZXQtY29sbGFwc2UgPiAuY29sdW1uLCAudGFibGV0LWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC50YWJsZXQtY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5leHBhbmRlZC5yb3cgLnRhYmxldC1jb2xsYXBzZS5yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAudGFibGV0LXVuY29sbGFwc2UgPiAuY29sdW1uLCAudGFibGV0LXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9XG4gIC50YWJsZXQtY2VudGVyZWQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgIC50YWJsZXQtY2VudGVyZWQsIC50YWJsZXQtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC50YWJsZXQtdW5jZW50ZXJlZCxcbiAgLnRhYmxldC1wdXNoLTAsXG4gIC50YWJsZXQtcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBmbG9hdDogbGVmdDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU1ZW0pIHtcbiAgLmxnLXRhYmxldC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxnLXRhYmxldC1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAubGctdGFibGV0LXB1bGwtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04LjMzMzMzJTsgfVxuICAubGctdGFibGV0LW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmxnLXRhYmxldC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sZy10YWJsZXQtcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC5sZy10YWJsZXQtcHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTE2LjY2NjY3JTsgfVxuICAubGctdGFibGV0LW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxnLXRhYmxldC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sZy10YWJsZXQtcHVzaC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMjUlOyB9XG4gIC5sZy10YWJsZXQtcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTI1JTsgfVxuICAubGctdGFibGV0LW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5sZy10YWJsZXQtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGctdGFibGV0LXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGctdGFibGV0LXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0zMy4zMzMzMyU7IH1cbiAgLmxnLXRhYmxldC1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubGctdGFibGV0LTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxnLXRhYmxldC1wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxnLXRhYmxldC1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNDEuNjY2NjclOyB9XG4gIC5sZy10YWJsZXQtb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxnLXRhYmxldC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sZy10YWJsZXQtcHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlOyB9XG4gIC5sZy10YWJsZXQtcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTsgfVxuICAubGctdGFibGV0LW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5sZy10YWJsZXQtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGctdGFibGV0LXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubGctdGFibGV0LXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01OC4zMzMzMyU7IH1cbiAgLmxnLXRhYmxldC1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubGctdGFibGV0LTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxnLXRhYmxldC1wdXNoLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxnLXRhYmxldC1wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNjYuNjY2NjclOyB9XG4gIC5sZy10YWJsZXQtb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxnLXRhYmxldC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sZy10YWJsZXQtcHVzaC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNzUlOyB9XG4gIC5sZy10YWJsZXQtcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTc1JTsgfVxuICAubGctdGFibGV0LW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5sZy10YWJsZXQtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxnLXRhYmxldC1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sZy10YWJsZXQtcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04My4zMzMzMyU7IH1cbiAgLmxnLXRhYmxldC1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubGctdGFibGV0LTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sZy10YWJsZXQtcHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGctdGFibGV0LXB1bGwtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOTEuNjY2NjclOyB9XG4gIC5sZy10YWJsZXQtb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sZy10YWJsZXQtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sZy10YWJsZXQtb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5sZy10YWJsZXQtdXAtMSA+IC5jb2x1bW4sIC5sZy10YWJsZXQtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5sZy10YWJsZXQtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGctdGFibGV0LXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGctdGFibGV0LXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAubGctdGFibGV0LXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sZy10YWJsZXQtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxnLXRhYmxldC11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGctdGFibGV0LXVwLTIgPiAuY29sdW1uLCAubGctdGFibGV0LXVwLTIgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5sZy10YWJsZXQtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGctdGFibGV0LXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGctdGFibGV0LXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAubGctdGFibGV0LXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sZy10YWJsZXQtdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxnLXRhYmxldC11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGctdGFibGV0LXVwLTMgPiAuY29sdW1uLCAubGctdGFibGV0LXVwLTMgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5sZy10YWJsZXQtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGctdGFibGV0LXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGctdGFibGV0LXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAubGctdGFibGV0LXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sZy10YWJsZXQtdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxnLXRhYmxldC11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGctdGFibGV0LXVwLTQgPiAuY29sdW1uLCAubGctdGFibGV0LXVwLTQgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5sZy10YWJsZXQtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGctdGFibGV0LXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGctdGFibGV0LXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAubGctdGFibGV0LXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sZy10YWJsZXQtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxnLXRhYmxldC11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGctdGFibGV0LXVwLTUgPiAuY29sdW1uLCAubGctdGFibGV0LXVwLTUgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5sZy10YWJsZXQtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGctdGFibGV0LXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGctdGFibGV0LXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAubGctdGFibGV0LXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sZy10YWJsZXQtdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxnLXRhYmxldC11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGctdGFibGV0LXVwLTYgPiAuY29sdW1uLCAubGctdGFibGV0LXVwLTYgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5sZy10YWJsZXQtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGctdGFibGV0LXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGctdGFibGV0LXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAubGctdGFibGV0LXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sZy10YWJsZXQtdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxnLXRhYmxldC11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGctdGFibGV0LWNvbGxhcHNlID4gLmNvbHVtbiwgLmxnLXRhYmxldC1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAubGctdGFibGV0LWNvbGxhcHNlIC5yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuZXhwYW5kZWQucm93IC5sZy10YWJsZXQtY29sbGFwc2Uucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmxnLXRhYmxldC11bmNvbGxhcHNlID4gLmNvbHVtbiwgLmxnLXRhYmxldC11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfVxuICAubGctdGFibGV0LWNlbnRlcmVkIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAubGctdGFibGV0LWNlbnRlcmVkLCAubGctdGFibGV0LWNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubGctdGFibGV0LXVuY2VudGVyZWQsXG4gIC5sZy10YWJsZXQtcHVzaC0wLFxuICAubGctdGFibGV0LXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgZmxvYXQ6IGxlZnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTE2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtcHVzaC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMjUlOyB9XG4gIC5sYXJnZS1wdWxsLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMjUlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtcHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlOyB9XG4gIC5sYXJnZS1wdWxsLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTAlOyB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtcHVzaC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNzUlOyB9XG4gIC5sYXJnZS1wdWxsLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNzUlOyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS11cC0xID4gLmNvbHVtbiwgLmxhcmdlLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC0xID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTIgPiAuY29sdW1uLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC0zID4gLmNvbHVtbiwgLmxhcmdlLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNCA+IC5jb2x1bW4sIC5sYXJnZS11cC00ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC00ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTUgPiAuY29sdW1uLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMjAlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC02ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmxhcmdlLWNvbGxhcHNlIC5yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuZXhwYW5kZWQucm93IC5sYXJnZS1jb2xsYXBzZS5yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfVxuICAubGFyZ2UtY2VudGVyZWQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgIC5sYXJnZS1jZW50ZXJlZCwgLmxhcmdlLWNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtdW5jZW50ZXJlZCxcbiAgLmxhcmdlLXB1c2gtMCxcbiAgLmxhcmdlLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgZmxvYXQ6IGxlZnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtcHVzaC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLXB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAueGxhcmdlLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0yNSU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAueGxhcmdlLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01MCU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTguMzMzMzMlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAueGxhcmdlLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC03NSU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLXB1bGwtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtODMuMzMzMzMlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLXB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLXVwLTEgPiAuY29sdW1uLCAueGxhcmdlLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAueGxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnhsYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnhsYXJnZS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLnhsYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAueGxhcmdlLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC54bGFyZ2UtdXAtMSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnhsYXJnZS11cC0yID4gLmNvbHVtbiwgLnhsYXJnZS11cC0yID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAueGxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnhsYXJnZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnhsYXJnZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLnhsYXJnZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAueGxhcmdlLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC54bGFyZ2UtdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnhsYXJnZS11cC0zID4gLmNvbHVtbiwgLnhsYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAueGxhcmdlLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnhsYXJnZS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnhsYXJnZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLnhsYXJnZS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAueGxhcmdlLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC54bGFyZ2UtdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnhsYXJnZS11cC00ID4gLmNvbHVtbiwgLnhsYXJnZS11cC00ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAueGxhcmdlLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnhsYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnhsYXJnZS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLnhsYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAueGxhcmdlLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC54bGFyZ2UtdXAtNCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnhsYXJnZS11cC01ID4gLmNvbHVtbiwgLnhsYXJnZS11cC01ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAyMCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAueGxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnhsYXJnZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnhsYXJnZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLnhsYXJnZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAueGxhcmdlLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC54bGFyZ2UtdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnhsYXJnZS11cC02ID4gLmNvbHVtbiwgLnhsYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAueGxhcmdlLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnhsYXJnZS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnhsYXJnZS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLnhsYXJnZS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAueGxhcmdlLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC54bGFyZ2UtdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnhsYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC54bGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnhsYXJnZS1jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmV4cGFuZGVkLnJvdyAueGxhcmdlLWNvbGxhcHNlLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC54bGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC54bGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH1cbiAgLnhsYXJnZS1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgLnhsYXJnZS1jZW50ZXJlZCwgLnhsYXJnZS1jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLnhsYXJnZS11bmNlbnRlcmVkLFxuICAueGxhcmdlLXB1c2gtMCxcbiAgLnhsYXJnZS1wdWxsLTAge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGZsb2F0OiBsZWZ0OyB9IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5wIHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS42O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LWZhbWlseTogTW9udHNlcnJhdCwg4oCcSGVsdmV0aWNhIE5ldWXigJ0sIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IGJvbGQ7XG4gIGNvbG9yOiAjNzMxNDIyO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgaDEgc21hbGwsXG4gIGgyIHNtYWxsLFxuICBoMyBzbWFsbCxcbiAgaDQgc21hbGwsXG4gIGg1IHNtYWxsLFxuICBoNiBzbWFsbCB7XG4gICAgY29sb3I6ICNjYWNhY2E7XG4gICAgbGluZS1oZWlnaHQ6IDA7IH1cblxuaDEge1xuICBmb250LXNpemU6IDEuMjVyZW07IH1cblxuaDIge1xuICBmb250LXNpemU6IDEuMjVyZW07IH1cblxuaDMge1xuICBmb250LXNpemU6IDEuMjVyZW07IH1cblxuaDQge1xuICBmb250LXNpemU6IDEuMjVyZW07IH1cblxuaDUge1xuICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMnJlbTsgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbTsgfVxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIGg0IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbmEge1xuICBjb2xvcjogIzExNjRBRDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjMGY1Njk1O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaHIge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgY2xlYXI6IGJvdGg7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzhhOGE4YTsgfVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogIzhhOGE4YTsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcMjAxNCBcXDAwMjAnOyB9XG5cbmFiYnIge1xuICBjb2xvcjogIzMxMkUyQjtcbiAgY3Vyc29yOiBoZWxwO1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwYTBhMGE7IH1cblxuY29kZSB7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTsgfVxuXG5rYmQge1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlOyB9XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM4YThhOGE7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEyNSU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLnN0YXQge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgcCArIC5zdGF0IHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuXG4ubm8tYnVsbGV0LCAuZm9vdGVyLW1lbnUtbGlzdCwgLmZlYXR1cmUtYmxvY2tfX2xpc3QsIC5saXN0LWl0ZW0gLnN1YmhlYWRlciwgLnNlYXJjaC1mYWNldC1saXN0LCAuc2VhcmNoLXJlc3VsdCAuc3ViaGVhZGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjMuNDM3NWVtKSB7XG4gIC5zbS1waG9uZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnNtLXBob25lLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5zbS1waG9uZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5zbS1waG9uZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5tZC1waG9uZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1kLXBob25lLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZC1waG9uZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZC1waG9uZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAudGFibGV0LXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAudGFibGV0LXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC50YWJsZXQtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAudGFibGV0LXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU1ZW0pIHtcbiAgLmxnLXRhYmxldC10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxnLXRhYmxldC10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubGctdGFibGV0LXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxnLXRhYmxldC10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC54bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC54bGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICBhW2hyZWZePScjJ106YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtOyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfSB9XG5cbi5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgcGFkZGluZzogMC44NWVtIDFlbTtcbiAgbWFyZ2luOiAwIDFyZW0gMXJlbSAwO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzExNjRBRDtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBlNTU5MztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnRpbnkge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24uc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLmxhcmdlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5idXR0b24ucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzExNjRBRDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwZTUwOGE7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWY1ZjVmO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24ud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM1ODQwO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGEzMTE2O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5ob2xsb3cge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMxMTY0QUQ7XG4gICAgY29sb3I6ICMxMTY0QUQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzA5MzI1NztcbiAgICAgIGNvbG9yOiAjMDkzMjU3OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTE2NEFEO1xuICAgICAgY29sb3I6ICMxMTY0QUQ7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwOTMyNTc7XG4gICAgICAgIGNvbG9yOiAjMDkzMjU3OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Nzc7XG4gICAgICBjb2xvcjogIzc3NzsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzYzNjM2M7XG4gICAgICAgIGNvbG9yOiAjM2MzYzNjOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gICAgICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VjNTg0MDtcbiAgICAgIGNvbG9yOiAjZWM1ODQwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4ODFmMGU7XG4gICAgICAgIGNvbG9yOiAjODgxZjBlOyB9XG4gIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzExNjRBRDtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMTY0QUQ7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYzU4NDA7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgICBib3JkZXItY29sb3I6ICNmZWZlZmUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgdG9wOiAtMC4xZW07IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjOGE4YThhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgxMCwgMTAsIDEwLCAwLjEpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRleHRhcmVhW3Jvd3NdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNjYWNhY2E7IH1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIGxhYmVsLm1pZGRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMzMzM7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZCA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMSU7XG4gIGhlaWdodDogMTAwJTsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgaGVpZ2h0OiAyLjVyZW07IH1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxJTsgfVxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cblxubGVnZW5kIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIGJhY2tncm91bmQ6ICNGRkZBRjU7XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4xODc1cmVtOyB9XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjOGE4YThhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjg1MSwgNTEsIDUxJTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpOyB9IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VsZWN0W211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzNiwgODgsIDY0LCAwLjEpO1xuICBib3JkZXItY29sb3I6ICNlYzU4NDA7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2VjNTg0MDsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZWM1ODQwOyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5hY2NvcmRpb24ge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiAjMTE2NEFEO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7IH1cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJysnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMXJlbTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtOyB9XG4gIC5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICfigJMnOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGNvbG9yOiAjMTE2NEFEOyB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2OyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGJvcmRlci1jb2xvcjogIzExNjRBRCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7IH1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjNlbTtcbiAgbWluLXdpZHRoOiAyLjFlbTtcbiAgZm9udC1zaXplOiAwLjZyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAjMTE2NEFEO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2Uuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzc3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2VjNTg0MDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYnJlYWRjcnVtYnMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7IH1cbiAgLmJyZWFkY3J1bWJzOjpiZWZvcmUsIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnJlYWRjcnVtYnMgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmJyZWFkY3J1bWJzIGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjY2FjYWNhO1xuICAgICAgY29udGVudDogXCIvXCI7XG4gICAgICBtYXJnaW46IDAgMC43NXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMXB4O1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuYnJlYWRjcnVtYnMgYSB7XG4gICAgY29sb3I6ICMxMTY0QUQ7IH1cbiAgICAuYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuYnJlYWRjcnVtYnMgLmRpc2FibGVkIHtcbiAgICBjb2xvcjogI2NhY2FjYTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5idXR0b24tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDA7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gICAgZm9udC1zaXplOiAwLjlyZW07IH1cbiAgICAuYnV0dG9uLWdyb3VwIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ1dHRvbi1ncm91cC50aW55IC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuc21hbGwgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAubGFyZ2UgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQge1xuICAgIG1hcmdpbi1yaWdodDogLTFweDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQ6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpIH4gLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxcHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMik6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMikgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC02cHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyksIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKSB+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMXB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4OyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyk6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNnB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCkgfiAuYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDFweCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTZweDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpIH4gLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogY2FsYygyMCUgLSAxcHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSkgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC02cHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNiksIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSB+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMXB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4OyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNik6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNnB4OyB9XG4gIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTE2NEFEO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwZTUwOGE7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWY1ZjVmO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYzU4NDA7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGEzMTE2O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxOS45Mzc1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLmNhbGxvdXQge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICMzMTJFMkI7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG4gIC5jYWxsb3V0ID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jYWxsb3V0ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNhbGxvdXQucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QzZThmYjsgfVxuICAuY2FsbG91dC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7IH1cbiAgLmNhbGxvdXQuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UxZmFlYTsgfVxuICAuY2FsbG91dC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmM2Q5OyB9XG4gIC5jYWxsb3V0LmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNlNmUyOyB9XG4gIC5jYWxsb3V0LnNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC5jYWxsb3V0LmxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogIzhhOGE4YTtcbiAgcmlnaHQ6IDFyZW07XG4gIHRvcDogMC41cmVtO1xuICBmb250LXNpemU6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNsb3NlLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuXG4ubWVudSB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5tZW51ID4gbGkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudSA+IGxpIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgLm1lbnUgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5tZW51IGlucHV0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgPiBsaSA+IGEgaW1nLFxuICAubWVudSA+IGxpID4gYSBpLFxuICAubWVudSA+IGxpID4gYSBzdmcge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAubWVudSA+IGxpID4gYSBpbWcgKyBzcGFuLFxuICAgIC5tZW51ID4gbGkgPiBhIGkgKyBzcGFuLFxuICAgIC5tZW51ID4gbGkgPiBhIHN2ZyArIHNwYW4ge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAubWVudSA+IGxpID4gYSBpbWcsXG4gIC5tZW51ID4gbGkgPiBhIGksXG4gIC5tZW51ID4gbGkgPiBhIHN2ZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubWVudSA+IGxpIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gIC5tZW51LnZlcnRpY2FsID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIzLjQzNzVlbSkge1xuICAgIC5tZW51LnNtLXBob25lLWhvcml6b250YWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gICAgLm1lbnUuc20tcGhvbmUtdmVydGljYWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAubWVudS5tZC1waG9uZS1ob3Jpem9udGFsID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAgIC5tZW51Lm1kLXBob25lLXZlcnRpY2FsID4gbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gICAgLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm1lbnUudGFibGV0LWhvcml6b250YWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gICAgLm1lbnUudGFibGV0LXZlcnRpY2FsID4gbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NWVtKSB7XG4gICAgLm1lbnUubGctdGFibGV0LWhvcml6b250YWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gICAgLm1lbnUubGctdGFibGV0LXZlcnRpY2FsID4gbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgICAubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5tZW51LnhsYXJnZS1ob3Jpem9udGFsID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAgIC5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLm1lbnUuc2ltcGxlIGxpIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZW51LnNpbXBsZSBhIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0OjpiZWZvcmUsIC5tZW51LmFsaWduLXJpZ2h0OjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgPiBsaSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5tZW51LmV4cGFuZGVkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyB9XG4gICAgLm1lbnUuZXhwYW5kZWQgPiBsaTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZW51Lmljb24tdG9wID4gbGkgPiBhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAubWVudS5pY29uLXRvcCA+IGxpID4gYSBpbWcsXG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgaSxcbiAgICAubWVudS5pY29uLXRvcCA+IGxpID4gYSBzdmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0byAwLjI1cmVtOyB9XG4gIC5tZW51Lm5lc3RlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLm1lbnUgLmFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGJhY2tncm91bmQ6ICMxMTY0QUQ7IH1cblxuLm1lbnUtdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLm1lbnUtY2VudGVyZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUtY2VudGVyZWQgPiAubWVudSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjsgfVxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWNsb3Npbmcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4uaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxMTY0QUQ7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxMTY0QUQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07IH1cblxuLmRyb3Bkb3duLXBhbmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGQUY1O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBwYWRkaW5nOiAxcmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMwMHB4O1xuICB6LWluZGV4OiAxMDsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5kcm9wZG93bi1wYW5lLnRpbnkge1xuICB3aWR0aDogMTAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUuc21hbGwge1xuICB3aWR0aDogMjAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbiAgdG9wOiAxMDAlOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwO1xuICB0b3A6IDEwMCU7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNXB4O1xuICBib3JkZXItY29sb3I6ICMxMTY0QUQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICByaWdodDogNXB4O1xuICBtYXJnaW4tdG9wOiAtMnB4OyB9XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZHJvcGRvd24ubWVudSBhIHtcbiAgb3V0bGluZTogMDsgfVxuXG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICByaWdodDogMTRweDtcbiAgbWFyZ2luLXRvcDogLTNweDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA1cHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzExNjRBRCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDVweDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTE2NEFEO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMy40Mzc1ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUuc20tcGhvbmUtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUuc20tcGhvbmUtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LnNtLXBob25lLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRyb3Bkb3duLm1lbnUuc20tcGhvbmUtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6ICMxMTY0QUQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICByaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUuc20tcGhvbmUtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LnNtLXBob25lLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LnNtLXBob25lLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5zbS1waG9uZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUuc20tcGhvbmUtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxMTY0QUQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5zbS1waG9uZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxMTY0QUQ7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubWQtcGhvbmUtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWQtcGhvbmUtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1kLXBob25lLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWQtcGhvbmUtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6ICMxMTY0QUQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICByaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWQtcGhvbmUtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1kLXBob25lLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1kLXBob25lLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZC1waG9uZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWQtcGhvbmUtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxMTY0QUQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZC1waG9uZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxMTY0QUQ7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTE2NEFEIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxMTY0QUQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTE2NEFEO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5kcm9wZG93bi5tZW51LnRhYmxldC1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS50YWJsZXQtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LnRhYmxldC1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5kcm9wZG93bi5tZW51LnRhYmxldC1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogIzExNjRBRCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDsgfVxuICAuZHJvcGRvd24ubWVudS50YWJsZXQtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LnRhYmxldC12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS50YWJsZXQtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LnRhYmxldC12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUudGFibGV0LXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTE2NEFEIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUudGFibGV0LXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzExNjRBRDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTVlbSkge1xuICAuZHJvcGRvd24ubWVudS5sZy10YWJsZXQtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGctdGFibGV0LWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5sZy10YWJsZXQtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJvcGRvd24ubWVudS5sZy10YWJsZXQtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6ICMxMTY0QUQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICByaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGctdGFibGV0LXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sZy10YWJsZXQtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGctdGFibGV0LXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5sZy10YWJsZXQtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51LmxnLXRhYmxldC12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzExNjRBRCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxnLXRhYmxldC12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxMTY0QUQ7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6ICMxMTY0QUQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICByaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxMTY0QUQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxMTY0QUQ7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTE2NEFEIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4OyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxMTY0QUQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTE2NEFEO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7IH0gfVxuXG4uZHJvcGRvd24ubWVudS5hbGlnbi1yaWdodCAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgd2lkdGg6IDEwMHB4OyB9XG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsLmFsaWduLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCBhOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAwJTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICB6LWluZGV4OiAxO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxMTY0QUQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzExNjRBRDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZmxleC12aWRlbyBpZnJhbWUsXG4gIC5mbGV4LXZpZGVvIG9iamVjdCxcbiAgLmZsZXgtdmlkZW8gZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cbiAgLmZsZXgtdmlkZW8udmltZW8ge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjMTE2NEFEO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzc3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2VjNTg0MDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm1lZGlhLW9iamVjdCBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxOS45Mzc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbi5taWRkbGUge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLmJvdHRvbSB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgfVxuXG5odG1sLFxuYm9keSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiBhdXRvOyB9XG5cbi5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlOyB9XG4gIC5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXI6OmJlZm9yZSwgLm9mZi1jYW52YXMtd3JhcHBlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLm9mZi1jYW52YXMtY29udGVudCxcbi5vZmYtY2FudmFzLWNvbnRlbnQge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjRkZGQUY1O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG4gIHBhZGRpbmctYm90dG9tOiAwLjFweDtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgxMCwgMTAsIDEwLCAwLjUpOyB9XG5cbi5qcy1vZmYtY2FudmFzLWV4aXQge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjI1KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuNXMgZWFzZTsgfVxuXG4ub2ZmLWNhbnZhcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgei1pbmRleDogLTE7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgbGVmdDogLTI1MHB4O1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMjUwcHg7IH1cbiAgICAuaXMtb3Blbi1sZWZ0IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICAgIHJpZ2h0OiAtMjUwcHg7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAyNTBweDsgfVxuICAgIC5pcy1vcGVuLXJpZ2h0IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIzLjQzNzVlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXNtLXBob25lIHtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1zbS1waG9uZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXNtLXBob25lIHtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXNtLXBob25lIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1kLXBob25lIHtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZC1waG9uZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1kLXBob25lIHtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1kLXBob25lIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci10YWJsZXQge1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXRhYmxldCB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXRhYmxldCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci10YWJsZXQgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NWVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGctdGFibGV0IHtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sZy10YWJsZXQgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sZy10YWJsZXQge1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGctdGFibGV0IH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfSB9XG5cbi5vcmJpdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ub3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLm9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLm9yYml0LXNsaWRlLm5vLW1vdGlvbnVpLmlzLWFjdGl2ZSB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cblxuLm9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4ub3JiaXQtaW1hZ2Uge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLm9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNSk7IH1cblxuLm9yYml0LXByZXZpb3VzLCAub3JiaXQtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtcHJldmlvdXMsIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtbmV4dCB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub3JiaXQtcHJldmlvdXM6aG92ZXIsIC5vcmJpdC1uZXh0OmhvdmVyLCAub3JiaXQtcHJldmlvdXM6YWN0aXZlLCAub3JiaXQtbmV4dDphY3RpdmUsIC5vcmJpdC1wcmV2aW91czpmb2N1cywgLm9yYml0LW5leHQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC41KTsgfVxuXG4ub3JiaXQtcHJldmlvdXMge1xuICBsZWZ0OiAwOyB9XG5cbi5vcmJpdC1uZXh0IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7IH1cblxuLm9yYml0LWJ1bGxldHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDAuOHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1idWxsZXRzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vcmJpdC1idWxsZXRzIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDEuMnJlbTtcbiAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICBtYXJnaW46IDAuMXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGE4YThhOyB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGE4YThhOyB9XG5cbi5wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLnBhZ2luYXRpb246OmJlZm9yZSwgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMDYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGFnaW5hdGlvbiBsaTpsYXN0LWNoaWxkLCAucGFnaW5hdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnaW5hdGlvbiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gIC5wYWdpbmF0aW9uIGEsXG4gIC5wYWdpbmF0aW9uIGJ1dHRvbiB7XG4gICAgY29sb3I6ICMwYTBhMGE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAucGFnaW5hdGlvbiBhOmhvdmVyLFxuICAgIC5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYmFja2dyb3VuZDogIzExNjRBRDtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnBhZ2luYXRpb24gLmRpc2FibGVkIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29sb3I6ICNjYWNhY2E7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5wYWdpbmF0aW9uIC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAucGFnaW5hdGlvbiAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnXFwyMDI2JztcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cblxuLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXDAwYWInO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cbi5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4ucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gIGNvbnRlbnQ6ICdcXDAwYmInO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cblxuLnByb2dyZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTtcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5wcm9ncmVzcy5wcmltYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzExNjRBRDsgfVxuICAucHJvZ3Jlc3Muc2Vjb25kYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NzsgfVxuICAucHJvZ3Jlc3Muc3VjY2VzcyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7IH1cbiAgLnByb2dyZXNzLndhcm5pbmcgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC5wcm9ncmVzcy5hbGVydCAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYzU4NDA7IH1cblxuLnByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMTY0QUQ7IH1cblxuLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4uc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuc2xpZGVyLWZpbGwuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS40cmVtO1xuICBoZWlnaHQ6IDEuNHJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzExNjRBRDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuc2xpZGVyLWhhbmRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuc2xpZGVyLWhhbmRsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBlNTU5MzsgfVxuICAuc2xpZGVyLWhhbmRsZS5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjsgfVxuXG4uc2xpZGVyLmRpc2FibGVkLFxuLnNsaWRlcltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5zbGlkZXIudmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwLjVyZW07XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDAuNXJlbTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxLjRyZW07XG4gICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG5cbi5zdGlja3ktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnN0aWNreS5pcy1zdHVjayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNTsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LXRvcCB7XG4gICAgdG9wOiAwOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IGF1dG87IH1cbiAgLnN0aWNreS5pcy1hbmNob3JlZC5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG5ib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5odG1sLmlzLXJldmVhbC1vcGVuLFxuaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwMDU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC40NSk7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4ucmV2ZWFsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogMTAwNjtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAucmV2ZWFsIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7IH0gfVxuICAucmV2ZWFsIC5jb2x1bW4sIC5yZXZlYWwgLmNvbHVtbnMsXG4gIC5yZXZlYWwgLmNvbHVtbnMge1xuICAgIG1pbi13aWR0aDogMDsgfVxuICAucmV2ZWFsID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsIC5yZXZlYWwge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAucmV2ZWFsLmNvbGxhcHNlIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnRpbnkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5zbWFsbCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLmxhcmdlIHtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgLnJldmVhbC5mdWxsIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTkuOTM3NWVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuICAucmV2ZWFsLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5zd2l0Y2gge1xuICBoZWlnaHQ6IDJyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG91dGxpbmU6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4uc3dpdGNoLWlucHV0IHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5zd2l0Y2gtcGFkZGxlIHtcbiAgYmFja2dyb3VuZDogI2NhY2FjYTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuICBpbnB1dCArIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTE2NEFEOyB9XG4gICAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgICBsZWZ0OiAyLjI1cmVtOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBpbnB1dDpmb2N1cyB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5zd2l0Y2gtYWN0aXZlLCAuc3dpdGNoLWluYWN0aXZlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi5zd2l0Y2gtYWN0aXZlIHtcbiAgbGVmdDogOCU7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zd2l0Y2gtaW5hY3RpdmUge1xuICByaWdodDogMTUlOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXRjaC50aW55IHtcbiAgaGVpZ2h0OiAxLjVyZW07IH1cbiAgLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtOyB9XG4gIC5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMS43NXJlbTsgfVxuXG4uc3dpdGNoLnNtYWxsIHtcbiAgaGVpZ2h0OiAxLjc1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAzLjVyZW07XG4gICAgaGVpZ2h0OiAxLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgd2lkdGg6IDEuMjVyZW07XG4gICAgaGVpZ2h0OiAxLjI1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMnJlbTsgfVxuXG4uc3dpdGNoLmxhcmdlIHtcbiAgaGVpZ2h0OiAyLjVyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDVyZW07XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAyLjc1cmVtOyB9XG5cbnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgdGFibGUgdGhlYWQsXG4gIHRhYmxlIHRib2R5LFxuICB0YWJsZSB0Zm9vdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2YxZjFmMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gIHRhYmxlIGNhcHRpb24ge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuICB0YWJsZSB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgICBjb2xvcjogIzMxMkUyQjsgfVxuICB0YWJsZSB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogI2YxZjFmMTtcbiAgICBjb2xvcjogIzMxMkUyQjsgfVxuICB0YWJsZSB0aGVhZCB0cixcbiAgdGFibGUgdGZvb3QgdHIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIHRhYmxlIHRoZWFkIHRoLFxuICB0YWJsZSB0aGVhZCB0ZCxcbiAgdGFibGUgdGZvb3QgdGgsXG4gIHRhYmxlIHRmb290IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7IH1cbiAgdGFibGUgdGJvZHkgdGgsXG4gIHRhYmxlIHRib2R5IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIHRhYmxlLnN0YWNrIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRyLFxuICB0YWJsZS5zdGFjayB0aCxcbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBib3JkZXItdG9wOiAwOyB9IH1cblxudGFibGUuc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbnRhYmxlLmhvdmVyIHRoZWFkIHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuXG50YWJsZS5ob3ZlciB0Zm9vdCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7IH1cblxudGFibGUuaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5OyB9XG5cbnRhYmxlLmhvdmVyIHRib2R5IHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYzsgfVxuXG4udGFibGUtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAudGFibGUtc2Nyb2xsIHRhYmxlIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuXG4udGFicyB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2OyB9XG4gIC50YWJzOjpiZWZvcmUsIC50YWJzOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC50YWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnRhYnMudmVydGljYWwgPiBsaSB7XG4gIHdpZHRoOiBhdXRvO1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRhYnMuc2ltcGxlID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMDsgfVxuICAudGFicy5zaW1wbGUgPiBsaSA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi50YWJzLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjMTE2NEFEOyB9XG4gIC50YWJzLnByaW1hcnkgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTI2Y2JjOyB9XG5cbi50YWJzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnRhYnMtdGl0bGUgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgICAudGFicy10aXRsZSA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG5cbi50YWJzLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItdG9wOiAwOyB9XG5cbi50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItbGVmdDogMDsgfVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4udGh1bWJuYWlsIHtcbiAgYm9yZGVyOiBzb2xpZCA0cHggI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMTAsIDEwLCAxMCwgMC4yKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC50aHVtYm5haWw6aG92ZXIsIC50aHVtYm5haWw6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggMXB4IHJnYmEoMTcsIDEwMCwgMTczLCAwLjUpOyB9XG5cbi50aXRsZS1iYXIge1xuICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgcGFkZGluZzogMC41cmVtOyB9XG4gIC50aXRsZS1iYXI6OmJlZm9yZSwgLnRpdGxlLWJhcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAudGl0bGUtYmFyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnRpdGxlLWJhciAubWVudS1pY29uIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cblxuLnRpdGxlLWJhci1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnRpdGxlLWJhci1yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRpdGxlLWJhci10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmhhcy10aXAge1xuICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICM4YThhOGE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBoZWxwOyB9XG5cbi50b29sdGlwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICB0b3A6IGNhbGMoMTAwJSArIDAuNjQ5NXJlbSk7XG4gIG1heC13aWR0aDogMTByZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAudG9vbHRpcDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBhMGEwYTtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAudG9vbHRpcC50b3A6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBib3JkZXItY29sb3I6ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvOyB9XG4gIC50b29sdGlwLmxlZnQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnRvb2x0aXAucmlnaHQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnRvcC1iYXIge1xuICBwYWRkaW5nOiAwLjVyZW07IH1cbiAgLnRvcC1iYXI6OmJlZm9yZSwgLnRvcC1iYXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnRvcC1iYXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAudG9wLWJhcixcbiAgLnRvcC1iYXIgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMTJFMkI7IH1cbiAgLnRvcC1iYXIgaW5wdXQge1xuICAgIG1heC13aWR0aDogMTA4cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC50b3AtYmFyIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC50b3AtYmFyIGlucHV0LmJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCxcbiAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudG9wLWJhciAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjkuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3Itc20tcGhvbmUgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1zbS1waG9uZSAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1kLXBob25lIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWQtcGhvbmUgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NC45Mzc1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci10YWJsZXQgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci10YWJsZXQgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MS45Mzc1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1sZy10YWJsZXQgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1sZy10YWJsZXQgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteGxhcmdlIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteGxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnRvcC1iYXItdGl0bGUge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG5cbi50b3AtYmFyLWxlZnQge1xuICBmbG9hdDogbGVmdDsgfVxuXG4udG9wLWJhci1yaWdodCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE5LjkzNzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMy40Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtLXBob25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyMy4zNzVlbSkge1xuICAuc2hvdy1mb3Itc20tcGhvbmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIzLjQzNzVlbSkgYW5kIChtYXgtd2lkdGg6IDI5LjkzNzVlbSkge1xuICAuaGlkZS1mb3Itc20tcGhvbmUtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjMuMzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLnNob3ctZm9yLXNtLXBob25lLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLmhpZGUtZm9yLW1kLXBob25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLW1kLXBob25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1tZC1waG9uZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNob3ctZm9yLW1kLXBob25lLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5oaWRlLWZvci10YWJsZXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuc2hvdy1mb3ItdGFibGV0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNTQuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci10YWJsZXQtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NWVtKSB7XG4gIC5zaG93LWZvci10YWJsZXQtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTVlbSkge1xuICAuaGlkZS1mb3ItbGctdGFibGV0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NC45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLWxnLXRhYmxldCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTVlbSkgYW5kIChtYXgtd2lkdGg6IDYxLjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbGctdGFibGV0LW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU0LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjJlbSkge1xuICAuc2hvdy1mb3ItbGctdGFibGV0LW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmhpZGUtZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIC5zaG93LWZvci14bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTsgfVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bzsgfVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uY2xlYXJmaXg6OmJlZm9yZSwgLmNsZWFyZml4OjphZnRlciB7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZGlzcGxheTogdGFibGU7IH1cblxuLmNsZWFyZml4OjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLnNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlLTc7IH1cblxuQGtleWZyYW1lcyBzaGFrZS03IHtcbiAgMCUsIDEwJSwgMjAlLCAzMCUsIDQwJSwgNTAlLCA2MCUsIDcwJSwgODAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg3JSk7IH1cbiAgNSUsIDE1JSwgMjUlLCAzNSUsIDQ1JSwgNTUlLCA2NSUsIDc1JSwgODUlLCA5NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNyUpOyB9IH1cblxuLnNwaW4tY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zcGluLWNjdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7IH0gfVxuXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZS03ZGVnOyB9XG5cbkBrZXlmcmFtZXMgd2lnZ2xlLTdkZWcge1xuICA0MCUsIDUwJSwgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg3ZGVnKTsgfVxuICAzNSUsIDQ1JSwgNTUlLCA2NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC03ZGVnKTsgfVxuICAwJSwgMzAlLCA3MCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNoYWtlLFxuLnNwaW4tY3csXG4uc3Bpbi1jY3csXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtczsgfVxuXG4uaW5maW5pdGUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4uc2xvdyB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4vKiAgRnVuY3Rpb25zIChOZXcgZm9yIE15R2l6YSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRyeWluZyB3aXRob3V0IHRoaXMgLSBGb3VuZGF0aW9uIGNvbWVzIHdpdGggdGhpcyBmdW5jdGlvbiBuYXRpdmVseVxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlLXZhbHVlOiAkcmVtLWJhc2UpIHtcblx0JG1heDogbGVuZ3RoKCR2YWx1ZXMpO1xuXHRcblx0QGlmICRtYXggPT0gMSB7IEByZXR1cm4gY29udmVydC10by1yZW0obnRoKCR2YWx1ZXMsIDEpLCAkYmFzZS12YWx1ZSk7IH1cblx0XG5cdCRyZW1WYWx1ZXM6ICgpO1xuXHRAZm9yICRpIGZyb20gMSB0aHJvdWdoICRtYXgge1xuXHRcdCRyZW1WYWx1ZXM6IGFwcGVuZCgkcmVtVmFsdWVzLCBjb252ZXJ0LXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZS12YWx1ZSkpO1xuXHR9XG5cdEByZXR1cm4gJHJlbVZhbHVlcztcbn0gKi9cbi8qICBNaXhpbnMgKE5ldyBmb3IgTXlHaXphKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogIEhlbHBlcnMgKE5ldyBmb3IgTXlHaXphKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmNvbGxlY3Rpb24tc2VjdGlvbiAuY29sbGVjdGlvbnMtbGlzdCwgLnNlbGVjdC1saW5rcywgLmFjY29yZGlvbi1zZWN0aW9uIC5hY2NvcmRpb24tY29udGVudCAuY29udGVudC13cmFwIC5jb2wgdWwsIC5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLmNvbnRlbnQtaGVhZGluZyAubGlua3MsIC5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLnNpZGViYXIgLmxpbmtzLCAuY29sbGVjdGlvbi1zZWN0aW9uLnR3by1jb2x1bW5zIC5zaWRlYmFyIC5zb2NpYWwtbmV0d29ya3MsIC5yZXZlYWwgLmNvbGxhYm9yYXRvcnMgdWwsIC5yZXZlYWwuYWRkLXJldmVhbCAuYm90dG9tLWluZm8tYmxvY2sgdWwsIC5yZXZlYWwuYWRkLXJldmVhbCAuYWRkLWxpc3RzLCAucmV2ZWFsLm1ldC1zZWFyY2ggLnNlbGVjdGlvbi1maWx0ZXItY29sIC5zZWxlY3RlZC1pdGVtcy1saXN0LCAucmV2ZWFsLm1ldC1zZWFyY2ggLmZpbHRlci1saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5jbGVhcmZpeDphZnRlciwgLmNvbGxlY3Rpb24tc2VjdGlvbiAuY29sbGVjdGlvbnMtbGlzdCAubGlzdC1yb3c6YWZ0ZXIsIC5jb2xsZWN0aW9uLWhlYWRpbmcgLmxpbmtzOmFmdGVyLCAuYWNjb3JkaW9uLXNlY3Rpb24gLmxpbmtzLXJvdzphZnRlciwgLnJldmVhbC5lbWFpbC1yZXZlYWwgLm5ld19mb3JtIC5lbWFpbC13cmFwOmFmdGVyLCAucmV2ZWFsLmVtYWlsLXJldmVhbCAubmV3X2Zvcm0gLmNoZWNrLXdyYXA6YWZ0ZXIsIC5yZXZlYWwubWV0LXNlYXJjaCAuc2VsZWN0aW9uLWZpbHRlci1jb2w6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5lbGxpcHNpcyB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIC8qIDEgKi9cbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIC8qIDIgKi9cbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBTbGlkZXIgKi9cbi5zbGljay1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnNsaWNrLWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnNsaWNrLWxpc3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLnNsaWNrLWxpc3QuZHJhZ2dpbmcge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjdXJzb3I6IGhhbmQ7IH1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zbGljay10cmFjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuc2xpY2stdHJhY2s6YmVmb3JlLCAuc2xpY2stdHJhY2s6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnNsaWNrLXRyYWNrOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc2xpY2stbG9hZGluZyAuc2xpY2stdHJhY2sge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpY2stc2xpZGUge1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuc2xpY2stc2xpZGUgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpY2stc2xpZGUuc2xpY2stbG9hZGluZyBpbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnNsaWNrLXNsaWRlLmRyYWdnaW5nIGltZyB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1zbGlkZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXNsaWRlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG5cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIGN1c3RvbSBzZWxlY3Qgc3R5bGVzICovXG4uamNmLXNlbGVjdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDEzcHg7XG4gIG1pbi13aWR0aDogMTUwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzk3OTc5NztcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4uamNmLXNlbGVjdCBzZWxlY3Qge1xuICB6LWluZGV4OiAxO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLmpjZi1zZWxlY3QgLmpjZi1zZWxlY3QtdGV4dCB7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICBtYXJnaW46IDAgMzVweCAwIDVweDsgfVxuXG4uamNmLXNlbGVjdCAuamNmLXNlbGVjdC1vcGVuZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDI2cHg7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDsgfVxuICAuamNmLXNlbGVjdCAuamNmLXNlbGVjdC1vcGVuZXI6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDZweDtcbiAgICBsZWZ0OiAycHg7XG4gICAgY29udGVudDogXCJcXGYwNzhcIjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IH1cblxuYm9keSA+IC5qY2Ytc2VsZWN0LWRyb3Age1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogLTFweCAwIDA7XG4gIHotaW5kZXg6IDk5OTk7IH1cblxuYm9keSA+IC5qY2Ytc2VsZWN0LWRyb3AuamNmLWRyb3AtZmxpcHBlZCB7XG4gIG1hcmdpbjogMXB4IDAgMDsgfVxuXG4uamNmLXNlbGVjdCAuamNmLXNlbGVjdC1kcm9wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tdG9wOiAwcHg7XG4gIHotaW5kZXg6IDk5OTk7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogLTFweDtcbiAgcmlnaHQ6IC0xcHg7IH1cblxuLmpjZi1zZWxlY3QgLmpjZi1kcm9wLWZsaXBwZWQge1xuICBib3R0b206IDEwMCU7XG4gIHRvcDogYXV0bzsgfVxuXG4uamNmLXNlbGVjdC1kcm9wIC5qY2Ytc2VsZWN0LWRyb3AtY29udGVudCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMxMTY0QUQ7IH1cblxuLyogbXVsdGlwbGUgc2VsZWN0IHN0eWxlcyAqL1xuLmpjZi1saXN0LWJveCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyOiAxcHggc29saWQgI2I4YzNjOTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgbWFyZ2luOiAwIDE1cHg7IH1cblxuLyogc2VsZWN0IG9wdGlvbnMgc3R5bGVzICovXG4uamNmLWxpc3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmpjZi1saXN0IC5qY2YtbGlzdC1jb250ZW50IHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBvdmVyZmxvdzogYXV0bztcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmpjZi1saXN0IHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwOyB9XG5cbi5qY2YtbGlzdCB1bCBsaSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5qY2YtbGlzdCAuamNmLW92ZXJmbG93IHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLmpjZi1saXN0IC5qY2Ytb3B0aW9uIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNXB4IDlweDtcbiAgY29sb3I6ICM2NTY1NjU7XG4gIGhlaWdodDogMSU7IH1cblxuLmpjZi1saXN0IC5qY2YtZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjYWFhICFpbXBvcnRhbnQ7IH1cblxuLmpjZi1zZWxlY3QtZHJvcCAuamNmLWhvdmVyLFxuLmpjZi1saXN0LWJveCAuamNmLXNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgY29sb3I6ICMwMDA7IH1cblxuLmpjZi1saXN0IC5qY2Ytb3B0Z3JvdXAtY2FwdGlvbiB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNXB4IDlweDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBjb2xvcjogIzAwMDsgfVxuXG4uamNmLWxpc3QgLmpjZi1vcHRncm91cCAuamNmLW9wdGlvbiB7XG4gIHBhZGRpbmctbGVmdDogMzBweDsgfVxuXG4vKiBjdXN0b20gc2Nyb2xsYmFycyBzdHlsZXMgKi9cbi5qY2Ytc2Nyb2xsYWJsZS13cmFwcGVyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uamNmLXNjcm9sbGJhci12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICB3aWR0aDogMTBweDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgdG9wOiAwOyB9XG5cbi5qY2Ytc2Nyb2xsYmFyLXZlcnRpY2FsIC5qY2Ytc2Nyb2xsYmFyLWRlYyxcbi5qY2Ytc2Nyb2xsYmFyLXZlcnRpY2FsIC5qY2Ytc2Nyb2xsYmFyLWluYyB7XG4gIGJhY2tncm91bmQ6ICNiYmI7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uamNmLXNjcm9sbGJhci12ZXJ0aWNhbCAuamNmLXNjcm9sbGJhci1pbmMge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMDsgfVxuXG4uamNmLXNjcm9sbGJhci12ZXJ0aWNhbCAuamNmLXNjcm9sbGJhci1oYW5kbGUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDc0LCA3NCwgNzQsIDAuNSk7XG4gIGhlaWdodDogMTUwcHggIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDsgfVxuXG4uamNmLXNjcm9sbGJhci1ob3Jpem9udGFsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiAjZTNlM2UzO1xuICByaWdodDogYXV0bztcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMTRweDsgfVxuXG4uamNmLXNjcm9sbGJhci1ob3Jpem9udGFsIC5qY2Ytc2Nyb2xsYmFyLWRlYyxcbi5qY2Ytc2Nyb2xsYmFyLWhvcml6b250YWwgLmpjZi1zY3JvbGxiYXItaW5jIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjYmJiO1xuICBoZWlnaHQ6IDE0cHg7XG4gIHdpZHRoOiAxNHB4OyB9XG5cbi5qY2Ytc2Nyb2xsYmFyLWhvcml6b250YWwgLmpjZi1zY3JvbGxiYXItaW5jIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7IH1cblxuLmpjZi1zY3JvbGxiYXItaG9yaXpvbnRhbCAuamNmLXNjcm9sbGJhci1zbGlkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxNHB4OyB9XG5cbi5qY2Ytc2Nyb2xsYmFyLWhvcml6b250YWwgLmpjZi1zY3JvbGxiYXItaGFuZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiAjODg4O1xuICBoZWlnaHQ6IDE0cHg7IH1cblxuLmpjZi1zY3JvbGxiYXIuamNmLWluYWN0aXZlIC5qY2Ytc2Nyb2xsYmFyLWhhbmRsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uamNmLXNjcm9sbGJhci5qY2YtaW5hY3RpdmUgLmpjZi1zY3JvbGxiYXItZGVjLFxuLmpjZi1zY3JvbGxiYXIuamNmLWluYWN0aXZlIC5qY2Ytc2Nyb2xsYmFyLWluYyB7XG4gIGJhY2tncm91bmQ6ICNlM2UzZTM7IH1cblxuLyogY29tbW9uIGN1c3RvbSBmb3JtIGVsZW1lbnRzIHN0eWxlcyAqL1xuLmpjZi1kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQ6ICNkZGQgIWltcG9ydGFudDsgfVxuXG4uamNmLWZvY3VzLFxuLmpjZi1mb2N1cyAqIHtcbiAgYm9yZGVyLWNvbG9yOiAjMTE2NEFEICFpbXBvcnRhbnQ7IH1cblxuLyogIEZvbnRhc3RpY1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImdpemEtcHJvamVjdC1pY29uc1wiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2dpemEtcHJvamVjdC1pY29ucy5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvZ2l6YS1wcm9qZWN0LWljb25zLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2dpemEtcHJvamVjdC1pY29ucy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2dpemEtcHJvamVjdC1pY29ucy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2dpemEtcHJvamVjdC1pY29ucy5zdmcjZ2l6YS1wcm9qZWN0LWljb25zXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbltkYXRhLWljb25dOmJlZm9yZSxcbltjbGFzc149XCJpY29uLVwiXTpiZWZvcmUsXG5bY2xhc3MqPVwiIGljb24tXCJdOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcImdpemEtcHJvamVjdC1pY29uc1wiICFpbXBvcnRhbnQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDAuMWVtOyB9XG5cbltkYXRhLWljb25dLmljb24tZnc6YmVmb3JlLFxuW2NsYXNzXj1cImljb24tXCJdLmljb24tZnc6YmVmb3JlLFxuW2NsYXNzKj1cIiBpY29uLVwiXS5pY29uLWZ3OmJlZm9yZSB7XG4gIHdpZHRoOiAxLjRlbTsgfVxuXG5bZGF0YS1pY29uXS5pY29uLXBhZGRlZDpiZWZvcmUsXG5bY2xhc3NePVwiaWNvbi1cIl0uaWNvbi1wYWRkZWQ6YmVmb3JlLFxuW2NsYXNzKj1cIiBpY29uLVwiXS5pY29uLXBhZGRlZDpiZWZvcmUge1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVlbTsgfVxuXG5bZGF0YS1pY29uXTpiZWZvcmUge1xuICBjb250ZW50OiBhdHRyKGRhdGEtaWNvbik7IH1cblxuLmljb24tYW5nbGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjFcIjsgfVxuXG4uaWNvbi1hbmdsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjJcIjsgfVxuXG4uaWNvbi1ib29rbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjNcIjsgfVxuXG4uaWNvbi1ib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2NFwiOyB9XG5cbi5pY29uLWJhcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY1XCI7IH1cblxuLmljb24tY2FyZXQtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjZcIjsgfVxuXG4uaWNvbi1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjdcIjsgfVxuXG4uaWNvbi1jaXJjbGUtdGhpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjhcIjsgfVxuXG4uaWNvbi1mYWNlYm9vay1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY5XCI7IH1cblxuLmljb24tZmlsZS10ZXh0LW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZhXCI7IH1cblxuLmljb24tZ29vZ2xlLXBsdXMtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2YlwiOyB9XG5cbi5pY29uLWhvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZjXCI7IH1cblxuLmljb24taW5mby1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZkXCI7IH1cblxuLmljb24tbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmVcIjsgfVxuXG4uaWNvbi1tYXAtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmZcIjsgfVxuXG4uaWNvbi1wZW5jaWwtc3F1YXJlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDcwXCI7IH1cblxuLmljb24tcXVvdGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzFcIjsgfVxuXG4uaWNvbi1zdGlja3ktbm90ZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3MlwiOyB9XG5cbi5pY29uLXR3aXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDczXCI7IH1cblxuLmljb24tdXNlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzRcIjsgfVxuXG4uaWNvbi12aWRlby1jYW1lcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc1XCI7IH1cblxuLmljb24tY2FtZXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3NlwiOyB9XG5cbi5pY29uLXNlYXJjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzdcIjsgfVxuXG4uaWNvbi12YXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3OFwiOyB9XG5cbi5pY29uLXB5cmFtaWQtM2Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc5XCI7IH1cblxuLmljb24taW5zdGFncmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3YVwiOyB9XG5cbi5pY29uLXVzZXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0MVwiOyB9XG5cbi5pY29uLXZvbHVtZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDJcIjsgfVxuXG4uaWNvbi1wYXc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQzXCI7IH1cblxuLmljb24tbWFwLW1hcmtlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDRcIjsgfVxuXG4uaWNvbi1wYXlwYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQ1XCI7IH1cblxuLmljb24tdW5pdmVyc2l0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDZcIjsgfVxuXG4uaWNvbi10aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDdcIjsgfVxuXG4uaWNvbi10aC1sYXJnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDhcIjsgfVxuXG4uaWNvbi1lbnZlbG9wZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQ5XCI7IH1cblxuLmljb24tdHdpdHRlci1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDRhXCI7IH1cblxuLmljb24tbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNGJcIjsgfVxuXG4uaWNvbi1hbGlnbi1qdXN0aWZ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0Y1wiOyB9XG5cbi5pY29uLWVsbGlwc2lzLWg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDRkXCI7IH1cblxuLmljb24tcGx1cy1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDRlXCI7IH1cblxuLmljb24tdHJhc2gtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNGZcIjsgfVxuXG4uaWNvbi1hcnJvdy1jaXJjbGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDUwXCI7IH1cblxuLmljb24tbWludXMtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw1MVwiOyB9XG5cbi5pY29uLWNoZWNrLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTJcIjsgfVxuXG4uaWNvbi1waWN0dXJlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDUzXCI7IH1cblxuLmljb24tY29tbWVudHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDU0XCI7IH1cblxuLyogIFR5cG9ncmFwaHlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbmgxLCBoMywgaDUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbmgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLmg3IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjMzEyRTJCO1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbWFyZ2luOiAwOyB9XG5cbi50ZXh0LWhlYWRpbmcge1xuICBmb250LWZhbWlseTogTW9udHNlcnJhdCwg4oCcSGVsdmV0aWNhIE5ldWXigJ0sIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cblxuLnRleHQtYWx0IHtcbiAgZm9udC1mYW1pbHk6IEdlb3JnaWEsIHNlcmlmOyB9XG5cbi5oZWFkaW5nLWFsdCB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4uaGVhZGluZy1taXhlZGNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4uaGVhZGluZy1lbSB7XG4gIGZvbnQtZmFtaWx5OiBHZW9yZ2lhLCBzZXJpZjtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLmgyLW1pbm9yIHtcbiAgZm9udC1zaXplOiAxLjVyZW07IH1cblxuLmgzLW1pbm9yIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG4uYWNjZW50LXJlZCB7XG4gIGNvbG9yOiAjQTUxQzMwOyB9XG5cbi5hY2NlbnQtbWFyb29uIHtcbiAgY29sb3I6ICM3MzE0MjI7IH1cblxuLnRleHQtYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnRleHQtbWVkaXVtLFxuLnRleHQtc2VtaWJvbGQge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi50ZXh0LXJlZ3VsYXIsXG4udGV4dC1ub3JtYWwge1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbi50ZXh0LWxpZ2h0IHtcbiAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG5hLmhlYWRpbmctbGluayB7XG4gIGNvbG9yOiAjNzMxNDIyOyB9XG4gIGEuaGVhZGluZy1saW5rOmhvdmVyLCBhLmhlYWRpbmctbGluazphY3RpdmUsIGEuaGVhZGluZy1saW5rOmZvY3VzIHtcbiAgICBjb2xvcjogIzBmNTY5NTsgfVxuXG4ubGluay1saWdodGVyIHtcbiAgY29sb3I6ICM2N2IwZjA7IH1cbiAgLmxpbmstbGlnaHRlcjpob3ZlciwgLmxpbmstbGlnaHRlcjphY3RpdmUsIC5saW5rLWxpZ2h0ZXI6Zm9jdXMge1xuICAgIGNvbG9yOiAjOTVjOGY1OyB9XG5cbi50ZXh0LXNtYWxsZXIsIC5iYWNrLXRvLXRvcC1saW5rLCAuZm9vdGVyLW1lbnUtbGlzdCwgLmZlYXR1cmUtYmxvY2tfX2Zvb3RlciwgLmxpc3QtaXRlbSwgLmxpYnJhcnktaXRlbV9fc2Vjb25kYXJ5LCAuc2VhcmNoLXJlc3VsdCAuc3ViaGVhZGVyIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4udGV4dC1tdXRlZCwgLmxpYnJhcnktaXRlbV9fc2Vjb25kYXJ5IHtcbiAgY29sb3I6ICM4QzgxNzk7IH1cblxuLmRsLXNsaW0ge1xuICBsaW5lLWhlaWdodDogMS41OyB9XG4gIC5kbC1zbGltIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmRsLXNsaW0gZHQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJzonOyB9XG5cbi5hYmJyLWxpc3QgZHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBjbGVhcjogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gIC5hYmJyLWxpc3QgZHQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICc6JzsgfVxuXG4uYWJici1saXN0IGRkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG5cbi5iYWNrLXRvLXRvcC1saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tdG9wOiAtMC40ZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMmVtO1xuICBjb2xvcjogIzhDODE3OTtcbiAgY2xlYXI6IGJvdGg7IH1cbiAgLmJhY2stdG8tdG9wLWxpbms6aG92ZXIsIC5iYWNrLXRvLXRvcC1saW5rOmFjdGl2ZSwgLmJhY2stdG8tdG9wLWxpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAjMGY1Njk1OyB9XG5cbi5tLXgtYXV0byB7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG5cbi5tLWEtMCB7XG4gIG1hcmdpbjogMCAwICFpbXBvcnRhbnQ7IH1cblxuLm0tdC0wIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG5cbi5tLXItMCB7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi5tLWItMCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4ubS1sLTAge1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbi5tLXgtMCB7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbi5tLXktMCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi5tLWEtcXQge1xuICBtYXJnaW46IDAuMjVyZW0gMC4yNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLXQtcXQge1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tci1xdCB7XG4gIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLWItcXQge1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tbC1xdCB7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0teC1xdCB7XG4gIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLXktcXQge1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubS1hLWhhbGYge1xuICBtYXJnaW46IDAuNXJlbSAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubS10LWhhbGYge1xuICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubS1yLWhhbGYge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLWItaGFsZiB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLWwtaGFsZiB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubS14LWhhbGYge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0teS1oYWxmIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLWEtMSB7XG4gIG1hcmdpbjogMXJlbSAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tdC0xIHtcbiAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLXItMSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLWItMSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ubS1sLTEge1xuICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLXgtMSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLXktMSB7XG4gIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLWEtMiB7XG4gIG1hcmdpbjogMnJlbSAycmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tdC0yIHtcbiAgbWFyZ2luLXRvcDogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLXItMiB7XG4gIG1hcmdpbi1yaWdodDogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLWItMiB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ubS1sLTIge1xuICBtYXJnaW4tbGVmdDogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLXgtMiB7XG4gIG1hcmdpbi1yaWdodDogMnJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLXktMiB7XG4gIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLWEtMyB7XG4gIG1hcmdpbjogM3JlbSAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tdC0zIHtcbiAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5tLXItMyB7XG4gIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5tLWItMyB7XG4gIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ubS1sLTMge1xuICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5tLXgtMyB7XG4gIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5tLXktMyB7XG4gIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5tLWEtNCB7XG4gIG1hcmdpbjogNHJlbSA0cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tdC00IHtcbiAgbWFyZ2luLXRvcDogNHJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLXItNCB7XG4gIG1hcmdpbi1yaWdodDogNHJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLWItNCB7XG4gIG1hcmdpbi1ib3R0b206IDRyZW0gIWltcG9ydGFudDsgfVxuXG4ubS1sLTQge1xuICBtYXJnaW4tbGVmdDogNHJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLXgtNCB7XG4gIG1hcmdpbi1yaWdodDogNHJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogNHJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLXktNCB7XG4gIG1hcmdpbi10b3A6IDRyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogNHJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLWEtbmVncXQge1xuICBtYXJnaW46IC0wLjI1cmVtIC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tdC1uZWdxdCB7XG4gIG1hcmdpbi10b3A6IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tci1uZWdxdCB7XG4gIG1hcmdpbi1yaWdodDogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubS1iLW5lZ3F0IHtcbiAgbWFyZ2luLWJvdHRvbTogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubS1sLW5lZ3F0IHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0teC1uZWdxdCB7XG4gIG1hcmdpbi1yaWdodDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0teS1uZWdxdCB7XG4gIG1hcmdpbi10b3A6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tYS1uZWdoYWxmIHtcbiAgbWFyZ2luOiAtMC41cmVtIC0wLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubS10LW5lZ2hhbGYge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tci1uZWdoYWxmIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tYi1uZWdoYWxmIHtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLWwtbmVnaGFsZiB7XG4gIG1hcmdpbi1sZWZ0OiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0teC1uZWdoYWxmIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0teS1uZWdoYWxmIHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tYS1uZWcxIHtcbiAgbWFyZ2luOiAtMXJlbSAtMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLXQtbmVnMSB7XG4gIG1hcmdpbi10b3A6IC0xcmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tci1uZWcxIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLWItbmVnMSB7XG4gIG1hcmdpbi1ib3R0b206IC0xcmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tbC1uZWcxIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcmVtICFpbXBvcnRhbnQ7IH1cblxuLm0teC1uZWcxIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogLTFyZW0gIWltcG9ydGFudDsgfVxuXG4ubS15LW5lZzEge1xuICBtYXJnaW4tdG9wOiAtMXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAtMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWEtMCB7XG4gIHBhZGRpbmc6IDAgMCAhaW1wb3J0YW50OyB9XG5cbi5wLXQtMCB7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cblxuLnAtci0wIHtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi5wLWItMCB7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLnAtbC0wIHtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuLnAteC0wIHtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG4ucC15LTAge1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi5wLWEtcXQge1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuMjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucC10LXF0IHtcbiAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucC1yLXF0IHtcbiAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWItcXQge1xuICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWwtcXQge1xuICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucC14LXF0IHtcbiAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucC15LXF0IHtcbiAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucC1hLWhhbGYge1xuICBwYWRkaW5nOiAwLjVyZW0gMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtdC1oYWxmIHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLXItaGFsZiB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWItaGFsZiB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucC1sLWhhbGYge1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLXgtaGFsZiB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLXktaGFsZiB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWEtMSB7XG4gIHBhZGRpbmc6IDFyZW0gMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLXQtMSB7XG4gIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtci0xIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWItMSB7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtbC0xIHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLnAteC0xIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ucC15LTEge1xuICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWEtMiB7XG4gIHBhZGRpbmc6IDJyZW0gMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLXQtMiB7XG4gIHBhZGRpbmctdG9wOiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtci0yIHtcbiAgcGFkZGluZy1yaWdodDogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWItMiB7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtbC0yIHtcbiAgcGFkZGluZy1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLnAteC0yIHtcbiAgcGFkZGluZy1yaWdodDogMnJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ucC15LTIge1xuICBwYWRkaW5nLXRvcDogMnJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWEtMyB7XG4gIHBhZGRpbmc6IDNyZW0gM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5wLXQtMyB7XG4gIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtci0zIHtcbiAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWItMyB7XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtbC0zIHtcbiAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLnAteC0zIHtcbiAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ucC15LTMge1xuICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWEtNCB7XG4gIHBhZGRpbmc6IDRyZW0gNHJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLXQtNCB7XG4gIHBhZGRpbmctdG9wOiA0cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtci00IHtcbiAgcGFkZGluZy1yaWdodDogNHJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWItNCB7XG4gIHBhZGRpbmctYm90dG9tOiA0cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtbC00IHtcbiAgcGFkZGluZy1sZWZ0OiA0cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAteC00IHtcbiAgcGFkZGluZy1yaWdodDogNHJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDRyZW0gIWltcG9ydGFudDsgfVxuXG4ucC15LTQge1xuICBwYWRkaW5nLXRvcDogNHJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogNHJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWEtbmVncXQge1xuICBwYWRkaW5nOiAtMC4yNXJlbSAtMC4yNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLXQtbmVncXQge1xuICBwYWRkaW5nLXRvcDogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucC1yLW5lZ3F0IHtcbiAgcGFkZGluZy1yaWdodDogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucC1iLW5lZ3F0IHtcbiAgcGFkZGluZy1ib3R0b206IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtbC1uZWdxdCB7XG4gIHBhZGRpbmctbGVmdDogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucC14LW5lZ3F0IHtcbiAgcGFkZGluZy1yaWdodDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAtMC4yNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLXktbmVncXQge1xuICBwYWRkaW5nLXRvcDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtYS1uZWdoYWxmIHtcbiAgcGFkZGluZzogLTAuNXJlbSAtMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtdC1uZWdoYWxmIHtcbiAgcGFkZGluZy10b3A6IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucC1yLW5lZ2hhbGYge1xuICBwYWRkaW5nLXJpZ2h0OiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtYi1uZWdoYWxmIHtcbiAgcGFkZGluZy1ib3R0b206IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucC1sLW5lZ2hhbGYge1xuICBwYWRkaW5nLWxlZnQ6IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucC14LW5lZ2hhbGYge1xuICBwYWRkaW5nLXJpZ2h0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogLTAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLXktbmVnaGFsZiB7XG4gIHBhZGRpbmctdG9wOiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtYS1uZWcxIHtcbiAgcGFkZGluZzogLTFyZW0gLTFyZW0gIWltcG9ydGFudDsgfVxuXG4ucC10LW5lZzEge1xuICBwYWRkaW5nLXRvcDogLTFyZW0gIWltcG9ydGFudDsgfVxuXG4ucC1yLW5lZzEge1xuICBwYWRkaW5nLXJpZ2h0OiAtMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWItbmVnMSB7XG4gIHBhZGRpbmctYm90dG9tOiAtMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWwtbmVnMSB7XG4gIHBhZGRpbmctbGVmdDogLTFyZW0gIWltcG9ydGFudDsgfVxuXG4ucC14LW5lZzEge1xuICBwYWRkaW5nLXJpZ2h0OiAtMXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IC0xcmVtICFpbXBvcnRhbnQ7IH1cblxuLnAteS1uZWcxIHtcbiAgcGFkZGluZy10b3A6IC0xcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAtMXJlbSAhaW1wb3J0YW50OyB9XG5cbi8qICBGb3Jtc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xubGVnZW5kIHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbnRleHRhcmVhIHtcbiAgcmVzaXplOiBub25lOyB9XG5cbnNlbGVjdCwgaW5wdXQsIHRleHRhcmVhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI0IzQUFBMTtcbiAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG5cbi5zZWFyY2gtZmFjZXQtaXRlbSB7XG4gIG1hcmdpbi10b3A6IDAuMmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zZWFyY2gtZmFjZXQtaXRlbSA+IFt0eXBlPVwicmFkaW9cIl0sXG4gIC5zZWFyY2gtZmFjZXQtaXRlbSA+IFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuMzVlbTsgfVxuICAuc2VhcmNoLWZhY2V0LWl0ZW0gPiBsYWJlbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW4tbGVmdDogMS41ZW07IH1cblxuI3NlYXJjaC1mb3JtIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAjc2VhcmNoLWZvcm0gaW5wdXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4OyB9XG4gICNzZWFyY2gtZm9ybSBidXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICNzZWFyY2gtZm9ybSAuaWNvbi1zZWFyY2g6OmJlZm9yZSB7XG4gICAgdG9wOiAtMC4xZW07IH1cblxuLmZvcm0tc2VhcmNoLWpvaW5lZCB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmZvcm0tc2VhcmNoLWpvaW5lZCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgZmxleDogMTtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmZvcm0tc2VhcmNoLWpvaW5lZCAuYnV0dG9uLFxuICAuZm9ybS1zZWFyY2gtam9pbmVkIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGZsZXg6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwLjVlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41ZW07XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4udG9vbHRpcC5uYXJyb3cge1xuICB3aWR0aDogMTcwcHggIWltcG9ydGFudDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMzMwcHgpIHtcbiAgICAudG9vbHRpcC5uYXJyb3cge1xuICAgICAgd2lkdGg6IDIyMHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDsgfVxuXG4vKiAgQnV0dG9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmJ1dHRvbiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5idXR0b246aG92ZXIsIC5idXR0b246YWN0aXZlLCAuYnV0dG9uOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmJ1dHRvbi5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjBFQUU0O1xuICBib3JkZXI6IHNvbGlkIDFweCAjREJENkQwO1xuICBjb2xvcjogIzMxMkUyQjsgfVxuICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6YWN0aXZlLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RCRDZEMDtcbiAgICBjb2xvcjogIzMxMkUyQjsgfVxuXG4uYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5idXR0b24tZ3JvdXAgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4OyB9XG5cbi5idXR0b24tZ3JvdXAgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsgfVxuXG4uYnV0dG9uLWdyb3VwIC5idXR0b24ucHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMTJFMkI7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5idXR0b24tZ3JvdXAgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjNBQUExO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI0YwRUFFNDsgfVxuICAuYnV0dG9uLWdyb3VwIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLWdyb3VwIC5idXR0b24uc2Vjb25kYXJ5OmFjdGl2ZSwgLmJ1dHRvbi1ncm91cCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzhDODE3OTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4udmVydGljYWwgbGkgPiBhIHtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTsgfVxuXG4ubWVudS1wYWdpbmF0aW9uIGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5tZW51LXBhZ2luYXRpb24gbGkgYSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubWVudS1wYWdpbmF0aW9uIGxpIGEge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuMjhyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMjhyZW07IH0gfVxuXG4uc3RpY2t5LXNpZGViYXIge1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc3RpY2t5LXNpZGViYXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMTVweDsgfSB9XG5cbi8qICBUb29sdGlwcyAmIE1vZGFscyAoUmV2ZWFsKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnRvb2x0aXAge1xuICBtYXgtd2lkdGg6IDIwZW0gIWltcG9ydGFudDsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7IH1cblxuLnBob3RvLWdhbGxlcnktbW9kYWwge1xuICB0b3A6IDU1cHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGhvdG8tZ2FsbGVyeS1tb2RhbCB7XG4gICAgICB0b3A6IDY1cHggIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDY1cHg7IH0gfVxuXG4ubW9kYWwtaW52ZXJzZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMTE7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBwYWRkaW5nOiAyMHB4IDE1cHggMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1vZGFsLWludmVyc2Uge1xuICAgICAgcGFkZGluZzogNDBweCA4MHB4IDgwcHg7IH0gfVxuICAubW9kYWwtaW52ZXJzZSxcbiAgLm1vZGFsLWludmVyc2UgaDEsXG4gIC5tb2RhbC1pbnZlcnNlIGgyLFxuICAubW9kYWwtaW52ZXJzZSBoMyxcbiAgLm1vZGFsLWludmVyc2UgaDQge1xuICAgIGNvbG9yOiAjZWVlOyB9XG5cbi5tb2RhbC1pbWctY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tb2RhbC1pbWctY29udGFpbmVyIGltZyB7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cblxuLyogIE5hdmJhclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTkuOTM3NWVtKSB7XG4gIC5uby1qcyAudG9wLWJhciB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm5vLWpzIC50aXRsZS1iYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5uby1qcyBbZGF0YS1zdGlja3ktY29udGFpbmVyXSB7XG4gICAgaGVpZ2h0OiA4NXB4OyB9IH1cblxuW2RhdGEtc3RpY2t5LWNvbnRhaW5lcl0ge1xuICBoZWlnaHQ6IDg1cHg7IH1cblxuLnRpdGxlLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMTJFMkI7XG4gIHBhZGRpbmctdG9wOiAwLjVlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuOGVtO1xuICBtYXJnaW46IDA7IH1cblxuLnRvcC1iYXItY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMxMkUyQjtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNCM0FBQTE7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIHotaW5kZXg6IDk5OTsgfVxuXG4vKlxuLnN0aWNreS5pcy1zdHVjayB7IC8vIFN0aWNreSB0b3AgbmF2XG4gIHotaW5kZXg6IDEwO1xuICBcbiAgJi50b3AtYmFyLWNvbnRhaW5lciB7XG4gICAgei1pbmRleDogNTU7XG4gIH1cbiAgXG59XG4qL1xuLnRvcC1iYXIge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cblxuLnRvcC1iYXIge1xuICBoZWlnaHQ6IDU1cHg7IH1cbiAgLnRvcC1iYXIgaW1nIHtcbiAgICBoZWlnaHQ6IDU1cHg7IH1cbiAgLnRvcC1iYXIgYSxcbiAgLnRvcC1iYXIgLnBzZXVkb2xpbmsge1xuICAgIGNvbG9yOiAjQjNBQUExOyB9XG4gICAgLnRvcC1iYXIgYTpob3ZlciwgLnRvcC1iYXIgYTphY3RpdmUsIC50b3AtYmFyIGE6Zm9jdXMsXG4gICAgLnRvcC1iYXIgLnBzZXVkb2xpbms6aG92ZXIsXG4gICAgLnRvcC1iYXIgLnBzZXVkb2xpbms6YWN0aXZlLFxuICAgIC50b3AtYmFyIC5wc2V1ZG9saW5rOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC50b3AtYmFyIGlucHV0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLm5hdi1tZW51LXByaW1hcnkge1xuICBmbG9hdDogcmlnaHQ7IH1cbiAgLm5hdi1tZW51LXByaW1hcnkgbGkgPiBhLFxuICAubmF2LW1lbnUtcHJpbWFyeSBsaSA+IC5wc2V1ZG9saW5rLFxuICAubmF2LW1lbnUtcHJpbWFyeSBsaSA+IC5tZW51LXRleHQtaXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA1NXB4O1xuICAgIHBhZGRpbmctdG9wOiAxN3B4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBNb250c2VycmF0LCDigJxIZWx2ZXRpY2EgTmV1ZeKAnSwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubmF2LW1lbnUtcHJpbWFyeSBsaSA+IC5tZW51LXRleHQtaXRlbSB7XG4gICAgY29sb3I6ICNEQkQ2RDA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAubmF2LW1lbnUtcHJpbWFyeSBsaSAuaWNvbi1ob21lIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMC4yZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5uYXYtbWVudS1wcmltYXJ5IGxpIC5pY29uLWhvbWU6YmVmb3JlIHtcbiAgICAgIHRvcDogMDsgfSB9XG4gIC5uYXYtbWVudS1wcmltYXJ5IGxpLmFjdGl2ZSA+IGEsXG4gIC5uYXYtbWVudS1wcmltYXJ5IGxpLmFjdGl2ZSA+IC5wc2V1ZG9saW5rIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBib3JkZXItbGVmdDogc29saWQgNXB4ICNBNTFDMzA7XG4gICAgcGFkZGluZy1sZWZ0OiAxMXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm5hdi1tZW51LXByaW1hcnkgbGkuYWN0aXZlID4gYSxcbiAgICAgIC5uYXYtbWVudS1wcmltYXJ5IGxpLmFjdGl2ZSA+IC5wc2V1ZG9saW5rIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDVweCAjQTUxQzMwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgIC8qYmFja2dyb3VuZC1jb2xvcjogI0E1MUMzMCovIH0gfVxuICAubmF2LW1lbnUtcHJpbWFyeSBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgd2lkdGg6IDMzMHB4O1xuICAgIHRvcDogOTElICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xuICAgIHotaW5kZXg6IDYwOyB9XG4gIC5uYXYtbWVudS1wcmltYXJ5IGxpLmlzLXN1Ym1lbnUtaXRlbSA+IGEsXG4gIC5uYXYtbWVudS1wcmltYXJ5IGxpLmlzLXN1Ym1lbnUtaXRlbSA+IC5wc2V1ZG9saW5rLFxuICAubmF2LW1lbnUtcHJpbWFyeSBsaS5pcy1zdWJtZW51LWl0ZW0gPiAubWVudS10ZXh0LWl0ZW0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBwYWRkaW5nLXRvcDogMC44cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjhyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubmF2LW1lbnUtcHJpbWFyeSBsaS5pcy1zdWJtZW51LWl0ZW0gPiBhLFxuICAgICAgLm5hdi1tZW51LXByaW1hcnkgbGkuaXMtc3VibWVudS1pdGVtID4gLnBzZXVkb2xpbmssXG4gICAgICAubmF2LW1lbnUtcHJpbWFyeSBsaS5pcy1zdWJtZW51LWl0ZW0gPiAubWVudS10ZXh0LWl0ZW0ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtOyB9IH1cbiAgLm5hdi1tZW51LXByaW1hcnkgbGkubGktaW5kZW50ZWQge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAgIC5uYXYtbWVudS1wcmltYXJ5IGxpLmxpLWluZGVudGVkID4gYSxcbiAgICAubmF2LW1lbnUtcHJpbWFyeSBsaS5saS1pbmRlbnRlZCA+IC5wc2V1ZG9saW5rLFxuICAgIC5uYXYtbWVudS1wcmltYXJ5IGxpLmxpLWluZGVudGVkID4gLm1lbnUtdGV4dC1pdGVtIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLm5hdi1tZW51LXByaW1hcnkgbGkubGktaW5kZW50ZWQgPiBhLFxuICAgICAgICAubmF2LW1lbnUtcHJpbWFyeSBsaS5saS1pbmRlbnRlZCA+IC5wc2V1ZG9saW5rLFxuICAgICAgICAubmF2LW1lbnUtcHJpbWFyeSBsaS5saS1pbmRlbnRlZCA+IC5tZW51LXRleHQtaXRlbSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDAuMnJlbTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC4ycmVtOyB9IH1cblxuLm1lbnUgPiBsaSA+IC5tZW51LXRleHQtaXRlbSB7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuXG4udG9wLWJhci1jb250YWluZXIgLnRpdGxlLWJhciB7XG4gIGhlaWdodDogNDVweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxOS45Mzc1ZW0pIHtcbiAgLm5hdi1tZW51LXByaW1hcnkgLnN1Ym1lbnUuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgIG1hcmdpbi10b3A6IC00NXB4O1xuICAgIHBhZGRpbmctdG9wOiA0NXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIGhlaWdodDogMTAwdmggIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93LXk6IGF1dG8gIWltcG9ydGFudDsgfSB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjQjNBQUExIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6ICNCM0FBQTEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH0gfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBib3JkZXItY29sb3I6ICNCM0FBQTEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cblxuLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjQjNBQUExOyB9XG5cbi5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI0IzQUFBMSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuXG4uZHJvcGRvd24ubWVudSAuaXMtc3VibWVudS1pdGVtLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IC5zdWJtZW51IHtcbiAgdG9wOiAwICFpbXBvcnRhbnQ7IH1cblxuLnRvcC1iYXIgLm1lbnUgbGk6bGFzdC1jaGlsZCBidXR0b24ge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIGhlaWdodDogMzlweDtcbiAgY29sb3I6ICNCM0FBQTE7XG4gIGZvbnQtZmFtaWx5OiBNb250c2VycmF0LCDigJxIZWx2ZXRpY2EgTmV1ZeKAnSwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC50b3AtYmFyIC5tZW51IGxpOmxhc3QtY2hpbGQgYnV0dG9uOmhvdmVyLCAudG9wLWJhciAubWVudSBsaTpsYXN0LWNoaWxkIGJ1dHRvbjphY3RpdmUsIC50b3AtYmFyIC5tZW51IGxpOmxhc3QtY2hpbGQgYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAudG9wLWJhciAubWVudSBsaTpsYXN0LWNoaWxkIGJ1dHRvbiAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMmVtOyB9XG5cbltkYXRhLXRvZ2dsZT1cInNlYXJjaC1kcm9wZG93blwiXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMTJFMkI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIFtkYXRhLXRvZ2dsZT1cInNlYXJjaC1kcm9wZG93blwiXSB7XG4gICAgICB3aWR0aDogM3JlbTsgfSB9XG4gIFtkYXRhLXRvZ2dsZT1cInNlYXJjaC1kcm9wZG93blwiXS5pcy1hY3RpdmUge1xuICAgIGNvbG9yOiAjZWM1ODQwICFpbXBvcnRhbnQ7IH1cbiAgICBbZGF0YS10b2dnbGU9XCJzZWFyY2gtZHJvcGRvd25cIl0uaXMtYWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwwMGQ3JztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLTAuM2VtO1xuICAgICAgZm9udC1zaXplOiAxMjAlOyB9XG4gICAgW2RhdGEtdG9nZ2xlPVwic2VhcmNoLWRyb3Bkb3duXCJdLmlzLWFjdGl2ZTpob3ZlciwgW2RhdGEtdG9nZ2xlPVwic2VhcmNoLWRyb3Bkb3duXCJdLmlzLWFjdGl2ZTphY3RpdmUsIFtkYXRhLXRvZ2dsZT1cInNlYXJjaC1kcm9wZG93blwiXS5pcy1hY3RpdmU6Zm9jdXMge1xuICAgICAgY29sb3I6ICNmZWZlZmUgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNBNTFDMzAgIWltcG9ydGFudDsgfVxuXG4udG9wLWJhciAuZHJvcGRvd24tcGFuZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMTJFMkI7XG4gIGNvbG9yOiAjRjBFQUU0OyB9XG5cbiNzZWFyY2gtZHJvcGRvd24ge1xuICBib3JkZXI6IG5vbmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICBwYWRkaW5nOiAxcmVtO1xuICB3aWR0aDogYXV0bzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxOS45Mzc1ZW0pIHtcbiAgICAjc2VhcmNoLWRyb3Bkb3duIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICBvcGFjaXR5OiAxLjAgIWltcG9ydGFudDtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAjc2VhcmNoLWRyb3Bkb3duIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgdG9wOiAwcHggIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogNTVweDtcbiAgICAgIHdpZHRoOiA3MDBweDtcbiAgICAgIHBhZGRpbmc6IDdweCAwIDdweDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDAuMjVzIGxpbmVhciwgb3BhY2l0eSAwLjI1cyBsaW5lYXI7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gICNzZWFyY2gtZHJvcGRvd24uaXMtb3BlbiB7XG4gICAgb3BhY2l0eTogMS4wOyB9XG4gICNzZWFyY2gtZHJvcGRvd24gZm9ybSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAjc2VhcmNoLWRyb3Bkb3duIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICB3aWR0aDogMjIwcHg7XG4gICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgaGVpZ2h0OiA0MXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICNzZWFyY2gtZHJvcGRvd24gaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgICB3aWR0aDogNDAwcHg7IH0gfVxuICAjc2VhcmNoLWRyb3Bkb3duIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgaGVpZ2h0OiA0MXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xcHg7IH1cbiAgI3NlYXJjaC1kcm9wZG93biBzbWFsbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAjc2VhcmNoLWRyb3Bkb3duIHNtYWxsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAzcHg7XG4gICAgICAgIGhlaWdodDogMjVweDsgfSB9XG4gICAgI3NlYXJjaC1kcm9wZG93biBzbWFsbCBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgcGFkZGluZzogMC44cmVtIDA7IH1cblxuLyogIEZvb3RlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xubmF2LnJvdyAubWVkaXVtLTQgdWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4uZm9vdGVyLCBmb290ZXIubGVnYWwtc29jaWFsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YwRUFFNDsgfVxuXG4uZm9vdGVyIHtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjREJENkQwO1xuICBtYXJnaW4tdG9wOiA0cmVtOyB9XG5cbmZvb3Rlci5sZWdhbC1zb2NpYWwge1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy10b3A6IDJyZW07IH1cblxuLm9yYml0LWJ1bGxldHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgcmlnaHQ6IDEwcHg7XG4gIG1hcmdpbjogMDsgfVxuICAub3JiaXQtYnVsbGV0cyA+IGJ1dHRvbiB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB3aWR0aDogMC43NXJlbTtcbiAgICBoZWlnaHQ6IDAuNzVyZW07IH1cblxuLmZvb3Rlci1tZW51LWxpc3QgbGkge1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW4tYm90dG9tOiAwLjZlbTsgfVxuXG4uYWNjb3JkaW9uLXNsaW0gbGkge1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW4tYm90dG9tOiAwLjZlbTsgfVxuXG4uYWNjb3JkaW9uLXNsaW0gbGkgYSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLmFjY29yZGlvbi1zbGltIGxpIGE6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjNyZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC4ycmVtOyB9XG5cbi5hY2NvcmRpb24tc2xpbSAubmVzdGVkIHtcbiAgcGFkZGluZzogMC42ZW0gMCAwIDA7XG4gIG1hcmdpbjogMDsgfVxuXG4uaW1hZ2Utc3BhY2VyIHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5pbWFnZS1zcGFjZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi8qICBIZWFkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ucGFnZS1oZWFkZXIgLnRpdGxlIHtcbiAgbWluLWhlaWdodDogNzJweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtaGVhZGVyIC50aXRsZSB7XG4gICAgICBtaW4taGVpZ2h0OiA4NnB4OyB9IH1cblxuLnBhZ2UtaGVhZGVyIGgxIHtcbiAgcGFkZGluZy10b3A6IDIycHg7XG4gIHBhZGRpbmctbGVmdDogMHB4OyB9XG4gIC5wYWdlLWhlYWRlciBoMSBhIHtcbiAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5wYWdlLWhlYWRlciAucGFnZS1oZWFkZXJfX21ldGEge1xuICBjb2xvcjogIzhDODE3OTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMHB4O1xuICBtYXJnaW4tdG9wOiAtMC40ZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7IH1cblxuLmhlYWRlci1mdWxsIC5wYWdlLWhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmhlYWRlci1mdWxsIC5wYWdlLWhlYWRlciAudGl0bGUge1xuICAgIG1pbi1oZWlnaHQ6IDIyOHB4OyB9XG5cbi5oZWFkZXItZnVsbCAuY29udGVudC1zdGFydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogLTlyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGVhZGVyLWZ1bGwgLmNvbnRlbnQtY29sLXNlY29uZGFyeSB7XG4gICAgbWFyZ2luLXRvcDogNDRyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oZWFkZXItZnVsbCAucGFnZS1uYXZpZ2F0aW9uLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGVhZGVyLWZ1bGwubW9kZS1pbnRybyAuY29udGVudC1jb2wtc2Vjb25kYXJ5IHtcbiAgICBtYXJnaW4tdG9wOiA2cmVtOyB9XG4gIC5oZWFkZXItZnVsbC5tb2RlLWludHJvIC52aWV3LW1vZGUtdG9nZ2xlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhlYWRlci1mdWxsLm1vZGUtaW50cm8gLnZpZXctbW9kZS10b2dnbGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuLnBhZ2UtaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RCRDZEMDsgfVxuICAucGFnZS1oZWFkZXIgLnRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSB0b3A7IH1cblxuLmhlYWRlci1iZy0xIGgxLCAuaGVhZGVyLWJnLTYgaDEge1xuICB0ZXh0LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsgfVxuXG4uaGVhZGVyLWJnLTcgaDEsIC5oZWFkZXItYmctMiBoMSwgLmhlYWRlci1iZy0zIGgxLCAuaGVhZGVyLWJnLTQgaDEsIC5oZWFkZXItYmctNSBoMSwgLmhlYWRlci1iZy04IGgxLCAuaGVhZGVyLWJnLTkgaDEge1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuOCk7IH1cblxuLmhlYWRlci1iZy03IGgxIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLmhlYWRlci1iZy0xIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M2ZGRlYjsgfVxuICAuaGVhZGVyLWJnLTEgLnRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcGFnZWhlYWRlci1iZy10YWxsMS5qcGdcIik7IH1cblxuLmhlYWRlci1iZy0yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk0NWQzZjsgfVxuICAuaGVhZGVyLWJnLTIgLnRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcGFnZWhlYWRlci1iZy1zbGltMi5qcGdcIik7IH1cblxuLmhlYWRlci1iZy0zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhDNzA0QzsgfVxuICAuaGVhZGVyLWJnLTMgLnRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcGFnZWhlYWRlci1iZy1zbGltMy5qcGdcIik7IH1cblxuLmhlYWRlci1iZy00IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmODk0ZjsgfVxuICAuaGVhZGVyLWJnLTQgLnRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcGFnZWhlYWRlci1iZy1zbGltNC5qcGdcIik7IH1cblxuLmhlYWRlci1iZy01IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U0YjA1YTsgfVxuICAuaGVhZGVyLWJnLTUgLnRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcGFnZWhlYWRlci1iZy1zbGltNS5qcGdcIik7IH1cblxuLmhlYWRlci1iZy02IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NkY2FjYjsgfVxuICAuaGVhZGVyLWJnLTYgLnRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcGFnZWhlYWRlci1iZy1zbGltNi5qcGdcIik7IH1cblxuLmhlYWRlci1iZy03IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I0OGQ3ODsgfVxuICAuaGVhZGVyLWJnLTcgLnRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcGFnZWhlYWRlci1iZy1zbGltNy5qcGdcIik7IH1cblxuLmhlYWRlci1iZy04IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNGMzQyOTsgfVxuICAuaGVhZGVyLWJnLTggLnRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcGFnZWhlYWRlci1iZy1zbGltOC5qcGdcIik7IH1cblxuLmhlYWRlci1iZy05IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzdBNUI0MDsgfVxuICAuaGVhZGVyLWJnLTkgLnRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcGFnZWhlYWRlci1iZy1zbGltOS5qcGdcIik7IH1cblxuLnBhZ2Utc3ViaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YwRUFFNDtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNEQkQ2RDA7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfVxuXG4uYmctc2FuZC1saWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMEVBRTQ7IH1cblxuLmJnLXNhbmQtbWVkaXVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RCRDZEMDsgfVxuXG4uYmctc2FuZC1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0IzQUFBMTsgfVxuXG4vKiAgRmVhdHVyZSBJdGVtc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZlYXR1cmUtYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGQUY1O1xuICBib3JkZXI6IHNvbGlkIDNweCAjRkZGQUY1O1xuICBib3JkZXItcmFkaXVzOiA2cHg7IH1cbiAgLmZlYXR1cmUtYmxvY2suc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREJENkQwO1xuICAgIGJvcmRlcjogc29saWQgM3B4ICNGRkZBRjU7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIHBhZGRpbmc6IDEuMjVyZW07IH1cbiAgLmZlYXR1cmUtYmxvY2sudGVydGlhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGMEVBRTQ7XG4gICAgYm9yZGVyOiBzb2xpZCAycHggI0RCRDZEMDtcbiAgICBwYWRkaW5nOiAxLjI1cmVtOyB9XG5cbi5mZWF0dXJlLWJsb2NrX19oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDEycHggMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YwRUFFNDtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNEQkQ2RDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLnNlY29uZGFyeSAuZmVhdHVyZS1ibG9ja19faGVhZGVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLmZlYXR1cmUtYmxvY2tfX3RpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAuY29sbGFwc2libGUgLmZlYXR1cmUtYmxvY2tfX3RpdGxlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9XG4gIC5pcy1jb2xsYXBzZWQgLmZlYXR1cmUtYmxvY2tfX3RpdGxlIHtcbiAgICBjb2xvcjogIzhDODE3OTsgfVxuXG4uZmVhdHVyZS1ibG9ja19fYm9keSB7XG4gIHBhZGRpbmc6IDFweCAxMnB4OyB9XG4gIC5pcy1jb2xsYXBzZWQgLmZlYXR1cmUtYmxvY2tfX2JvZHkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnNlY29uZGFyeSAuZmVhdHVyZS1ibG9ja19fYm9keSB7XG4gICAgcGFkZGluZzogMXB4IDAgMDsgfVxuXG4uc2Vjb25kYXJ5IC5mZWF0dXJlLWJsb2NrX19mb290ZXIgcCB7XG4gIG1hcmdpbi1ib3R0b206IDFweDsgfVxuXG4uZmVhdHVyZS1ibG9ja19fbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZlYXR1cmUtYmxvY2tfX2xpc3QubXVsdGljb2wtMiB7XG4gICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMjtcbiAgICAgIC1tb3otY29sdW1uLWNvdW50OiAyO1xuICAgICAgY29sdW1uLWNvdW50OiAyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mZWF0dXJlLWJsb2NrX19saXN0Lm11bHRpY29sLTQge1xuICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDQ7XG4gICAgICAtbW96LWNvbHVtbi1jb3VudDogNDtcbiAgICAgIGNvbHVtbi1jb3VudDogNDsgfSB9XG4gIC5mZWF0dXJlLWJsb2NrX19saXN0Lml0ZW0tZ3JpZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbTsgfVxuICAgIC5mZWF0dXJlLWJsb2NrX19saXN0Lml0ZW0tZ3JpZDo6YmVmb3JlLCAuZmVhdHVyZS1ibG9ja19fbGlzdC5pdGVtLWdyaWQ6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgLmZlYXR1cmUtYmxvY2tfX2xpc3QuaXRlbS1ncmlkOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuZmVhdHVyZS1ibG9ja19fbGlzdCA+IGxpIHtcbiAgICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICBicmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIHBhZGRpbmc6IDFweCAwOyB9XG4gIC5mZWF0dXJlLWJsb2NrX19saXN0Lml0ZW0tZ3JpZCA+IGxpIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4ubGlzdC1pdGVtIC5tZWRpYS1vYmplY3QtdGl0bGUge1xuICBsaW5lLWhlaWdodDogMS40O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLWJvdHRvbTogMC4xZW07IH1cblxuLmxpc3QtaXRlbSAuc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uc2Vjb25kYXJ5IC5saXN0LWl0ZW0gLnN1YmhlYWRlciB7XG4gIGNvbG9yOiAjNTY0ZjQ5OyB9XG5cbi5saXN0LWl0ZW0gLmljb24tbGFyZ2Uge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tdG9wOiAtMC4xZW07XG4gIGNvbG9yOiAjOEM4MTc5OyB9XG4gIC5saXN0LWl0ZW0gLmljb24tbGFyZ2U6aG92ZXIsIC5saXN0LWl0ZW0gLmljb24tbGFyZ2U6YWN0aXZlLCAubGlzdC1pdGVtIC5pY29uLWxhcmdlOmZvY3VzIHtcbiAgICBjb2xvcjogIzBmNTY5NTsgfVxuXG4ubGlzdC1pdGVtIC5pdGVtLXByb3BlcnR5OmFmdGVyIHtcbiAgY29udGVudDogJzonOyB9XG5cbi5uby1sYWJlbHMgLmxpc3QtaXRlbSAuaXRlbS1wcm9wZXJ0eSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZpcnN0LXByb3BlcnR5LWJvbGQgLmxpc3QtaXRlbSB1bCBsaTpmaXJzdC1jaGlsZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5pdGVtLWdyaWQgLmxpc3QtaXRlbS10aHVtYmNhcHRpb24sIC5pdGVtLWdyaWRcbi5saXN0LWl0ZW0tbWVkaWFjYXB0aW9uIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG5cbi5saXN0LWl0ZW0tdGh1bWJjYXB0aW9uIC50aHVtYm5haWwsXG4ubGlzdC1pdGVtLXRodW1iY2FwdGlvbiAubWVkaWEtaXRlbSxcbi5saXN0LWl0ZW0tbWVkaWFjYXB0aW9uIC50aHVtYm5haWwsXG4ubGlzdC1pdGVtLW1lZGlhY2FwdGlvbiAubWVkaWEtaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVlbTsgfVxuXG4ubGlzdC1pdGVtLXRodW1iY2FwdGlvbiAubWVkaWEtaXRlbSxcbi5saXN0LWl0ZW0tbWVkaWFjYXB0aW9uIC5tZWRpYS1pdGVtIHtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2ZlZmVmZTsgfVxuXG4ubGlzdC1pdGVtLXRleHRpbmZvIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gIC5saXN0LWl0ZW0tdGV4dGluZm8gZGwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmxpc3QtaXRlbS10ZXh0aW5mbyBkdDphZnRlciB7XG4gICAgY29udGVudDogJzonOyB9XG5cbi5saXN0LWl0ZW0tcmVzb3VyY2VsaW5rIHtcbiAgYm9yZGVyLXRvcDogc29saWQgMXB4ICNCM0FBQTE7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTsgfVxuXG4udGh1bWJzaXplLWxnIC50aHVtYm5haWwge1xuICB3aWR0aDogMTQ4cHg7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4udGh1bWJzaXplLWxnLnRodW1icy1zcXVhcmUgLnRodW1ibmFpbCB7XG4gIGhlaWdodDogMTQ4cHg7IH1cblxuLnRodW1ic2l6ZS1sZy5pdGVtLWdyaWQgLmxpc3QtaXRlbSA+ICo6bGFzdC1jaGlsZCB7XG4gIHdpZHRoOiAxNDhweDsgfVxuXG4udGh1bWJzaXplLW1kIC50aHVtYm5haWwge1xuICB3aWR0aDogNjJweDtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi50aHVtYnNpemUtbWQudGh1bWJzLXNxdWFyZSAudGh1bWJuYWlsIHtcbiAgaGVpZ2h0OiA2MnB4OyB9XG5cbi50aHVtYnNpemUtc20gLnRodW1ibmFpbCB7XG4gIHdpZHRoOiA0MnB4O1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLnRodW1ic2l6ZS1zbS50aHVtYnMtc3F1YXJlIC50aHVtYm5haWwge1xuICBoZWlnaHQ6IDQycHg7IH1cblxuLnRodW1ic2l6ZS1mdWxsIC50aHVtYm5haWwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi50aHVtYm5haWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjNBQUExO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAudGh1bWJuYWlsIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLnRodW1ibmFpbCBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmZlYXR1cmUtYmxvY2tfX2hlYWRlciAudG9nZ2xlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBoZWlnaHQ6IDJyZW07XG4gIHdpZHRoOiAycmVtO1xuICB0b3A6IDAuNnJlbTtcbiAgcmlnaHQ6IDAuNzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuICAuZmVhdHVyZS1ibG9ja19faGVhZGVyIC50b2dnbGVyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA3cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjOEM4MTc5O1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgcmlnaHQ6IDAuNTVyZW07IH1cbiAgLmZlYXR1cmUtYmxvY2tfX2hlYWRlciAudG9nZ2xlcjpob3ZlciwgLmZlYXR1cmUtYmxvY2tfX2hlYWRlciAudG9nZ2xlcjphY3RpdmUsIC5mZWF0dXJlLWJsb2NrX19oZWFkZXIgLnRvZ2dsZXI6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cblxuLmZlYXR1cmUtYmxvY2suc2Vjb25kYXJ5IC50b2dnbGVyIHtcbiAgdG9wOiAtMC4ycmVtO1xuICByaWdodDogLTAuMjVyZW07IH1cblxuLmZlYXR1cmUtYmxvY2suY29sbGFwc2libGUgLnRvZ2dsZXIge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uaXMtY29sbGFwc2VkIC5mZWF0dXJlLWJsb2NrX19oZWFkZXIgLnRvZ2dsZXI6YWZ0ZXIge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7IH1cblxuLnNlY29uZGFyeS5pcy1jb2xsYXBzZWQgLmZlYXR1cmUtYmxvY2tfX2hlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmJhZGdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JlYjdhZjtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0wLjJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuMjVlbTtcbiAgbWluLXdpZHRoOiAxLjg1ZW07XG4gIGZvbnQtc2l6ZTogMC42NWVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogMC40ZW0gMC42ZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuOWVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICAuZmVhdHVyZS1ibG9ja19faGVhZGVyIC5iYWRnZSB7XG4gICAgZm9udC1zaXplOiAwLjZlbTtcbiAgICB0b3A6IC0wLjI1ZW07IH1cbiAgLnZlcnRpY2FsLm1lbnUgLmJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjNBQUExO1xuICAgIHBhZGRpbmc6IDAuMWVtIDAuMzVlbSAwLjJlbTtcbiAgICBtaW4td2lkdGg6IDFlbTtcbiAgICBtYXJnaW4tbGVmdDogMC4xNWVtO1xuICAgIG9wYWNpdHk6IDAuODsgfVxuICAuYmFkZ2Uuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOEM4MTc5OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmZlYXR1cmUtYmxvY2sgLm1lbnUudmVydGljYWwgPiBsaSBhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDAuNHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC40cmVtOyB9IH1cblxuLmZlYXR1cmUtYmxvY2sgLm1lbnUudmVydGljYWwgW2RhdGEtaWNvbl0sXG4uZmVhdHVyZS1ibG9jayAubWVudS52ZXJ0aWNhbCBbY2xhc3NePVwiaWNvbi1cIl0sXG4uZmVhdHVyZS1ibG9jayAubWVudS52ZXJ0aWNhbCBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgY29sb3I6ICM3MzE0MjI7IH1cblxuLml0ZW1fX2ZlYXR1cmVkLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5O1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNCM0FBQTE7XG4gIGJvcmRlcjogc29saWQgM3B4ICNmZWZlZmU7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgYm94LXNoYWRvdzogMCAzcHggOHB4IHJnYmEoMCwgMCwgMCwgMC4zNSk7IH1cbiAgLml0ZW1fX2ZlYXR1cmVkLWltYWdlIGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiA5NDBweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cblxuLml0ZW1fX2ZlYXR1cmVkLWltYWdlX19jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDBweDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7IH1cblxuLml0ZW1fX292ZXJ2aWV3IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1MCwgMjQ1LCAwLjkpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogOTsgfVxuXG4udmlkZW8tYm9yZGVyIC5tZWRpYS1vYmplY3QgdmlkZW8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREJENkQwO1xuICBib3JkZXI6IHNvbGlkIDFweCAjQjNBQUExOyB9XG5cbi5zaGFyZS1saW5rcyB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uc2hhcmUtbGlua3NfX3RleHQge1xuICBmbGV4OiAwIDAgMy41ZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uc2hhcmUtbGlua3NfX2ljb25zIHtcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5zaGFyZS1saW5rc19faWNvbnMgbGkge1xuICAgIGZsZXg6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cbiAgLnNoYXJlLWxpbmtzX19pY29ucyBhLFxuICAuc2hhcmUtbGlua3NfX2ljb25zIHNwYW4ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnNoYXJlLWxpbmtzLS1sZWZ0IC5zaGFyZS1saW5rc19faWNvbnMge1xuICBmbGV4OiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLnNoYXJlLWxpbmtzLS1sZWZ0IC5zaGFyZS1saW5rc19faWNvbnMgbGkge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4uc2hhcmUtZW1haWwge1xuICBjb2xvcjogIzYwNTg1MjsgfVxuICAuc2hhcmUtZW1haWw6aG92ZXIsIC5zaGFyZS1lbWFpbDphY3RpdmUsIC5zaGFyZS1lbWFpbDpmb2N1cyB7XG4gICAgY29sb3I6ICMzNzMyMmY7IH1cblxuLnNoYXJlLWZhY2Vib29rIHtcbiAgY29sb3I6ICMyODY3QjE7IH1cbiAgLnNoYXJlLWZhY2Vib29rOmhvdmVyLCAuc2hhcmUtZmFjZWJvb2s6YWN0aXZlLCAuc2hhcmUtZmFjZWJvb2s6Zm9jdXMge1xuICAgIGNvbG9yOiAjMWE0MzczOyB9XG5cbi5zaGFyZS10d2l0dGVyIHtcbiAgY29sb3I6ICM0QTkwRTI7IH1cbiAgLnNoYXJlLXR3aXR0ZXI6aG92ZXIsIC5zaGFyZS10d2l0dGVyOmFjdGl2ZSwgLnNoYXJlLXR3aXR0ZXI6Zm9jdXMge1xuICAgIGNvbG9yOiAjMWY2OWMxOyB9XG5cbi5zaGFyZS1pbnN0YWdyYW0ge1xuICBjb2xvcjogIzZCNjI1QzsgfVxuICAuc2hhcmUtaW5zdGFncmFtOmhvdmVyLCAuc2hhcmUtaW5zdGFncmFtOmFjdGl2ZSwgLnNoYXJlLWluc3RhZ3JhbTpmb2N1cyB7XG4gICAgY29sb3I6ICMzNzMyMmY7IH1cblxuLmxpYnJhcnktaXRlbSB7XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIG1hcmdpbi10b3A6IC0wLjc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI0YwRUFFNDsgfVxuICA6bGFzdC1jaGlsZCA+IC5saWJyYXJ5LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLmxpYnJhcnktaXRlbV9fZmlsZXNpemUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiAgSG9tZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmhvbWUtaGVyby1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICBiYWNrZ3JvdW5kOiAjNzFhN2M0O1xuICAvKiBPbGQgYnJvd3NlcnMgKi9cbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjNzFhN2M0IDAlLCAjOWZiY2NhIDI3JSwgI2MxYzhjZSAzOSUsICNjNmJmYjQgNDElLCAjZDhjYWIzIDQ4JSwgI2RiYzhiNSAxMDAlKTtcbiAgLyogRkYzLjYtMTUgKi9cbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjNzFhN2M0IDAlLCAjOWZiY2NhIDI3JSwgI2MxYzhjZSAzOSUsICNjNmJmYjQgNDElLCAjZDhjYWIzIDQ4JSwgI2RiYzhiNSAxMDAlKTtcbiAgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzcxYTdjNCAwJSwgIzlmYmNjYSAyNyUsICNjMWM4Y2UgMzklLCAjYzZiZmI0IDQxJSwgI2Q4Y2FiMyA0OCUsICNkYmM4YjUgMTAwJSk7XG4gIC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzcxYTdjNCcsIGVuZENvbG9yc3RyPScjZGJjOGI1JyxHcmFkaWVudFR5cGU9MCApO1xuICAvKiBJRTYtOSAqLyB9XG5cbi52aWRlby1iZy1ob21lIHtcbiAgaGVpZ2h0OiA1NTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA1OyB9XG5cbi5ob21lLWhlcm8tb3ZlcmxheSB7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0IzQUFBMTtcbiAgb3BhY2l0eTogMC40O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7IH1cblxuLmhvbWUtaGVyby10aXRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgLmhvbWUtaGVyby10aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogOC4xMjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIuMnJlbTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5ob21lLWhlcm8tdGl0bGUge1xuICAgICAgcGFkZGluZzogMy4xMjVyZW0gMC40Mzc1cmVtIDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmhvbWUtaGVyby10aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMjEwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDguMHJlbTsgfSB9XG4gIC5ob21lLWhlcm8tdGl0bGUgPiBoMSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggNnB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBmb250LXNpemU6IDMuNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaG9tZS1oZXJvLXRpdGxlID4gaDEge1xuICAgICAgICBmb250LXNpemU6IDZyZW07IH0gfVxuICAgIC5ob21lLWhlcm8tdGl0bGUgPiBoMSAudGl0bGUtdGV4dC1hbHQge1xuICAgICAgZm9udC1mYW1pbHk6IEdlb3JnaWEsIHNlcmlmO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgdGV4dC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuNzUpOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5ob21lLWhlcm8tdGl0bGUgPiBoMSAudGl0bGUtdGV4dC1hbHQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cblxuLmhvbWUtaGVyby1jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0OSwgNDYsIDQzLCAwLjg4KTtcbiAgcGFkZGluZzogMS4ycmVtIDEuNXJlbSAwLjVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBjb2xvcjogI2ZmZjtcbiAgei1pbmRleDogMTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuaG9tZS1oZXJvLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMC4yNXJlbTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgIC5ob21lLWhlcm8tY29udGVudCAubGVhZCB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmhvbWUtaGVyby1jb250ZW50IC5sZWFkIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9IH1cbiAgLmhvbWUtaGVyby1jb250ZW50IC5idXR0b24uaWNvbi1zZWFyY2gge1xuICAgIHBhZGRpbmc6IDAuNzZlbSAxZW07IH1cblxuLmNhbGxvdXRbZGF0YS1jbG9zYWJsZV0ge1xuICBwYWRkaW5nLXJpZ2h0OiAzcmVtOyB9XG5cbi5jYWxsb3V0LWJhbm5lci1ib3R0b20ge1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogOTk5OTk7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgLTFweCA0cHggcmdiYSg0OSwgNDYsIDQzLCAwLjIpOyB9XG5cbi8qICBNeUdpemEgKE5ldyBmb3IgTXlHaXphKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmJnLXN0cmV0Y2gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogLTE7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7IH1cblxuLmhlYWRpbmctYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5oZWFkaW5nLWJsb2NrIGgxIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMzO1xuICAgIGNvbG9yOiAjNzMxNDIyO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjg3NXJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmhlYWRpbmctYmxvY2sgaDEge1xuICAgICAgICBmb250LXNpemU6IDIuMTI1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjg3NXJlbTsgfSB9XG4gIC5oZWFkaW5nLWJsb2NrIHAge1xuICAgIGZvbnQtZmFtaWx5OiBNb250c2VycmF0LCDigJxIZWx2ZXRpY2EgTmV1ZeKAnSwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuaGVhZGluZy1ibG9jayBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cblxuLmNvbGxlY3Rpb24tc2VjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDEuMzc1cmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH0gfVxuICAuY29sbGVjdGlvbi1zZWN0aW9uIC5mbGV4LWhvbGQge1xuICAgIG1hcmdpbjogMCAtMS4yNXJlbSAwLjY4NzVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24gLmZsZXgtaG9sZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMuMzEyNXJlbTsgfSB9XG4gICAgLmNvbGxlY3Rpb24tc2VjdGlvbiAuZmxleC1ob2xkIC5jb2x1bW5zIHtcbiAgICAgIGZsb2F0OiBub25lOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgLmNvbGxlY3Rpb24tc2VjdGlvbiAuZmxleC1ob2xkIC5jb2x1bW5zIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5jb2xsZWN0aW9uLXNlY3Rpb24gLml0ZW0td3JhcCB7XG4gICAgbWF4LXdpZHRoOiAzMy4xMjVyZW07XG4gICAgbWFyZ2luOiAwIGF1dG8gMS4xODc1cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDM3NXB4KSB7XG4gICAgICAuY29sbGVjdGlvbi1zZWN0aW9uIC5pdGVtLXdyYXAge1xuICAgICAgICBwYWRkaW5nOiAwIDIuNjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24gLml0ZW0td3JhcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG4gICAgLmNvbGxlY3Rpb24tc2VjdGlvbiAuaXRlbS13cmFwIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24gLml0ZW0td3JhcCBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjNzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAuY29sbGVjdGlvbi1zZWN0aW9uIC5pdGVtLXdyYXAgYTpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCA2cHggMXB4IHJnYmEoMTcsIDEwMCwgMTczLCAwLjUpOyB9XG4gICAgLmNvbGxlY3Rpb24tc2VjdGlvbiAuaXRlbS13cmFwIC51cGxvYWQtaWNvbiB7XG4gICAgICB3aWR0aDogNnJlbTtcbiAgICAgIGhlaWdodDogNnJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuY29sbGVjdGlvbi1zZWN0aW9uIC5pdGVtLXdyYXAgLnVwbG9hZC1pY29uIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMS41cmVtO1xuICAgICAgICAgIHdpZHRoOiA0LjM3NXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDQuMzc1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLmNvbGxlY3Rpb24tc2VjdGlvbiAuaXRlbS13cmFwIC51cGxvYWQtaWNvbiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB3aWR0aDogNnJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDZyZW07IH0gfVxuICAuY29sbGVjdGlvbi1zZWN0aW9uIC5jYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSg0OSwgNDYsIDQzLCAwLjgpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTQ7XG4gICAgcGFkZGluZzogMC4zNzVyZW0gMS4yNXJlbSAwLjM3NXJlbSAwLjVyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24gLmNhcHRpb24ge1xuICAgICAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMC41cmVtOyB9IH1cbiAgICAuY29sbGVjdGlvbi1zZWN0aW9uIC5jYXB0aW9uIHN0cm9uZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDJweDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24gLmNhcHRpb24gc3Ryb25nIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH0gfVxuICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24gLmNhcHRpb24gc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29sbGVjdGlvbi1zZWN0aW9uIC5pdGVtcy1ob2xkZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1hcmdpbjogMCAtMC41NjI1cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbGxlY3Rpb24tc2VjdGlvbiAuaXRlbXMtaG9sZGVyIC5pdGVtLXdyYXAge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHBhZGRpbmc6IDAgMC41NjI1cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbGxlY3Rpb24tc2VjdGlvbiAuaXRlbXMtaG9sZGVyIC5pdGVtLXdyYXAgKyAuaXRlbS13cmFwICsgLml0ZW0td3JhcCB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjA2MjVyZW07IH0gfVxuICAuY29sbGVjdGlvbi1zZWN0aW9uIC5idXR0b24ge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY29sbGVjdGlvbi1zZWN0aW9uIHAudGV4dC1jZW50ZXIge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgY29sb3I6ICM2YjYyNWM7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24gcC50ZXh0LWNlbnRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07IH0gfVxuICAuY29sbGVjdGlvbi1zZWN0aW9uIC5jb2xsZWN0aW9uLXNlYXJjaCB7XG4gICAgbWF4LXdpZHRoOiA0OS4xODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMzc1cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAuY29sbGVjdGlvbi1zZWN0aW9uIC5jb2xsZWN0aW9uLXNlYXJjaCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDYuMDYyNXJlbTsgfSB9XG4gICAgLmNvbGxlY3Rpb24tc2VjdGlvbiAuY29sbGVjdGlvbi1zZWFyY2ggLmlucHV0LXdyYXAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLmNvbGxlY3Rpb24tc2VjdGlvbiAuY29sbGVjdGlvbi1zZWFyY2ggLmlucHV0LXdyYXAge1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24gLmNvbGxlY3Rpb24tc2VhcmNoIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgaGVpZ2h0OiAyLjEyNXJlbTtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDFweCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTc5Nzk3O1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgY29sb3I6ICNhMDk1OGU7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBwYWRkaW5nOiAwLjQzNzVyZW0gMC42MjVyZW07XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24gLmNvbGxlY3Rpb24tc2VhcmNoIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogI2EwOTU4ZTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG4gICAgICAuY29sbGVjdGlvbi1zZWN0aW9uIC5jb2xsZWN0aW9uLXNlYXJjaCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29sb3I6ICNhMDk1OGU7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuICAgICAgLmNvbGxlY3Rpb24tc2VjdGlvbiAuY29sbGVjdGlvbi1zZWFyY2ggaW5wdXRbdHlwZT1cInNlYXJjaFwiXTotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICNhMDk1OGU7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuICAgICAgLmNvbGxlY3Rpb24tc2VjdGlvbiAuY29sbGVjdGlvbi1zZWFyY2ggaW5wdXRbdHlwZT1cInNlYXJjaFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogI2EwOTU4ZTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG4gICAgICAuY29sbGVjdGlvbi1zZWN0aW9uIC5jb2xsZWN0aW9uLXNlYXJjaCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICNhMDk1OGU7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24gLmNvbGxlY3Rpb24tc2VhcmNoIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMC42MjVyZW07XG4gICAgICByaWdodDogMC42MjVyZW07XG4gICAgICBjb2xvcjogIzZiNjI1YztcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLmNvbGxlY3Rpb24tc2VjdGlvbiAuY29sbGVjdGlvbi1zZWFyY2ggbGFiZWwge1xuICAgICAgY29sb3I6ICMzMTJlMmI7XG4gICAgICBmb250LWZhbWlseTogSGVsdmV0aWNhO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDExLjU2MjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuICAuY29sbGVjdGlvbi1zZWN0aW9uIC5zZWxlY3Rpb24tcm93IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4zMTI1cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAuY29sbGVjdGlvbi1zZWN0aW9uIC5zZWxlY3Rpb24tcm93IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9IH1cbiAgLmNvbGxlY3Rpb24tc2VjdGlvbiAudmlldy1zd2l0Y2hlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNvbGxlY3Rpb24tc2VjdGlvbiAubnVtLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAuY29sbGVjdGlvbi1zZWN0aW9uIC5udW0tdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjMxMjVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuY29sbGVjdGlvbi1zZWN0aW9uIC5jb2xsZWN0aW9ucy1saXN0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXJnaW46IDAgLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24gLmNvbGxlY3Rpb25zLWxpc3QgbGkge1xuICAgICAgcGFkZGluZzogMCAxLjI1cmVtIDAuNTYyNXJlbTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGJkNmQwO1xuICAgICAgbWFyZ2luOiAwIC0xLjI1cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmNvbGxlY3Rpb24tc2VjdGlvbiAuY29sbGVjdGlvbnMtbGlzdCBsaSB7XG4gICAgICB3aWR0aDogMzMuMzMlO1xuICAgICAgcGFkZGluZzogMCAwLjkzNzVyZW0gMS44NzVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29sbGVjdGlvbi1zZWN0aW9uIC5jb2xsZWN0aW9ucy1saXN0IGxpIHtcbiAgICAgIHdpZHRoOiAyNSU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmNvbGxlY3Rpb24tc2VjdGlvbiAuY29sbGVjdGlvbnMtbGlzdCBsaSB7XG4gICAgICB3aWR0aDogMjAlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24gLmNvbGxlY3Rpb25zLWxpc3QgbGkge1xuICAgICAgd2lkdGg6IDE2LjY2JTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5saXN0LWFjdGl2ZSAuY29sbGVjdGlvbi1zZWN0aW9uIC5jb2xsZWN0aW9ucy1saXN0IGxpICsgbGkge1xuICAgICAgcGFkZGluZy10b3A6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLmNvbGxlY3Rpb24tc2VjdGlvbiAuY29sbGVjdGlvbnMtbGlzdCBsaSArIGxpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5saXN0LWFjdGl2ZSAuY29sbGVjdGlvbi1zZWN0aW9uIC5jb2xsZWN0aW9ucy1saXN0IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAuY29sbGVjdGlvbi1zZWN0aW9uIC5jb2xsZWN0aW9ucy1saXN0IC5pdGVtLXdyYXAge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuY29sbGVjdGlvbi1zZWN0aW9uIC5jb2xsZWN0aW9ucy1saXN0IC5pdGVtLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLmNvbGxlY3Rpb24tc2VjdGlvbiAuY29sbGVjdGlvbnMtbGlzdCAuaXRlbS13cmFwIHBpY3R1cmUge1xuICAgICAgICB3aWR0aDogMTQuMzUlOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24gLmNvbGxlY3Rpb25zLWxpc3QgLml0ZW0td3JhcCBhIHtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgICAgLmNvbGxlY3Rpb24tc2VjdGlvbiAuY29sbGVjdGlvbnMtbGlzdCAuaXRlbS13cmFwIGE6aG92ZXIge1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgb3BhY2l0eTogMC43NTsgfVxuICAgICAgICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24gLmNvbGxlY3Rpb25zLWxpc3QgLml0ZW0td3JhcCBhOmhvdmVyIC5mYS1jaGV2cm9uLXJpZ2h0IHtcbiAgICAgICAgICAgIGNvbG9yOiAjMTE2NGFkOyB9IH1cbiAgICAubGlzdC1hY3RpdmUgLmNvbGxlY3Rpb24tc2VjdGlvbiAuY29sbGVjdGlvbnMtbGlzdCAuaXRlbS13cmFwIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24gLmNvbGxlY3Rpb25zLWxpc3QgLml0ZW0td3JhcCAuY2FwdGlvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjNmI2MjVjO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIHdpZHRoOiA4NS42NSU7IH1cbiAgICAgICAgLmNvbGxlY3Rpb24tc2VjdGlvbiAuY29sbGVjdGlvbnMtbGlzdCAuaXRlbS13cmFwIC5jYXB0aW9uIHN0cm9uZyB7XG4gICAgICAgICAgY29sb3I6ICMzMTJlMmI7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfSB9XG4gICAgLmNvbGxlY3Rpb24tc2VjdGlvbiAuY29sbGVjdGlvbnMtbGlzdCAuaXRlbS13cmFwIC5mYS1jaGV2cm9uLXJpZ2h0IHtcbiAgICAgIGNvbG9yOiAjYTA5NThlO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICBtYXJnaW4tdG9wOiAtMC4zMTI1cmVtOyB9XG4gIC5jb2xsZWN0aW9uLXNlY3Rpb24gLmNvbGxlY3Rpb25zLWxpc3QgLmxpc3Qtcm93IHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RiZDZkMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4zNzVyZW07IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24gLmNvbGxlY3Rpb25zLWxpc3QgLmxpc3Qtcm93IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgICAubGlzdC1hY3RpdmUgLmNvbGxlY3Rpb24tc2VjdGlvbiAuY29sbGVjdGlvbnMtbGlzdCAubGlzdC1yb3cge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNvbGxlY3Rpb24tc2VjdGlvbiAuYnRuLWhvbGQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwYWRkaW5nOiAwLjEyNXJlbSAwLjg3NXJlbTsgfVxuICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24gLmJ0bi1ob2xkIC5idXR0b24ucHJpbWFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNCwgMzQsIDAuNCk7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDI3OWMxO1xuICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yNztcbiAgICAgIHBhZGRpbmc6IDAuMzc1cmVtIDEuMDYyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjMxMjVyZW07XG4gICAgICB0ZXh0LXNoYWRvdzogMCAxcHggMCByZ2JhKDM0LCAzNCwgMzQsIDAuNSk7IH1cbiAgICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24gLmJ0bi1ob2xkIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmNvbGxlY3Rpb24tc2VjdGlvbiAuYnRuLWhvbGQgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzExNjRhZDsgfVxuICAuY29sbGVjdGlvbi1zZWN0aW9uIC5jaGVjay1ob2xkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXgtd2lkdGg6IDU2JTsgfVxuICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24gLmNoZWNrLWhvbGQgLmZha2UtaW5wdXQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwLjI1cmVtO1xuICAgICAgbGVmdDogMXB4O1xuICAgICAgd2lkdGg6IDAuOTM3NXJlbTtcbiAgICAgIGhlaWdodDogMC45Mzc1cmVtO1xuICAgICAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5Nzk3OTc7IH1cbiAgICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24gLmNoZWNrLWhvbGQgLmZha2UtaW5wdXQ6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgbGVmdDogMnB4O1xuICAgICAgICBib3JkZXItY29sb3I6ICM5Nzk3OTc7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwIDJweCAycHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIHdpZHRoOiAwLjU2MjVyZW07XG4gICAgICAgIGhlaWdodDogMC4zNzVyZW07XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuY29sbGVjdGlvbi1zZWN0aW9uIC5jaGVjay1ob2xkIGxhYmVsIHtcbiAgICAgIGNvbG9yOiAjNzMxNDIyO1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiOyB9XG4gICAgICAuY29sbGVjdGlvbi1zZWN0aW9uIC5jaGVjay1ob2xkIGxhYmVsIGVtIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBtYXJnaW46IDAuMTI1cmVtIDAgMCAwLjMxMjVyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBjb2xvcjogIzMxMmUyYjtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG4gICAgICAuY29sbGVjdGlvbi1zZWN0aW9uIC5jaGVjay1ob2xkIGxhYmVsOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRhc2hlZDsgfVxuICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24gLmNoZWNrLWhvbGQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgICAuY29sbGVjdGlvbi1zZWN0aW9uIC5jaGVjay1ob2xkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgLmZha2UtaW5wdXQ6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAuY29sbGVjdGlvbi1zZWN0aW9uIC5jaGVjay1ob2xkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1cyArIC5mYWtlLWlucHV0IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDI3OWMxOyB9XG5cbmJvZHk6bm90KC5saXN0LWFjdGl2ZSkgLmNvbGxlY3Rpb24tc2VjdGlvbiAuY29sbGVjdGlvbnMtbGlzdCAubGlzdC1yb3csXG5ib2R5Om5vdCgubGlzdC1hY3RpdmUpIC5zZWxlY3QtbGlua3MsXG5ib2R5Om5vdCgubGlzdC1hY3RpdmUpIC5jb2xsZWN0aW9uLXNlY3Rpb24gLm51bS10aXRsZSBlbSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIGJvZHk6bm90KC5saXN0LWFjdGl2ZSkgLmNvbGxlY3Rpb24tc2VjdGlvbiAuc2VsZWN0aW9uLXJvdyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMy45Mzc1cmVtOyB9IH1cblxuLmNvbG9yLWJnLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjZjBlYWU0O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41NztcbiAgcGFkZGluZzogMS43NXJlbSAwIDAuOTM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS44MTI1cmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb2xvci1iZy1zZWN0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbSAwIDEuODEyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG4gIC5jb2xvci1iZy1zZWN0aW9uIGgzIHtcbiAgICBjb2xvcjogIzczMTQyMjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmNvbG9yLWJnLXNlY3Rpb24gaDMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjY4NzVyZW07IH0gfVxuICAuY29sb3ItYmctc2VjdGlvbi5yZXNlYXJjaC1iZyB7XG4gICAgYmFja2dyb3VuZDogI2U2ZjFmYTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDEuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmNvbG9yLWJnLXNlY3Rpb24ucmVzZWFyY2gtYmcge1xuICAgICAgICBwYWRkaW5nOiAyLjVyZW0gMCAzLjYyNXJlbTsgfSB9XG4gICAgLmNvbG9yLWJnLXNlY3Rpb24ucmVzZWFyY2gtYmcgKyAuZm9vdGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuY29sb3ItYmctc2VjdGlvbi5yZXNlYXJjaC1iZyBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuY29sb3ItYmctc2VjdGlvbi5yZXNlYXJjaC1iZyBwIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjc1cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5jb2xvci1iZy1zZWN0aW9uLnJlc2VhcmNoLWJnIGgzIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjYyNXJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuY29sb3ItYmctc2VjdGlvbi5yZXNlYXJjaC1iZyAuYnRuLXdyYXAge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG5oMyB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuLmJ1dHRvbi5sZy1idG4ge1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIHBhZGRpbmc6IDAuNjg3NXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgzNCwgMzQsIDM0LCAwLjQpO1xuICBtYXJnaW46IDA7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDAgI2Q5ZDlkOTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYnV0dG9uLmxnLWJ0biB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgcGFkZGluZzogMC44MTI1cmVtIDIuMDYyNXJlbSAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogMzc0cHgpIHtcbiAgICAuYnV0dG9uLmxnLWJ0biB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb2xsZWN0aW9uLWluZm8ge1xuICAgIG1hcmdpbi1ib3R0b206IDMuNjg3NXJlbTsgfSB9XG5cbi5jb2xsZWN0aW9uLWluZm8gLnJvdyB7XG4gIG1hcmdpbi1ib3R0b206IDAuODEyNXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29sbGVjdGlvbi1pbmZvIC5yb3cge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNjI1cmVtO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb2xsZWN0aW9uLWluZm8gLnJvdzpiZWZvcmUsIC5jb2xsZWN0aW9uLWluZm8gLnJvdzphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbGxlY3Rpb24taW5mbyAucm93LmltZy1yaWdodCAudGV4dC13cmFwIHtcbiAgICAgIG9yZGVyOiAtMTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb2xsZWN0aW9uLWluZm8gLnJvdy5pbWctcmlnaHQgLmltZy13cmFwIHtcbiAgICAgIHBhZGRpbmc6IDAgMS4wNjI1cmVtIDAgMDsgfSB9XG5cbi5jb2xsZWN0aW9uLWluZm8gLmltZy13cmFwIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29sbGVjdGlvbi1pbmZvIC5pbWctd3JhcCB7XG4gICAgICB3aWR0aDogNDYuOCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmNvbGxlY3Rpb24taW5mbyAuaW1nLXdyYXAge1xuICAgICAgcGFkZGluZy1yaWdodDogMy43NXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb2xsZWN0aW9uLWluZm8gLmltZy13cmFwIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5jb2xsZWN0aW9uLWluZm8gLmltZy13cmFwIC5pbWcge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM2YjYyNWM7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb2xsZWN0aW9uLWluZm8gLnRleHQtd3JhcCB7XG4gICAgcGFkZGluZy1yaWdodDogMS42MjVyZW07XG4gICAgd2lkdGg6IDUxLjUlO1xuICAgIG1hcmdpbi10b3A6IC0wLjYyNXJlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29sbGVjdGlvbi1pbmZvIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtOyB9IH1cblxuLmNvbGxlY3Rpb24taGVhZGluZyAudGl0bGVzIHtcbiAgY29sb3I6ICMxMTY0YWQ7XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzO1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAzNHB4KTtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbGxlY3Rpb24taGVhZGluZyAudGl0bGVzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1NHB4KTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAzNzRweCkge1xuICAgIC5jb2xsZWN0aW9uLWhlYWRpbmcgLnRpdGxlcyB7XG4gICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAuY29sbGVjdGlvbi1oZWFkaW5nIC50aXRsZXMgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjMTE2NGFkO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAgLmNvbGxlY3Rpb24taGVhZGluZyAudGl0bGVzIGE6aG92ZXIsIC5jb2xsZWN0aW9uLWhlYWRpbmcgLnRpdGxlcyBhLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzMxMmUyYjsgfVxuICAgIC5jb2xsZWN0aW9uLWhlYWRpbmcgLnRpdGxlcyBhLmFjdGl2ZSB7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmNvbGxlY3Rpb24taGVhZGluZyAudGl0bGVzIGEgKyBhOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJhY2tncm91bmQ6ICM4YzgxNzk7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgd2lkdGg6IDAuMTI1cmVtO1xuICAgICAgaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICAgIG1hcmdpbjogMC4xODc1cmVtIDAuNjI1cmVtIDAgMC40Mzc1cmVtOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmNvbGxlY3Rpb24taGVhZGluZyAudGl0bGVzIGEgKyBhOmJlZm9yZSB7XG4gICAgICAgICAgd2lkdGg6IDAuMTI1cmVtO1xuICAgICAgICAgIGhlaWdodDogMS42MjVyZW07XG4gICAgICAgICAgbWFyZ2luOiAwLjVyZW0gMXJlbSAwIDAuNjg3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMzc0cHgpIHtcbiAgICAgICAgLmNvbGxlY3Rpb24taGVhZGluZyAudGl0bGVzIGEgKyBhOmJlZm9yZSB7XG4gICAgICAgICAgbWFyZ2luOiAwLjEyNXJlbSAwLjVyZW0gMCAwLjM3NXJlbTsgfSB9XG5cbi5jb2xsZWN0aW9uLWhlYWRpbmcgLmFkZCB7XG4gIHdpZHRoOiAyLjEyNXJlbTtcbiAgaGVpZ2h0OiAyLjEyNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMi41cmVtO1xuICBiYWNrZ3JvdW5kOiAjMTE2NGFkO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAtMC4zNzVyZW0gLTAuMzc1cmVtIDAgMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UtaW4tb3V0OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb2xsZWN0aW9uLWhlYWRpbmcgLmFkZCB7XG4gICAgICB3aWR0aDogMi41cmVtO1xuICAgICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgICBtYXJnaW46IDAgMC44NzVyZW0gMCAwOyB9IH1cbiAgLmNvbGxlY3Rpb24taGVhZGluZyAuYWRkOmJlZm9yZSwgLmNvbGxlY3Rpb24taGVhZGluZyAuYWRkOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB3aWR0aDogMC44NzVyZW07XG4gICAgaGVpZ2h0OiAwLjI1cmVtO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmNvbGxlY3Rpb24taGVhZGluZyAuYWRkOmJlZm9yZSwgLmNvbGxlY3Rpb24taGVhZGluZyAuYWRkOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDEuMjVyZW07XG4gICAgICAgIGhlaWdodDogMC4zMTI1cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxcHg7IH0gfVxuICAuY29sbGVjdGlvbi1oZWFkaW5nIC5hZGQ6YWZ0ZXIge1xuICAgIHdpZHRoOiAwLjI1cmVtO1xuICAgIGhlaWdodDogMC44NzVyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5jb2xsZWN0aW9uLWhlYWRpbmcgLmFkZDphZnRlciB7XG4gICAgICAgIHdpZHRoOiAwLjMxMjVyZW07XG4gICAgICAgIGhlaWdodDogMS4yNXJlbTsgfSB9XG4gIC5jb2xsZWN0aW9uLWhlYWRpbmcgLmFkZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzBjNDk3ZjsgfVxuXG4uY29sbGVjdGlvbi1oZWFkaW5nIC5saW5rcyB7XG4gIGNvbG9yOiAjMzEyZTJiO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTtcbiAgcGFkZGluZy10b3A6IDEuMDYyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNTYyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb2xsZWN0aW9uLWhlYWRpbmcgLmxpbmtzIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjEyNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjQzNzVyZW07IH0gfVxuICAuY29sbGVjdGlvbi1oZWFkaW5nIC5saW5rczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6ICNkYmQ2ZDA7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAxLjQzNzVyZW07XG4gICAgcmlnaHQ6IDEuNDM3NXJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLmNvbGxlY3Rpb24taGVhZGluZyAubGlua3M6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMS4yNXJlbTtcbiAgICAgICAgcmlnaHQ6IDEuMjVyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmNvbGxlY3Rpb24taGVhZGluZyAubGlua3M6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMC41NjI1cmVtO1xuICAgICAgICByaWdodDogMC43NXJlbTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5jb2xsZWN0aW9uLWhlYWRpbmcgLmxpbmtzIC5nby1iYWNrIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuY29sbGVjdGlvbi1oZWFkaW5nIC5saW5rcyAuZ28tYmFjayB7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29sbGVjdGlvbi1oZWFkaW5nIC5saW5rcyAuZ28tYmFjayB7XG4gICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAuY29sbGVjdGlvbi1oZWFkaW5nIC5saW5rcyAuZ28tYmFjazpob3ZlciB7XG4gICAgY29sb3I6ICMzMTJlMmI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5jb2xsZWN0aW9uLWhlYWRpbmcgLmxpbmtzIC5kcm9wZG93biB7XG4gICAgcGFkZGluZzogMCAwLjMxMjVyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5jb2xsZWN0aW9uLWhlYWRpbmcgLmxpbmtzIC5kcm9wZG93biB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgICAuY29sbGVjdGlvbi1oZWFkaW5nIC5saW5rcyAuZHJvcGRvd24gPiBsaS5hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgICAuY29sbGVjdGlvbi1oZWFkaW5nIC5saW5rcyAuZHJvcGRvd24gPiBsaS5hY3RpdmUgPiBhIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGNvbG9yOiAjMzEyZTJiOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgICAuY29sbGVjdGlvbi1oZWFkaW5nIC5saW5rcyAuZHJvcGRvd24gPiBsaS5hY3RpdmUgPiBhOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5jb2xsZWN0aW9uLWhlYWRpbmcgLmxpbmtzIC5kcm9wZG93biA+IGxpICsgbGkge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAwLjYyNXJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuY29sbGVjdGlvbi1oZWFkaW5nIC5saW5rcyAuZHJvcGRvd24gPiBsaSArIGxpIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMS4zNzVyZW07IH0gfVxuICAgIC5jb2xsZWN0aW9uLWhlYWRpbmcgLmxpbmtzIC5kcm9wZG93biA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogIzMxMmUyYjtcbiAgICAgIHBhZGRpbmc6IDAgMS41cmVtIDAgMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgICAuY29sbGVjdGlvbi1oZWFkaW5nIC5saW5rcyAuZHJvcGRvd24gPiBsaSA+IGEge1xuICAgICAgICAgIGNvbG9yOiAjMTE2NGFkO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmNvbGxlY3Rpb24taGVhZGluZyAubGlua3MgLmRyb3Bkb3duID4gbGkgPiBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAgICAgLmNvbGxlY3Rpb24taGVhZGluZyAubGlua3MgLmRyb3Bkb3duID4gbGkgPiBhOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwLjM3NXJlbSAwLjMxMjVyZW0gMCAwLjMxMjVyZW07XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzhjODE3OSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAuY29sbGVjdGlvbi1oZWFkaW5nIC5saW5rcyAuZHJvcGRvd24gPiBsaSA+IGE6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLmNvbGxlY3Rpb24taGVhZGluZyAubGlua3MgLmRyb3Bkb3duID4gbGkgPiBhOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2E1MWIzMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAtMC41NjI1cmVtO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAwLjI1cmVtO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dCwgdmlzaWJpbGl0eSAwLjNzIGVhc2UtaW4tb3V0OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuY29sbGVjdGlvbi1oZWFkaW5nIC5saW5rcyAuZHJvcGRvd24gPiBsaSA+IGE6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiAtMC4zNzVyZW07XG4gICAgICAgICAgcmlnaHQ6IC0wLjM3NXJlbTsgfSB9XG4gICAgICAuY29sbGVjdGlvbi1oZWFkaW5nIC5saW5rcyAuZHJvcGRvd24gPiBsaSA+IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzMxMmUyYjsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAuY29sbGVjdGlvbi1oZWFkaW5nIC5saW5rcyAuZHJvcGRvd24gPiBsaSA+IGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9IH1cbiAgICAuY29sbGVjdGlvbi1oZWFkaW5nIC5saW5rcyAuZHJvcGRvd24gPiBsaSAubWVudSB7XG4gICAgICBwYWRkaW5nOiAwLjYyNXJlbSAwOyB9XG4gICAgICAuY29sbGVjdGlvbi1oZWFkaW5nIC5saW5rcyAuZHJvcGRvd24gPiBsaSAubWVudSBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGNvbG9yOiAjMzEyZTJiO1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMC44NzVyZW07IH1cbiAgICAgICAgLmNvbGxlY3Rpb24taGVhZGluZyAubGlua3MgLmRyb3Bkb3duID4gbGkgLm1lbnUgYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAuY29sbGVjdGlvbi1oZWFkaW5nIC5saW5rcyAuZHJvcGRvd24gLm1lbnUge1xuICAgICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYTA5NThlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4uY29sbGVjdGlvbi1oZWFkaW5nIC5zYXZlLWhlYWRpbmcge1xuICBwYWRkaW5nLXRvcDogMC44NzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjEyNXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuY29sbGVjdGlvbi1oZWFkaW5nIC5zYXZlLWhlYWRpbmcge1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgIzMxMmUyYjtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC4wNjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuNjg3NXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb2xsZWN0aW9uLWhlYWRpbmcgLnNhdmUtaGVhZGluZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMS4yNXJlbTsgfSB9XG4gIC5jb2xsZWN0aW9uLWhlYWRpbmcgLnNhdmUtaGVhZGluZyAudGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zODtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMzEyZTJiO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MiU7XG4gICAgcGFkZGluZzogMCA0cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5jb2xsZWN0aW9uLWhlYWRpbmcgLnNhdmUtaGVhZGluZyAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgLmNvbGxlY3Rpb24taGVhZGluZyAuc2F2ZS1oZWFkaW5nIC5kcm9wZG93biB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAuY29sbGVjdGlvbi1oZWFkaW5nIC5zYXZlLWhlYWRpbmcgLmRyb3Bkb3duIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuNDM3NXJlbTsgfSB9XG4gICAgLmNvbGxlY3Rpb24taGVhZGluZyAuc2F2ZS1oZWFkaW5nIC5kcm9wZG93biA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwLjI1cmVtO1xuICAgICAgY29sb3I6ICM2YjYyNWM7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAgIC5jb2xsZWN0aW9uLWhlYWRpbmcgLnNhdmUtaGVhZGluZyAuZHJvcGRvd24gPiBsaSA+IGE6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAuY29sbGVjdGlvbi1oZWFkaW5nIC5zYXZlLWhlYWRpbmcgLmRyb3Bkb3duIC5tZW51IHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLmNvbGxlY3Rpb24taGVhZGluZyAuc2F2ZS1oZWFkaW5nIC5kcm9wZG93biAubWVudSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNhMDk1OGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDA7IH0gfVxuICAgIC5jb2xsZWN0aW9uLWhlYWRpbmcgLnNhdmUtaGVhZGluZyAuZHJvcGRvd24gLm1lbnUgbGkge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLmNvbGxlY3Rpb24taGVhZGluZyAuc2F2ZS1oZWFkaW5nIC5kcm9wZG93biAubWVudSBsaSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMzc1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuY29sbGVjdGlvbi1oZWFkaW5nIC5zYXZlLWhlYWRpbmcgLmRyb3Bkb3duIC5tZW51IGxpIHtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAgICAgLmNvbGxlY3Rpb24taGVhZGluZyAuc2F2ZS1oZWFkaW5nIC5kcm9wZG93biAubWVudSBsaSArIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgIC5jb2xsZWN0aW9uLWhlYWRpbmcgLnNhdmUtaGVhZGluZyAuZHJvcGRvd24gLm1lbnUgbGkgKyBsaTpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjOGM4MTc5O1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGhlaWdodDogMC43NXJlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgbGVmdDogLTAuNzVyZW07IH0gfVxuICAgIC5jb2xsZWN0aW9uLWhlYWRpbmcgLnNhdmUtaGVhZGluZyAuZHJvcGRvd24gLm1lbnUgYSB7XG4gICAgICBjb2xvcjogIzMxMmUyYjtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAwLjg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLmNvbGxlY3Rpb24taGVhZGluZyAuc2F2ZS1oZWFkaW5nIC5kcm9wZG93biAubWVudSBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGNvbG9yOiAjMTE2NGFkOyB9IH1cblxuLnZpZXctc3dpdGNoZXIge1xuICBtYXJnaW46IDA7IH1cbiAgLnZpZXctc3dpdGNoZXIgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbTsgfVxuICAgIC52aWV3LXN3aXRjaGVyIGxpICsgbGkgYSB7XG4gICAgICBib3JkZXItY29sb3I6ICNhNTFiMzA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjBlYWU0O1xuICAgICAgY29sb3I6ICMzMTJlMmI7IH1cbiAgICAgIC5saXN0LWFjdGl2ZSAudmlldy1zd2l0Y2hlciBsaSArIGxpIGEge1xuICAgICAgICBjb2xvcjogI2RiZDZkMDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAudmlldy1zd2l0Y2hlciBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMS44NzVyZW07XG4gICAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICNkYmQ2ZDA7IH1cbiAgICAubGlzdC1hY3RpdmUgLnZpZXctc3dpdGNoZXIgYSB7XG4gICAgICBib3JkZXItY29sb3I6ICNhNTFiMzA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjBlYWU0O1xuICAgICAgY29sb3I6ICMzMTJlMmI7IH1cbiAgLnZpZXctc3dpdGNoZXIgLmJhci1pY28ge1xuICAgIHdpZHRoOiAxLjEyNXJlbTtcbiAgICBoZWlnaHQ6IDAuODc1cmVtO1xuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC52aWV3LXN3aXRjaGVyIC5iYXItaWNvOmJlZm9yZSwgLnZpZXctc3dpdGNoZXIgLmJhci1pY286YWZ0ZXIsXG4gICAgLnZpZXctc3dpdGNoZXIgLmJhci1pY28gc3BhbjpiZWZvcmUsXG4gICAgLnZpZXctc3dpdGNoZXIgLmJhci1pY28gc3BhbjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJhY2tncm91bmQ6ICNkYmQ2ZDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBoZWlnaHQ6IDJweDsgfVxuICAgICAgLmxpc3QtYWN0aXZlIC52aWV3LXN3aXRjaGVyIC5iYXItaWNvOmJlZm9yZSwgLmxpc3QtYWN0aXZlIC52aWV3LXN3aXRjaGVyIC5iYXItaWNvOmFmdGVyLCAubGlzdC1hY3RpdmVcbiAgICAgIC52aWV3LXN3aXRjaGVyIC5iYXItaWNvIHNwYW46YmVmb3JlLCAubGlzdC1hY3RpdmVcbiAgICAgIC52aWV3LXN3aXRjaGVyIC5iYXItaWNvIHNwYW46YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMzEyZTJiOyB9XG4gICAgLnZpZXctc3dpdGNoZXIgLmJhci1pY286YWZ0ZXIge1xuICAgICAgdG9wOiAwLjc1cmVtOyB9XG4gICAgLnZpZXctc3dpdGNoZXIgLmJhci1pY28gc3BhbjpiZWZvcmUge1xuICAgICAgdG9wOiAwLjI1cmVtOyB9XG4gICAgLnZpZXctc3dpdGNoZXIgLmJhci1pY28gc3BhbjphZnRlciB7XG4gICAgICB0b3A6IDAuNXJlbTsgfVxuXG4uc2VsZWN0LWxpbmtzIHtcbiAgcGFkZGluZy1yaWdodDogNi4yNXJlbTsgfVxuICAuc2VsZWN0LWxpbmtzIGxpIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjM7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgICAuc2VsZWN0LWxpbmtzIGxpICsgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiAwIDAgMCAxLjM3NXJlbTsgfVxuICAgICAgLnNlbGVjdC1saW5rcyBsaSArIGxpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjOGM4MTc5O1xuICAgICAgICB3aWR0aDogMC4xMjVyZW07XG4gICAgICAgIGhlaWdodDogMC43NXJlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDAuNDM3NXJlbTtcbiAgICAgICAgbGVmdDogLTEzcHg7IH1cbiAgLnNlbGVjdC1saW5rcyBhIHtcbiAgICBjb2xvcjogIzExNjRhZDsgfVxuXG4uY29va2llcy1saWdodC1ibHVlLWJhciB7XG4gIGNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE0OSwgMjM1LCAyMzUsIDAuNSk7XG4gIG1hcmdpbi1ib3R0b206IDEuNDM3NXJlbTtcbiAgcGFkZGluZzogMC42ODc1cmVtIDAgMXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29va2llcy1saWdodC1ibHVlLWJhciB7XG4gICAgICBtYXJnaW4tdG9wOiAtMS4xODc1cmVtOyB9IH1cbiAgLmNvb2tpZXMtbGlnaHQtYmx1ZS1iYXIgYSB7XG4gICAgY29sb3I6ICM0YTkwZTI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuY29va2llcy1saWdodC1ibHVlLWJhciBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuY29va2llcy1saWdodC1ibHVlLWJhciBwIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY29va2llcy1saWdodC1ibHVlLWJhciAucm93LnJvdy1wYWRkZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDMuNXJlbTsgfVxuICAuY29va2llcy1saWdodC1ibHVlLWJhciAuZmEtaW5mby1jaXJjbGUge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwLjQzNzVyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi5hY2NvcmRpb24tc2VjdGlvbiAuYWNjb3JkaW9uIHtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAuYWNjb3JkaW9uLXNlY3Rpb24gLmFjY29yZGlvbiA+IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgI2RiZDZkMDtcbiAgICBtYXJnaW46IDAgLTEuMjVyZW07XG4gICAgcGFkZGluZzogMS4wNjI1cmVtIDIuOTM3NXJlbSAwLjEyNXJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLmFjY29yZGlvbi1zZWN0aW9uIC5hY2NvcmRpb24gPiBsaSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMS4xODc1cmVtIDAgMC4zNzVyZW0gMC4xMjVyZW07XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAuYWNjb3JkaW9uLXNlY3Rpb24gLmFjY29yZGlvbiA+IGxpOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzMxMmUyYjtcbiAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogLTAuODc1cmVtO1xuICAgICAgICAgIHJpZ2h0OiAtMC44NzVyZW07IH0gfVxuICAgIC5hY2NvcmRpb24tc2VjdGlvbiAuYWNjb3JkaW9uID4gbGkuaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLmFjY29yZGlvbi1zZWN0aW9uIC5hY2NvcmRpb24gPiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgICAgIC5hY2NvcmRpb24tc2VjdGlvbiAuYWNjb3JkaW9uID4gbGk6Zmlyc3QtY2hpbGQgLmJ1dHRvbiB7XG4gICAgICAgICAgdG9wOiAtNnB4OyB9IH1cbiAgLmFjY29yZGlvbi1zZWN0aW9uIC5hY2NvcmRpb24gLmJ1dHRvbi5wcmltYXJ5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzQsIDM0LCAwLjQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiAjMDI3OWMxO1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3O1xuICAgIHBhZGRpbmc6IDAuMzc1cmVtIDEuMDYyNXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjY4NzVyZW07XG4gICAgcmlnaHQ6IDAuODEyNXJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLmFjY29yZGlvbi1zZWN0aW9uIC5hY2NvcmRpb24gLmJ1dHRvbi5wcmltYXJ5IHtcbiAgICAgICAgdG9wOiAxLjA2MjVyZW07XG4gICAgICAgIHJpZ2h0OiAwOyB9IH1cbiAgICAuYWNjb3JkaW9uLXNlY3Rpb24gLmFjY29yZGlvbiAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5hY2NvcmRpb24tc2VjdGlvbiAuYWNjb3JkaW9uIC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTE2NGFkOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuYWNjb3JkaW9uLXNlY3Rpb24gLmFjY29yZGlvbiAuYnV0dG9uLnByaW1hcnkge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAgICAgLmFjY29yZGlvbi1zZWN0aW9uIC5hY2NvcmRpb24gLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYWNjb3JkaW9uLXNlY3Rpb24gLmFjY29yZGlvbiAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgICAgICAgIGNvbG9yOiAjMTE2NGFkO1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH0gfVxuICAuYWNjb3JkaW9uLXNlY3Rpb24gLmFjY29yZGlvbiAuYnV0dG9uIC5mYS1hcnJvdy1jaXJjbGUtcmlnaHQge1xuICAgIGNvbG9yOiAjMTE2NGFkO1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtOyB9XG5cbi5hY2NvcmRpb24tc2VjdGlvbiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogIzczMTQyMjtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmFjY29yZGlvbi1zZWN0aW9uIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmFjY29yZGlvbi1zZWN0aW9uIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgLmFjY29yZGlvbi1zZWN0aW9uIC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHggMCA2cHggNnB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzhjODE3OTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuNjI1cmVtO1xuICAgIGxlZnQ6IC0xLjI1cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAuYWNjb3JkaW9uLXNlY3Rpb24gLmFjY29yZGlvbi10aXRsZTpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAwOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5hY2NvcmRpb24tc2VjdGlvbiAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgIHRvcDogMC44MTI1cmVtO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAuNDA2MjVyZW0gMCAwLjQwNjI1cmVtIDAuNzVyZW07IH0gfVxuXG4uYWNjb3JkaW9uLXNlY3Rpb24gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgMCAwLjgxMjVyZW07XG4gIGNvbG9yOiAjNmI2MjVjO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5hY2NvcmRpb24tc2VjdGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5hY2NvcmRpb24tc2VjdGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjM7XG4gICAgICBjb2xvcjogIzMxMmUyYjsgfSB9XG4gIC5hY2NvcmRpb24tc2VjdGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQgLmNvbnRlbnQtd3JhcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC44MTI1cmVtO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5hY2NvcmRpb24tc2VjdGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQgLmNvbnRlbnQtd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAwLjQzNzVyZW0gMCAxLjEyNXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41NjI1cmVtOyB9XG4gICAgICAgIC5hY2NvcmRpb24tc2VjdGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQgLmNvbnRlbnQtd3JhcDpiZWZvcmUsIC5hY2NvcmRpb24tc2VjdGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQgLmNvbnRlbnQtd3JhcDphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2RiZDZkMDtcbiAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogLTAuODc1cmVtO1xuICAgICAgICAgIHJpZ2h0OiAtMC44NzVyZW07XG4gICAgICAgICAgYm90dG9tOiAwOyB9XG4gICAgICAgIC5hY2NvcmRpb24tc2VjdGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQgLmNvbnRlbnQtd3JhcDphZnRlciB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGJvdHRvbTogYXV0bzsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAuYWNjb3JkaW9uLXNlY3Rpb24gLmFjY29yZGlvbi1jb250ZW50IC5jb250ZW50LXdyYXAgLmNvbCB7XG4gICAgICAgIHdpZHRoOiAzMy4zMyU7XG4gICAgICAgIHBhZGRpbmc6IDAgMS4yNXJlbSAwIDA7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLmFjY29yZGlvbi1zZWN0aW9uIC5hY2NvcmRpb24tY29udGVudCAuY29udGVudC13cmFwIC5jb2wgdWwge1xuICAgICAgICBsaW5lLWhlaWdodDogMXJlbTsgfSB9XG5cbi5hY2NvcmRpb24tc2VjdGlvbiAubGlua3Mtcm93IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5hY2NvcmRpb24tc2VjdGlvbiAubGlua3Mtcm93IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC01cHg7IH0gfVxuXG4uYWNjb3JkaW9uLXNlY3Rpb24gLnNvY2lhbC1uZXR3b3JrcyB7XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuYWNjb3JkaW9uLXNlY3Rpb24gLnNvY2lhbC1uZXR3b3JrcyB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAzNSU7XG4gICAgICBtYXJnaW4tbGVmdDogNHB4OyB9IH1cbiAgLmFjY29yZGlvbi1zZWN0aW9uIC5zb2NpYWwtbmV0d29ya3MgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbjogMCAwLjE4NzVyZW0gMC4xMjVyZW0gMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLmFjY29yZGlvbi1zZWN0aW9uIC5zb2NpYWwtbmV0d29ya3MgbGkge1xuICAgICAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9IH1cbiAgLmFjY29yZGlvbi1zZWN0aW9uIC5zb2NpYWwtbmV0d29ya3MgYSB7XG4gICAgY29sb3I6ICNhMDJkM2E7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0OyB9XG4gICAgLmFjY29yZGlvbi1zZWN0aW9uIC5zb2NpYWwtbmV0d29ya3MgYTpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjg7IH1cbiAgICAuYWNjb3JkaW9uLXNlY3Rpb24gLnNvY2lhbC1uZXR3b3JrcyBhIC5mYS1mYWNlYm9vay1zcXVhcmUsXG4gICAgLmFjY29yZGlvbi1zZWN0aW9uIC5zb2NpYWwtbmV0d29ya3MgYSAuZmEtdHdpdHRlci1zcXVhcmUge1xuICAgICAgY29sb3I6ICM0MDcwYjQ7IH1cblxuLmFjY29yZGlvbi1zZWN0aW9uIC5saW5rcyB7XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuYWNjb3JkaW9uLXNlY3Rpb24gLmxpbmtzIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjMxMjVyZW07IH0gfVxuICAuYWNjb3JkaW9uLXNlY3Rpb24gLmxpbmtzIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5hY2NvcmRpb24tc2VjdGlvbiAubGlua3MgbGkge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICBtYXJnaW4tbGVmdDogMS4zNzVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICAgIC5hY2NvcmRpb24tc2VjdGlvbiAubGlua3MgbGkgKyBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgICAuYWNjb3JkaW9uLXNlY3Rpb24gLmxpbmtzIGxpICsgbGk6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjOGM4MTc5O1xuICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgaGVpZ2h0OiAwLjc1cmVtO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgICBsZWZ0OiAtMC43NXJlbTsgfSB9XG4gICAgLmFjY29yZGlvbi1zZWN0aW9uIC5saW5rcyBsaSAuZmEtdHJhc2gtYWx0IHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuYWNjb3JkaW9uLXNlY3Rpb24gLmxpbmtzIGEge1xuICAgIGNvbG9yOiAjMTE2NGFkO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuYWNjb3JkaW9uLXNlY3Rpb24gLmxpbmtzIGE6aG92ZXIsIC5hY2NvcmRpb24tc2VjdGlvbiAubGlua3MgYTpmb2N1cyB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6ICMwMDA7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLmNvbGxlY3Rpb24tc2VjdGlvbi50d28tY29sdW1ucyAucm93OmJlZm9yZSwgLmNvbGxlY3Rpb24tc2VjdGlvbi50d28tY29sdW1ucyAucm93OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLnJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuXG4uY29sbGVjdGlvbi1zZWN0aW9uLnR3by1jb2x1bW5zIC52aWV3LXN3aXRjaGVyIHtcbiAgdG9wOiAxMHB4O1xuICBib3R0b206IGF1dG87IH1cblxuLmNvbGxlY3Rpb24tc2VjdGlvbi50d28tY29sdW1ucyAuY29udGVudC1oZWFkaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwIDEuODc1cmVtIDFyZW07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLmNvbGxlY3Rpb24tc2VjdGlvbi50d28tY29sdW1ucyAuY29udGVudC1oZWFkaW5nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgb3JkZXI6IC0xOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmNvbGxlY3Rpb24tc2VjdGlvbi50d28tY29sdW1ucyAuY29udGVudC1oZWFkaW5nIHtcbiAgICAgIHBhZGRpbmc6IDAgMy43NXJlbSAxLjI1cmVtIDE0LjM3NXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuY29sbGVjdGlvbi1zZWN0aW9uLnR3by1jb2x1bW5zIC5jb250ZW50LWhlYWRpbmcge1xuICAgICAgcGFkZGluZzogMC4zNzVyZW0gMy43NXJlbSAxLjYyNXJlbSAxNS42MjVyZW07IH0gfVxuICAuY29sbGVjdGlvbi1zZWN0aW9uLnR3by1jb2x1bW5zIC5jb250ZW50LWhlYWRpbmc6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAtMS4yNXJlbTtcbiAgICByaWdodDogLTEuMjVyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLmNvbnRlbnQtaGVhZGluZzphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuY29sbGVjdGlvbi1zZWN0aW9uLnR3by1jb2x1bW5zIC5jb250ZW50LWhlYWRpbmcgLmxpbmtzIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE0OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmNvbGxlY3Rpb24tc2VjdGlvbi50d28tY29sdW1ucyAuY29udGVudC1oZWFkaW5nIC5saW5rcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gICAgLmNvbGxlY3Rpb24tc2VjdGlvbi50d28tY29sdW1ucyAuY29udGVudC1oZWFkaW5nIC5saW5rcyBsaSB7XG4gICAgICBjb2xvcjogIzZiNjI1YztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLmNvbnRlbnQtaGVhZGluZyAubGlua3MgbGkuYWN0aXZlIGEge1xuICAgICAgICBjb2xvcjogIzExNjRhZDsgfVxuICAgICAgLmNvbGxlY3Rpb24tc2VjdGlvbi50d28tY29sdW1ucyAuY29udGVudC1oZWFkaW5nIC5saW5rcyBsaSArIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgICAuY29sbGVjdGlvbi1zZWN0aW9uLnR3by1jb2x1bW5zIC5jb250ZW50LWhlYWRpbmcgLmxpbmtzIGxpICsgbGkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjA2MjVyZW07IH0gfVxuICAgICAgICAuY29sbGVjdGlvbi1zZWN0aW9uLnR3by1jb2x1bW5zIC5jb250ZW50LWhlYWRpbmcgLmxpbmtzIGxpICsgbGk6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnfCc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgICBsZWZ0OiAycHg7IH1cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgICAuY29sbGVjdGlvbi1zZWN0aW9uLnR3by1jb2x1bW5zIC5jb250ZW50LWhlYWRpbmcgLmxpbmtzIGxpICsgbGk6YmVmb3JlIHtcbiAgICAgICAgICAgICAgbGVmdDogNXB4O1xuICAgICAgICAgICAgICB0b3A6IC0ycHg7IH0gfVxuICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLmNvbnRlbnQtaGVhZGluZyAubGlua3MgYSB7XG4gICAgICBjb2xvcjogIzZiNjI1YzsgfVxuICAgICAgLmNvbGxlY3Rpb24tc2VjdGlvbi50d28tY29sdW1ucyAuY29udGVudC1oZWFkaW5nIC5saW5rcyBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMxMTY0YWQ7IH1cbiAgLmNvbGxlY3Rpb24tc2VjdGlvbi50d28tY29sdW1ucyAuY29udGVudC1oZWFkaW5nIC5kcm9wZG93biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogLThweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLmNvbGxlY3Rpb24tc2VjdGlvbi50d28tY29sdW1ucyAuY29udGVudC1oZWFkaW5nIC5kcm9wZG93biB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjQzNzVyZW07IH0gfVxuICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLmNvbnRlbnQtaGVhZGluZyAuZHJvcGRvd24gPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMC4yNXJlbTtcbiAgICAgIGNvbG9yOiAjNmI2MjVjO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICAuY29sbGVjdGlvbi1zZWN0aW9uLnR3by1jb2x1bW5zIC5jb250ZW50LWhlYWRpbmcgLmRyb3Bkb3duID4gbGkgPiBhOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLmNvbGxlY3Rpb24tc2VjdGlvbi50d28tY29sdW1ucyAuY29udGVudC1oZWFkaW5nIC5kcm9wZG93biAubWVudSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLmNvbnRlbnQtaGVhZGluZyAuZHJvcGRvd24gLm1lbnUge1xuICAgICAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYTA5NThlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbSAwOyB9IH1cbiAgICAuY29sbGVjdGlvbi1zZWN0aW9uLnR3by1jb2x1bW5zIC5jb250ZW50LWhlYWRpbmcgLmRyb3Bkb3duIC5tZW51IGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS40MzsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLmNvbnRlbnQtaGVhZGluZyAuZHJvcGRvd24gLm1lbnUgbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxLjM3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmNvbGxlY3Rpb24tc2VjdGlvbi50d28tY29sdW1ucyAuY29udGVudC1oZWFkaW5nIC5kcm9wZG93biAubWVudSBsaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLmNvbnRlbnQtaGVhZGluZyAuZHJvcGRvd24gLm1lbnUgbGkgKyBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAuY29sbGVjdGlvbi1zZWN0aW9uLnR3by1jb2x1bW5zIC5jb250ZW50LWhlYWRpbmcgLmRyb3Bkb3duIC5tZW51IGxpICsgbGk6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzhjODE3OTtcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDAuNzVyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICAgIGxlZnQ6IC0wLjc1cmVtOyB9IH1cbiAgICAuY29sbGVjdGlvbi1zZWN0aW9uLnR3by1jb2x1bW5zIC5jb250ZW50LWhlYWRpbmcgLmRyb3Bkb3duIC5tZW51IGEge1xuICAgICAgY29sb3I6ICMzMTJlMmI7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gMC44NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLmNvbnRlbnQtaGVhZGluZyAuZHJvcGRvd24gLm1lbnUgYSB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBjb2xvcjogIzExNjRhZDsgfSB9XG4gIC5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLmNvbnRlbnQtaGVhZGluZyAuYmFjay1saW5rIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgY29sb3I6ICNhMDk1OGU7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIC5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLmNvbnRlbnQtaGVhZGluZyBoMSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLmNvbGxlY3Rpb24tc2VjdGlvbi50d28tY29sdW1ucyAuY29udGVudC1oZWFkaW5nIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLnNpZGViYXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGJkNmQwO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmNvbGxlY3Rpb24tc2VjdGlvbi50d28tY29sdW1ucyAuc2lkZWJhciB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYmQ2ZDA7XG4gICAgYmFja2dyb3VuZDogI2YwZWFlNDtcbiAgICBwYWRkaW5nOiAwLjc1cmVtO1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLnNpZGViYXIge1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZzogMS4wNjI1cmVtIDEuMTg3NXJlbSAwLjU2MjVyZW07XG4gICAgd2lkdGg6IDIyMHB4OyB9IH1cblxuLmNvbGxlY3Rpb24tc2VjdGlvbi50d28tY29sdW1ucyAuc2lkZWJhciAubGlua3MgbGkge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQzO1xuICBtYXJnaW4tYm90dG9tOiAwLjM3NXJlbTsgfVxuXG4uY29sbGVjdGlvbi1zZWN0aW9uLnR3by1jb2x1bW5zIC5zaWRlYmFyIC5saW5rcyBhIHtcbiAgY29sb3I6ICMxMTY0YWQ7IH1cbiAgLmNvbGxlY3Rpb24tc2VjdGlvbi50d28tY29sdW1ucyAuc2lkZWJhciAubGlua3MgYTpob3ZlciB7XG4gICAgY29sb3I6ICM4YzgxNzk7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uY29sbGVjdGlvbi1zZWN0aW9uLnR3by1jb2x1bW5zIC5zaWRlYmFyIC5zb2NpYWwtbmV0d29ya3MgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGZvbnQtc2l6ZTogMjRweDsgfVxuXG4uY29sbGVjdGlvbi1zZWN0aW9uLnR3by1jb2x1bW5zIC5zaWRlYmFyIC5zb2NpYWwtbmV0d29ya3MgYSB7XG4gIGNvbG9yOiAjYTUxYjMwOyB9XG4gIC5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLnNpZGViYXIgLnNvY2lhbC1uZXR3b3JrcyBhOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjc1OyB9XG4gIC5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLnNpZGViYXIgLnNvY2lhbC1uZXR3b3JrcyBhIC5mYS1mYWNlYm9vay1zcXVhcmUsXG4gIC5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLnNpZGViYXIgLnNvY2lhbC1uZXR3b3JrcyBhIC5mYS10d2l0dGVyLXNxdWFyZSB7XG4gICAgY29sb3I6ICMyODY3YjE7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLmRyb3Bkb3duLmZpbHRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYmQ2ZDA7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNDM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmNvbGxlY3Rpb24tc2VjdGlvbi50d28tY29sdW1ucyAuZHJvcGRvd24uZmlsdGVyID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLmNvbGxlY3Rpb24tc2VjdGlvbi50d28tY29sdW1ucyAuZHJvcGRvd24uZmlsdGVyID4gbGkgPiBhIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6ICMzMTJlMmI7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjM7XG4gIHBhZGRpbmc6IDAuNjg3NXJlbSAxLjQzNzVyZW0gMC4zMTI1cmVtIDA7IH1cbiAgLmNvbGxlY3Rpb24tc2VjdGlvbi50d28tY29sdW1ucyAuZHJvcGRvd24uZmlsdGVyID4gbGkgPiBhOmFmdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmNvbGxlY3Rpb24tc2VjdGlvbi50d28tY29sdW1ucyAuZHJvcGRvd24uZmlsdGVyID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjb2xvcjogIzZiNjI1YztcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNDM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLmRyb3Bkb3duLmZpbHRlciA+IGxpID4gYTphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uY29sbGVjdGlvbi1zZWN0aW9uLnR3by1jb2x1bW5zIC5kcm9wZG93bi5maWx0ZXIgLm1lbnUge1xuICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjYTA5NThlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLmRyb3Bkb3duLmZpbHRlciAubWVudSB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWluLXdpZHRoOiAwOyB9IH1cbiAgLmNvbGxlY3Rpb24tc2VjdGlvbi50d28tY29sdW1ucyAuZHJvcGRvd24uZmlsdGVyIC5tZW51IGxpIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQzOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAuY29sbGVjdGlvbi1zZWN0aW9uLnR3by1jb2x1bW5zIC5kcm9wZG93bi5maWx0ZXIgLm1lbnUgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLmRyb3Bkb3duLmZpbHRlciAubWVudSBhIHtcbiAgICBjb2xvcjogIzMxMmUyYjtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLmRyb3Bkb3duLmZpbHRlciAubWVudSBhIHtcbiAgICAgICAgY29sb3I6ICMxMTY0YWQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfVxuICAgICAgICAuY29sbGVjdGlvbi1zZWN0aW9uLnR3by1jb2x1bW5zIC5kcm9wZG93bi5maWx0ZXIgLm1lbnUgYSAubnVtIHtcbiAgICAgICAgICBjb2xvcjogI2EwOTU4ZTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAuY29sbGVjdGlvbi1zZWN0aW9uLnR3by1jb2x1bW5zIC5jb2xsZWN0aW9ucy1saXN0IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAuY29sbGVjdGlvbi1zZWN0aW9uLnR3by1jb2x1bW5zIC5jb2xsZWN0aW9ucy1saXN0IHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAuY29sbGVjdGlvbi1zZWN0aW9uLnR3by1jb2x1bW5zIC5jb2xsZWN0aW9ucy1saXN0IGxpIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmctYm90dG9tOiAyLjI1cmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLmNvbGxlY3Rpb25zLWxpc3QgbGkge1xuICAgIHdpZHRoOiAzMy4zMyU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLmNvbGxlY3Rpb25zLWxpc3QgbGkge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgcGFkZGluZzogMCAxLjI1cmVtIDIuMjVyZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmxpc3QtYWN0aXZlIC5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLmNvbGxlY3Rpb25zLWxpc3QgbGkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjY4NzVyZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmNvbGxlY3Rpb24tc2VjdGlvbi50d28tY29sdW1ucyAuY29sbGVjdGlvbnMtbGlzdCBsaSArIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAubGlzdC1hY3RpdmUgLmNvbGxlY3Rpb24tc2VjdGlvbi50d28tY29sdW1ucyAuY29sbGVjdGlvbnMtbGlzdCBsaSArIGxpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDEzcHg7XG4gICAgICByaWdodDogMTNweDtcbiAgICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gICAgICBoZWlnaHQ6IDFweDsgfSB9XG5cbi5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLmNvbGxlY3Rpb25zLWxpc3QgLml0ZW0td3JhcCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmxpc3QtYWN0aXZlIC5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLmNvbGxlY3Rpb25zLWxpc3QgLml0ZW0td3JhcCBwaWN0dXJlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLmNvbGxlY3Rpb25zLWxpc3QgLml0ZW0td3JhcCBhOmhvdmVyLCAuY29sbGVjdGlvbi1zZWN0aW9uLnR3by1jb2x1bW5zIC5jb2xsZWN0aW9ucy1saXN0IC5pdGVtLXdyYXAgYTpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgICAuY29sbGVjdGlvbi1zZWN0aW9uLnR3by1jb2x1bW5zIC5jb2xsZWN0aW9ucy1saXN0IC5pdGVtLXdyYXAgYTpob3ZlciBzdHJvbmcsIC5jb2xsZWN0aW9uLXNlY3Rpb24udHdvLWNvbHVtbnMgLmNvbGxlY3Rpb25zLWxpc3QgLml0ZW0td3JhcCBhOmZvY3VzIHN0cm9uZyB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmNvbGxlY3Rpb24tc2VjdGlvbi50d28tY29sdW1ucyAuY29sbGVjdGlvbnMtbGlzdCAuaXRlbS13cmFwIGE6aG92ZXIgaW1nLCAuY29sbGVjdGlvbi1zZWN0aW9uLnR3by1jb2x1bW5zIC5jb2xsZWN0aW9ucy1saXN0IC5pdGVtLXdyYXAgYTpmb2N1cyBpbWcge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDZweCAxcHggcmdiYSgxNywgMTAwLCAxNzMsIDAuNSk7IH0gfVxuICAuY29sbGVjdGlvbi1zZWN0aW9uLnR3by1jb2x1bW5zIC5jb2xsZWN0aW9ucy1saXN0IC5pdGVtLXdyYXAgYSBpbWcge1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zcyBlYXNlLWluLW91dDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuY29sbGVjdGlvbi1zZWN0aW9uLnR3by1jb2x1bW5zIC5jb2xsZWN0aW9ucy1saXN0IC5pdGVtLXdyYXAgLmNhcHRpb24ge1xuICAgICAgcGFkZGluZzogMCAxLjI1cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmNvbGxlY3Rpb24tc2VjdGlvbi50d28tY29sdW1ucyAuY29sbGVjdGlvbnMtbGlzdCAuaXRlbS13cmFwIC5jYXB0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgY29sb3I6ICM2YjYyNWM7XG4gICAgICBwYWRkaW5nOiAwLjM3NXJlbSAwOyB9XG4gICAgICAuY29sbGVjdGlvbi1zZWN0aW9uLnR3by1jb2x1bW5zIC5jb2xsZWN0aW9ucy1saXN0IC5pdGVtLXdyYXAgLmNhcHRpb24gc3Ryb25nIHtcbiAgICAgICAgY29sb3I6ICMzMTJlMmI7IH0gfVxuXG4uY29sbGVjdGlvbi1zbGlkZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYTA5NThlO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMCA0LjM3NXJlbTsgfVxuICAuY29sbGVjdGlvbi1zbGlkZXIgLnNsaWRlIHtcbiAgICBwYWRkaW5nOiAxLjI1cmVtOyB9XG4gIC5jb2xsZWN0aW9uLXNsaWRlciAuaXRlbS13cmFwIHtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuY29sbGVjdGlvbi1zbGlkZXIgLml0ZW0td3JhcCBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmNvbGxlY3Rpb24tc2xpZGVyIC5pdGVtLXdyYXAgYTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIGJvcmRlcjogNHB4IHNvbGlkICNhNTFiMzA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtNnB4O1xuICAgICAgICBib3R0b206IC02cHg7XG4gICAgICAgIGxlZnQ6IC02cHg7XG4gICAgICAgIHJpZ2h0OiAtNnB4O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dCwgdmlzaWJpbGl0eSAwLjNzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAuY29sbGVjdGlvbi1zbGlkZXIgLml0ZW0td3JhcCBhOmhvdmVyLCAuY29sbGVjdGlvbi1zbGlkZXIgLml0ZW0td3JhcCBhOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgICAuY29sbGVjdGlvbi1zbGlkZXIgLml0ZW0td3JhcCBhOmhvdmVyOmFmdGVyLCAuY29sbGVjdGlvbi1zbGlkZXIgLml0ZW0td3JhcCBhOmZvY3VzOmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLmNvbGxlY3Rpb24tc2xpZGVyIC5zbGljay1hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgIHRvcDogM3B4O1xuICAgIGJvdHRvbTogM3B4O1xuICAgIHdpZHRoOiA1NXB4O1xuICAgIGJhY2tncm91bmQ6ICNmMGVhZTQ7XG4gICAgei1pbmRleDogMjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7IH1cbiAgICAuY29sbGVjdGlvbi1zbGlkZXIgLnNsaWNrLWFycm93OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL3JpZ2h0LXRyaWFuZ2xlLnN2Z1wiKSA1MCUgNTAlIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgICAgd2lkdGg6IDIxcHg7XG4gICAgICBoZWlnaHQ6IDM4cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgLmNvbGxlY3Rpb24tc2xpZGVyIC5zbGljay1hcnJvdy5zbGljay1wcmV2IHtcbiAgICAgIGxlZnQ6IDNweDsgfVxuICAgICAgLmNvbGxlY3Rpb24tc2xpZGVyIC5zbGljay1hcnJvdy5zbGljay1wcmV2OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDE4MGRlZyk7IH1cbiAgICAuY29sbGVjdGlvbi1zbGlkZXIgLnNsaWNrLWFycm93LnNsaWNrLW5leHQge1xuICAgICAgcmlnaHQ6IDNweDsgfVxuICAgIC5jb2xsZWN0aW9uLXNsaWRlciAuc2xpY2stYXJyb3c6aG92ZXIsIC5jb2xsZWN0aW9uLXNsaWRlciAuc2xpY2stYXJyb3c6Zm9jdXMge1xuICAgICAgb3BhY2l0eTogMC43NTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnJldmVhbCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk3OTc5NztcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm94LXNoYWRvdzogMCAxcHggOHB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLnJldmVhbCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuXG4ucmV2ZWFsIC50aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjNzMxNDIyO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAucmV2ZWFsIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjMxMjVyZW07IH0gfVxuICAucmV2ZWFsIC50aXRsZSBhIHtcbiAgICBjb2xvcjogIzExNjRhZDsgfVxuICAucmV2ZWFsIC50aXRsZSAuc2VwYXJhdG9yIHtcbiAgICBjb2xvcjogIzk5OTsgfVxuXG4ucmV2ZWFsIC5uZXdfZm9ybSB7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjIxO1xuICBwYWRkaW5nLXRvcDogMi41cmVtOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5yZXZlYWwgLm5ld19mb3JtIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjI1cmVtOyB9IH1cbiAgLnJldmVhbCAubmV3X2Zvcm0gLmluZm8ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41NjI1cmVtOyB9XG4gIC5yZXZlYWwgLm5ld19mb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAucmV2ZWFsIC5uZXdfZm9ybSBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gIC5yZXZlYWwgLm5ld19mb3JtIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDFweCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTc5Nzk3O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgbWFyZ2luOiAycHggMCAwO1xuICAgIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbSAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc1OyB9XG4gICAgLnJldmVhbCAubmV3X2Zvcm0gaW5wdXRbdHlwZT1cInRleHRcIl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4gICAgLnJldmVhbCAubmV3X2Zvcm0gaW5wdXRbdHlwZT1cImVtYWlsXCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuICAgIC5yZXZlYWwgLm5ld19mb3JtIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5yZXZlYWwgLm5ld19mb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjotbW96LXBsYWNlaG9sZGVyLFxuICAgIC5yZXZlYWwgLm5ld19mb3JtIGlucHV0W3R5cGU9XCJlbWFpbFwiXTo6LW1vei1wbGFjZWhvbGRlcixcbiAgICAucmV2ZWFsIC5uZXdfZm9ybSBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLnJldmVhbCAubmV3X2Zvcm0gaW5wdXRbdHlwZT1cInRleHRcIl06LW1vei1wbGFjZWhvbGRlcixcbiAgICAucmV2ZWFsIC5uZXdfZm9ybSBpbnB1dFt0eXBlPVwiZW1haWxcIl06LW1vei1wbGFjZWhvbGRlcixcbiAgICAucmV2ZWFsIC5uZXdfZm9ybSBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5yZXZlYWwgLm5ld19mb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcbiAgICAucmV2ZWFsIC5uZXdfZm9ybSBpbnB1dFt0eXBlPVwiZW1haWxcIl06LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuICAgIC5yZXZlYWwgLm5ld19mb3JtIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAucmV2ZWFsIC5uZXdfZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXS5wbGFjZWhvbGRlcixcbiAgICAucmV2ZWFsIC5uZXdfZm9ybSBpbnB1dFt0eXBlPVwiZW1haWxcIl0ucGxhY2Vob2xkZXIsXG4gICAgLnJldmVhbCAubmV3X2Zvcm0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5yZXZlYWwgLm5ld19mb3JtIGxhYmVsIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42ODc1cmVtOyB9XG4gICAgLnJldmVhbCAubmV3X2Zvcm0gbGFiZWwucGFzc3dvcmQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4zNzVyZW07IH1cbiAgICAgIC5yZXZlYWwgLm5ld19mb3JtIGxhYmVsLnBhc3N3b3JkICsgLmluZm8ge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjM3NXJlbTsgfVxuICAgIC5yZXZlYWwgLm5ld19mb3JtIGxhYmVsIGEge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgLnJldmVhbCAubmV3X2Zvcm0gbGFiZWwgYTpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAucmV2ZWFsIC5uZXdfZm9ybSAuYnRuLXJvdyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgcGFkZGluZy10b3A6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAucmV2ZWFsIC5uZXdfZm9ybSAuYnRuLXJvdyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgICAucmV2ZWFsIC5uZXdfZm9ybSAuYnRuLXJvdyAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMCAwIDAgMC41NjI1cmVtO1xuICAgICAgcGFkZGluZzogMC4zNzVyZW0gMS4zMTI1cmVtIDAuNDM3NXJlbTsgfVxuXG4ucmV2ZWFsIC5jbG9zZS1idXR0b24ge1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgdG9wOiAxNHB4O1xuICByaWdodDogMjBweDsgfVxuICAucmV2ZWFsIC5jbG9zZS1idXR0b246aG92ZXIge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLnJldmVhbCAuY29sbGFib3JhdG9ycyB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH0gfVxuXG4ucmV2ZWFsIC5jb2xsYWJvcmF0b3JzIC50aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgbWFyZ2luLWJvdHRvbTogMC40Mzc1cmVtICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLnJldmVhbCAuY29sbGFib3JhdG9ycyAudGl0bGUge1xuICAgICAgbWFyZ2luOiAwIDAgN3B4ICFpbXBvcnRhbnQ7IH0gfVxuICAucmV2ZWFsIC5jb2xsYWJvcmF0b3JzIC50aXRsZSAuZmFzIHtcbiAgICBjb2xvcjogI2EwOTU4ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBtYXJnaW46IDAuMjVyZW0gMCAwIDAuMTg3NXJlbTsgfVxuXG4ucmV2ZWFsIC5jb2xsYWJvcmF0b3JzIHVsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RiZDZkMDtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG4gIC5yZXZlYWwgLmNvbGxhYm9yYXRvcnMgdWwgbGkge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMC42MjVyZW0gMi4wNjI1cmVtIDAuNjI1cmVtIDAuODEyNXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RiZDZkMDtcbiAgICBjb2xvcjogIzMxMmUyYjtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM2O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICAucmV2ZWFsIC5jb2xsYWJvcmF0b3JzIHVsIGxpOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgIC5yZXZlYWwgLmNvbGxhYm9yYXRvcnMgdWwgbGkgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgY29sb3I6ICNhMDk1OGU7XG4gICAgICByaWdodDogMC41cmVtO1xuICAgICAgdG9wOiAwLjQzNzVyZW07IH1cbiAgICAgIC5yZXZlYWwgLmNvbGxhYm9yYXRvcnMgdWwgbGkgLmNsb3NlLWJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnJldmVhbCAuY29sbGFib3JhdG9ycyB1bCAudGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAucmV2ZWFsIC5jb2xsYWJvcmF0b3JzIHVsIC50ZXh0IGEge1xuICAgICAgY29sb3I6ICMxMTY0YWQ7IH1cbiAgICAgIC5yZXZlYWwgLmNvbGxhYm9yYXRvcnMgdWwgLnRleHQgYTpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5yZXZlYWwgLmJ1dHRvbi5zb2NpYWwge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBtYXJnaW46IDAgMCAwLjYyNXJlbTsgfVxuICAucmV2ZWFsIC5idXR0b24uc29jaWFsLmdvb2dsZSB7XG4gICAgYmFja2dyb3VuZDogI2RlMzQzNzsgfVxuICAucmV2ZWFsIC5idXR0b24uc29jaWFsLmZhY2Vib29rIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzc2N2QxOyB9XG4gIC5yZXZlYWwgLmJ1dHRvbi5zb2NpYWw6aG92ZXIsIC5yZXZlYWwgLmJ1dHRvbi5zb2NpYWw6Zm9jdXMge1xuICAgIG9wYWNpdHk6IDAuODU7IH1cbiAgLnJldmVhbCAuYnV0dG9uLnNvY2lhbCAuZmFiIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBtYXJnaW46IDAgMC4zNzVyZW0gMCAwO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAucmV2ZWFsIC5idXR0b24uc29jaWFsIC5mYWIuZmEtZmFjZWJvb2stZiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXB4OyB9XG5cbi5yZXZlYWwgLmJ1dHRvbi5idG4td2hpdGUge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzMxMmUyYjtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzQsIDM0LCAwLjQpOyB9XG4gIC5yZXZlYWwgLmJ1dHRvbi5idG4td2hpdGU6aG92ZXIsIC5yZXZlYWwgLmJ1dHRvbi5idG4td2hpdGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7IH1cblxuLnJldmVhbC5sb2dpbi1yZXZlYWwge1xuICBtYXgtd2lkdGg6IDMxLjI1cmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5yZXZlYWwubG9naW4tcmV2ZWFsIHtcbiAgICAgIHBhZGRpbmc6IDEuNjI1cmVtIDEuNjI1cmVtIDJyZW07IH0gfVxuXG4ucmV2ZWFsLmVtYWlsLXJldmVhbCB7XG4gIG1heC13aWR0aDogNDUuMzc1cmVtO1xuICB3aWR0aDogYXV0bzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAucmV2ZWFsLmVtYWlsLXJldmVhbCB7XG4gICAgICBwYWRkaW5nOiAxLjMxMjVyZW0gM3JlbSAyLjVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAucmV2ZWFsLmVtYWlsLXJldmVhbCAudGl0bGUge1xuICAgICAgbWFyZ2luOiAwIDAgMS42ODc1cmVtIC0wLjU2MjVyZW07IH0gfVxuICAucmV2ZWFsLmVtYWlsLXJldmVhbCAubmV3X2Zvcm0ge1xuICAgIHBhZGRpbmc6IDAgMCAwLjU2MjVyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5yZXZlYWwuZW1haWwtcmV2ZWFsIC5uZXdfZm9ybSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjMxMjVyZW07IH0gfVxuICAgIC5yZXZlYWwuZW1haWwtcmV2ZWFsIC5uZXdfZm9ybSBpbnB1dFt0eXBlPVwiZW1haWxcIl0ge1xuICAgICAgaGVpZ2h0OiAyLjEyNXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTsgfVxuICAgIC5yZXZlYWwuZW1haWwtcmV2ZWFsIC5uZXdfZm9ybSAuZW1haWwtd3JhcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjQzNzVyZW07IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgICAucmV2ZWFsLmVtYWlsLXJldmVhbCAubmV3X2Zvcm0gLmVtYWlsLXdyYXAge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gICAgICAucmV2ZWFsLmVtYWlsLXJldmVhbCAubmV3X2Zvcm0gLmVtYWlsLXdyYXAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAucmV2ZWFsLmVtYWlsLXJldmVhbCAubmV3X2Zvcm0gLmVtYWlsLXdyYXAgbGFiZWwge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogN3JlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMC4xMjVyZW0gMC41cmVtIDAgMDsgfSB9XG4gICAgICAucmV2ZWFsLmVtYWlsLXJldmVhbCAubmV3X2Zvcm0gLmVtYWlsLXdyYXAgLmlucHV0LXdyYXAge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAucmV2ZWFsLmVtYWlsLXJldmVhbCAubmV3X2Zvcm0gLmNoZWNrLXdyYXAge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCA3LjVyZW07IH0gfVxuICAgIC5yZXZlYWwuZW1haWwtcmV2ZWFsIC5uZXdfZm9ybSAuY2hlY2std3JhcCBsYWJlbCB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgICAucmV2ZWFsLmVtYWlsLXJldmVhbCAubmV3X2Zvcm0gLmNoZWNrLXdyYXAgbGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDAuMTI1cmVtO1xuICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLnJldmVhbC5lbWFpbC1yZXZlYWwgLm5ld19mb3JtIC5jaGVjay13cmFwIHAge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgLnJldmVhbC5lbWFpbC1yZXZlYWwgLm5ld19mb3JtIC5idXR0b24ge1xuICAgICAgd2lkdGg6IDExNnB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgcGFkZGluZzogMC42ODc1cmVtIDAuMjVyZW07IH1cbiAgLnJldmVhbC5lbWFpbC1yZXZlYWwgLmN1c3RvbS1jaGVja2JveCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07IH1cbiAgICAucmV2ZWFsLmVtYWlsLXJldmVhbCAuY3VzdG9tLWNoZWNrYm94IC5mYWtlLWlucHV0IHtcbiAgICAgIHRvcDogMC4zMTI1cmVtO1xuICAgICAgbGVmdDogMC4xMjVyZW07IH1cblxuLnJldmVhbC5hZGQtcmV2ZWFsIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgbWF4LXdpZHRoOiAzMS4yNXJlbTtcbiAgcGFkZGluZzogMXJlbSAxLjVyZW07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLnJldmVhbC5hZGQtcmV2ZWFsIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNi4yNXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5yZXZlYWwuYWRkLXJldmVhbCAudGl0bGUge1xuICAgICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtIDAuMTg3NXJlbTsgfSB9XG4gIC5yZXZlYWwuYWRkLXJldmVhbCAuaW5mby1saW5lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAucmV2ZWFsLmFkZC1yZXZlYWwgLmluZm8tbGluZSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuNjg3NXJlbSAwLjMxMjVyZW07IH0gfVxuICAgIC5yZXZlYWwuYWRkLXJldmVhbCAuaW5mby1saW5lIGEge1xuICAgICAgY29sb3I6ICMxMTY0YWQ7IH1cbiAgICAgIC5yZXZlYWwuYWRkLXJldmVhbCAuaW5mby1saW5lIGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAucmV2ZWFsLmFkZC1yZXZlYWwgLm5ld19mb3JtIHtcbiAgICBwYWRkaW5nOiAwIDAgMC44NzVyZW07IH1cbiAgICAucmV2ZWFsLmFkZC1yZXZlYWwgLm5ld19mb3JtIGxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAycHg7IH1cbiAgICAucmV2ZWFsLmFkZC1yZXZlYWwgLm5ld19mb3JtIC5idG4tcm93IC5idXR0b24ge1xuICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gMC41NjI1cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICBtYXJnaW4tbGVmdDogMnB4OyB9XG4gICAgICAucmV2ZWFsLmFkZC1yZXZlYWwgLm5ld19mb3JtIC5idG4tcm93IC5idXR0b246bm90KC5idG4td2hpdGUpIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAzNCwgMzQsIDAuNCk7XG4gICAgICAgIHRleHQtc2hhZG93OiAwIDFweCAwIHJnYmEoMzQsIDM0LCAzNCwgMC41KTsgfVxuICAucmV2ZWFsLmFkZC1yZXZlYWwgLmpjZi1zY3JvbGxhYmxlLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLnJldmVhbC5hZGQtcmV2ZWFsIC5qY2Ytc2Nyb2xsYWJsZSB7XG4gICAgaGVpZ2h0OiAyMi43NXJlbTtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAwOyB9XG4gIC5yZXZlYWwuYWRkLXJldmVhbCAuamNmLXNjcm9sbGJhci12ZXJ0aWNhbCB7XG4gICAgcmlnaHQ6IC0xLjEyNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5yZXZlYWwuYWRkLXJldmVhbCAuamNmLXNjcm9sbGJhci1ob3Jpem9udGFsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnJldmVhbC5hZGQtcmV2ZWFsIC5ib3R0b20taW5mby1ibG9jayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1pbi1oZWlnaHQ6IDUuNjI1cmVtO1xuICAgIGJveC1zaGFkb3c6IDAgLTFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5Nzk3OTc7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmZhZjU7XG4gICAgcGFkZGluZzogMC44NzVyZW0gMi41cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAucmV2ZWFsLmFkZC1yZXZlYWwgLmJvdHRvbS1pbmZvLWJsb2NrIC5pbWctd3JhcCB7XG4gICAgICB3aWR0aDogMy43NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9XG4gICAgLnJldmVhbC5hZGQtcmV2ZWFsIC5ib3R0b20taW5mby1ibG9jayB1bCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNzVweCk7IH1cbiAgICAgIC5yZXZlYWwuYWRkLXJldmVhbCAuYm90dG9tLWluZm8tYmxvY2sgdWwgbGkge1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjk7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLnJldmVhbC5hZGQtcmV2ZWFsIC5hZGQtbGlzdHMge1xuICAgICAgcGFkZGluZy1ib3R0b206IDQuNjg3NXJlbTsgfSB9XG4gIC5yZXZlYWwuYWRkLXJldmVhbCAuYWRkLWxpc3RzIGxpIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzk3OTc5NztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtIDIuNXJlbSAwLjkzNzVyZW0gMS4xMjVyZW07XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5yZXZlYWwuYWRkLXJldmVhbCAuYWRkLWxpc3RzIGxpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgICAucmV2ZWFsLmFkZC1yZXZlYWwgLmFkZC1saXN0cyBsaSBhIHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAucmV2ZWFsLmFkZC1yZXZlYWwgLmFkZC1saXN0cyBsaSBhOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgIC5yZXZlYWwuYWRkLXJldmVhbCAuYWRkLWxpc3RzIGxpIGEgLmljbyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICB3aWR0aDogMS41NjI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMTE2NGFkOyB9XG4gICAgICAgIC5yZXZlYWwuYWRkLXJldmVhbCAuYWRkLWxpc3RzIGxpIGEgLmljbzpiZWZvcmUsIC5yZXZlYWwuYWRkLXJldmVhbCAuYWRkLWxpc3RzIGxpIGEgLmljbzphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHdpZHRoOiAwLjY4NzVyZW07XG4gICAgICAgICAgaGVpZ2h0OiAwLjE4NzVyZW07XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7IH1cbiAgICAgICAgLnJldmVhbC5hZGQtcmV2ZWFsIC5hZGQtbGlzdHMgbGkgYSAuaWNvOmJlZm9yZSB7XG4gICAgICAgICAgaGVpZ2h0OiAwLjY4NzVyZW07XG4gICAgICAgICAgd2lkdGg6IDAuMTg3NXJlbTsgfVxuXG4ucmV2ZWFsLm1ldC1zZWFyY2gge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmctYm90dG9tOiA0LjM3NXJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAucmV2ZWFsLm1ldC1zZWFyY2gge1xuICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAucmV2ZWFsLm1ldC1zZWFyY2gge1xuICAgICAgbWF4LXdpZHRoOiA0MS44MTI1cmVtO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiAyNy41cmVtO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5yZXZlYWwubWV0LXNlYXJjaCAudGl0bGUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gICAgICBwYWRkaW5nOiAxcmVtIDIuNzVyZW0gMXJlbSAxLjM3NXJlbTtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5yZXZlYWwubWV0LXNlYXJjaCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIC5yZXZlYWwubWV0LXNlYXJjaCAuaXMtZHJpbGxkb3duIHtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgLTFyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLnJldmVhbC5tZXQtc2VhcmNoIC5pcy1kcmlsbGRvd24ge1xuICAgICAgICB3aWR0aDogMTAuODEyNXJlbTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLnJldmVhbC5tZXQtc2VhcmNoIC5pcy1kcmlsbGRvd24ge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDc4cHgpO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5yZXZlYWwubWV0LXNlYXJjaCAuaXMtZHJpbGxkb3duOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMzVweDtcbiAgICAgICAgYm90dG9tOiAtOTk5OXB4O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZDogI2NjYzsgfSB9XG4gIC5yZXZlYWwubWV0LXNlYXJjaCAudmVydGljYWwge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAucmV2ZWFsLm1ldC1zZWFyY2ggLnZlcnRpY2FsIHtcbiAgICAgICAgYm9yZGVyOiAwOyB9IH1cbiAgICAucmV2ZWFsLm1ldC1zZWFyY2ggLnZlcnRpY2FsID4gbGkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTQ7XG4gICAgICBwYWRkaW5nOiAwIDEuMjVyZW07XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLnJldmVhbC5tZXQtc2VhcmNoIC52ZXJ0aWNhbCA+IGxpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcHg7IH0gfVxuICAgICAgLnJldmVhbC5tZXQtc2VhcmNoIC52ZXJ0aWNhbCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLnJldmVhbC5tZXQtc2VhcmNoIC52ZXJ0aWNhbCA+IGxpIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgICAucmV2ZWFsLm1ldC1zZWFyY2ggLnZlcnRpY2FsID4gbGkuanMtZHJpbGxkb3duLWJhY2sge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgICAucmV2ZWFsLm1ldC1zZWFyY2ggLnZlcnRpY2FsID4gbGkuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50LmxpLWFjdGl2ZSA+IGEge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNiZWRkZmY7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5yZXZlYWwubWV0LXNlYXJjaCAudmVydGljYWwgPiBsaS5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQubGktYWN0aXZlID4gLnZlcnRpY2FsIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgICAucmV2ZWFsLm1ldC1zZWFyY2ggLnZlcnRpY2FsID4gbGkgPiBhIHtcbiAgICAgICAgY29sb3I6ICMzMTJlMmI7XG4gICAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAxLjg3NXJlbSAwLjkzNzVyZW0gMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgIC5yZXZlYWwubWV0LXNlYXJjaCAudmVydGljYWwgPiBsaSA+IGEge1xuICAgICAgICAgICAgcGFkZGluZzogMC4yNXJlbSAwLjI1cmVtIDAuMjVyZW0gMS4yNXJlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfSB9XG4gICAgICAgIC5yZXZlYWwubWV0LXNlYXJjaCAudmVydGljYWwgPiBsaSA+IGE6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgLnJldmVhbC5tZXQtc2VhcmNoIC52ZXJ0aWNhbCA+IGxpID4gYTpob3ZlciwgLnJldmVhbC5tZXQtc2VhcmNoIC52ZXJ0aWNhbCA+IGxpID4gYTpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjYmVkZGZmO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9IH1cbiAgICAgICAgLnJldmVhbC5tZXQtc2VhcmNoIC52ZXJ0aWNhbCA+IGxpID4gYSAuZmEtY2hldnJvbi1yaWdodCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICByaWdodDogLTRweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICBjb2xvcjogI2EwOTU4ZTtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgICAgLnJldmVhbC5tZXQtc2VhcmNoIC52ZXJ0aWNhbCA+IGxpID4gYSAuZmEtY2hldnJvbi1yaWdodCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgLnJldmVhbC5tZXQtc2VhcmNoIC52ZXJ0aWNhbCA+IGxpID4gLnZlcnRpY2FsIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjU2MjVyZW07IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgLnJldmVhbC5tZXQtc2VhcmNoIC52ZXJ0aWNhbCA+IGxpID4gLnZlcnRpY2FsIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgdG9wOiAtMi4xODc1cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDE3LjEyNXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMjQuNjI1cmVtO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjY2M7IH0gfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAucmV2ZWFsLm1ldC1zZWFyY2ggLnZlcnRpY2FsID4gbGkgPiAudmVydGljYWwgPiAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgICAgICAgIGhlaWdodDogMzQycHg7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvOyB9IH1cbiAgLnJldmVhbC5tZXQtc2VhcmNoIC5tZXQtdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjNmI2MjVjO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAucmV2ZWFsLm1ldC1zZWFyY2ggLm1ldC10aXRsZSB7XG4gICAgICAgIHdpZHRoOiAxMC42MjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgcGFkZGluZzogMC4zNzVyZW0gMC40Mzc1cmVtIDAuNjg3NXJlbSAxLjM3NXJlbTtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLnJldmVhbC5tZXQtc2VhcmNoIC5kcm9wLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogIzMxMmUyYjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjU2MjVyZW07IH1cbiAgLnJldmVhbC5tZXQtc2VhcmNoIC5zZWFyY2hfZm9ybSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLnJldmVhbC5tZXQtc2VhcmNoIC5zZWFyY2hfZm9ybSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjc1cmVtO1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIC5yZXZlYWwubWV0LXNlYXJjaCAuc2VhcmNoX2Zvcm0gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAzOHB4O1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM2YjYyNWM7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLnJldmVhbC5tZXQtc2VhcmNoIC5zZWFyY2hfZm9ybSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDI5cHg7XG4gICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gICAgICAucmV2ZWFsLm1ldC1zZWFyY2ggLnNlYXJjaF9mb3JtIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogIzAwMDsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAucmV2ZWFsLm1ldC1zZWFyY2ggLnNlYXJjaF9mb3JtIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICM5OTk7IH0gfVxuICAgICAgLnJldmVhbC5tZXQtc2VhcmNoIC5zZWFyY2hfZm9ybSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgLnJldmVhbC5tZXQtc2VhcmNoIC5zZWFyY2hfZm9ybSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjOTk5OyB9IH1cbiAgICAgIC5yZXZlYWwubWV0LXNlYXJjaCAuc2VhcmNoX2Zvcm0gaW5wdXRbdHlwZT1cInNlYXJjaFwiXTotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgLnJldmVhbC5tZXQtc2VhcmNoIC5zZWFyY2hfZm9ybSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICM5OTk7IH0gfVxuICAgICAgLnJldmVhbC5tZXQtc2VhcmNoIC5zZWFyY2hfZm9ybSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgIC5yZXZlYWwubWV0LXNlYXJjaCAuc2VhcmNoX2Zvcm0gaW5wdXRbdHlwZT1cInNlYXJjaFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICM5OTk7IH0gfVxuICAgICAgLnJldmVhbC5tZXQtc2VhcmNoIC5zZWFyY2hfZm9ybSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgLnJldmVhbC5tZXQtc2VhcmNoIC5zZWFyY2hfZm9ybSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjOTk5OyB9IH1cbiAgICAucmV2ZWFsLm1ldC1zZWFyY2ggLnNlYXJjaF9mb3JtIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMS4xODc1cmVtO1xuICAgICAgcmlnaHQ6IDEuMzc1cmVtO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgY29sb3I6ICMyMjI7IH1cbiAgLnJldmVhbC5tZXQtc2VhcmNoIC5hY2NvcmRpb24ge1xuICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5yZXZlYWwubWV0LXNlYXJjaCAuYWNjb3JkaW9uIHtcbiAgICAgICAgcGFkZGluZzogMC4zMTI1cmVtIDAgMC42MjVyZW0gMC42MjVyZW07IH0gfVxuICAgIC5yZXZlYWwubWV0LXNlYXJjaCAuYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLnJldmVhbC5tZXQtc2VhcmNoIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtOyB9IH1cbiAgICAgIC5yZXZlYWwubWV0LXNlYXJjaCAuYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLnJldmVhbC5tZXQtc2VhcmNoIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLnJldmVhbC5tZXQtc2VhcmNoIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICAucmV2ZWFsLm1ldC1zZWFyY2ggLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC40Mzc1cmVtOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLnJldmVhbC5tZXQtc2VhcmNoIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjQzNzVyZW07IH0gfVxuICAgICAgLnJldmVhbC5tZXQtc2VhcmNoIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlIC5mYS1jaGV2cm9uLXJpZ2h0IHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB9XG4gICAgLnJldmVhbC5tZXQtc2VhcmNoIC5hY2NvcmRpb24gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiAjMzEyZTJiO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgcGFkZGluZzogMC41cmVtIDNyZW0gMC41cmVtIDEuMzEyNXJlbTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5yZXZlYWwubWV0LXNlYXJjaCAuYWNjb3JkaW9uIGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfSB9XG4gICAgICAucmV2ZWFsLm1ldC1zZWFyY2ggLmFjY29yZGlvbiBhIC5hZGQtaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMC45Mzc1cmVtO1xuICAgICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTE2NGFkOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgIC5yZXZlYWwubWV0LXNlYXJjaCAuYWNjb3JkaW9uIGEgLmFkZC1pY29uIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwLjYyNXJlbTsgfSB9XG4gICAgICAgIC5yZXZlYWwubWV0LXNlYXJjaCAuYWNjb3JkaW9uIGEgLmFkZC1pY29uOmJlZm9yZSwgLnJldmVhbC5tZXQtc2VhcmNoIC5hY2NvcmRpb24gYSAuYWRkLWljb246YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgd2lkdGg6IDExcHg7XG4gICAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICAgICAucmV2ZWFsLm1ldC1zZWFyY2ggLmFjY29yZGlvbiBhIC5hZGQtaWNvbjphZnRlciB7XG4gICAgICAgICAgd2lkdGg6IDNweDtcbiAgICAgICAgICBoZWlnaHQ6IDExcHg7IH1cbiAgICAgIC5yZXZlYWwubWV0LXNlYXJjaCAuYWNjb3JkaW9uIGEgLmZhLWNoZXZyb24tcmlnaHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMC4zNzVyZW07XG4gICAgICAgIGxlZnQ6IDRweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgY29sb3I6ICNhMDk1OGU7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgLnJldmVhbC5tZXQtc2VhcmNoIC5hY2NvcmRpb24gYSAuZmEtY2hldnJvbi1yaWdodCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07IH0gfVxuICAgIC5yZXZlYWwubWV0LXNlYXJjaCAuYWNjb3JkaW9uIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwLjQzNzVyZW0gMCAwIDEuMjVyZW07XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gICAgICAucmV2ZWFsLm1ldC1zZWFyY2ggLmFjY29yZGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQgdWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgLnJldmVhbC5tZXQtc2VhcmNoIC5hY2NvcmRpb24gLmFjY29yZGlvbi1jb250ZW50IHVsIGxpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjQzNzVyZW07IH1cbiAgLnJldmVhbC5tZXQtc2VhcmNoIGEuc2VsZWN0ZWQtaXRlbSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAucmV2ZWFsLm1ldC1zZWFyY2ggYS5zZWxlY3RlZC1pdGVtIHtcbiAgICAgICAgY29sb3I6ICM0MTZjZTc7IH0gfVxuICAgIC5yZXZlYWwubWV0LXNlYXJjaCBhLnNlbGVjdGVkLWl0ZW0gLmFkZC1pY29uOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAucmV2ZWFsLm1ldC1zZWFyY2ggLnNlbGVjdGlvbi1maWx0ZXItY29sIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHdpZHRoOiAxMS4xMjVyZW07XG4gICAgICBtYXJnaW46IC0xLjgxMjVyZW0gMCAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMC44MTI1cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnJldmVhbC5tZXQtc2VhcmNoIC5zZWxlY3Rpb24tZmlsdGVyLWNvbCB7XG4gICAgICB3aWR0aDogMTIuNXJlbTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5yZXZlYWwubWV0LXNlYXJjaCAuc2VsZWN0aW9uLWZpbHRlci1jb2wge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAxLjU2MjVyZW0gMC45Mzc1cmVtIDEuMzEyNXJlbTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgICAgIHotaW5kZXg6IDk7IH0gfVxuICAucmV2ZWFsLm1ldC1zZWFyY2ggLnNlbGVjdGlvbi1maWx0ZXItY29sIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLnJldmVhbC5tZXQtc2VhcmNoIC5zZWxlY3Rpb24tZmlsdGVyLWNvbCBwIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLnJldmVhbC5tZXQtc2VhcmNoIC5zZWxlY3Rpb24tZmlsdGVyLWNvbCAubWV0LXRpdGxlIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAwIDAgMC4yNXJlbTsgfVxuICAucmV2ZWFsLm1ldC1zZWFyY2ggLnNlbGVjdGlvbi1maWx0ZXItY29sIC5zZWxlY3RlZC1pdGVtcy1saXN0IHtcbiAgICBtYXgtaGVpZ2h0OiAyMzJweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAucmV2ZWFsLm1ldC1zZWFyY2ggLnNlbGVjdGlvbi1maWx0ZXItY29sIC5zZWxlY3RlZC1pdGVtcy1saXN0IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjFweDtcbiAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDE4M3B4O1xuICAgICAgICBib3R0b206IDcxcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7IH1cbiAgICAgICAgLnNlbGVjdGVkLWl0ZW0tYWN0aXZlIC5yZXZlYWwubWV0LXNlYXJjaCAuc2VsZWN0aW9uLWZpbHRlci1jb2wgLnNlbGVjdGVkLWl0ZW1zLWxpc3Qge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAucmV2ZWFsLm1ldC1zZWFyY2ggLnNlbGVjdGlvbi1maWx0ZXItY29sIC5zZWxlY3RlZC1pdGVtcy1saXN0IGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcHg7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgICAucmV2ZWFsLm1ldC1zZWFyY2ggLnNlbGVjdGlvbi1maWx0ZXItY29sIC5zZWxlY3RlZC1pdGVtcy1saXN0IGxpIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cbiAgICAucmV2ZWFsLm1ldC1zZWFyY2ggLnNlbGVjdGlvbi1maWx0ZXItY29sIC5zZWxlY3RlZC1pdGVtcy1saXN0IGEge1xuICAgICAgY29sb3I6ICM0YTkwZTI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDAuMjVyZW0gMS44NzVyZW0gMC4yNXJlbSAwOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgICAgLnJldmVhbC5tZXQtc2VhcmNoIC5zZWxlY3Rpb24tZmlsdGVyLWNvbCAuc2VsZWN0ZWQtaXRlbXMtbGlzdCBhIHtcbiAgICAgICAgICBjb2xvcjogIzMxMmUyYjsgfSB9XG4gICAgICAucmV2ZWFsLm1ldC1zZWFyY2ggLnNlbGVjdGlvbi1maWx0ZXItY29sIC5zZWxlY3RlZC1pdGVtcy1saXN0IGEgLmljbyB7XG4gICAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMTY0YWQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAycHg7XG4gICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAgIC5yZXZlYWwubWV0LXNlYXJjaCAuc2VsZWN0aW9uLWZpbHRlci1jb2wgLnNlbGVjdGVkLWl0ZW1zLWxpc3QgYSAuaWNvOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgIGhlaWdodDogMC4xODc1cmVtO1xuICAgICAgICAgIHdpZHRoOiAwLjY4NzVyZW07XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAucmV2ZWFsLm1ldC1zZWFyY2ggLnNlbGVjdGlvbi1maWx0ZXItY29sIC5idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogODRweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLnJldmVhbC5tZXQtc2VhcmNoIC5zZWxlY3Rpb24tZmlsdGVyLWNvbCAuYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDU2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMC40Mzc1cmVtO1xuICAgICAgICByaWdodDogMC40Mzc1cmVtOyB9IH1cbiAgLnJldmVhbC5tZXQtc2VhcmNoIC5maWx0ZXItbGlzdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwLjVyZW0gMCAwOyB9XG4gICAgLnJldmVhbC5tZXQtc2VhcmNoIC5maWx0ZXItbGlzdCBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgY29sb3I6ICM3Nzc7XG4gICAgICBmb250LWZhbWlseTogSGVsdmV0aWNhOyB9XG4gICAgICAucmV2ZWFsLm1ldC1zZWFyY2ggLmZpbHRlci1saXN0IGxpICsgbGk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ3wnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIG1hcmdpbjogLTAuMDYyNXJlbSAwLjQzNzVyZW0gMCAwLjI1cmVtOyB9XG4gICAgICAucmV2ZWFsLm1ldC1zZWFyY2ggLmZpbHRlci1saXN0IGxpICsgbGkgYSB7XG4gICAgICAgIGNvbG9yOiAjNGE5MGUyO1xuICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICAgIC5zZWxlY3RlZC1pdGVtLWFjdGl2ZSAucmV2ZWFsLm1ldC1zZWFyY2ggLmZpbHRlci1saXN0IGxpICsgbGkgYSB7XG4gICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLnJldmVhbC5tZXQtc2VhcmNoIC5maWx0ZXItbGlzdCBsaSBhIHtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgICAgLnNlbGVjdGVkLWl0ZW0tYWN0aXZlIC5yZXZlYWwubWV0LXNlYXJjaCAuZmlsdGVyLWxpc3QgbGkgYSB7XG4gICAgICAgICAgY29sb3I6ICM0YTkwZTI7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7IH0gfVxuXG4uY3VzdG9tLWNoZWNrYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07IH1cbiAgLmN1c3RvbS1jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuNXJlbTtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuY3VzdG9tLWNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgLmZha2UtaW5wdXQ6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuY3VzdG9tLWNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1cyArIC5mYWtlLWlucHV0IHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzExNjRhZDsgfVxuICAuY3VzdG9tLWNoZWNrYm94IC5mYWtlLWlucHV0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjVyZW07XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMC44MTI1cmVtO1xuICAgIGhlaWdodDogMC44MTI1cmVtO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk3OTc5NztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgLmN1c3RvbS1jaGVja2JveCAuZmFrZS1pbnB1dDphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMnB4O1xuICAgICAgbGVmdDogMXB4O1xuICAgICAgd2lkdGg6IDAuNTYyNXJlbTtcbiAgICAgIGhlaWdodDogMC4zMTI1cmVtO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDAuMTI1cmVtIDAuMTI1cmVtO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuI3NraXAtaG9tZSBhLFxuI3NraXAgYSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTEwMDAwcHg7XG4gIHRvcDogYXV0bztcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuI3NraXAtaG9tZSBhOmZvY3VzLFxuI3NraXAgYTpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmZhLWZhY2Vib29rLXNxdWFyZSB7XG4gIGNvbG9yOiAjNDA3MGI0ICFpbXBvcnRhbnQ7IH1cblxuLmZhLXR3aXR0ZXItc3F1YXJlIHtcbiAgY29sb3I6ICM2NTk5ZTAgIWltcG9ydGFudDsgfVxuXG4uZmEtaW5zdGFncmFtIHtcbiAgY29sb3I6ICM3ODcxNmIgIWltcG9ydGFudDsgfVxuXG4uZmEtZ29vZ2xlLXBsdXMtc3F1YXJlIHtcbiAgY29sb3I6ICM0YzU0NWMgIWltcG9ydGFudDsgfVxuXG4uY29sbGVjdGlvbi10aHVtYiB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmNvbGxlY3Rpb24tdGh1bWI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMCU7IH1cblxuLmNvbGxlY3Rpb24tdGh1bWItZ3JpZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0IzQUFBMTsgfVxuICAuY29sbGVjdGlvbi10aHVtYi1ncmlkIC5ncmlkLWltYWdlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuY29sbGVjdGlvbi10aHVtYi1ncmlkIC5ncmlkLWltYWdlIGltZyB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBmbGV4OiAwO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7IH1cblxuLmdyaWQtaW1hZ2VzLTEgLmdyaWQtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5ncmlkLWltYWdlcy00IC5ncmlkLWltYWdlIHtcbiAgd2lkdGg6IDUwJTtcbiAgaGVpZ2h0OiA1MCU7IH1cblxuLmdyaWQtaW1hZ2VzLTkgLmdyaWQtaW1hZ2Uge1xuICB3aWR0aDogMzMuMzMzMzMzMzMzJTtcbiAgaGVpZ2h0OiAzMy4zMzMzMzMzMzMlOyB9XG5cbi5jb2xsZWN0aW9uLXRodW1iLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoNDksIDQ2LCA0MywgMC44KTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07IH1cblxuLmNvbGxlY3Rpb24tdGh1bWItdGl0bGUge1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBtYXJnaW4tYm90dG9tOiAwLjE1cmVtOyB9XG5cbi5jb2xsZWN0aW9uLXRodW1iLW1ldGEge1xuICBtYXJnaW4tYm90dG9tOiAwLjE1cmVtOyB9XG5cbi5jb2xsZWN0aW9uLWJvZHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5jb2xsZWN0aW9uLXRleHQge1xuICBmbGV4OiAxOyB9XG5cbi8qICBTZWFyY2hcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5zZWFyY2gtZmFjZXQtc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItdG9wOiBzb2xpZCAxcHggI0YwRUFFNDtcbiAgcGFkZGluZy10b3A6IDFyZW07IH1cblxuLnNlYXJjaC1mYWNldC10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGNvbG9yOiAjOEM4MTc5O1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5zZWFyY2gtZmFjZXQtaXRlbSBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4uc2VhcmNoLWZhY2V0LWl0ZW0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uc2VhcmNoLWZhY2V0LWl0ZW0gbGFiZWwge1xuICBjb2xvcjogIzRhNGE0YTsgfVxuXG4uc2VhcmNoLWZhY2V0LWl0ZW0uaXMtYWN0aXZlIGEsXG4uc2VhcmNoLWZhY2V0LWl0ZW0uaXMtYWN0aXZlIGxhYmVsLFxuLnNlYXJjaC1mYWNldC1pdGVtIGlucHV0OmNoZWNrZWQgKyBsYWJlbCB7XG4gIGNvbG9yOiAjMzEyRTJCO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uc2VhcmNoLWZhY2V0LWl0ZW0uaXMtYWN0aXZlIGE6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcMDBkN1wiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjNlbTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBmb250LXNpemU6IDExMCU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjNzMxNDIyOyB9XG5cbi5zZWFyY2gtZmFjZXQtaXRlbS5pcy1hY3RpdmUgYTpob3ZlciwgLnNlYXJjaC1mYWNldC1pdGVtLmlzLWFjdGl2ZSBhOmhvdmVyOmFmdGVyLCAuc2VhcmNoLWZhY2V0LWl0ZW0uaXMtYWN0aXZlIGE6YWN0aXZlLCAuc2VhcmNoLWZhY2V0LWl0ZW0uaXMtYWN0aXZlIGE6YWN0aXZlOmFmdGVyLCAuc2VhcmNoLWZhY2V0LWl0ZW0uaXMtYWN0aXZlIGE6Zm9jdXMsIC5zZWFyY2gtZmFjZXQtaXRlbS5pcy1hY3RpdmUgYTpmb2N1czphZnRlciB7XG4gIGNvbG9yOiAjZWM1ODQwOyB9XG5cbi5zZWFyY2gtcmVzdWx0IHtcbiAgYm9yZGVyLXRvcDogc29saWQgMXB4ICNjY2M7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuc2VhcmNoLXJlc3VsdDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2NjYzsgfVxuICAuc2VhcmNoLXJlc3VsdCAubWVkaWEtb2JqZWN0LXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5zZWFyY2gtcmVzdWx0IC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cblxuLnNhdmVkLXNlYXJjaGVzIHtcbiAgYmFja2dyb3VuZDogI2RiZDZkMTtcbiAgY29sb3I6ICMwMDA7XG4gIHBhZGRpbmc6IDAuODc1cmVtOyB9XG4gIC5zYXZlZC1zZWFyY2hlcyAudGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07IH1cbiAgLnNhdmVkLXNlYXJjaGVzIC5zdi13cmFwIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzM7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgIC5zYXZlZC1zZWFyY2hlcyAuc3Ytd3JhcCB7XG4gICAgICAgIHdpZHRoOiAzMiU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5zYXZlZC1zZWFyY2hlcyAuc3Ytd3JhcCB7XG4gICAgICAgIHdpZHRoOiA0MCU7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0NzlweCkge1xuICAgICAgLnNhdmVkLXNlYXJjaGVzIC5zdi13cmFwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5zYXZlZC1zZWFyY2hlcyAuc3Ytd3JhcCBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgLnNhdmVkLXNlYXJjaGVzIC5saW5rLWhvbGQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG5sYWJlbCAuaW5wdXQtd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgbGFiZWwgLmlucHV0LXdyYXAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMC4yNXJlbSAwLjI1cmVtIDA7IH1cbiAgbGFiZWwgLmlucHV0LXdyYXAgLnNlbGVjdC1idG4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAuMjVyZW0gMC4yNXJlbSAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gICAgYmFja2dyb3VuZDogI2VlZTtcbiAgICBjb2xvcjogIzIyMjtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMC41cmVtO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlLWluLW91dDsgfVxuICAgIGxhYmVsIC5pbnB1dC13cmFwIC5zZWxlY3QtYnRuOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNkNWQ1ZDU7IH1cblxuZmllbGRzZXQgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbmZpZWxkc2V0IFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBtYXJnaW4tdG9wOiAwLjEyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDI0cHgpOyB9XG5cbi5zZWFyY2gtaGVhZGluZy1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuc2VhcmNoLWhlYWRpbmctYmxvY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc2VhcmNoLWhlYWRpbmctYmxvY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgLnNlYXJjaC1oZWFkaW5nLWJsb2NrIGgzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuc2VhcmNoLWhlYWRpbmctYmxvY2sgaDMge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07IH0gfVxuICAgIC5zZWFyY2gtaGVhZGluZy1ibG9jayBoMyBlbSB7XG4gICAgICBjb2xvcjogIzliOWI5YjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAuc2VhcmNoLWhlYWRpbmctYmxvY2sgaDMgZW0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cbiAgICAgIC5zZWFyY2gtaGVhZGluZy1ibG9jayBoMyBlbSBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIGNvbG9yOiAjNGE5MGUyOyB9XG4gICAgICAgIC5zZWFyY2gtaGVhZGluZy1ibG9jayBoMyBlbSBhOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnNlYXJjaC1oZWFkaW5nLWJsb2NrIC52aWV3LXN3aXRjaGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gICAgLnNlYXJjaC1oZWFkaW5nLWJsb2NrIC52aWV3LXN3aXRjaGVyIGxpICsgbGkgYSB7XG4gICAgICBib3JkZXItY29sb3I6ICM0YTkwZTI7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDc0LCAxNDQsIDIyNiwgMC4zKTsgfVxuICAgICAgLmxpc3QtYWN0aXZlIC5zZWFyY2gtaGVhZGluZy1ibG9jayAudmlldy1zd2l0Y2hlciBsaSArIGxpIGEge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmxpc3QtYWN0aXZlIC5zZWFyY2gtaGVhZGluZy1ibG9jayAudmlldy1zd2l0Y2hlciBhIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzRhOTBlMjtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoNzQsIDE0NCwgMjI2LCAwLjMpOyB9XG5cbi5zYXZlLWFjdGl2ZSAuc2F2ZS1saW5rIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2F2ZWQtdGV4dCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnNhdmUtYWN0aXZlIC5zYXZlZC10ZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cblxuLm1lZGlhLW9iamVjdC1ob2xkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICBwYWRkaW5nLXRvcDogMS4yNXJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAubWVkaWEtb2JqZWN0LWhvbGRlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH0gfVxuICAubGlzdC1hY3RpdmUgLm1lZGlhLW9iamVjdC1ob2xkZXIge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5tZWRpYS1vYmplY3QtaG9sZGVyOmJlZm9yZSwgLm1lZGlhLW9iamVjdC1ob2xkZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxLjI1cmVtO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIGxlZnQ6IDUwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubWVkaWEtb2JqZWN0LWhvbGRlcjpiZWZvcmUsIC5tZWRpYS1vYmplY3QtaG9sZGVyOmFmdGVyIHtcbiAgICAgIGxlZnQ6IDMzLjMzJTsgfSB9XG4gIC5saXN0LWFjdGl2ZSAubWVkaWEtb2JqZWN0LWhvbGRlcjpiZWZvcmUsIC5saXN0LWFjdGl2ZSAubWVkaWEtb2JqZWN0LWhvbGRlcjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAubWVkaWEtb2JqZWN0LWhvbGRlcjphZnRlciB7XG4gICAgICB3aWR0aDogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubWVkaWEtb2JqZWN0LWhvbGRlcjphZnRlciB7XG4gICAgICBsZWZ0OiA2Ni42NiU7XG4gICAgICB3aWR0aDogMXB4OyB9IH1cbiAgLm1lZGlhLW9iamVjdC1ob2xkZXIgLmxpc3QtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmxpc3QtYWN0aXZlIC5tZWRpYS1vYmplY3QtaG9sZGVyIC5saXN0LWl0ZW0ge1xuICAgICAgcGFkZGluZy1yaWdodDogOS42MjVyZW07IH1cbiAgICAubWVkaWEtb2JqZWN0LWhvbGRlciAubGlzdC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgIC5tZWRpYS1vYmplY3QtaG9sZGVyIC5saXN0LWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcDogMDsgfVxuICAubWVkaWEtb2JqZWN0LWhvbGRlciAuYWRkLXdyYXAge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjc1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDEuMjVyZW0gMCAwIDMuMTI1cmVtOyB9XG4gICAgLmxpc3QtYWN0aXZlIC5tZWRpYS1vYmplY3QtaG9sZGVyIC5hZGQtd3JhcCB7XG4gICAgICBtaW4td2lkdGg6IDE0MHB4O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgcmlnaHQ6IC0zLjg3NXJlbTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5tZWRpYS1vYmplY3QtaG9sZGVyIC5hZGQtd3JhcCAuaWNvIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTNweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQ6ICMxMTY0YWQ7XG4gICAgICB3aWR0aDogMS4zMTI1cmVtO1xuICAgICAgaGVpZ2h0OiAxLjMxMjVyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgICAgIC5tZWRpYS1vYmplY3QtaG9sZGVyIC5hZGQtd3JhcCAuaWNvOmJlZm9yZSwgLm1lZGlhLW9iamVjdC1ob2xkZXIgLmFkZC13cmFwIC5pY286YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgd2lkdGg6IDAuNjg3NXJlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjE4NzVyZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwLjU2MjVyZW07XG4gICAgICAgIGxlZnQ6IDAuMzEyNXJlbTsgfVxuICAgICAgLm1lZGlhLW9iamVjdC1ob2xkZXIgLmFkZC13cmFwIC5pY286YWZ0ZXIge1xuICAgICAgICB3aWR0aDogMC4xODc1cmVtO1xuICAgICAgICBoZWlnaHQ6IDAuNjg3NXJlbTtcbiAgICAgICAgdG9wOiAwLjMxMjVyZW07XG4gICAgICAgIGxlZnQ6IDAuNTYyNXJlbTsgfVxuICAgIC5tZWRpYS1vYmplY3QtaG9sZGVyIC5hZGQtd3JhcCAuZHJvcGRvd24tcGFuZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTc5Nzk3O1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgd2lkdGg6IDE0LjM3NXJlbTtcbiAgICAgIHRvcDogLTUuNjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgICBsZWZ0OiAtMTEuODc1cmVtICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgICAgLm1lZGlhLW9iamVjdC1ob2xkZXIgLmFkZC13cmFwIC5kcm9wZG93bi1wYW5lIHtcbiAgICAgICAgICBsZWZ0OiAtMS4xMjVyZW0gIWltcG9ydGFudDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLmxpc3QtYWN0aXZlIC5tZWRpYS1vYmplY3QtaG9sZGVyIC5hZGQtd3JhcCAuZHJvcGRvd24tcGFuZSB7XG4gICAgICAgICAgbGVmdDogLTcuODc1cmVtICFpbXBvcnRhbnQ7IH0gfVxuICAgICAgLm1lZGlhLW9iamVjdC1ob2xkZXIgLmFkZC13cmFwIC5kcm9wZG93bi1wYW5lIC50aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgICAgIC5tZWRpYS1vYmplY3QtaG9sZGVyIC5hZGQtd3JhcCAuZHJvcGRvd24tcGFuZSBhIHtcbiAgICAgICAgY29sb3I6ICM0YTkwZTI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAgIC5tZWRpYS1vYmplY3QtaG9sZGVyIC5hZGQtd3JhcCAuZHJvcGRvd24tcGFuZSBhOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC5tZWRpYS1vYmplY3QtaG9sZGVyIC5hZGQtd3JhcCAuZHJvcGRvd24tcGFuZTphZnRlciwgLm1lZGlhLW9iamVjdC1ob2xkZXIgLmFkZC13cmFwIC5kcm9wZG93bi1wYW5lOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTFyZW07XG4gICAgICAgIHJpZ2h0OiAwLjg3NXJlbTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxNnB4IDE1cHggMCAxNXB4O1xuICAgICAgICBib3JkZXItY29sb3I6ICNiMWIxYjEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAgICAgLm1lZGlhLW9iamVjdC1ob2xkZXIgLmFkZC13cmFwIC5kcm9wZG93bi1wYW5lOmFmdGVyLCAubWVkaWEtb2JqZWN0LWhvbGRlciAuYWRkLXdyYXAgLmRyb3Bkb3duLXBhbmU6YmVmb3JlIHtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogMC44NzVyZW07IH0gfVxuICAgICAgLm1lZGlhLW9iamVjdC1ob2xkZXIgLmFkZC13cmFwIC5kcm9wZG93bi1wYW5lOmJlZm9yZSB7XG4gICAgICAgIGJvdHRvbTogLTAuODc1cmVtO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBib3JkZXItd2lkdGg6IDE2cHggMTVweCAwIDE1cHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAgIC5tZWRpYS1vYmplY3QtaG9sZGVyIC5hZGQtd3JhcCBhLmJ1dHRvbiB7XG4gICAgICBtYXJnaW46IC0zcHggMCAwO1xuICAgICAgcGFkZGluZzogM3B4IDAgMDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogIzExNjRhZDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTEuNzVyZW07IH1cbiAgICAgIC5tZWRpYS1vYmplY3QtaG9sZGVyIC5hZGQtd3JhcCBhLmJ1dHRvbiAuaWNvbi1ob2xkIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzExNjRhZDtcbiAgICAgICAgd2lkdGg6IDEuMzEyNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjMxMjVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgbWFyZ2luOiAtMC4xODc1cmVtIDAuODc1cmVtIDAgLTEuNzVyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjE4NzVyZW07IH1cbiAgICAgICAgLm1lZGlhLW9iamVjdC1ob2xkZXIgLmFkZC13cmFwIGEuYnV0dG9uIC5pY29uLWhvbGQgLmZhcyB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICAubWVkaWEtb2JqZWN0LWhvbGRlciAuYWRkLXdyYXAgYS5idXR0b246Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAxcHggZGFzaGVkOyB9XG4gIC5tZWRpYS1vYmplY3QtaG9sZGVyIC50aHVtYm5haWwubm8taW1nIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAubWVkaWEtb2JqZWN0LWhvbGRlciAudGh1bWJuYWlsLm5vLWltZyAuaWNvIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIG1hcmdpbi10b3A6IDNweDsgfVxuXG5ib2R5Lmxpc3QtYWN0aXZlIC5tZWRpYS1vYmplY3QtaG9sZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNjY2M7IH1cbiAgYm9keS5saXN0LWFjdGl2ZSAubWVkaWEtb2JqZWN0LWhvbGRlciAubWVkaWEtb2JqZWN0LXNlY3Rpb24uaW1nLXdyYXAge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIGJvZHk6bm90KC5saXN0LWFjdGl2ZSkgLm1lZGlhLW9iamVjdC1ob2xkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbjogMCAtMS4yNXJlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICBib2R5Om5vdCgubGlzdC1hY3RpdmUpIC5tZWRpYS1vYmplY3QtaG9sZGVyIC5saXN0LWl0ZW0ge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIGJvZHk6bm90KC5saXN0LWFjdGl2ZSkgLm1lZGlhLW9iamVjdC1ob2xkZXIgLmxpc3QtaXRlbSB7XG4gICAgd2lkdGg6IDMzLjMzJTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICBib2R5Om5vdCgubGlzdC1hY3RpdmUpIC5tZWRpYS1vYmplY3QtaG9sZGVyIC5saXN0LWl0ZW06Zmlyc3QtY2hpbGQsIGJvZHk6bm90KC5saXN0LWFjdGl2ZSkgLm1lZGlhLW9iamVjdC1ob2xkZXIgLmxpc3QtaXRlbTpudGgtY2hpbGQoMikge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIGJvZHk6bm90KC5saXN0LWFjdGl2ZSkgLm1lZGlhLW9iamVjdC1ob2xkZXIgLmxpc3QtaXRlbTpudGgtY2hpbGQoMykge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7IH0gfVxuXG4vKiAgR2l6YSBAIFNjaG9vbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmNvbnRlbnQtaGlsaXRlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgcGFkZGluZy10b3A6IDJyZW07XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI0RCRDZEMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG4uY29udGVudC1oaWxpdGUtY29udGVudCB7XG4gIGZsZXg6IDEgMSBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29udGVudC1oaWxpdGUtY29udGVudCB7XG4gICAgICBvcmRlcjogMjsgfSB9XG5cbi5jb250ZW50LWhpbGl0ZS1ib2R5IHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuXG4uY29udGVudC1oaWxpdGUtaW1hZ2Uge1xuICBmbGV4OiAwIDAgNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiA3NXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREJENkQwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2Nob29sLWhpbGl0ZS1kZWZhdWx0LnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiA1MHB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29udGVudC1oaWxpdGUtaW1hZ2Uge1xuICAgICAgb3JkZXI6IDE7XG4gICAgICBmbGV4OiAwIDAgMTUwcHg7XG4gICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxNTBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMnJlbTsgfSB9XG4gIC5jb250ZW50LWhpbGl0ZS1pbWFnZS5pbWctbGVzc29udG9waWNzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2Nob29sLWhpbGl0ZS1sZXNzb250b3BpY3MucG5nXCIpOyB9XG4gIC5jb250ZW50LWhpbGl0ZS1pbWFnZS5pbWctcGVvcGxlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2Nob29sLWhpbGl0ZS1wZW9wbGUucG5nXCIpOyB9XG4gIC5jb250ZW50LWhpbGl0ZS1pbWFnZS5pbWctZmFxIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2Nob29sLWhpbGl0ZS1mYXEucG5nXCIpOyB9XG4gIC5jb250ZW50LWhpbGl0ZS1pbWFnZS5pbWctdmlkZW9zIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2Nob29sLWhpbGl0ZS12aWRlb3MucG5nXCIpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmNvbnRlbnQtaGlsaXRlLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZBRjU7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI0RCRDZEMDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmNvbnRlbnQtaGlsaXRlLXByaW1hcnkgLmNvbnRlbnQtaGlsaXRlLWNvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY29udGVudC1oaWxpdGUtcHJpbWFyeSAuY29udGVudC1oaWxpdGUtYm9keSB7XG4gICAgZm9udC1zaXplOiAxMDYuMjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY29udGVudC1oaWxpdGUtcHJpbWFyeSAuY29udGVudC1oaWxpdGUtZm9vdGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmNvbnRlbnQtaGlsaXRlLXByaW1hcnkgLmNvbnRlbnQtaGlsaXRlLWltYWdlIHtcbiAgICBmbGV4OiAwIDAgMTYwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTYwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5jb250ZW50LWhpbGl0ZS1wcmltYXJ5IC5jb250ZW50LWhpbGl0ZS1pbWFnZS5pbWctbGVzc29udG9waWNzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zY2hvb2wtaGlsaXRlLWxlc3NvbnRvcGljcy1wcmltYXJ5LnBuZ1wiKTsgfVxuICAgIC5jb250ZW50LWhpbGl0ZS1wcmltYXJ5IC5jb250ZW50LWhpbGl0ZS1pbWFnZS5pbWctcGVvcGxlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zY2hvb2wtaGlsaXRlLXBlb3BsZS1wcmltYXJ5LnBuZ1wiKTsgfVxuICAgIC5jb250ZW50LWhpbGl0ZS1wcmltYXJ5IC5jb250ZW50LWhpbGl0ZS1pbWFnZS5pbWctZmFxIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zY2hvb2wtaGlsaXRlLWZhcS1wcmltYXJ5LnBuZ1wiKTsgfVxuICAgIC5jb250ZW50LWhpbGl0ZS1wcmltYXJ5IC5jb250ZW50LWhpbGl0ZS1pbWFnZS5pbWctdmlkZW9zIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zY2hvb2wtaGlsaXRlLXZpZGVvcy1wcmltYXJ5LnBuZ1wiKTsgfSB9XG5cbi50b3BpYy1ibHVyYiB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI0RCRDZEMDtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuXG4udG9waWMtYmx1cmItaGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudG9waWMtYmx1cmItYm9keSB7XG4gICAgZGlzcGxheTogZmxleDsgfSB9XG5cbi50b3BpYy1ibHVyYi1pbWFnZSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG1heC13aWR0aDogMjAwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50b3BpYy1ibHVyYi1pbWFnZSB7XG4gICAgICBmbGV4OiAwIDAgMTUwcHg7XG4gICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudG9waWMtYmx1cmItdGV4dCB7XG4gICAgZmxleDogMSAxIGF1dG87IH0gfVxuXG4udG9waWMtYmx1cmItZm9vdGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTsgfVxuXG4vKiAgTWlzY2VsbGFuZW91cyBVdGlsaXRpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5kLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmQtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lOyB9XG5cbi5kLWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uZC1mbGV4IHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZC1ub25lIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uaW1nLWZsdWlkIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmltZy1mbHVpZC1tdzE1MCB7XG4gIHdpZHRoOiAxNTBweDsgfVxuXG4uaW1nLWZsdWlkLW13MjUwIHtcbiAgd2lkdGg6IDI1MHB4OyB9XG5cbi5pbWctZmx1aWQtbXczMjUge1xuICB3aWR0aDogMzI1cHg7IH1cblxuLmltZy1mbHVpZC1tdzQ1MCB7XG4gIHdpZHRoOiA0NTBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmltZy1mbHVpZC1zbS1tdzMyNSB7XG4gICAgbWF4LXdpZHRoOiAzMjVweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmltZy1mbHVpZC1tZC1tdzUwIHtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA1NC45Mzc1ZW0pIHtcbiAgLmltZy1mbHVpZC1tZC1tdzUwIHtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmltZy1mbHVpZC1sZy1tdzUwIHtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfSB9XG5cbi5mbGV4LXYge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5mbGV4LWZpeGVkIHtcbiAgZmxleC1ncm93OiAwO1xuICBmbGV4LXNocmluazogMDsgfVxuXG4uZmxleC1tdy0xNTAge1xuICBmbGV4LWJhc2lzOiAxNTBweDsgfVxuXG4uZmxleC1mbHVpZCB7XG4gIGZsZXg6IDEgMSBhdXRvOyB9XG5cbi5mbGV4LWhlYWRlciB7XG4gIGZsZXg6IDA7IH1cblxuLmZsZXgtYm9keSB7XG4gIGZsZXg6IDE7IH1cblxuLmZsZXgtZm9vdGVyIHtcbiAgZmxleDogMDsgfVxuXG4uYm9yZGVyLWxpZ2h0IHtcbiAgYm9yZGVyOiBzb2xpZCAxcHggcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjUpOyB9XG5cbi5ib3JkZXItZGFyayB7XG4gIGJvcmRlcjogc29saWQgMXB4IHJnYmEoNDksIDQ2LCA0MywgMC4yNSk7IH1cblxuLmJvcmRlci10b3AtbGlnaHQge1xuICBib3JkZXItdG9wOiBzb2xpZCAxcHggcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjUpOyB9XG5cbi5ib3JkZXItdG9wLWRhcmsge1xuICBib3JkZXItdG9wOiBzb2xpZCAxcHggcmdiYSg0OSwgNDYsIDQzLCAwLjI1KTsgfVxuXG4uYm9yZGVyLWJvdHRvbS1saWdodCB7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuNSk7IH1cblxuLmJvcmRlci1ib3R0b20tZGFyayB7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCByZ2JhKDQ5LCA0NiwgNDMsIDAuMjUpOyB9XG5cbi5ib3JkZXItbGVmdC1saWdodCB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjUpOyB9XG5cbi5ib3JkZXItbGVmdC1kYXJrIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIDFweCByZ2JhKDQ5LCA0NiwgNDMsIDAuMjUpOyB9XG5cbi5ib3JkZXItcmlnaHQtbGlnaHQge1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuNSk7IH1cblxuLmJvcmRlci1yaWdodC1kYXJrIHtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggcmdiYSg0OSwgNDYsIDQzLCAwLjI1KTsgfVxuXG4ucm93LXBhZGRlZCB7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJvdy1wYWRkZWQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTVweDsgfSB9XG5cbi5saW5lcyB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcbiAgcGFkZGluZzogMWVtOyB9XG5cbi5zci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBib3JkZXI6IDA7IH1cblxuLnNyLW9ubHktZm9jdXNhYmxlOmFjdGl2ZSwgLnNyLW9ubHktZm9jdXNhYmxlOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bzsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7IH1cblxuI3NraXBweSxcbi5za2lwbGluay10ZXh0IHtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuOnRhcmdldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiA4NXB4O1xuICAvKiBmaXhlZCBoZWFkZXIgaGVpZ2h0Ki9cbiAgbWFyZ2luOiAtODVweCAwIDA7XG4gIC8qIG5lZ2F0aXZlIGZpeGVkIGhlYWRlciBoZWlnaHQgKi8gfVxuXG4uYnJlYWthYmxlLXdvcmQge1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnRleHQtbWQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudGV4dC1sZy1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC50ZXh0LW1kLWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50ZXh0LWxnLWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4udGV4dC1ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5wb2ludGVyLWJhY2s6OmJlZm9yZSxcbi5wb2ludGVyLWZ3ZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcImdpemEtcHJvamVjdC1pY29uc1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICBmb250LXNpemU6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDAuMWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjFlbTtcbiAgdG9wOiAwLjE3ZW07IH1cblxuLnBvaW50ZXItYmFjazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDYxXCI7IH1cblxuLnBvaW50ZXItZndkOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFw2MlwiOyB9XG5cbi50b3AtYmFubmVyIHtcbiAgaGVpZ2h0OiAyOXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkFGNENBO1xuICBjb2xvcjogIzMxMkUyQjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiA1cHg7IH1cblxuI3RpbWVsaW5lLWVtYmVkIC50bC10aW1lbmF2LXNsaWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGVhZTQ7IH1cblxuI3RpbWVsaW5lLWVtYmVkIC50bC10aW1lbWFya2VyIC50bC10aW1lbWFya2VyLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZWVlOSAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGJkNmNmICFpbXBvcnRhbnQ7IH1cbiAgI3RpbWVsaW5lLWVtYmVkIC50bC10aW1lbWFya2VyIC50bC10aW1lbWFya2VyLWNvbnRlbnQtY29udGFpbmVyIDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDsgfVxuXG4jdGltZWxpbmUtZW1iZWQgLnRsLXRpbWVtYXJrZXItY29udGVudC1jb250YWluZXIgLnRsLXRpbWVtYXJrZXItY29udGVudC1jb250YWluZXItc21hbGwgOmhvdmVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzZiNjI1YyAhaW1wb3J0YW50OyB9XG5cbiN0aW1lbGluZS1lbWJlZCAudGwtdGltZW1hcmtlci1hY3RpdmUgLnRsLXRpbWVtYXJrZXItY29udGVudC1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50OyB9XG5cbiN0aW1lbGluZS1lbWJlZCAudGwtdGltZW1hcmtlciAudGwtdGltZW1hcmtlci1jb250ZW50LWNvbnRhaW5lciAudGwtdGltZW1hcmtlci1jb250ZW50IC50bC10aW1lbWFya2VyLXRleHQgaDIudGwtaGVhZGxpbmUsXG4jdGltZWxpbmUtZW1iZWQgLnRsLXRpbWVtYXJrZXIgLnRsLXRpbWVtYXJrZXItY29udGVudC1jb250YWluZXIgLnRsLXRpbWVtYXJrZXItY29udGVudCAudGwtdGltZW1hcmtlci10ZXh0IGgyLnRsLWhlYWRsaW5lIHAge1xuICBjb2xvcjogIzZiNjI1YyAhaW1wb3J0YW50OyB9XG5cbiN0aW1lbGluZS1lbWJlZCAudGwtc2xpZGUtY29udGVudCB7XG4gIG1heC13aWR0aDogMTIwMHB4ICFpbXBvcnRhbnQ7IH1cblxuI3RpbWVsaW5lLWVtYmVkICN0aW1lbGluZS1lbWJlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZhZjUgIWltcG9ydGFudDsgfVxuXG4jdGltZWxpbmUtZW1iZWQgLnRsLXRpbWVtYXJrZXIudGwtdGltZW1hcmtlci1hY3RpdmUgLnRsLXRpbWVtYXJrZXItbGluZS1sZWZ0IHtcbiAgYm9yZGVyOiBzb2xpZCAxLjVweCAjYTUxYjMwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctdG9wOiAyMHB4ICFpbXBvcnRhbnQ7IH1cblxuI3RpbWVsaW5lLWVtYmVkIC50bC10aW1lbmF2LXNsaWRlciB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCByZ2JhKDEwNywgOTgsIDkyLCAwLjUpLCBpbnNldCAwIDFweCA2cHggMCByZ2JhKDAsIDAsIDAsIDAuMikgIWltcG9ydGFudDsgfVxuXG4jdGltZWxpbmUtZW1iZWQgLnRsLXRpbWVheGlzLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmFmNSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogNXB4ICFpbXBvcnRhbnQ7IH1cblxuI3RpbWVsaW5lLWVtYmVkIC50bC10ZXh0LWNvbnRlbnQtY29udGFpbmVyIC50bC1oZWFkbGluZSB7XG4gIGNvbG9yOiAjNzMxNDIyICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMjRweCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7IH1cblxuI3RpbWVsaW5lLWVtYmVkIC50bC10ZXh0LWNvbnRlbnQtY29udGFpbmVyIC50bC10ZXh0LWNvbnRlbnQgcCB7XG4gIGNvbG9yOiAjMzEyZTJiOyB9XG5cbiN0aW1lbGluZS1lbWJlZCAudGwtaGVhZGxpbmUtZGF0ZSB7XG4gIGNvbG9yOiAjNmI2MjVjICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogMjBweCAhaW1wb3J0YW50OyB9XG5cbiN0aW1lbGluZS1lbWJlZCAudGwtbWVkaWEgLnRsLW1lZGlhLWNvbnRlbnQtY29udGFpbmVyIC50bC1tZWRpYS1jb250ZW50IGltZyB7XG4gIHBhZGRpbmctdG9wOiAyMHB4ICFpbXBvcnRhbnQ7IH1cblxuI3RpbWVsaW5lLWVtYmVkIC50bC1zbGlkZW5hdi1jb250ZW50LWNvbnRhaW5lciB7XG4gIG9wYWNpdHk6IDAuNiAhaW1wb3J0YW50OyB9XG4gICN0aW1lbGluZS1lbWJlZCAudGwtc2xpZGVuYXYtY29udGVudC1jb250YWluZXIgKiB7XG4gICAgY29sb3I6ICM2YjYyNWMgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMTlweCAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMjBweCAhaW1wb3J0YW50OyB9XG5cbiN0aW1lbGluZS1lbWJlZCAudGwtc2xpZGVuYXYtdGl0bGUsICN0aW1lbGluZS1lbWJlZCAudGwtc2xpZGVuYXYtZGVzY3JpcHRpb24ge1xuICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDsgfVxuXG4jdGltZWxpbmUtZW1iZWQgLnRsLXNsaWRlbmF2LWRlc2NyaXB0aW9uIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDsgfVxuXG4jdGltZWxpbmUtZW1iZWQgLnRsLXNsaWRlbmF2LWljb24ge1xuICBmb250LWZhbWlseTogXCJnaXphLXByb2plY3QtaWNvbnNcIiAhaW1wb3J0YW50O1xuICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDE4cHggIWltcG9ydGFudDsgfVxuXG4jdGltZWxpbmUtZW1iZWQgLnRsLXNsaWRlbmF2LW5leHQge1xuICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICByaWdodDogMTQwcHggIWltcG9ydGFudDsgfVxuXG4jdGltZWxpbmUtZW1iZWQgLnRsLXNsaWRlbmF2LW5leHQgLnRsLXNsaWRlbmF2LWljb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDYyXCIgIWltcG9ydGFudDsgfVxuXG4jdGltZWxpbmUtZW1iZWQgLnRsLXNsaWRlbmF2LXByZXZpb3VzIHtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG5cbiN0aW1lbGluZS1lbWJlZCAudGwtc2xpZGVuYXYtcHJldmlvdXMgLnRsLXNsaWRlbmF2LWljb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDYxXCIgIWltcG9ydGFudDsgfVxuXG4jdGltZWxpbmUtZW1iZWQgLnRsLXNsaWRlbmF2LWljb246YmVmb3JlIHtcbiAgZm9udC1zaXplOiAxMDBweCAhaW1wb3J0YW50OyB9XG5cbiN0aW1lbGluZS1lbWJlZCAudGwtdGltZW1hcmtlci1hY3RpdmUgLnRsLXRpbWVtYXJrZXItbGluZS1sZWZ0OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E1MWIzMCAhaW1wb3J0YW50OyB9XG5cbiN0aW1lbGluZS1lbWJlZCAudGwtdGltZW1hcmtlciAudGwtdGltZW1hcmtlci1saW5lLWxlZnQ6YWZ0ZXIsICN0aW1lbGluZS1lbWJlZCAudGwtdGltZW1hcmtlciAudGwtdGltZW1hcmtlci1saW5lLXJpZ2h0OmFmdGVyIHtcbiAgaGVpZ2h0OiA4cHggIWltcG9ydGFudDtcbiAgd2lkdGg6IDhweCAhaW1wb3J0YW50O1xuICBib3R0b206IC0xcHggIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KSAhaW1wb3J0YW50OyB9XG5cbiN0aW1lbGluZS1lbWJlZCAudGwtY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMTJweCAhaW1wb3J0YW50O1xuICB3aWR0aDogOTAlICFpbXBvcnRhbnQ7IH1cblxuI3RpbWVsaW5lLWVtYmVkIC50bC1tZWRpYS1jb250ZW50IGltZyB7XG4gIG1heC1oZWlnaHQ6IDM3NXB4ICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjY3cHgpIHtcbiAgI3RpbWVsaW5lLWVtYmVkIC50bC1zbGlkZW5hdi1uZXh0IHtcbiAgICByaWdodDogODBweCAhaW1wb3J0YW50OyB9XG4gICN0aW1lbGluZS1lbWJlZCAudGwtbWVkaWEtY29udGVudCBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDI0MHB4ICFpbXBvcnRhbnQ7IH1cbiAgI3RpbWVsaW5lLWVtYmVkIC50bC1tZWRpYS1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHggIWltcG9ydGFudDsgfVxuICAjdGltZWxpbmUtZW1iZWQgLnRsLXNsaWRlbmF2LWljb246YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDUwcHggIWltcG9ydGFudDsgfSB9XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3Ncbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2xvc2UgQnV0dG9uXG4vLyAgMTUuIERyaWxsZG93blxuLy8gIDE2LiBEcm9wZG93blxuLy8gIDE3LiBEcm9wZG93biBNZW51XG4vLyAgMTguIEZsZXggVmlkZW9cbi8vICAxOS4gRm9ybXNcbi8vICAyMC4gTGFiZWxcbi8vICAyMS4gTWVkaWEgT2JqZWN0XG4vLyAgMjIuIE1lbnVcbi8vICAyMy4gTWV0ZXJcbi8vICAyNC4gT2ZmLWNhbnZhc1xuLy8gIDI1LiBPcmJpdFxuLy8gIDI2LiBQYWdpbmF0aW9uXG4vLyAgMjcuIFByb2dyZXNzIEJhclxuLy8gIDI4LiBSZXZlYWxcbi8vICAyOS4gU2xpZGVyXG4vLyAgMzAuIFN3aXRjaFxuLy8gIDMxLiBUYWJsZVxuLy8gIDMyLiBUYWJzXG4vLyAgMzMuIFRodW1ibmFpbFxuLy8gIDM0LiBUaXRsZSBCYXJcbi8vICAzNS4gVG9vbHRpcFxuLy8gIDM2LiBUb3AgQmFyXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XG5cbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTE2NEFELFxuICBzZWNvbmRhcnk6ICM3NzcsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjZWM1ODQwLFxuKTtcblxuLy8gVE9ETzogbW92ZSB0byBhYm92ZSBhcnJheVxuLy8gJHByaW1hcnktY29sb3I6ICMyMTk5ZTg7XG4vLyAkc2Vjb25kYXJ5LWNvbG9yOiAjNzc3O1xuLy8gJHN1Y2Nlc3MtY29sb3I6ICMzYWRiNzY7XG4vLyAkd2FybmluZy1jb2xvcjogI2ZmYWUwMDsxXG4vLyAkYWxlcnQtY29sb3I6ICNlYzU4NDA7XG5cbiRsaWdodC1ncmF5OiAjZTZlNmU2O1xuJG1lZGl1bS1ncmF5OiAjY2FjYWNhO1xuJGRhcmstZ3JheTogIzhhOGE4YTtcbiRibGFjazogIzBhMGEwYTtcbiR3aGl0ZTogI2ZlZmVmZTtcblxuLy8gQ3VzdG9tIGNvbG9ycyBmb3IgR2l6YVxuXG4kbG9jaG1hcmE6ICMxMTY0QUQ7IC8vIzA5NzJCRDsgLy9UZXh0IGh5cGVybGlua3NcbiRtYXJvb246ICM3MzE0MjI7ICAvL0hlYWRpbmdzXG4kbWFyb29uLWRhcms6ICM1OTBGMUE7IC8vSGVhZGluZyBpY29uc1xuJGhhcnZhcmQtY3JpbXNvbjogI0E1MUMzMDsgLy9NYWluIG5hdmlnYXRpb24g4oCcYWN0aXZl4oCdIGJvdHRvbSBib3JkZXJcblxuJGR1bmU6ICMzMTJFMkI7IC8vQm9keSB0ZXh0LCBtYWluIG5hdmJhciBiYWNrZ3JvdW5kXG4kc2FuZC1saWdodDogI0YwRUFFNDsgLy8gTWFpbiBjb2x1bW4gaGVhZGluZyBiYXIgYmFja2dyb3VuZCwgZm9vdGVyIGJhY2tncm91bmRcbiRzYW5kLW1lZGl1bTogI0RCRDZEMDsgLy9SaWdodCBjb2x1bW4gbW9kdWxlIGJhY2tncm91bmQsIGFzc29ydGVkIGJvcmRlcnNcbiRzYW5kLWRhcms6ICNCM0FBQTE7IC8vQXNzb3J0ZWQgYm9yZGVyc1xuJHVtYmVyOiAjOEM4MTc5OyAvL0Fzc29ydGVkIGJvcmRlcnNcblxuJGJvZHktYmFja2dyb3VuZDogI0ZGRkFGNTtcbiRib2R5LWZvbnQtY29sb3I6ICRkdW5lO1xuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiR0ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG4kZ2xvYmFsLXJhZGl1czogMDtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogZmFsc2U7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG4kcmVtLWJhc2U6IDE2cHg7XG5cbi8vQWRkaXRpb25hbCBnbG9iYWwgdmFyaWFibGVzIGZvciBmb250cywgY29sb3JzLCBldGNcblxuJGFjY2VudC1mb250LWZhbWlseTogR2VvcmdpYSwgc2VyaWY7IC8vbGFyZ2VyIGludHJvIHBhcmFncmFwaHNcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyBTcGFjZXJzIChib3Jyb3dlZCBmcm9tIEJvb3RzdHJhcClcblxuJHNwYWNlcjogICAgJGdsb2JhbC1tYXJnaW47XG4kc3BhY2VyLXg6ICAkc3BhY2VyO1xuJHNwYWNlci15OiAgJHNwYWNlcjtcblxuLy8gVXNlZnVsIGZvciBkaXJlY3Rpb25hbCB1dGlsaXR5IGNsYXNzZXNcbiRzcGFjZXJzOiAoXG4gIDA6IChcbiAgICB4OiAgIDAsXG4gICAgeTogICAwXG4gICksXG4gIFwicXRcIjogKFxuICAgIHg6ICAgKCRzcGFjZXIteCAqIDAuMjUpLFxuICAgIHk6ICAgKCRzcGFjZXIteSAqIDAuMjUpXG4gICksXG4gIFwiaGFsZlwiOiAoXG4gICAgeDogICAoJHNwYWNlci14ICogMC41KSxcbiAgICB5OiAgICgkc3BhY2VyLXkgKiAwLjUpXG4gICksXG4gIDE6IChcbiAgICB4OiAgICRzcGFjZXIteCxcbiAgICB5OiAgICRzcGFjZXIteVxuICApLFxuICAyOiAoXG4gICAgeDogICAoJHNwYWNlci14ICogMiksXG4gICAgeTogICAoJHNwYWNlci15ICogMilcbiAgKSxcbiAgMzogKFxuICAgIHg6ICAgKCRzcGFjZXIteCAqIDMpLFxuICAgIHk6ICAgKCRzcGFjZXIteSAqIDMpXG4gICksXG4gIDQ6IChcbiAgICB4OiAgICgkc3BhY2VyLXggKiA0KSxcbiAgICB5OiAgICgkc3BhY2VyLXkgKiA0KVxuICApLCBcbiAgXCJuZWdxdFwiOiAoXG4gICAgeDogICAoJHNwYWNlci14ICogLS4yNSksXG4gICAgeTogICAoJHNwYWNlci15ICogLS4yNSlcbiAgKSxcbiAgXCJuZWdoYWxmXCI6IChcbiAgICB4OiAgICgkc3BhY2VyLXggKiAtLjUpLFxuICAgIHk6ICAgKCRzcGFjZXIteSAqIC0uNSlcbiAgKSxcbiAgXCJuZWcxXCI6IChcbiAgICB4OiAgICgkc3BhY2VyLXggKiAtMSksXG4gICAgeTogICAoJHNwYWNlci15ICogLTEpXG4gIClcbik7XG5cbi8vIFVzZWZ1bCBmb3IgdXRpbGl0eSB2YWx1ZXNcbiRzcGFjZTogKCk7XG4kc3BhY2U6IG1hcC1tZXJnZSgoXG4gIDA6ICAgICAgICAgIDAsXG4gIFwicXRcIjogICAgICAgKCRzcGFjZXIgKiAuMjUpLFxuICBcImhhbGZcIjogICAgICgkc3BhY2VyICogLjUpLFxuICAxOiAgICAgICAgICAoJHNwYWNlciAqIDEpLFxuICAyOiAgICAgICAgICAoJHNwYWNlciAqIDIpLFxuICAzOiAgICAgICAgICAoJHNwYWNlciAqIDMpLCBcbiAgNDogICAgICAgICAgKCRzcGFjZXIgKiA0KSwgXG4gIFwibmVncXRcIjogICAgKCRzcGFjZXIgKiAtLjI1KSxcbiAgXCJuZWdoYWxmXCI6ICAoJHNwYWNlciAqIC0uNSksXG4gIFwibmVnMVwiOiAgICAgKCRzcGFjZXIgKiAtMSksXG4pLCAkc3BhY2UpO1xuXG4vLyBSZXR1cm4gc3BhY2VyIHZhbHVlIChtb3JlIGJ1bGxldHByb29mIHRoYW4gdXNpbmcgJHNwYWNlciBpdHNlbGYpXG5AZnVuY3Rpb24gc3BhY2VyKCRrZXk6IDEpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRzcGFjZSwgJGtleSk7XG59XG5cblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbi8qICRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbik7ICovXG5cbi8vIEFtYWxnYW1hdGVzIG9yaWdpbmFsIEZvdW5kYXRpb24gKyBpbmNsdWRlLW1lZGlhLCBuZXcgZm9yIE15R2l6YVxuJGJyZWFrcG9pbnRzOiAoXG4gICdzbWFsbCc6IDAsXG5cdCd4cy1waG9uZSc6IDMyMHB4LFxuXHQnc20tcGhvbmUnOiAzNzVweCxcblx0J21kLXBob25lJzogNDgwcHgsIFxuXHQvLydwaG9uZSc6IDY0MHB4LCBcblx0J21lZGl1bSc6IDY0MHB4LCBcblx0J3RhYmxldCc6IDc2OHB4LFxuXHQnbGctdGFibGV0JzogODgwcHgsIFxuXHQnZGVza3RvcCc6IDk5MnB4LCAvLyBUaGlzIGJyZWFrcG9pbnQgbmVlZHMgdG8gZXhpc3QgZm9yIGluY2x1ZGUtbWVkaWEgXG5cdCdsYXJnZSc6IDEwMjRweCwgXG5cdCd3aWRlc2NyZWVuJzogMTIwMHB4LCBcblx0J3hsYXJnZSc6IDEyMDBweCwgXG5cdCd4eGxhcmdlJzogMTQ0MHB4XG4pO1xuXG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgc20tcGhvbmUgbWQtcGhvbmUgbWVkaXVtIHRhYmxldCBsZy10YWJsZXQgbGFyZ2UgeGxhcmdlKTsgLy8gQWRkZWQgYSBidW5jaCBtb3JlIHRoYW4gZGVmYXVsdHNcblxuLy8ga2V5d29yZHNcbiRtZWRpYS1leHByZXNzaW9uczogKFxuXHQnc2NyZWVuJzogJ3NjcmVlbicsXG5cdCdwcmludCc6ICdwcmludCcsXG5cdCdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG5cdCdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcblx0J3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcblx0J3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksIChtaW4tcmVzb2x1dGlvbjogMTQ0ZHBpKScsXG5cdCdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLjUpLCAobWluLXJlc29sdXRpb246IDI0MGRwaSknXG4pO1xuXG4vLyBJbmNsdWRlLW1lZGlhIHVwZGF0ZSAobm8gbG9uZ2VyIHVzaW5nICdkZXNrdG9wJylcbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnbGFyZ2UnO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbi8vICRibG9jay1ncmlkLW1heDogODtcbi8vICRncmlkLWNvbHVtbi1ndXR0ZXI6IDMwcHg7XG4kYmxvY2stZ3JpZC1tYXg6IDY7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiBNb250c2VycmF0LCDigJxIZWx2ZXRpY2EgTmV1ZeKAnSwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgLy9oZWFkaW5ncyBhbmQgbmF2YmFyIGxpbmtzXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IGJvbGQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRoZWFkZXItc2l6ZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAyMCxcbiAgICAnaDInOiAyMCxcbiAgICAnaDMnOiAyMCxcbiAgICAnaDQnOiAyMCxcbiAgICAnaDUnOiAxOCxcbiAgICAnaDYnOiAxNixcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogMzIsXG4gICAgJ2gyJzogMjYsXG4gICAgJ2gzJzogMjAsXG4gICAgJ2g0JzogMjAsXG4gICAgJ2g1JzogMTgsXG4gICAgJ2g2JzogMTYsXG4gICksXG4pO1xuJGhlYWRlci1jb2xvcjogJG1hcm9vbjtcbiRoZWFkZXItbGluZWhlaWdodDogMS40O1xuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kbWVkaXVtLWZvbnQtc2l6ZTogMC44NzVyZW07IC8vIDE2cHggLT4gMTRweFxuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiB1bmRlcmxpbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XG5cbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xuJGxlYWQtbGluZWhlaWdodDogMS42O1xuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6IGZvcmVncm91bmQoJGJhZGdlLWJhY2tncm91bmQpO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW07XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnV0dG9uLW1hcmdpbjogMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6IDRweDtcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbik7XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2xvc2UgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAxcmVtO1xuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogMC41cmVtO1xuJGNsb3NlYnV0dG9uLXNpemU6IDJlbTtcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XG5cbi8vIDE1LiBEcmlsbGRvd25cbi8vIC0tLS0tLS0tLS0tLS1cblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuXG4vLyAxNi4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuLy8gJGRyb3Bkb3duLWZvbnQtc2l6ZTogMTZyZW07IDwtLSBJIHRoaW5rIHRoaXMgaXMgYSBtaXN0YWtlLCBtYXliZSAxLjZyZW1cbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxNy4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcblxuLy8gMTguIEZsZXggVmlkZW9cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4dmlkZW8tcGFkZGluZy10b3A6IHJlbS1jYWxjKDI1KTtcbiRmbGV4dmlkZW8tbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJGZsZXh2aWRlby1yYXRpbzogNCBieSAzO1xuJGZsZXh2aWRlby1yYXRpby13aWRlc2NyZWVuOiAxNiBieSA5O1xuXG4vLyAxOS4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAjMzMzO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAjZmFmYWZhO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogIzMzMztcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtY29sb3I6ICRkYXJrLWdyYXk7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5O1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogZGVmYXVsdDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjAuIExhYmVsXG4vLyAtLS0tLS0tLS1cblxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGxhYmVsLWNvbG9yOiBmb3JlZ3JvdW5kKCRsYWJlbC1iYWNrZ3JvdW5kKTtcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMi4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbTtcbiRtZW51LWl0ZW0tcGFkZGluZzogMC43cmVtIDFyZW07XG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LWV4cGFuZC1tYXg6IDY7XG5cbi8vIDIzLiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjQuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZTogMjUwcHg7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJG9mZmNhbnZhcy16aW5kZXg6IC0xO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuJG1haW5jb250ZW50LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNSk7XG5cbi8vIDI1LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjYuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiBmb3JlZ3JvdW5kKCRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50KTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyNy4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI4LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1vZmZzZXQ6IHJlbS1jYWxjKDEwMCk7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xuXG4vLyAyOS4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogJHNsaWRlci1oZWlnaHQ7XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcblxuLy8gMzAuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyAzMS4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlOiBldmVuO1xuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcblxuLy8gMzIuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheTtcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiR0YWItYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItaXRlbS1jb2xvcjogZm9yZWdyb3VuZCgkdGFiLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4kdGFiLWV4cGFuZC1tYXg6IDY7XG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXk7XG4kdGFiLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJHRhYi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcik7XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gMzMuIFRodW1ibmFpbFxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZTtcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDM0LiBUaXRsZSBCYXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjaztcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuXG4vLyAzNS4gVG9vbHRpcFxuLy8gLS0tLS0tLS0tLS1cblxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xuJHRvb2x0aXAtcGlwLW9mZnNldDogMS4yNXJlbTtcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDM2LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0b3BiYXItYmFja2dyb3VuZDogJGR1bmU7XG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJGR1bmU7XG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDFyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRkdW5lO1xuJHRvcGJhci1saW5rLWNvbG9yOiAjZmZmO1xuJHRvcGJhci1pbnB1dC13aWR0aDogMTA4cHg7IC8vICNCYWNrZmlsbCAtIHdhcyAyMDBweFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gQ3VzdG9tIG1peGluc1xuLy8gLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gc3Itb25seSB7IC8vIEJvcnJvd2VkIGZyb20gQm9vdHN0cmFwXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgYm9yZGVyOiAwO1xufVxuXG5AbWl4aW4gc3Itb25seS1mb2N1c2FibGUgeyAvLyBCb3Jyb3dlZCBmcm9tIEJvb3RzdHJhcFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gIH1cbn1cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjIuNFxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gU2FzcyB1dGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIEdsb2JhbCB2YXJpYWJsZXMgYW5kIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleC12aWRlbyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoJGZsZXg6IGZhbHNlKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gIH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC12aWRlbztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcblxuICBAaWYgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgQ29sb3JWYXJpYWJsZSwgUXVhbGlmeWluZ0VsZW1lbnQsIFZlbmRvclByZWZpeFxuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzIxOTllOCxcbiAgc2Vjb25kYXJ5OiAjNzc3LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2VjNTg0MCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IGZhbHNlICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG4kcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpO1xuJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZyk7XG4kYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuXG4vLyBSZW1vdmUgdGhpcyBpbiA2LjNcbiQtemYtbWVudS1pY29uLWltcG9ydGVkOiBmYWxzZTtcbiQtemYtZmxleC1jbGFzc2VzLWltcG9ydGVkOiBmYWxzZTtcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIC16Zi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuXG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIElkU2VsZWN0b3JcbiAgI21hcF9jYW52YXMsXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtemYtbm9ybWFsaXplIHtcbiAgLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4gIC8qKlxuICAgKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICAgKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICAgKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4gICAqL1xuXG4gIGh0bWwge1xuICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gICAqL1xuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAgICogYW5kIEZpcmVmb3guXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gICAqL1xuXG4gIGFydGljbGUsXG4gIGFzaWRlLFxuICBkZXRhaWxzLFxuICBmaWdjYXB0aW9uLFxuICBmaWd1cmUsXG4gIGZvb3RlcixcbiAgaGVhZGVyLFxuICBoZ3JvdXAsXG4gIG1haW4sXG4gIG1lbnUsXG4gIG5hdixcbiAgc2VjdGlvbixcbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvKipcbiAgICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAgICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgKi9cblxuICBhdWRpbyxcbiAgY2FudmFzLFxuICBwcm9ncmVzcyxcbiAgdmlkZW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gICAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gICAqL1xuXG4gIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICAgKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gICAqL1xuXG4gIFtoaWRkZW5dLFxuICB0ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8qIExpbmtzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgKi9cblxuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gICAqIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cbiAgICovXG5cbiAgYTphY3RpdmUsXG4gIGE6aG92ZXIge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGRmbiB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAgICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICAgKi9cblxuICBtYXJrIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmYwO1xuICAgIGNvbG9yOiAjMDAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvKipcbiAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBzdWIsXG4gIHN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuXG4gIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gICAqL1xuXG4gIGltZyB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICAgKi9cblxuICBzdmc6bm90KDpyb290KSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gICAqL1xuXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAxZW0gNDBweDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gICAqL1xuXG4gIGhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cblxuICAvKipcbiAgICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBjb2RlLFxuICBrYmQsXG4gIHByZSxcbiAgc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICB9XG5cbiAgLyogRm9ybXNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAgICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICAgKi9cblxuICAvKipcbiAgICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICBtYXJnaW46IDA7IC8qIDMgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG5cbiAgYnV0dG9uIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gICAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gICAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gICAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAgICovXG5cbiAgYnV0dG9uLFxuICBzZWxlY3Qge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLyoqXG4gICAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gICAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICAgKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gICAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gICAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAgICovXG5cbiAgYnV0dG9uLFxuICBodG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbiAgaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAqL1xuXG4gIGJ1dHRvbltkaXNhYmxlZF0sXG4gIGh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAgICovXG5cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBpbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICAgKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAgICovXG5cbiAgaW5wdXQge1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIH1cblxuICAvKipcbiAgICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICAgKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICAgKlxuICAgKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICAgKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICAgKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICAgKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gICAqL1xuXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICAgKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gICAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAgICogW05PVEVdIFdlIGRvbid0IGVuYWJsZSB0aGlzIHJ1bGVzZXQgaW4gRm91bmRhdGlvbiwgYmVjYXVzZSB3ZSB3YW50IHRoZSA8ZmllbGRzZXQ+IGVsZW1lbnQgdG8gaGF2ZSBwbGFpbiBzdHlsaW5nLlxuICAgKi9cblxuICAvKiBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICBtYXJnaW46IDAgMnB4O1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgfSAqL1xuXG4gIC8qKlxuICAgKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gICAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAgICovXG5cbiAgbGVnZW5kIHtcbiAgICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG5cbiAgdGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLyoqXG4gICAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAgICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gICAqL1xuXG4gIG9wdGdyb3VwIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC8qIFRhYmxlc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gICAqL1xuXG4gIHRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICB9XG5cbiAgdGQsXG4gIHRoIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSkge1xuICAkbWFwOiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbWFwOiBtYXAtcmVtb3ZlKCRtYXAsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIEBlYWNoICRzaXplIGluICRtYXAge1xuICAgICQtemYtc2l6ZTogJHNpemUgIWdsb2JhbDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gT3V0cHV0cyBDU1MgY2xhc3NlcyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gZm91bmRhdGlvbi1ncmlkKFxuICAkcm93OiAncm93JyxcbiAgJGNvbHVtbjogJ2NvbHVtbicsXG4gICRjb2x1bW4tcm93OiAnY29sdW1uLXJvdycsXG4gICRwdXNoOiAncHVzaCcsXG4gICRwdWxsOiAncHVsbCcsXG4gICRjZW50ZXI6ICdjZW50ZXJlZCcsXG4gICR1bmNlbnRlcjogJ3VuY2VudGVyZWQnLFxuICAkY29sbGFwc2U6ICdjb2xsYXBzZScsXG4gICR1bmNvbGxhcHNlOiAndW5jb2xsYXBzZScsXG4gICRvZmZzZXQ6ICdvZmZzZXQnLFxuICAkZW5kOiAnZW5kJyxcbiAgJGV4cGFuZGVkOiAnZXhwYW5kZWQnXG4pIHtcbiAgLy8gUm93XG4gIC4jeyRyb3d9IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdztcblxuICAgIC8vIENvbGxhcHNpbmdcbiAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcblxuICAgICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIChmdWxsLXdpZHRoKSByb3dcbiAgICAmLiN7JGV4cGFuZGVkfSB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG5cbiAgICAgIC4jeyRyb3d9IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLiN7JGNvbHVtbn0ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sO1xuXG4gICAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAgICYuI3skZW5kfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWVuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAuI3skcm93fSAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIENvbHVtbiB3aWR0aFxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXNpemUoJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgICAgIEBpZiAkaSA8ICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygkaSk7XG4gICAgICAgIH1cblxuICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoLSRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LSN7JG9mZnNldH0tI3skb30ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1vZmYoJG8pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoJGksIFwiLiN7JGNvbHVtbn1cIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBjb2xsYXBzaW5nXG4gICAgLiN7JC16Zi1zaXplfS0jeyRjb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XG5cbiAgICAgIC4jeyRyb3d9IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuI3skZXhwYW5kZWR9LiN7JHJvd30gLiN7JC16Zi1zaXplfS0jeyRjb2xsYXBzZX0uI3skcm93fSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LSN7JHVuY29sbGFwc2V9IHtcbiAgICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRncmlkLWNvbHVtbi1ndXR0ZXIsICQtemYtc2l6ZSk7XG5cbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC11bmNvbGxhcHNlKCRndXR0ZXIpOyB9XG4gICAgfVxuXG4gICAgLy8gUG9zaXRpb25pbmdcbiAgICAuI3skLXpmLXNpemV9LSN7JGNlbnRlcn0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLy8gR3V0dGVyIGFkanVzdG1lbnRcbiAgICAuI3skLXpmLXNpemV9LSN7JHVuY2VudGVyfSxcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LTAsXG4gICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0wIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXVucG9zO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkY29sdW1uID09ICdjb2x1bW4nIHtcbiAgICAuY29sdW1ucyB7XG4gICAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBQbGFjZWhvbGRlckluRXh0ZW5kXG4gICAgICBAZXh0ZW5kIC5jb2x1bW47XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGNvbHVtbnMgZGVmaW5lZCBpbnNpZGUgdGhpcyBtaXhpbiB0byB1c2UgYSBkaWZmZXJlbnQgY29sdW1uIGNvdW50LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkcm9vdCBbZmFsc2VdXG4vLy8gICBJZiBgZmFsc2VgLCBzZWxlY3RvcnMgaW5zaWRlIHRoaXMgbWl4aW4gd2lsbCBuZXN0IGluc2lkZSB0aGUgcGFyZW50IHNlbGVjdG9yLlxuLy8vICAgSWYgYHRydWVgLCBzZWxlY3RvcnMgd2lsbCBub3QgbmVzdC5cbkBtaXhpbiBncmlkLWNvbnRleHQoXG4gICRjb2x1bW5zLFxuICAkcm9vdDogZmFsc2Vcbikge1xuICAvLyBTdG9yZSB0aGUgY3VycmVudCBjb2x1bW4gY291bnQgc28gaXQgY2FuIGJlIHJlLXNldCBsYXRlclxuICAkb2xkLWdyaWQtY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW4tY291bnQ7XG4gICRncmlkLWNvbHVtbi1jb3VudDogJGNvbHVtbnMgIWdsb2JhbDtcblxuICBAaWYgJHJvb3Qge1xuICAgIEBhdC1yb290IHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBvbGQgY29sdW1uIGNvdW50XG4gICRncmlkLWNvbHVtbi1jb3VudDogJG9sZC1ncmlkLWNvbHVtbi1jb3VudCAhZ2xvYmFsO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgcm93LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gQ29sdW1uIGNvdW50IGZvciB0aGlzIHJvdy4gYG51bGxgIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGNvbHVtbiBjb3VudC5cbi8vLyBAcGFyYW0ge0tleXdvcmRzfSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1yb3ctd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgcm93LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNmIFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBjbGVhcmZpeC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMsIGluIGNhc2UgdGhlIHJvdyBpcyBuZXN0ZWQuXG5AbWl4aW4gZ3JpZC1yb3coXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICR3aWR0aDogJGdyaWQtcm93LXdpZHRoLFxuICAkY2Y6IHRydWUsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcik7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1heC13aWR0aDogJHdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNYXB8bnVsbH0gJGd1dHRlciBbbnVsbF0gLSBHdXR0ZXIgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIHRoZSBtYXJnaW5zLiBTZXQgdG8gYG51bGxgIHRvIHJlZmVyIHRvIHRoZSByZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncy5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicge1xuICAgICRndXR0ZXI6ICgkLXpmLXplcm8tYnJlYWtwb2ludDogJGd1dHRlcik7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKCR2YWx1ZSkgLyAyICogLTE7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cbiAgXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tY29sbGFwc2Uge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi8vLyBVbi1jb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZS1hZGRpbmcgdGhlIHBhZGRpbmcuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cbkBtaXhpbiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXI7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXI7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXIpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENvbnZlcnMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcC4gSWYgdGhlIGNvbmZpZyBtYXAgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLiBJZiB0aGUgY29uZmlnIG1hcCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gSW5wdXQgY29uZmlnIG1hcC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLyBMZWdhY3kgYnJlYWtwb2ludCB2YXJpYWJsZXNcbi8vIFRoZXNlIHdpbGwgYmUgcmVtb3ZlZCBpbiA2LjNcbiRzbWFsbC11cDogbnVsbDtcbiRzbWFsbC1vbmx5OiBudWxsO1xuJG1lZGl1bS11cDogbnVsbDtcbiRtZWRpdW0tb25seTogbnVsbDtcbiRsYXJnZS11cDogbnVsbDtcbiRsYXJnZS1vbmx5OiBudWxsO1xuJHhsYXJnZS11cDogbnVsbDtcbiR4bGFyZ2Utb25seTogbnVsbDtcbiR4eGxhcmdlLXVwOiBudWxsO1xuJHh4bGFyZ2Utb25seTogbnVsbDtcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSB3aWR0aCBvZiBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHdpZHRoIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggdG8gbWFrZSB0aGUgY29sdW1uLiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIHdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1zaXplKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1zaXplXG5AbWl4aW4gZ3JpZC1jb2wtc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBzdHJpbmcgb2YgdGhlIGZvcm1hdCBcInggb2YgeVwiIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgJHdpZHRoOiAwJTtcblxuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgYW5kIGNvbHVtbiBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkY29sdW1ucykgPT0gJyUnIHtcbiAgICAgICR3aWR0aDogJGNvbHVtbnM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRjb2x1bW5zIDwgMSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJGNvbHVtbnMpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKG50aCgkY29sdW1ucywgMSkgLyBudGgoJGNvbHVtbnMsIDMpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xuICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuXG4gIC8vIEd1dHRlcnNcbiAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAkcGFkZGluZzogcmVtLWNhbGMoJHZhbHVlKSAvIDI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIH1cblxuICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcm93KFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXI6ICRndXR0ZXIpO1xuXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXJvdygpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcm93XG5AbWl4aW4gZ3JpZC1jb2wtcm93KFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXIpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIERpcmVjdGlvbiBhbmQgYW1vdW50IHRvIG1vdmUuIFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50IHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZSBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuIFNldCB0byBjZW50ZXIgdG8gY2VudGVyIHRoZSBjb2x1bW4uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gJ251bWJlcicge1xuICAgICRvZmZzZXQ6IHBlcmNlbnRhZ2UoJHBvc2l0aW9uIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIG9yIGNlbnRlci4nO1xuICB9XG59XG5cbi8vLyBSZXNldCBhIHBvc2l0aW9uIGRlZmluaXRpb24uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbiB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQgYnkgYCRuYCBjb2x1bW5zLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdyaWQtY29sdW1uKCRuKTtcbn1cblxuLy8vIERpc2FibGUgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGxhc3QgY29sdW1uIGluIGEgcm93IGFsaWduaW5nIHRvIHRoZSBvcHBvc2l0ZSBlZGdlLlxuQG1peGluIGdyaWQtY29sdW1uLWVuZCB7XG4gIC8vIFRoaXMgZXh0cmEgc3BlY2lmaWNpdHkgaXMgcmVxdWlyZWQgZm9yIHRoZSBwcm9wZXJ0eSB0byBiZSBhcHBsaWVkXG4gICY6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bnBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bnBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtdW5wb3Mge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bnBvc2l0aW9uO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tb2Zmc2V0KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1vZmZzZXRcbkBtaXhpbiBncmlkLWNvbC1vZmYoJG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWVuZCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZW5kXG5AbWl4aW4gZ3JpZC1jb2wtZW5kIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY29sdW1uJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRndXR0ZXJcbi8vLyAgIFRoZSBndXR0ZXIgdG8gYXBwbHkgdG8gY2hpbGQgZWxlbWVudHMuIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIHdpbGwgdXNlIHRoZSB2YWx1ZXMgaW4gdGhlICRncmlkLWNvbHVtbi1ndXR0ZXIgbWFwLCBpbmNsdWRpbmcgYnJlYWtwb2ludCBzaXplcy5cbi8vLyAgIC0gQSBmaXhlZCBudW1lcmljIHZhbHVlIHdpbGwgYXBwbHkgdGhpcyBndXR0ZXIgdG8gYWxsIGJyZWFrcG9pbnRzLlxuQG1peGluIGdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbicsXG4gICRndXR0ZXI6IG51bGxcbikge1xuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgxLyRuKTtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuXG4gICAgLy8gSWYgYSAkZ3V0dGVyIHZhbHVlIGlzIHBhc3NlZFxuICAgIEBpZigkZ3V0dGVyKSB7XG4gICAgICAvLyBHdXR0ZXJzXG4gICAgICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCR2YWx1ZSkgLyAyO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkZ3V0dGVyKSA+IDAge1xuICAgICAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKCN7JG59bisxKSB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXh0cmEgQ1NTIHRvIGJsb2NrIGdyaWQgY2hpbGRyZW4gc28gdGhlIGxhc3QgaXRlbXMgaW4gdGhlIHJvdyBjZW50ZXIgYXV0b21hdGljYWxseS4gQXBwbHkgdGhpcyB0byB0aGUgY29sdW1ucywgbm90IHRoZSByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgaXRlbXMgdGhhdCBhcHBlYXIgaW4gZWFjaCByb3cuXG5AbWl4aW4gZ3JpZC1sYXlvdXQtY2VudGVyLWxhc3QoJG4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdG8gJG4ge1xuICAgIEBpZiAkaSA9PSAxIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIDEwMC8kbiAqICRpKSAvIDIgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPuKAlDxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFNpemVzIG9mIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc2l6ZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXNpemVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogMjQsXG4gICAgJ2gyJzogMjAsXG4gICAgJ2gzJzogMTksXG4gICAgJ2g0JzogMTgsXG4gICAgJ2g1JzogMTcsXG4gICAgJ2g2JzogMTYsXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6IDQ4LFxuICAgICdoMic6IDQwLFxuICAgICdoMyc6IDMxLFxuICAgICdoNCc6IDI1LFxuICAgICdoNSc6IDIwLFxuICAgICdoNic6IDE2LFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlb2NyYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGhlYWRlci1tYXJnaW4tYm90dG9tO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWxpbmVoZWlnaHQ7XG5cbiAgICBzbWFsbCB7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzaXplc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAgICN7JGhlYWRlcn0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvbnQtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2l0YXRpb25zXG4gIGNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY2l0ZS1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIge1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gIH1cblxuICAvLyBDb2RlXG4gIGNvZGUge1xuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIC8vIFVzZSB0byByZW1vdmUgdGhlIGJ1bGxldHMgZnJvbSBhbiB1bm9yZGVyZWQgbGlzdFxuICAubm8tYnVsbGV0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBhbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLCBpZiB0aGUgYmFja2dyb3VuZCBpcyBsaWdodC5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3Ncbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogZm9yZWdyb3VuZCgkYmFja2dyb3VuZCwgJGJ1dHRvbi1jb2xvci1hbHQsICRidXR0b24tY29sb3IpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRwcmltYXJ5LWNvbG9yLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3Ncbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoJGNvbG9yOiAkcHJpbWFyeS1jb2xvcikge1xuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgIGNvbG9yOiAkYnV0dG9uLWNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0eWxlXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgJGZvcm0tc3BhY2luZyAqIDEuNSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwLCAkZ2xvYmFsLXJhZGl1cyAwIDAgJGdsb2JhbC1yYWRpdXMpO1xuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRnbG9iYWwtcmFkaXVzIDAgMCAkZ2xvYmFsLXJhZGl1cywgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdTZWxlY3RvclxuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMik7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Qge1xuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtYWxwaGEgWzAuMV0gLSBUcmFuc3BhcmVuY3kgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWFscGhhOiAwLjFcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1hbHBoYSk7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCwgJGJvZHktZm9udC1jb2xvcikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmQ7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICBjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJysnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICfigJMnO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCB7XG4gIHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kO1xuICBjb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkID4gJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1pdGVtO1xuICB9XG5cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXRpdGxlO1xuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGVudDtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb24tbWVudVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBhY2NvcmRpb24gbWVudXMgaGF2ZSB0aGUgZGVmYXVsdCBhcnJvdyBzdHlsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcbiAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYmFkZ2Vcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yOiBmb3JlZ3JvdW5kKCRiYWRnZS1iYWNrZ3JvdW5kKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBhIGJhZGdlLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIGJhZGdlLlxuQG1peGluIGJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcbiAgbWluLXdpZHRoOiAkYmFkZ2UtbWlud2lkdGg7XG4gIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJhZGdlIHtcbiAgLmJhZGdlIHtcbiAgICBAaW5jbHVkZSBiYWRnZTtcblxuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgQGlmICRuYW1lICE9IHByaW1hcnkge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgICAgY29sb3I6IGZvcmVncm91bmQoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBkaXNhYmxlZCBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBhIHNsYXNoIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2xhc2g6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICcvJywgJ1xcXFwnKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGFzaDtcbiAgICAgICAgbWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzIHtcbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgQm9yZGVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cChcbiAgJGNoaWxkLXNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG4gIEBlbHNlIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAjeyRjaGlsZC1zZWxlY3Rvcn0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJ1dHRvbmdyb3VwLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLXNwYWNpbmc7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC13aWR0aCBidXR0b24gZ3JvdXAsIG1ha2luZyBlYWNoIGJ1dHRvbiBlcXVhbCB3aWR0aC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJGJ1dHRvbmdyb3VwLXNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoMSAvICRpKX0gLSAjeyRidXR0b25ncm91cC1zcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJ1dHRvbmdyb3VwLXNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnV0dG9uZ3JvdXAtc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gVW4tc3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLFxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwsXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0YWNrO1xuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBNZXJnZWFibGVTZWxlY3RvclxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaW5uZXIgcGFkZGluZyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkY2FsbG91dC1wYWRkaW5nO1xuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAkY2FsbG91dC1mb250LWNvbG9yO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc21hbGwge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDAuNXJlbSk7XG4gICAgfVxuXG4gICAgJi5sYXJnZSB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoM3JlbSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjbG9zZS1idXR0b25cbi8vLy9cblxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxuLy8vIEB0eXBlIExpc3RcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldCBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0IGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tc2l6ZTogMmVtICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgI3skeH06ICRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDtcbiAgI3skeX06ICRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw7XG4gIGZvbnQtc2l6ZTogJGNsb3NlYnV0dG9uLXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkY2xvc2VidXR0b24tbGluZWhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW0tcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgbWFyZ2luOiAkbWVudS1tYXJnaW47XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zIGFyZSB0YWJsZSBjZWxsIHRvIGFsbG93IGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnRcbiAgPiBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgbGluZSBoZWlnaHQgdG8gbWFrZSB0aGUgaGVpZ2h0IG9mIHRoZSBvdmVyYWxsIGl0ZW0gZWFzaWVyIHRvIGNhbGN1bGF0ZVxuICA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbS1wYWRkaW5nO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgICA+IGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAgID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgPiBsaSAgPiBhIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbkBtaXhpbiBtZW51LXNpbXBsZSB7XG4gIGxpIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IGdldC1zaWRlKCRtZW51LWl0ZW0tcGFkZGluZywgJGdsb2JhbC1yaWdodCk7XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHBhZGRpbmcgW2F1dG9dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG5AbWl4aW4gbWVudS1uZXN0ZWQoJG1hcmdpbjogJG1lbnUtbWFyZ2luLW5lc3RlZCkge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xufVxuXG4vLy8gQWRkcyBzdXBwb3J0IGZvciBpY29ucyB0byBNZW51IGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHBvc2l0aW9uIFtzaWRlXSAtIFBvc2l0aW9uaW5nIGZvciBpY29ucy4gQ2FuIGJlIGBzaWRlYCAobGVmdCwgb3IgcmlnaHQgb24gUlRMKSBvciBgdG9wYC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRiYXNlIFt0cnVlXSAtIFNldCB0byBgZmFsc2VgIHRvIHByZXZlbnQgdGhlIHNoYXJlZCBDU1MgYmV0d2VlbiBzaWRlLSBhbmQgdG9wLWFsaWduZWQgaWNvbnMgZnJvbSBiZWluZyBwcmludGVkLiBTZXQgdGhpcyB0byBgZmFsc2VgIGlmIHlvdSdyZSBjYWxsaW5nIHRoZSBtaXhpbiBtdWx0aXBsZSB0aW1lcyBvbiB0aGUgc2FtZSBlbGVtZW50LlxuQG1peGluIG1lbnUtaWNvbnMoJHBvc2l0aW9uOiBzaWRlLCAkYmFzZTogdHJ1ZSkge1xuICBAaWYgJGJhc2Uge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICA+IGxpID4gYSB7XG4gICAgICAgIGltZyxcbiAgICAgICAgaSxcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICAgKyBzcGFuIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRwb3NpdGlvbiA9PSBzaWRlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtZW51LWljb24tc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgID4gbGkgPiBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAkbWVudS1pY29uLXNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRtZW51LWljb24tc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nOiAkbWVudS1pdGVtLXBhZGRpbmc7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG5cbiAgICAvLyBPcmllbnRhdGlvblxuICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGhcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuXG4gICAgICA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBpY29uc1xuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucyh0b3AsICRiYXNlOiBmYWxzZSk7XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbiAgICAgIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG5cbiAgLm1lbnUtdGV4dCB7XG4gICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICB9XG5cbiAgLy8gQWxpZ24gY2VudGVyXG4gIC5tZW51LWNlbnRlcmVkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICA+IC5tZW51IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQXBwbGllZCB0byBuZXN0ZWQgPHVsPnNcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICAvLyBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgLTEwMCUsIDEwMCUpKTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLWxlZnQpO1xuICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgZHJvcGRvd24gcGFuZXMuIEVhY2ggc2l6ZSBpcyBhIENTUyBjbGFzcyB5b3UgY2FuIGFwcGx5LlxuLy8vIEB0eXBlIE1hcFxuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBcHBsaWVzIHN0eWxlcyBmb3IgYSBiYXNpYyBkcm9wZG93bi5cbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgei1pbmRleDogMTA7XG5cbiAgJi5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lLiN7JG5hbWV9IHtcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyb3Bkb3ducy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbkBtaXhpbiBsZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgfVxuXG4gICYub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNXB4LCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDVweCwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogMS41cmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg1cHgsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICB9XG5cbiAgICAubm8tanMgJiB1bCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgYTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICBtaW4td2lkdGg6ICRkcm9wZG93bm1lbnUtbWluLXdpZHRoO1xuICAgIHotaW5kZXg6IDE7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFNlbGVjdG9yRGVwdGhcbiAgICAvLyY6bm90KC5qcy1kcm9wZG93bi1ub2hvdmVyKSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+ICYsIC8vIHdoeSBpcyB0aGlzIGxpbmUgbmVlZGVkPyBPcGVuaW5nIGlzIGhhbmRsZWQgYnkgSlMgYW5kIHRoaXMgY2F1c2VzIHNvbWUgdWdseSBmbGlja2VyaW5nIHdoZW4gdGhlIHN1YiBpcyByZS1wb3NpdGlvbmVkIGF1dG9tYXRpY2FsbHkuLi5cbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsZXgtdmlkZW9cbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIGZsZXggdmlkZW8gY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXh2aWRlby1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIHVzZWQgdG8gY3JlYXRlIGEgNDozIGFzcGVjdCByYXRpby5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4dmlkZW8tcmF0aW86IDQgYnkgMyAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgdXNlZCB0byBjcmVhdGUgYSAxNjo5IGFzcGVjdCByYXRpby5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4dmlkZW8tcmF0aW8td2lkZXNjcmVlbjogMTYgYnkgOSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSBwZXJjZW50YWdlIGhlaWdodCB0aGF0IGNhbiBiZSB1c2VkIGFzIHBhZGRpbmcgaW4gYSBmbGV4IHZpZGVvIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIHRoYXQgY2FuIGJlIHVzZWQgYXMgdGhlIGBwYWRkaW5nLWJvdHRvbWAgcGFyYW1ldGVyIG9mIGEgZmxleCB2aWRlbyBjb250YWluZXIuXG5AZnVuY3Rpb24gZmxleC12aWRlbygkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG5cbi8vLyBDcmVhdGVzIGEgZmxleCB2aWRlbyBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gWyRmbGV4dmlkZW8tcmF0aW9dIC0gUmF0aW8gdG8gdXNlIGZvciB0aGUgY29udGFpbmVyLCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gZmxleC12aWRlbygkcmF0aW86ICRmbGV4dmlkZW8tcmF0aW8pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiBmbGV4LXZpZGVvKCRyYXRpbyk7XG4gIG1hcmdpbi1ib3R0b206ICRmbGV4dmlkZW8tbWFyZ2luLWJvdHRvbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC12aWRlbyB7XG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSBmbGV4LXZpZGVvO1xuXG4gICAgJi53aWRlc2NyZWVuIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBmbGV4LXZpZGVvKCRmbGV4dmlkZW8tcmF0aW8td2lkZXNjcmVlbik7XG4gICAgfVxuXG4gICAgJi52aW1lbyB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogZm9yZWdyb3VuZCgkbGFiZWwtYmFja2dyb3VuZCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJG5hbWUgIT0gcHJpbWFyeSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgICBjb2xvcjogZm9yZWdyb3VuZCgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206ICRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tO1xuICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIGJsb2NrKTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAgICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmLm1pZGRsZSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG5cbiAgICAgICYuYm90dG9tIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9mZi1jYW52YXNcbi8vLy9cblxuLy8vIFdpZHRoIG9mIGFuIG9mZi1jYW52YXMgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtc2l6ZTogMjUwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIG9mZi1jYW52YXMgbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy16aW5kZXg6IC0xICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cyAhZGVmYXVsdDtcblxuLy8vIFRpbWluZyBmdW5jdGlvbiBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgbWVudS5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhIHJldmVhbGVkIG9mZi1jYW52YXMgd2lsbCBiZSBmaXhlZC1wb3NpdGlvbiwgYW5kIHNjcm9sbCB3aXRoIHRoZSBzY3JlZW4uXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgbWVudSBpcyBvcGVuLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gQ1NTIGNsYXNzIHVzZWQgZm9yIHRoZSBtYWluIGNvbnRlbnQgYXJlYS4gVGhlIG9mZi1jYW52YXMgbWl4aW5zIHVzZSB0aGlzIHRvIHRhcmdldCB0aGUgcGFnZSBib2R5LlxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JyAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdG8gcGxhY2UgdW5kZXIgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGlzIHNoYWRvdyBvdmVybGFwcyB0aGUgb2ZmLWNhbnZhcyBtZW51cy5cbi8vLyBAdHlwZSBTaGFkb3dcbiRtYWluY29udGVudC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNlbGluZSBzdHlsZXMgZm9yIG9mZi1jYW52YXMuIFRoaXMgQ1NTIGlzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIG90aGVyIHBpZWNlcyB3b3JrLlxuQG1peGluIG9mZi1jYW52YXMtYmFzaWNzIHtcbiAgLy8gRXh0cmEgcHJvcGVydGllcyBuZWVkZWQgb24gPGh0bWw+IGFuZCA8Ym9keT4gdG8gbWFrZSBvZmYtY2FudmFzIHdvcmtcbiAgaHRtbCxcbiAgYm9keSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IGF1dG87XG4gIH1cblxuICAub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTsgXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgfVxuXG4gIC8vIENvbnRhaW5lciBmb3IgcGFnZSBjb250ZW50XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQsXG4gIC4jeyRtYWluY29udGVudC1jbGFzc30ge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAxO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjFweDsgLy8gUHJldmVudHMgbWFyZ2luIGNvbGxhcHNpbmcsIHdoaWNoIHdvdWxkIHJldmVhbCB0aGUgYm94IHNoYWRvdyBvZiB0aGUgd3JhcHBlclxuXG4gICAgQGlmIGhhcy12YWx1ZSgkbWFpbmNvbnRlbnQtc2hhZG93KSB7XG4gICAgICBib3gtc2hhZG93OiAkbWFpbmNvbnRlbnQtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIENsaWNrLXRvLWV4aXQgb3ZlcmxheSAoZ2VuZXJhdGVkIGJ5IEphdmFTY3JpcHQpXG4gIC5qcy1vZmYtY2FudmFzLWV4aXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIG1lbnUuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZDtcbiAgei1pbmRleDogJG9mZmNhbnZhcy16aW5kZXg7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuQG1peGluIG9mZi1jYW52YXMtcG9zaXRpb24oXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJHNpemU6ICRvZmZjYW52YXMtc2l6ZSxcbiAgJGZpeGVkOiBmYWxzZVxuKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGVmdDogLSRzaXplO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogJHNpemU7XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICByaWdodDogLSRzaXplO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogJHNpemU7XG4gIH1cblxuICAvLyBHZW5lcmF0ZXMgYW4gb3BlbiBzdGF0ZSBjbGFzcyB0aGF0IG1hdGNoZXMgdGhlIHdpZHRoIG9mIHRoZSBtZW51XG4gIEBhdC1yb290IHtcbiAgICAuaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdGhhdCByZXZlYWwgYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHBvc2l0aW9uIFtsZWZ0XSAtIFBvc2l0aW9uIG9mIHRoZSBvZmYtY2FudmFzIG1lbnUgYmVpbmcgcmV2ZWFsZWQuXG5AbWl4aW4gb2ZmLWNhbnZhcy1yZXZlYWwoXG4gICRwb3NpdGlvbjogbGVmdFxuKSB7XG4gICN7JHBvc2l0aW9ufTogMDtcbiAgei1pbmRleDogYXV0bztcblxuICBAaWYgJG9mZmNhbnZhcy1maXhlZC1yZXZlYWwge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuXG4gICYgfiAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAkb2ZmY2FudmFzLXNpemU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyXG4gIC5vZmYtY2FudmFzIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2U7XG5cbiAgICAmLnBvc2l0aW9uLWxlZnQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCk7IH1cbiAgICAmLnBvc2l0aW9uLXJpZ2h0ICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQpOyB9XG4gIH1cblxuICAvLyBSZXZlYWwgb2ZmLWNhbnZhcyBtZW51IG9uIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwobGVmdCk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwocmlnaHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvcmJpdFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYWN0aXZlIGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpYW1ldGVyIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBiZXR3ZWVuIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpc3RhbmNlIGZyb20gc2xpZGUgcmVnaW9uIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmcm9tIE9yYml0J3MgYnVsbGV0cyB0byB3aGF0ZXZlciBjb250ZW50IG1heSBsdXJrIGJlbG93IGl0LlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY29udHJvbHMgd2hlbiBob3ZlcmVkLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBvdXRlciBPcmJpdCB3cmFwcGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXRgIGNsYXNzLlxuQG1peGluIG9yYml0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIE9yYml0IHNsaWRlIGNvbnRhaW5lci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNvbnRhaW5lcmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluZGl2aWR1YWwgc2xpZGVzIG9mIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXNsaWRlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gICYubm8tbW90aW9udWkge1xuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBvcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzbGlkZSBjb250YWluaW5nIGFuIGltYWdlLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtaW1hZ2VgIGNsYXNzLlxuQG1peGluIG9yYml0LWltYWdlIHtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIG9yYml0IHNsaWRlIGNhcHRpb24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jYXB0aW9uYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkb3JiaXQtY2FwdGlvbi1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogZm9yZWdyb3VuZCgkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cbkBtaXhpbiBvcmJpdC1jb250cm9sIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHotaW5kZXg6ICRvcmJpdC1jb250cm9sLXppbmRleDtcbiAgcGFkZGluZzogJG9yYml0LWNvbnRyb2wtcGFkZGluZztcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtcHJldmlvdXMge1xuICAjeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IG5leHQgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtbmV4dGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtbmV4dCB7XG4gICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNvbnRhaW5lciBvZiBPcmJpdCBidWxsZXRzLiAvLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1idWxsZXRzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcbiAgbWFyZ2luLWJvdHRvbTogJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYnV0dG9uIHtcbiAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgbWFyZ2luOiAkb3JiaXQtYnVsbGV0LW1hcmdpbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9yYml0IHtcbiAgLm9yYml0IHtcbiAgICBAaW5jbHVkZSBvcmJpdC13cmFwcGVyO1xuICB9XG5cbiAgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udGFpbmVyO1xuICB9XG5cbiAgLm9yYml0LXNsaWRlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1zbGlkZTtcbiAgfVxuXG4gIC5vcmJpdC1maWd1cmUge1xuICAgIEBpbmNsdWRlIG9yYml0LWZpZ3VyZTtcbiAgfVxuXG4gIC5vcmJpdC1pbWFnZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtaW1hZ2U7XG4gIH1cblxuICAub3JiaXQtY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY2FwdGlvbjtcbiAgfVxuXG4gICVvcmJpdC1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250cm9sO1xuICB9XG5cbiAgLm9yYml0LXByZXZpb3VzIHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LXByZXZpb3VzO1xuICB9XG5cbiAgLm9yYml0LW5leHQge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtbmV4dDtcbiAgfVxuXG4gIC5vcmJpdC1idWxsZXRzIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1idWxsZXRzO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwYWdpbmF0aW9uXG4vLy8vXG5cbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIG9mIHRoZSBwYWdpbmF0aW9uIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogZm9yZWdyb3VuZCgkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZWxsaXBzaXMgaW4gYSBwYWdpbmF0aW9uIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IHBhZ2UgbnVtYmVyIGxpbmtzIG9uIG1vYmlsZSwgb25seSBuZXh0L3ByZXZpb3VzIGxpbmtzXG4vLy8gYW5kIG9wdGlvbmFsbHkgY3VycmVudCBwYWdlIG51bWJlci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBjdXJyZW50IHBhZ2UgbnVtYmVyIG9uIG1vYmlsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYXJyb3dzIGFyZSBhZGRlZCB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbGlua3Mgb2YgcGFnaW5hdGlvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tO1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZztcbiAgICBib3JkZXItcmFkaXVzOiAkcGFnaW5hdGlvbi1yYWRpdXM7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW0ge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCB7XG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZztcbiAgYmFja2dyb3VuZDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQge1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc7XG4gIGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIHtcbiAgY29udGVudDogJ1xcMjAyNic7XG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZztcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMDBhYic7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC41cmVtO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ1xcMDBiYic7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwLjVyZW07XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGV4dCBpbiB0aGUgcHJvZ3Jlc3MgbWV0ZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1iYXIge1xuICAvLyBQcm9ncmVzcyBiYXJcbiAgLnByb2dyZXNzIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1jb250YWluZXI7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXJcbiAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyIHRleHRcbiAgLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyLXRleHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBbVE9ET10gQ2hlY2sgaG93IHBsdWdpbiBjb25maXJtcyBkaXNhYmxlZCBvciB2ZXJ0aWNhbCBzdGF0dXNcbi8vIFtUT0RPXSBDaGVjayBpZiB0cmFuc2l0aW9uOiBhbGw7IGlzIG5lY2Vzc2FyeVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBzbGlkZXIgd2lkdGggb2YgYSB2ZXJ0aWNhbCBzbGlkZXIuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydGllcyB0byBhcHBseSB0byB0aGUgc2xpZGVyIGhhbmRsZSBhbmQgZmlsbC4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBhY3RpdmUgZmlsbCBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGhlIHNsaWRlciBoYW5kbGVzLlxuQG1peGluIHNsaWRlci1oYW5kbGUge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuICB9XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVyLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWl4aW4gc2xpZGVyLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG5cbiAgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXNsaWRlciB7XG4gIC8vIENvbnRhaW5lclxuICAuc2xpZGVyIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItY29udGFpbmVyO1xuICB9XG5cbiAgLy8gRmlsbCBhcmVhXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XG4gIH1cblxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItaGFuZGxlO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLnNsaWRlci5kaXNhYmxlZCxcbiAgLnNsaWRlcltkaXNhYmxlZF0ge1xuICAgIEBpbmNsdWRlIHNsaWRlci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIHNsaWRlclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBSVEwgc3VwcG9ydFxuICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tc3RpY2t5IHtcbiAgLnN0aWNreS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zdGlja3kge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTtcblxuICAgICYuaXMtYXQtdG9wIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4sXG4gIC5jb2x1bW5zIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAvLyBTdHJpcCBtYXJnaW5zIGZyb20gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbW9kYWxcbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRqdXN0cyB0aGUgd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIG1vZGFsLiBHZW5lcmFsbHkgYSBwZXJjZW50YWdlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4LXdpZHRoIFskcmV2ZWFsLW1heC13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGgoXG4gICR3aWR0aDogJHJldmVhbC13aWR0aCxcbiAgJG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGhcbikge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIER1cGxpY2F0ZVByb3BlcnR5XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcbiAgLy8gW1RPRE9dIElzIHRoaXMgbmVjZXNzYXJ5P1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuICBib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIC8vIGh0bWwgZ2V0cyB0aGlzIGNsYXNzIG9ubHkgaW4gaU9TXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4sXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuICAgIC8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHN3aXRjaFxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGFjdGl2ZSBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2gsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAuc21hbGwgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5sYXJnZSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyIGFuZCBwYWRkbGUuXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoIHBhZGRsZVxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHN3aXRjaCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXG4vLyBhc2sgYWJvdXQgYWNjZXNzaWJpbGl0eSBvbiBsYWJlbFxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBjb250YWluZXIgY2xhc3MuXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBjb2xvcjogJHdoaXRlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1yYWRpdXM7XG5cbiAgLy8gUmVzZXR0aW5nIHRoZXNlIDxsYWJlbD4gcHJlc2V0cyBzbyB0eXBlIHN0eWxlcyBjYXNjYWRlIGRvd25cbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuXG4gIC8vIE5lZWRlZCB0byBvdmVycmlkZSBzcGVjaWZpY2l0eVxuICBpbnB1dCArICYge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIFRoZSBwYWRkbGUgaXRzZWxmXG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDAuMjVyZW07XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDIuMjVyZW07XG4gICAgfVxuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbNHJlbV0gLSBXaWR0aCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS13aWR0aCBbMS41cmVtXSAtIFdpZHRoIG9mIHRoZSBzd2l0Y2ggcGFkZGxlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGxlLW9mZnNldCBbMC4yNXJlbV0gLSBTcGFjaW5nIGJldHdlZW4gdGhlIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBzd2l0Y2ggYm9keS5cbkBtaXhpbiBzd2l0Y2gtc2l6ZShcbiAgJGZvbnQtc2l6ZTogMXJlbSxcbiAgJHdpZHRoOiA0cmVtLFxuICAkaGVpZ2h0OiAycmVtLFxuICAkcGFkZGxlLXdpZHRoOiAxLjVyZW0sXG4gICRwYWRkbGUtb2Zmc2V0OiAwLjI1cmVtXG4pIHtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRoZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1sZWZ0LWFjdGl2ZTogJHdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRwYWRkbGUtb2Zmc2V0O1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIH1cblxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtbGVmdC1hY3RpdmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc3dpdGNoIHtcbiAgLy8gQ29udGFpbmVyIGNsYXNzXG4gIC5zd2l0Y2gge1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIDxpbnB1dD4gZWxlbWVudFxuICAuc3dpdGNoLWlucHV0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtaW5wdXQ7XG4gIH1cblxuICAvLyA8bGFiZWw+IGVsZW1lbnRcbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1wYWRkbGU7XG4gIH1cblxuICAvLyBCYXNlIGxhYmVsIHRleHQgc3R5bGVzXG4gICVzd2l0Y2gtdGV4dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQ7XG4gIH1cblxuICAvLyBBY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWFjdGl2ZTtcbiAgfVxuXG4gIC8vIEluYWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWluYWN0aXZlO1xuICB9XG5cbiAgLy8gU3dpdGNoIHNpemVzXG4gIC5zd2l0Y2gudGlueSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTApLCAzcmVtLCAkc3dpdGNoLWhlaWdodC10aW55LCAxcmVtLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5zbWFsbCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTIpLCAzLjVyZW0sICRzd2l0Y2gtaGVpZ2h0LXNtYWxsLCAxLjI1cmVtLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5sYXJnZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCA1cmVtLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgMnJlbSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIE1lcmdlYWJsZVNlbGVjdG9yLCBRdWFsaWZ5aW5nRWxlbWVudFxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBzdHJpcGVkIHJvd3MuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgc3RyaXBlIG9uIHJvd3Mgb2YgdGhlIHRhYmxlcywgZXhjbHVkaW5nIHRoZSBoZWFkZXIgYW5kIGZvb3Rlci4gSWYgZXZlbiwgdGhlIGV2ZW4gcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBvZGQsIHRoZSBvZGQgcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBlbXB0eSwgb3IgYW55IG90aGVyIHZhbHVlLCB0aGUgdGFibGUgcm93cyB3aWxsIGhhdmUgbm8gc3RyaXBpbmcuXG4vLy8gQHR5cGUgS2V5d29yZFxuJHRhYmxlLXN0cmlwZTogZXZlbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlYWRlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBmb290ZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGhlYWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9vdGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgaGVhZGVyIHdoZW4gdXNpbmcgc3RhY2tlZCB0YWJsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZSAhZGVmYXVsdDtcblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICB9XG4gIFxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRyIHtcbiAgICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgICBAaWYgJHN0cmlwZSA9PSBldmVuIHtcbiAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgICBAZWxzZSBpZiAkc3RyaXBlID09IG9kZCB7XG4gICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuXG4gICAgLy9EYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy9EYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRyLFxuICB0aCxcbiAgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFibGUoJG5lc3Q6IGZhbHNlKSB7XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSB0YWJsZSgkbmVzdDogJG5lc3QpO1xuICB9XG5cbiAgdGFibGUuc3RhY2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIHRhYmxlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGxpZ2h0bmVzcyBvZiBgJGNvbG9yYCwgYW5kIGlmIGl0IHBhc3NlcyB0aGUgYCR0aHJlc2hvbGRgIG9mIGxpZ2h0bmVzcywgaXQgcmV0dXJucyB0aGUgYCR5ZXNgIGNvbG9yLiBPdGhlcndpc2UsIGl0IHJldHVybnMgdGhlIGAkbm9gIGNvbG9yLiBVc2UgdGhpcyBmdW5jdGlvbiB0byBkeW5hbWljYWxseSBvdXRwdXQgYSBmb3JlZ3JvdW5kIGNvbG9yIGJhc2VkIG9uIGEgZ2l2ZW4gYmFja2dyb3VuZCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsaWdodG5lc3Mgb2YuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHllcyBbJGJsYWNrXSAtIENvbG9yIHRvIHJldHVybiBpZiBgJGNvbG9yYCBpcyBsaWdodC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkbm8gWyR3aGl0ZV0gLSBDb2xvciB0byByZXR1cm4gaWYgYCRjb2xvcmAgaXMgZGFyay5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzYwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IFRoZSAkeWVzIGNvbG9yIG9yICRubyBjb2xvci5cbkBmdW5jdGlvbiBmb3JlZ3JvdW5kKCRjb2xvciwgJHllczogJGJsYWNrLCAkbm86ICR3aGl0ZSwgJHRocmVzaG9sZDogNjAlKSB7XG4gIEBpZiAkY29sb3IgPT0gdHJhbnNwYXJlbnQge1xuICAgICRjb2xvcjogJGJvZHktYmFja2dyb3VuZDtcbiAgfVxuICBAaWYgKGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCkge1xuICAgIEByZXR1cm4gJHllcztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkbm87XG4gIH1cbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGxpZ2h0ZXIgaWYgaXQncyBsaWdodCwgb3IgZGFya2VyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWAgdmFyaWFibGUgaW50byB0aGUgbGVnYWN5IGNvbG9yIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIGFjdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBgZXhwYW5kLW5gIGNsYXNzZXMgdG8gaW5jbHVkZSBpbiB0aGUgQ1NTLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJHRhYi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICR0YWItbWFyZ2luO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZDtcbiAgYm9yZGVyOiAxcHggc29saWQgJHRhYi1jb250ZW50LWJvcmRlcjtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSB7XG4gIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR0YWItY29udGVudC1ib3JkZXI7XG4gIGJvcmRlci10b3A6IDA7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJHRhYi1jb250ZW50LWJvcmRlcjtcbiAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBpbmRpdmlkdWFsIHRhYiBjb250ZW50IHBhbmVsIHdpdGhpbiB0aGUgdGFiIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIHRhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZztcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsXG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFNpbXBsZVxuICAudGFicy5zaW1wbGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmltYXJ5IGNvbG9yXG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IGZvcmVncm91bmQoJHByaW1hcnktY29sb3IpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudDtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudC12ZXJ0aWNhbDtcbiAgfVxuXG4gIC50YWJzLXBhbmVsIHtcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aHVtYm5haWxcbi8vLy9cblxuLy8vIEJvcmRlciBhcm91bmQgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBCb3JkZXJcbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BydGllcyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGh1bWJuYWlsIHN0eWxlcyB0byBhbiBlbGVtZW50LlxuQG1peGluIHRodW1ibmFpbCB7XG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXI7XG4gIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10aHVtYm5haWwge1xuICAudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRpdGxlLWJhclxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIFdlaWdodFxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGljb24gYW5kIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGl0bGUtYmFyIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b29sdGlwXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSB0b29sdGlwIHRleHQuIEJ5IGRlZmF1bHQsIHdlIHJlY29tbWVuZCBhIHNtYWxsZXIgZm9udCBzaXplIHRoYW4gdGhlIGJvZHkgY29weS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIGhlaWdodCBmb3IgdG9vbHRpcHMuIFRoaXMgaXMgaGVscGZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvb2x0aXAgd29yZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGhhcy10aXAge1xuICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tO1xuICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjdXJzb3I6IGhlbHA7XG59XG5cbkBtaXhpbiB0b29sdGlwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgdG9wOiBjYWxjKDEwMCUgKyAjeyR0b29sdGlwLXBpcC1oZWlnaHR9KTtcbiAgbWF4LXdpZHRoOiAxMHJlbSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1yYWRpdXM7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG5cbiAgJi50b3A6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgZG93bik7XG4gICAgdG9wOiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgfVxuXG4gICYubGVmdDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG5cbiAgJi5yaWdodDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBsZWZ0KTtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XG4gIC5oYXMtdGlwIHtcbiAgICBAaW5jbHVkZSBoYXMtdGlwO1xuICB9XG5cbiAgLnRvb2x0aXAge1xuICAgIEBpbmNsdWRlIHRvb2x0aXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvcC1iYXJcbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igc3VibWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLiBVc2VmdWxsIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyB0cmFuc3BhcmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgZm9yIHRoZSB0b3AgYmFyIHRpdGxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBgPGlucHV0PmAgZWxlbWVudHMgaW5zaWRlIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHRvcCBiYXIgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0b3AgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiB0b3AtYmFyLWNvbnRhaW5lciB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgcGFkZGluZzogJHRvcGJhci1wYWRkaW5nO1xuXG4gICYsXG4gIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgZGlmZmVybnQgZnJvbSAkdG9wYmFyLWJhY2tncm91bmQtc3VibWVudVxuICBAaWYgKCR0b3BiYXItYmFja2dyb3VuZCAhPSAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZCkge1xuICAgIHVsIHVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc3RyYWluIHdpZHRoIG9mIGlucHV0cyBieSBkZWZhdWx0IHRvIG1ha2UgdGhlbSBlYXNpZXIgdG8gYXJyYW5nZVxuICBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiAkdG9wYmFyLWlucHV0LXdpZHRoO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICB9XG5cbiAgLy8gVGhlIGFib3ZlIHN0eWxlcyBzaG91bGRuJ3QgYXBwbHkgdG8gaW5wdXQgZ3JvdXAgZmllbGRzXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gIH1cblxuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuICBpbnB1dC5idXR0b24ge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIH1cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvcC1iYXIge1xuICAvLyBUb3AgYmFyIGNvbnRhaW5lclxuICAudG9wLWJhciB7XG4gICAgQGluY2x1ZGUgdG9wLWJhci1jb250YWluZXI7XG5cbiAgICAvLyBTdGFjayBvbiBzbWFsbCBzY3JlZW5zIGJ5IGRlZmF1bHRcbiAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0b3BiYXItdW5zdGFjay1icmVha3BvaW50KSB7XG4gICAgICBAaW5jbHVkZSB0b3AtYmFyLXVuc3RhY2s7XG4gICAgfVxuXG4gICAgLy8gR2VuZXJhdGUgY2xhc3NlcyBmb3Igc3RhY2tpbmcgb24gZWFjaCBzY3JlZW4gc2l6ZSAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzKVxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgJi5zdGFja2VkLWZvci0jeyRzaXplfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3ViLXNlY3Rpb25zXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XG4gIC5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIC5jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFNwYWNlQWZ0ZXJDb21tYSwgU2luZ2xlTGluZVBlclByb3BlcnR5XG5cbkBtaXhpbiAtbW90aW9uLXVpLWRlZmF1bHRzIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktZWFzaW5ncywgZGVmYXVsdCk7XG59XG5cbi8vIFRyYW5zaXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS10cmFuc2l0aW9ucyB7XG4gIC8vIFNsaWRlXG4gIC5zbGlkZS1pbi1kb3duICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgZG93bik7IH1cbiAgLnNsaWRlLWluLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICByaWdodCk7IH1cbiAgLnNsaWRlLWluLXVwICAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICB1cCk7IH1cbiAgLnNsaWRlLWluLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBsZWZ0KTsgfVxuICAuc2xpZGUtb3V0LWRvd24gICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGRvd24pOyB9XG4gIC5zbGlkZS1vdXQtcmlnaHQgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgcmlnaHQpOyB9XG4gIC5zbGlkZS1vdXQtdXAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgdXApOyB9XG4gIC5zbGlkZS1vdXQtbGVmdCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgbGVmdCk7IH1cblxuICAvLyBGYWRlXG4gIC5mYWRlLWluICB7IEBpbmNsdWRlIG11aS1mYWRlKGluLCAgMCwgMSk7IH1cbiAgLmZhZGUtb3V0IHsgQGluY2x1ZGUgbXVpLWZhZGUob3V0LCAxLCAwKTsgfVxuXG4gIC8vIEhpbmdlXG4gIC5oaW5nZS1pbi1mcm9tLXRvcCAgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1yaWdodCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1ib3R0b20gICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGJvdHRvbSk7IH1cbiAgLmhpbmdlLWluLWZyb20tbGVmdCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBsZWZ0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteCAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteSAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCwgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tdG9wICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWJvdHRvbSAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBib3R0b20pOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgbGVmdCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQsIGNlbnRlcik7IH1cblxuICAvLyBTY2FsZVxuICAuc2NhbGUtaW4tdXAgICAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDAuNSwgMSk7IH1cbiAgLnNjYWxlLWluLWRvd24gIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAxLjUsIDEpOyB9XG4gIC5zY2FsZS1vdXQtdXAgICB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMS41KTsgfVxuICAuc2NhbGUtb3V0LWRvd24geyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDAuNSk7IH1cblxuICAvLyBTcGluXG4gIC5zcGluLWluICAgICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY3cpOyB9XG4gIC5zcGluLW91dCAgICB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY3cpOyB9XG4gIC5zcGluLWluLWNjdyAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGNjdyk7IH1cbiAgLnNwaW4tb3V0LWNjdyB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY2N3KTsgfVxuXG4gIC8vIFRyYW5zaXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgdHJhbnNpdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQW5pbWF0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktYW5pbWF0aW9ucyB7XG4gIC5zaGFrZSAgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc2hha2UpOyB9XG4gIC5zcGluLWN3ICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3Bpbik7IH1cbiAgLnNwaW4tY2N3IHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKGNjdykpOyB9XG4gIC53aWdnbGUgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24od2lnZ2xlKTsgfVxuXG4gIC5zaGFrZSxcbiAgLnNwaW4tY3csXG4gIC5zcGluLWNjdyxcbiAgLndpZ2dsZSB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgfVxuXG4gIC8vIEFuaW1hdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbiAgLmluZmluaXRlIHsgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgYW5pbWF0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEZvcm1hdCBmb3IgQ1NTIGNsYXNzZXMgY3JlYXRlZCB3aXRoIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gYXBwZW5kIFt0cnVlXSAtIERlZmluZXMgaWYgc2VsZWN0b3JzIGFyZSBjaGFpbmVkIHRvIHRoZSBzZWxlY3RvciAoYC5jbGFzcy5lbnRlcmApLCBvciBhcHBlbmRlZCBhcyBhIG5ldyBjbGFzcyAoYC5jbGFzcy1lbnRlcmApLlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJ211aS0nXSAtIFByZWZpeCB0byBhZGQgYmVmb3JlIHRoZSBzdGF0ZSBvZiBhIGNsYXNzLiBFbnRlciBhbiBlbXB0eSBzdHJpbmcgdG8gdXNlIG5vIHByZWZpeC5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWyctYWN0aXZlJ10gLSBTdWZmaXggdG8gYWRkIHRvIHRoZSBhY3RpdmUgc3RhdGUgY2xhc3MuXG4kbW90aW9uLXVpLWNsYXNzZXM6IChcbiAgY2hhaW46IHRydWUsXG4gIHByZWZpeDogJ211aS0nLFxuICBhY3RpdmU6ICctYWN0aXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0ZSBuYW1lcyB0byByZWZlcmVuY2Ugd2hlbiB3cml0aW5nIG1vdGlvbiBjbGFzc2VzLiBUbyB1c2UgbXVsdGlwbGUgY2xhc3MgbmFtZXMgZm9yIG9uZSBzdGF0ZSwgZW50ZXIgYSBsaXN0IG9mIHN0cmluZ3MgaW5zdGVhZCBvZiBvbmUgc3RyaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zdGF0ZXM6IChcbiAgaW46ICdlbnRlcicsXG4gIG91dDogJ2xlYXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNwZWVkIHRoYXQgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMgcGxheSBhdCwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBzcGVlZC5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3BlZWRzOiAoXG4gIGRlZmF1bHQ6IDUwMG1zLFxuICBzbG93OiA3NTBtcyxcbiAgZmFzdDogMjUwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkZWxheSB0byBhZGQgYmVmb3JlIG1vdGlvbiwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBkZWxheS5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZGVsYXlzOiAoXG4gIGRlZmF1bHQ6IDAsXG4gIHNob3J0OiAzMDBtcyxcbiAgbG9uZzogNzAwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBlYXNpbmcgZm9yIHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGVhc2luZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZWFzaW5nczogKFxuICBkZWZhdWx0OiBsaW5lYXIsXG4gIGxpbmVhcjogbGluZWFyLFxuICBlYXNlOiBlYXNlLFxuICBlYXNlLWluOiBlYXNlLWluLFxuICBlYXNlLW91dDogZWFzZS1vdXQsXG4gIGVhc2UtaW4tb3V0OiBlYXNlLWluLW91dCxcbiAgYm91bmNlLWluOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSksXG4gIGJvdW5jZS1vdXQ6IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSksXG4gIGJvdW5jZS1pbi1vdXQ6IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBNaXNjZWxsYW5lb3VzIHNldHRpbmdzIHJlbGF0ZWQgdG8gTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbZmFsc2VdIC0gRGVmaW5lcyBpZiBzbGlkZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIGhpbmdlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc2NhbGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzcGluIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4kbW90aW9uLXVpLXNldHRpbmdzOiAoXG4gIHNsaWRlLWFuZC1mYWRlOiBmYWxzZSxcbiAgaGluZ2UtYW5kLWZhZGU6IHRydWUsXG4gIHNjYWxlLWFuZC1mYWRlOiB0cnVlLFxuICBzcGluLWFuZC1mYWRlOiB0cnVlLFxuICBhY3RpdmF0ZS1xdWV1ZS1jbGFzczogJ2lzLWFuaW1hdGluZycsXG4pICFkZWZhdWx0O1xuIiwiLy8gSW50ZXJuYWwgY291bnRlciBmb3IgY3JlYXRpbmcgdW5pcXVlIGtleWZyYW1lIG5hbWVzXG4kLW11aS1jdXN0b206IDA7XG5cbi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zLiBVc2UgdGhpcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIGBtdWktYW5pbWF0aW9uYCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBrZXlmcmFtZSBhbmltYXRpb24gKndpdGhvdXQqIGF1dG9tYXRpY2FsbHkgYXNzaWduaW5nIGl0IHRvIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGtleWZyYW1lLlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkZWZmZWN0cy4uLikge1xuICAkb2JqOiAtbXVpLXByb2Nlc3MtYXJncygkZWZmZWN0cy4uLik7XG4gICRvYmo6IG1hcC1yZW1vdmUoJG9iaiwgbmFtZSk7XG5cbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgLy8gTm93IGl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICBAZWFjaCAkcGN0LCAkcHJvcHMgaW4gJG9iaiB7XG4gICAgICAjey1tdWkta2V5ZnJhbWUtcGN0KCRwY3QpfSB7XG4gICAgICAgIC8vIExhc3RseSwgaXRlcmF0ZSB0aHJvdWdoIGVhY2ggQ1NTIHByb3BlcnR5IHdpdGhpbiBhIHBlcmNlbnRhZ2UgYW5kIHByaW50IGl0IG91dFxuICAgICAgICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRwcm9wcyB7XG4gICAgICAgICAgI3skcHJvcH06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHN0cmluZyBmb3IgYSBDU1Mga2V5ZnJhbWUsIGJ5IGNvbnZlcnRpbmcgYSBsaXN0IG9mIG51bWJlcnMgdG8gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkaW5wdXQgLSBMaXN0IG9mIG51bWJlcnMgdG8gdXNlLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gQSBzZXQgb2YgY29tbWEtc2VwYXJhdGVkIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtcGN0KCRpbnB1dCkge1xuICAkb3V0cHV0OiAoKTtcblxuICBAaWYgdHlwZS1vZigkaW5wdXQpID09ICdudW1iZXInIHtcbiAgICAkb3V0cHV0OiAoJGlucHV0ICogMSUpO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbGlzdCcge1xuICAgIEBlYWNoICRpIGluICRpbnB1dCB7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgKCRpICogMSUpLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLy8gUHJpbnRzIHRoZSBDU1MgcHJvcGVydGllcyBmcm9tIGEgc3BlY2lmaWMga2V5IGluIGEga2V5ZnJhbWVzIG1hcC4gVXNlZCB0byBib3Jyb3cgQ1NTIGZyb20ga2V5ZnJhbWUgZnVuY3Rpb25zIGZvciB1c2UgaW4gdHJhbnNpdGlvbnMuXG4vLy8gQHBhcmFtIHtNYXB9ICRrZiAtIEtleWZyYW1lIG1hcCB0byBleHRyYWN0IGZyb20uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRrZXkgLSBLZXkgaW4gdGhlIG1hcCB0byBwcmludCB0aGUgQ1NTIG9mLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC1tdWkta2V5ZnJhbWUtZ2V0KCRrZiwgJGtleSkge1xuICAkbWFwOiBtYXAtZ2V0KCRrZiwgJGtleSk7XG5cbiAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkbWFwIG9yICgpIHtcbiAgICAvLyBTb21lIGtleWZyYW1lIG1hcHMgc3RvcmUgdHJhbnNmb3JtcyBhcyBxdW90ZWQgc3RyaW5nc1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycge1xuICAgICAgJHZhbHVlOiB1bnF1b3RlKCR2YWx1ZSk7XG4gICAgfVxuICAgICN7JHByb3B9OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8vIFJlZm9ybWF0cyBhIG1hcCBjb250YWluaW5nIGtleXMgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzLCBzbyB0aGF0IGVhY2gga2V5IGlzIGEgc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNwbGl0IHVwLlxuLy8vIEByZXR1cm4ge01hcH0gQSByZWZvcm1hdHRlZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBTcGxpdCBrZXlzIHdpdGggbXVsdGlwbGUgdmFsdWVzIGludG8gaW5kaXZpZHVhbCBrZXlzXG4gIEBlYWNoICRrZXksICRpdGVtIGluICRtYXAge1xuICAgICRrZXktdHlwZTogdHlwZS1vZigka2V5KTtcblxuICAgIEBpZiAka2V5LXR5cGUgPT0gJ251bWJlcicge1xuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRpdGVtKSk7XG4gICAgfSBAZWxzZSBpZiAka2V5LXR5cGUgPT0gJ2xpc3QnIHtcbiAgICAgIEBlYWNoICRrIGluICRrZXkge1xuICAgICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGs6ICRpdGVtKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIGEgc2VyaWVzIG9mIGtleWZyYW1lIG9iamVjdHMgaW50byBvbmUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXBzLi4uIC0gQSBzZXJpZXMgb2YgbWFwcyB0byBtZXJnZSwgYXMgaW5kaXZpZHVhbCBwYXJhbWV0ZXJzLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBrZXlmcmFtZSBvYmplY3QuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRtYXBzLi4uKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBtYXAgcGFzc2VkIGluXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgIEBpZiB0eXBlLW9mKCRtYXApID09ICdzdHJpbmcnIHtcbiAgICAgICRtYXA6IGNhbGwoJG1hcCk7XG4gICAgfVxuXG4gICAgJG1hcDogLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKTtcblxuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIGluIHRoZSBtYXBcbiAgICAvLyAka2V5IGlzIHRoZSBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgLy8gJHZhbHVlIGlzIGEgbWFwIG9mIENTUyBwcm9wZXJ0aWVzXG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICAgJG5ldy12YWx1ZTogKCk7XG5cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkbmV3LW1hcCwgJGtleSkge1xuICAgICAgICAvLyBJZiB0aGUgbWFwIGFscmVhZHkgaGFzIHRoZSBrZXlmcmFtZSAlLCBhcHBlbmQgdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAtbXVpLW1lcmdlLXByb3BlcnRpZXMobWFwLWdldCgkbmV3LW1hcCwgJGtleSksICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBjcmVhdGUgYSBuZXcgbWFwIHdpdGggdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAkdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbmFsbHksIG1lcmdlIHRoZSBtb2RpZmllZCBrZXlmcmFtZSB2YWx1ZSBpbnRvIHRoZSBvdXRwdXQgbWFwXG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJG5ldy12YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1ha2UgYSBuYW1lIGZvciB0aGUga2V5ZnJhbWVzXG4gICQtbXVpLWN1c3RvbTogJC1tdWktY3VzdG9tICsgMSAhZ2xvYmFsO1xuICAkbWFwLW5hbWU6IChuYW1lOiAnY3VzdG9tLSN7JC1tdWktY3VzdG9tfScpO1xuICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAkbWFwLW5hbWUpO1xuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyB0d28gbWFwcyBvZiBDU1MgcHJvcGVydGllcyBpbnRvIG9uZSBtYXAuIElmIGJvdGggbWFwcyBoYXZlIGEgdHJhbnNmb3JtIHByb3BlcnR5LCB0aGUgdmFsdWVzIGZyb20gZWFjaCB3aWxsIGJlIGNvbWJpbmVkIGludG8gb25lIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7TWFwfSAkb25lIC0gRmlyc3QgbWFwIHRvIG1lcmdlLlxuLy8vIEBwYXJhbSB7TWFwfSAkdHdvIC0gU2Vjb25kIG1hcCB0byBtZXJnZS5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWktbWVyZ2UtcHJvcGVydGllcygkb25lLCAkdHdvKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkb25lLCB0cmFuc2Zvcm0pIGFuZCBtYXAtaGFzLWtleSgkdHdvLCB0cmFuc2Zvcm0pIHtcbiAgICAkdHJhbnNmb3JtOiBqb2luKG1hcC1nZXQoJG9uZSwgdHJhbnNmb3JtKSwgbWFwLWdldCgkdHdvLCB0cmFuc2Zvcm0pKTtcbiAgICAkb25lOiBtYXAtbWVyZ2UoJG9uZSwgKHRyYW5zZm9ybTogJHRyYW5zZm9ybSkpO1xuICAgICR0d286IG1hcC1yZW1vdmUoJHR3bywgdHJhbnNmb3JtKTtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLW1lcmdlKCRvbmUsICR0d28pO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBzbGlkaW5nIHRyYW5zaXRpb24gYnkgdHJhbnNsYXRpbmcgdGhlIGVsZW1lbnQgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtsZWZ0XSAtIERpcmVjdGlvbiB0byBzbGlkZSB0by4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkYW1vdW50IFsxMDAlXSAtIExlbmd0aCBvZiB0aGUgc2xpZGUgYXMgYSBwZXJjZW50YWdlIHZhbHVlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNsaWRlIChcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogbGVmdCxcbiAgJGFtb3VudDogMTAwJSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2xpZGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzbGlkZTogc2xpZGUoJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICAvLyBDU1MgT3V0cHV0XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG5cbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBBcHBsaWVzIGJhc2ljIHRyYW5zaXRpb24gc2V0dGluZ3MgdG8gYW4gZWxlbWVudC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiB0cmFuc2l0aW9uLWJhc2ljcyhcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICBAaW5jbHVkZSAtbW90aW9uLXVpLWRlZmF1bHRzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgc2V0dXAgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBzZXR1cCBmb3IgdHJhbnNpdGlvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLXN0YXJ0KCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIGFjdGl2ZSBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIGFjdGl2YXRlIGEgdHJhbnNpdGlvbiBvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLWVuZCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSwgdHJ1ZSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWdnZXIgYW5pbWF0aW9uLCB3aGljaCBjYW4gYmUgdXNlZCB3aXRoIEFuZ3VsYXIncyBgbmctcmVwZWF0YC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXktYW1vdW50IC0gQW1vdW50IG9mIHRpbWUgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgdG8gYWRkIGJldHdlZW4gZWFjaCBpdGVtJ3MgYW5pbWF0aW9uLlxuQG1peGluIHN0YWdnZXIoJGRlbGF5LWFtb3VudCkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXktYW1vdW50O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwOyAvLyBQcmV2ZW50IGFjY2lkZW50YWwgQ1NTIGluaGVyaXRhbmNlXG59XG4iLCIvLy8gQ3JlYXRlcyBhIGZhZGUgdHJhbnNpdGlvbiBieSBhZGp1c3RpbmcgdGhlIG9wYWNpdHkgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFswXSAtIE9wYWNpdHkgdG8gc3RhcnQgYXQuIE11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gWzFdIC0gT3BhY2l0eSB0byBlbmQgb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktZmFkZShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IDAsXG4gICR0bzogMSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZmFkZTogZmFkZSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMCk7XG5cbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDEwMCk7XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgZWZmZWN0IGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbkBmdW5jdGlvbiBoaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogZnJvbS1iYWNrXG4pIHtcbiAgLy8gUm90YXRpb24gZGlyZWN0aW9ucyB3aGVuIGhpbmdpbmcgZnJvbSBiYWNrIHZzLiBmcm9udFxuICAkcm90YXRpb24tYW1vdW50OiA5MGRlZztcbiAgJHJvdGF0aW9ucy1iYWNrOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgKTtcbiAgJHJvdGF0aW9ucy1mcm9tOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgKTtcblxuICAvLyBSb3RhdGlvbiBvcmlnaW5cbiAgJHJvdGF0aW9uOiAnJztcbiAgQGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWZyb250IHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1mcm9tLCAkZnJvbSk7XG4gIH0gQGVsc2UgaWYgJHR1cm4tb3JpZ2luID09IGZyb20tYmFjayB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtYmFjaywgJGZyb20pO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAnJHR1cm4tb3JpZ2luIG11c3QgYmUgZWl0aGVyIFwiZnJvbS1iYWNrXCIgb3IgXCJmcm9tLWZyb250XCInO1xuICB9XG5cbiAgLy8gU3RhcnQgYW5kIGVuZCBzdGF0ZVxuICAkc3RhcnQ6ICcnO1xuICAkZW5kOiAnJztcbiAgQGlmICRzdGF0ZSA9PSBpbiB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgfSBAZWxzZSB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgfVxuXG4gIC8vIFR1cm4gYXhpc1xuICAkb3JpZ2luOiAnJztcbiAgQGlmICRheGlzID09IGVkZ2Uge1xuICAgICRvcmlnaW46ICRmcm9tO1xuICB9IEBlbHNlIHtcbiAgICAkb3JpZ2luOiBjZW50ZXI7XG4gIH1cblxuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogJ2hpbmdlLSN7JHN0YXRlfS0jeyRmcm9tfS0jeyRheGlzfS0jeyR0dXJuLW9yaWdpbn0nLFxuICAgIDA6ICh0cmFuc2Zvcm06ICRzdGFydCwgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbiksXG4gICAgMTAwOiAodHJhbnNmb3JtOiAkZW5kKSxcbiAgKTtcblxuICBAcmV0dXJuICRrZXlmcmFtZXM7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW2Zyb20tYmFja10gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFjayxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgaGluZ2UtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRoaW5nZTogaGluZ2UoJHN0YXRlLCAkZnJvbSwgJGF4aXMsICRwZXJzcGVjdGl2ZSwgJHR1cm4tb3JpZ2luKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNjYWxpbmcgdHJhbnNpdGlvbi4gQSBzY2FsZSBvZiBgMWAgbWVhbnMgdGhlIGVsZW1lbnQgaXMgdGhlIHNhbWUgc2l6ZS4gTGFyZ2VyIG51bWJlcnMgbWFrZSB0aGUgZWxlbWVudCBiaWdnZXIsIHdoaWxlIG51bWJlcnMgbGVzcyB0aGFuIDEgbWFrZSB0aGUgZWxlbWVudCBzbWFsbGVyLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMS41XSAtIFNpemUgdG8gc3RhcnQgYXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxXSAtIFNpemUgdG8gZW5kIGF0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktem9vbShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IDEuNSxcbiAgJHRvOiAxLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzY2FsZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNjYWxlOiB6b29tKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc3Bpbm5pbmcgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC4gVGhlIGB0dXJuYCB1bml0IGlzIHVzZWQgdG8gc3BlY2lmeSBob3cgZmFyIHRvIHJvdGF0ZS4gYDF0dXJuYCBpcyBlcXVhbCB0byBhIDM2MC1kZWdyZWUgc3Bpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRkaXJlY3Rpb24gW2N3XSAtIERpcmVjdGlvbiB0byBzcGluLiBTaG91bGQgYmUgYGN3YCAoY2xvY2t3aXNlKSBvciBgY2N3YCAoY291bnRlcmNsb2Nrd2lzZSkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhbW91bnQgWzAuNzV0dXJuXSAtIEFtb3VudCB0byBlbGVtZW50IHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNwaW4oXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGN3LFxuICAkYW1vdW50OiAwLjc1dHVybixcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc3Bpbi1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNwaW46IHNwaW4oJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgYW5kIGFzc2lnbnMgaXQgdG8gdGhlIGVsZW1lbnQgYnkgYWRkaW5nIHRoZSBgYW5pbWF0aW9uLW5hbWVgIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWktYW5pbWF0aW9uKCRhcmdzLi4uKSB7XG4gICRuYW1lOiBtYXAtZ2V0KC1tdWktcHJvY2Vzcy1hcmdzKCRhcmdzLi4uKSwgbmFtZSk7XG4gIEBpbmNsdWRlIG11aS1rZXlmcmFtZXMoJG5hbWUsICRhcmdzLi4uKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHVucXVvdGUoJG5hbWUpO1xufVxuIiwiLyogIEZ1bmN0aW9ucyAoTmV3IGZvciBNeUdpemEpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8vXG4vLyBAZnVuY3Rpb25zXG4vL1xuXG4vLyBTVFJJUCBVTklUXG4vLyBJdCBzdHJpcHMgdGhlIHVuaXQgb2YgbWVhc3VyZSBhbmQgcmV0dXJucyBpdFxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuXHRAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8gQ09OVkVSVCBUTyBSRU1cbkBmdW5jdGlvbiBjb252ZXJ0LXRvLXJlbSgkdmFsdWUsICRiYXNlLXZhbHVlOiAkcmVtLWJhc2UpIHtcblx0JHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlLXZhbHVlKSAqIDFyZW07XG5cdEBpZiAoJHZhbHVlID09IDByZW0pIHsgJHZhbHVlOiAwOyB9IC8vIFR1cm4gMHJlbSBpbnRvIDBcblx0QHJldHVybiAkdmFsdWU7XG59XG5cbi8vIFJFTSBDQUxDXG5cbi8vIE5ldyBTeW50YXgsIGFsbG93cyB0byBvcHRpb25hbGx5IGNhbGN1bGF0ZSBvbiBhIGRpZmZlcmVudCBiYXNlIHZhbHVlIHRvIGNvdW50ZXIgY29tcG91bmRpbmcgZWZmZWN0IG9mIHJlbSdzLlxuLy8gQ2FsbCB3aXRoIDEsIDIsIDMgb3IgNCBwYXJhbWV0ZXJzLCAncHgnIGlzIG5vdCByZXF1aXJlZCBidXQgc3VwcG9ydGVkOlxuLy9cbi8vICAgcmVtLWNhbGMoMTAgMjAgMzBweCA0MCk7XG4vL1xuLy8gU3BhY2UgZGVsaW1pdGVkLCBpZiB5b3Ugd2FudCB0byBkZWxpbWl0IHVzaW5nIGNvbW1hJ3MsIHdyYXAgaXQgaW4gYW5vdGhlciBwYWlyIG9mIGJyYWNrZXRzXG4vL1xuLy8gICByZW0tY2FsYygoMTAsIDIwLCAzMCwgNDBweCkpO1xuLy9cbi8vIE9wdGlvbmFsbHkgY2FsbCB3aXRoIGEgZGlmZmVyZW50IGJhc2UgKGVnOiA4cHgpIHRvIGNhbGN1bGF0ZSByZW0uXG4vL1xuLy8gICByZW0tY2FsYygxNnB4IDMycHggNDhweCwgOHB4KTtcbi8vXG4vLyBJZiB5b3UgcmVxdWlyZSB0byBjb21tYSBzZXBhcmF0ZSB5b3VyIGxpc3Rcbi8vXG4vLyAgIHJlbS1jYWxjKCgxNnB4LCAzMnB4LCA0OCksIDhweCk7XG4kcmVtLWJhc2U6IDE2cHg7XG4vKiBUcnlpbmcgd2l0aG91dCB0aGlzIC0gRm91bmRhdGlvbiBjb21lcyB3aXRoIHRoaXMgZnVuY3Rpb24gbmF0aXZlbHlcbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZS12YWx1ZTogJHJlbS1iYXNlKSB7XG5cdCRtYXg6IGxlbmd0aCgkdmFsdWVzKTtcblx0XG5cdEBpZiAkbWF4ID09IDEgeyBAcmV0dXJuIGNvbnZlcnQtdG8tcmVtKG50aCgkdmFsdWVzLCAxKSwgJGJhc2UtdmFsdWUpOyB9XG5cdFxuXHQkcmVtVmFsdWVzOiAoKTtcblx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4IHtcblx0XHQkcmVtVmFsdWVzOiBhcHBlbmQoJHJlbVZhbHVlcywgY29udmVydC10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UtdmFsdWUpKTtcblx0fVxuXHRAcmV0dXJuICRyZW1WYWx1ZXM7XG59ICovXG5cbkBmdW5jdGlvbiBlbS1jYWxjKCR2YWx1ZXMsICRiYXNlLXZhbHVlOiAkcmVtLWJhc2UpIHtcblx0JHJlbVZhbHVlczogcmVtLWNhbGMoJHZhbHVlcywgJGJhc2UtdmFsdWU6ICRyZW0tYmFzZSk7XG5cdFxuXHQkbWF4OiBsZW5ndGgoJHJlbVZhbHVlcyk7XG5cdFxuXHRAaWYgJG1heCA9PSAxIHsgQHJldHVybiBzdHJpcC11bml0KG50aCgkcmVtVmFsdWVzLCAxKSkgKiAxZW07IH1cblx0XG5cdCRlbVZhbHVlczogKCk7XG5cdEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG1heCB7XG5cdFx0JGVtVmFsdWVzOiBhcHBlbmQoJGVtVmFsdWVzLCBzdHJpcC11bml0KG50aCgkcmVtVmFsdWVzLCAkaSkpICogMWVtKTtcblx0fVxuXHRAcmV0dXJuICRlbVZhbHVlcztcbn1cblxuLy8vIGNvbG9ycyBibGFjayAmIHdoaXRlXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAubXktY2xhc3Mge1xuLy8vICAgICBiYWNrZ3JvdW5kOiBibGFjaygwLjE1KTtcbi8vLyAgICAgY29sb3I6IHdoaXRlKDAuOSk7XG4vLy8gICB9XG5AZnVuY3Rpb24gYmxhY2soJG9wYWNpdHkpe1xuXHRAcmV0dXJuIHJnYmEoYmxhY2ssICRvcGFjaXR5KTtcbn1cblxuQGZ1bmN0aW9uIHdoaXRlKCRvcGFjaXR5KXtcblx0QHJldHVybiByZ2JhKHdoaXRlLCAkb3BhY2l0eSk7XG59XG4iLCIvKiAgTWl4aW5zIChOZXcgZm9yIE15R2l6YSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLy8gdmVydGljYWwgYWxpZ24gZWwgaW5zaWRlIHBhcmVudCB3aXRoIGZpeGVkIGhlaWdodC9taW4taGVpZ2h0XG4vLyB1c2FnZVxuLy8gaHRtbCAtIC5wYXJlbnQ+LmNoaWxkXG4vLyBzY3NzIC0gQGluY2x1ZGUgdi1hbGlnbjtcbi8vICAgICBvciBAaW5jbHVkZSB2LWFsaWduKDI1MHB4KTtcbi8vICAgICBvciBAaW5jbHVkZSB2LWFsaWduKDI1MHB4LCBib3R0b20sIGJlZm9yZSk7XG4vL1xuQG1peGluIHYtYWxpZ24oJHZhLWhlaWdodDogMTAwJSwgJHZhLWRpcmVjdGlvbjogbWlkZGxlLCAkdmEtcHNldWRvOiBhZnRlcikge1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0JjojeyR2YS1wc2V1ZG99IHtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0dmVydGljYWwtYWxpZ246ICR2YS1kaXJlY3Rpb247XG5cdFx0d2lkdGg6IDA7XG5cdFx0bWluLWhlaWdodDogJHZhLWhlaWdodDtcblx0fVxuXG5cdD4gKiB7XG5cdFx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0dmVydGljYWwtYWxpZ246ICR2YS1kaXJlY3Rpb247XG5cdFx0bWF4LXdpZHRoOiA5OSU7XG5cdH1cbn1cblxuLy8gdmVydGljYWwgYWxpZ24gYSBwYWlyIG9mIGNoaWxkIGVsIGluc2lkZSBwYXJlbnRcbi8vIHVzYWdlXG4vLyBodG1sIC0gLnBvc3Q+LmltYWdlKy50ZXh0XG4vLyBzY3NzIC0gQGluY2x1ZGUgdi1hbGlnbi1wYWlyKGltYWdlLCB0ZXh0KTtcbi8vICAgICBvciBAaW5jbHVkZSB2LWFsaWduLXBhaXIoaW1hZ2UsIHRleHQsIGJvdHRvbSk7XG4vLyAgICAgb3IgQGluY2x1ZGUgdi1hbGlnbi1wYWlyKGltYWdlLCB0ZXh0LCBtaWRkbGUsIDIwMHB4KTtcbi8vXG5AbWl4aW4gdi1hbGlnbi1wYWlyKCRjaGlsZC1uYW1lMSwgJGNoaWxkLW5hbWUyLCAkdmFsaWduOiBtaWRkbGUsICR3aWR0aDE6IGF1dG8sICR3aWR0aDI6IGF1dG8gKSB7XG5cdGRpc3BsYXk6IHRhYmxlO1xuXHQuI3skY2hpbGQtbmFtZTF9e1xuXHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0dmVydGljYWwtYWxpZ246ICR2YWxpZ247XG5cdFx0d2lkdGg6ICR3aWR0aDE7XG5cdH1cbiAuI3skY2hpbGQtbmFtZTJ9IHtcblx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHRcdHZlcnRpY2FsLWFsaWduOiAkdmFsaWduO1xuXHRcdHdpZHRoOiAkd2lkdGgyO1xuXHR9XG59XG5cblxuLy8gdmVydGljYWwgYWxpZ24gZWxcbi8vIHVzYWdlOiBAaW5jbHVkZSB2ZXJ0aWNhbC1hbGlnbi1lbDtcbi8vXG5AbWl4aW4gdmVydGljYWwtYWxpZ24tZWwge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRvcDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBNaXhpbiBoZWxwaW5nIGRlZmluaW5nIGJvdGggYHdpZHRoYCBhbmQgYGhlaWdodGAgc2ltdWx0YW5lb3VzbHkuXG4vLy9cbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy9cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJHdpZHRoIC0gRWxlbWVudOKAmXMgYHdpZHRoYFxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkaGVpZ2h0ICgkd2lkdGgpIC0gRWxlbWVudOKAmXMgYGhlaWdodGBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmZvbyB7XG4vLy8gICAgIEBpbmNsdWRlIHNpemUoMTBlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5iYXIge1xuLy8vICAgICBAaW5jbHVkZSBzaXplKDEwMCUsIDEwZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIG91dHB1dFxuLy8vICAgLmZvbyB7XG4vLy8gICAgIHdpZHRoOiAxMGVtO1xuLy8vICAgICBoZWlnaHQ6IDEwZW07XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5iYXIge1xuLy8vICAgICB3aWR0aDogMTAwJTtcbi8vLyAgICAgaGVpZ2h0OiAxMGVtO1xuLy8vICAgfVxuLy8vXG5AbWl4aW4gc2l6ZSgkd2lkdGgsICRoZWlnaHQ6ICR3aWR0aCkge1xuXHR3aWR0aDogJHdpZHRoO1xuXHRoZWlnaHQ6ICRoZWlnaHQ7XG59XG5cbi8vLyBmb250LXNtb3RoaW5nXG4vLy8gQGluY2x1ZGUgZm9udC1zbW9vdGhpbmcob24pO1xuLy8vIEBpbmNsdWRlIGZvbnQtc21vb3RoaW5nKG9mZik7XG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoJHZhbHVlOm9uKXtcblx0QGlmICR2YWx1ZSA9PSBvbntcblx0XHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkO1xuXHRcdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtcblx0fVxuXHRAZWxzZXtcblx0XHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOnN1YnBpeGVsLWFudGlhbGlhc2VkO1xuXHRcdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmF1dG87XG5cdH1cbn1cblxuXG4vLy8gSGlkZXMgdGhlIHRleHQgaW4gYW4gZWxlbWVudCwgY29tbW9ubHkgdXNlZCB0byBzaG93IGFuIGltYWdlLiBTb21lIGVsZW1lbnRzIHdpbGwgbmVlZCBibG9jay1sZXZlbCBzdHlsZXMgYXBwbGllZC5cbi8vL1xuLy8vIEBsaW5rIGh0dHA6Ly96ZWxkbWFuLmNvbS8yMDEyLzAzLzAxL3JlcGxhY2luZy10aGUtOTk5OXB4LWhhY2stbmV3LWltYWdlLXJlcGxhY2VtZW50XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgaGlkZS10ZXh0O1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBvdmVyZmxvdzogaGlkZGVuO1xuLy8vICAgICB0ZXh0LWluZGVudDogMTAxJTtcbi8vLyAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbi8vLyAgIH1cbi8vL1xuQG1peGluIGhpZGUtdGV4dCB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtaW5kZW50OiAxMDElO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5cbi8vLyBDcmVhdGVzIGEgdmlzdWFsIHRyaWFuZ2xlLlxuLy8vIE1peGluIHRha2VzICgkc2l6ZSwgJGNvbG9yLCAkZGlyZWN0aW9uKVxuLy8vIFRoZSAkc2l6ZSBhcmd1bWVudCBjYW4gdGFrZSBvbmUgb3IgdHdvIHZhbHVlc+KAlHdpZHRoIGhlaWdodC5cbi8vLyBUaGUgJGNvbG9yIGFyZ3VtZW50IGNhbiB0YWtlIG9uZSBvciB0d29cbi8vLyB2YWx1ZXPigJRmb3JlZ3JvdW5kLWNvbG9yIGJhY2tncm91bmQtY29sb3IuXG4vLy9cbi8vLyBAYXV0aG9yIGh0dHA6Ly9ib3VyYm9uLmlvL2RvY3MvI3RyaWFuZ2xlXG4vLy9cbi8vLyAkZGlyZWN0aW9uOlxuLy8vIHVwLCBkb3duLCBsZWZ0LCByaWdodCwgdXAtcmlnaHQsIHVwLWxlZnQsIGRvd24tcmlnaHQsIGRvd24tbGVmdFxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGluY2x1ZGUgdHJpYW5nbGUoMTJweCwgZ3JheSwgZG93bik7XG4vLy8gICBAaW5jbHVkZSB0cmlhbmdsZSgxMnB4IDZweCwgZ3JheSBibHVlLCB1cC1sZWZ0KTtcbi8vL1xuQG1peGluIHRyaWFuZ2xlKCRzaXplLCAkY29sb3IsICRkaXJlY3Rpb24pIHtcblx0JHdpZHRoOiBudGgoJHNpemUsIDEpO1xuXHQkaGVpZ2h0OiBudGgoJHNpemUsIGxlbmd0aCgkc2l6ZSkpO1xuXHQkZm9yZWdyb3VuZC1jb2xvcjogbnRoKCRjb2xvciwgMSk7XG5cdCRiYWNrZ3JvdW5kLWNvbG9yOiBpZihsZW5ndGgoJGNvbG9yKSA9PSAyLCBudGgoJGNvbG9yLCAyKSwgdHJhbnNwYXJlbnQpO1xuXHRoZWlnaHQ6IDA7XG5cdHdpZHRoOiAwO1xuXG5cdEBpZiAoJGRpcmVjdGlvbiA9PSB1cCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bikgb3IgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcblx0XHQkd2lkdGg6ICR3aWR0aCAvIDI7XG5cdFx0JGhlaWdodDogaWYobGVuZ3RoKCRzaXplKSA+IDEsICRoZWlnaHQsICRoZWlnaHQvMik7XG5cblx0XHRAaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG5cdFx0XHRib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXHRcdFx0Ym9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcblx0XHRcdGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuXHRcdH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG5cdFx0XHRib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG5cdFx0XHRib3JkZXItbGVmdDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblx0XHRcdGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcblx0XHR9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG5cdFx0XHRib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuXHRcdFx0Ym9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG5cdFx0XHRib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXHRcdH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcblx0XHRcdGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcblx0XHRcdGJvcmRlci1yaWdodDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblx0XHRcdGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcblx0XHR9XG5cdH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gdXAtcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IHVwLWxlZnQpIHtcblx0XHRib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG5cdFx0QGlmICRkaXJlY3Rpb24gPT0gdXAtcmlnaHQge1xuXHRcdFx0Ym9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG5cdFx0fSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwLWxlZnQge1xuXHRcdFx0Ym9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG5cdFx0fVxuXHR9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGRvd24tcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGRvd24tbGVmdCkge1xuXHRcdGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cblx0XHRAaWYgJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0IHtcblx0XHRcdGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuXHRcdH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQge1xuXHRcdFx0Ym9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG5cdFx0fVxuXHR9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXVwKSB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcblx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG5cdH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtZG93bikge1xuXHRcdGJvcmRlci1jb2xvcjogJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG5cdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuXHR9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXJpZ2h0KSB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcblx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG5cdH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtbGVmdCkge1xuXHRcdGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG5cdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuXHR9XG59XG5cblxuLy8vIEFuaW1hdGUgY3NzIHByb3BlcnRpZXNcbi8vIHVzYWdlXG4vLyBzY3NzIC0gQGluY2x1ZGUgYW5pbWF0ZShjb2xvcik7XG4vLyAgICAgb3IgQGluY2x1ZGUgYW5pbWF0ZShjb2xvciB3aWR0aCk7XG4vLyAgICAgb3IgQGluY2x1ZGUgYW5pbWF0ZShjb2xvciB3aWR0aCwgMXMsIGxpbmVhcik7XG4vL1xuJGFuaW1hdGlvbi1zcGVlZDogLjNzICFkZWZhdWx0O1xuXG5AbWl4aW4gYW5pbWF0ZSgkcHJvcGVydGllcywgJGR1cmF0aW9uOiAkYW5pbWF0aW9uLXNwZWVkLCAkZWFzaW5nOiBlYXNlLWluLW91dCkge1xuXHQkbGlzdDooKTtcblx0QGVhY2ggJHByb3AgaW4gJHByb3BlcnRpZXMge1xuXHRcdCRzdHI6ICN7JHByb3B9ICN7JGR1cmF0aW9ufSAjeyRlYXNpbmd9O1xuXHRcdCRsaXN0OiBqb2luKCRsaXN0LCAjeyRzdHJ9LCBjb21tYSk7XG5cdH1cblx0dHJhbnNpdGlvbjogJGxpc3Q7XG59XG5cblxuLy8vIE1peGluIGZvciBzdHlsaW5nIGZvcm0tcGxhY2Vob2xkZXJzXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAaW5jbHVkZSBwbGFjZWhvbGRlciB7XG4vLy8gICAgY29sb3I6ICMzMzM7XG4vLy8gICB9XG4vLy9cbi8vLyAgIGlucHV0W3R5cGU9J3RleHQnXSxcbi8vLyAgIGlucHV0W3R5cGU9J3RlbCddLFxuLy8vICAgaW5wdXRbdHlwZT0nZW1haWwnXSB7XG4vLy8gICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcbi8vLyAgICAgIGNvbG9yOiByZWQ7XG4vLy8gICAgIH1cbi8vLyAgIH1cblxuQG1peGluIHBsYWNlaG9sZGVyIHtcblx0Jjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG5cdCY6Oi1tb3otcGxhY2Vob2xkZXIge29wYWNpdHk6IDE7IEBjb250ZW50fVxuXHQmOi1tb3otcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuXHQmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG5cdCYucGxhY2Vob2xkZXIge0Bjb250ZW50fVxufVxuXG4vLy8gRm9udC1zaXplIHB4IHRvIHJlbSBjYWxjXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gc2VsZWN0b3Ige1xuLy8vICAgIEBpbmNsdWRlIHJlbS1mb250LXNpemUoMTZweCk7XG4vLy8gfVxuXG5AbWl4aW4gcmVtLWZvbnQtc2l6ZSgkcHhTaXplKSB7XG5cdGZvbnQtc2l6ZTogJHB4U2l6ZTtcblx0Zm9udC1zaXplOiAoJHB4U2l6ZSAvIDEwcHgpICsgcmVtO1xufVxuIiwiLyogIEhlbHBlcnMgKE5ldyBmb3IgTXlHaXphKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vLyBsaXN0IHJlc2V0XG4lbGlzdHJlc2V0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vLyBjbGVhcmZpeFxuJWNsZWFyZml4IHtcblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdH1cbn1cblxuLmNsZWFyZml4IHtcblx0QGV4dGVuZCAlY2xlYXJmaXg7XG59XG5cblxuLy8gdHJhbnNpdGlvblxuJXRyYW5zaXRpb24ge1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuXG5cblxuLy8vICogSGVscGVyIGNsYXNzIHRvIHRydW5jYXRlIGFuZCBhZGQgZWxsaXBzaXMgdG8gYSBzdHJpbmcgdG9vIGxvbmcgZm9yIGl0IHRvIGZpdFxuLy8vICogb24gYSBzaW5nbGUgbGluZS5cbi8vLyAqIDEuIFByZXZlbnQgY29udGVudCBmcm9tIHdyYXBwaW5nLCBmb3JjaW5nIGl0IG9uIGEgc2luZ2xlIGxpbmUuXG4vLy8gKiAyLiBBZGQgZWxsaXBzaXMgYXQgdGhlIGVuZCBvZiB0aGUgbGluZS5cblxuLmVsbGlwc2lzIHtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDsgLyogMSAqL1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgLyogMiAqL1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuIiwiLyogU2xpZGVyICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5kcmFnZ2luZyBpbWcge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyogY3VzdG9tIHNlbGVjdCBzdHlsZXMgKi9cclxuXHJcbi5qY2Ytc2VsZWN0IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luOiAwIDAgMTNweDtcclxuICAgIG1pbi13aWR0aDogMTUwcHg7XHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTc5Nzk3O1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxufVxyXG5cclxuLmpjZi1zZWxlY3Qgc2VsZWN0IHtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG59XHJcblxyXG4uamNmLXNlbGVjdCAuamNmLXNlbGVjdC10ZXh0IHtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjc1O1xyXG4gICAgbWFyZ2luOiAwIDM1cHggMCA1cHg7XHJcbn1cclxuXHJcbi5qY2Ytc2VsZWN0IC5qY2Ytc2VsZWN0LW9wZW5lciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMjZweDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcclxuICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMThweCk7XHJcbiAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICB0b3A6IDZweDtcclxuICAgICAgIGxlZnQ6IDJweDtcclxuICAgICAgIGNvbnRlbnQ6IFwiXFxmMDc4XCI7XHJcbiAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcclxuICAgICAgIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xyXG4gICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgIH1cclxufVxyXG5cclxuYm9keT4uamNmLXNlbGVjdC1kcm9wIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIG1hcmdpbjogLTFweCAwIDA7XHJcbiAgICB6LWluZGV4OiA5OTk5O1xyXG59XHJcblxyXG5ib2R5Pi5qY2Ytc2VsZWN0LWRyb3AuamNmLWRyb3AtZmxpcHBlZCB7XHJcbiAgICBtYXJnaW46IDFweCAwIDA7XHJcbn1cclxuXHJcbi5qY2Ytc2VsZWN0IC5qY2Ytc2VsZWN0LWRyb3Age1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbWFyZ2luLXRvcDogMHB4O1xyXG4gICAgei1pbmRleDogOTk5OTtcclxuICAgIHRvcDogMTAwJTtcclxuICAgIGxlZnQ6IC0xcHg7XHJcbiAgICByaWdodDogLTFweDtcclxufVxyXG5cclxuLmpjZi1zZWxlY3QgLmpjZi1kcm9wLWZsaXBwZWQge1xyXG4gICAgYm90dG9tOiAxMDAlO1xyXG4gICAgdG9wOiBhdXRvO1xyXG59XHJcblxyXG4uamNmLXNlbGVjdC1kcm9wIC5qY2Ytc2VsZWN0LWRyb3AtY29udGVudCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMTE2NEFEO1xyXG59XHJcblxyXG4vKiBtdWx0aXBsZSBzZWxlY3Qgc3R5bGVzICovXHJcblxyXG4uamNmLWxpc3QtYm94IHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjhjM2M5O1xyXG4gICAgbWluLXdpZHRoOiAyMDBweDtcclxuICAgIG1hcmdpbjogMCAxNXB4O1xyXG59XHJcblxyXG4vKiBzZWxlY3Qgb3B0aW9ucyBzdHlsZXMgKi9cclxuXHJcbi5qY2YtbGlzdCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5qY2YtbGlzdCAuamNmLWxpc3QtY29udGVudCB7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmpjZi1saXN0IHVsIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4uamNmLWxpc3QgdWwgbGkge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4uamNmLWxpc3QgLmpjZi1vdmVyZmxvdyB7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuLmpjZi1saXN0IC5qY2Ytb3B0aW9uIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IDVweCA5cHg7XHJcbiAgICBjb2xvcjogIzY1NjU2NTtcclxuICAgIGhlaWdodDogMSU7XHJcbn1cclxuXHJcbi5qY2YtbGlzdCAuamNmLWRpc2FibGVkIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAjYWFhICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5qY2Ytc2VsZWN0LWRyb3AgLmpjZi1ob3ZlcixcclxuLmpjZi1saXN0LWJveCAuamNmLXNlbGVjdGVkIHtcclxuICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7XHJcbiAgICBjb2xvcjogIzAwMDtcclxufVxyXG5cclxuLmpjZi1saXN0IC5qY2Ytb3B0Z3JvdXAtY2FwdGlvbiB7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IDVweCA5cHg7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICBjb2xvcjogIzAwMDtcclxufVxyXG5cclxuLmpjZi1saXN0IC5qY2Ytb3B0Z3JvdXAgLmpjZi1vcHRpb24ge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG59XHJcblxyXG4vKiBjdXN0b20gc2Nyb2xsYmFycyBzdHlsZXMgKi9cclxuXHJcbi5qY2Ytc2Nyb2xsYWJsZS13cmFwcGVyIHtcclxuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uamNmLXNjcm9sbGJhci12ZXJ0aWNhbCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICB3aWR0aDogMTBweDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG59XHJcblxyXG4uamNmLXNjcm9sbGJhci12ZXJ0aWNhbCAuamNmLXNjcm9sbGJhci1kZWMsXHJcbi5qY2Ytc2Nyb2xsYmFyLXZlcnRpY2FsIC5qY2Ytc2Nyb2xsYmFyLWluYyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjYmJiO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmpjZi1zY3JvbGxiYXItdmVydGljYWwgLmpjZi1zY3JvbGxiYXItaW5jIHtcclxuICAgIHRvcDogYXV0bztcclxuICAgIGJvdHRvbTogMDtcclxufVxyXG5cclxuLmpjZi1zY3JvbGxiYXItdmVydGljYWwgLmpjZi1zY3JvbGxiYXItaGFuZGxlIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoNzQsIDc0LCA3NCwgMC41KTtcclxuICAgIGhlaWdodDogMTUwcHggIWltcG9ydGFudDtcclxuICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG59XHJcblxyXG4uamNmLXNjcm9sbGJhci1ob3Jpem9udGFsIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJhY2tncm91bmQ6ICNlM2UzZTM7XHJcbiAgICByaWdodDogYXV0bztcclxuICAgIHRvcDogYXV0bztcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICB3aWR0aDogMXB4O1xyXG4gICAgaGVpZ2h0OiAxNHB4O1xyXG59XHJcblxyXG4uamNmLXNjcm9sbGJhci1ob3Jpem9udGFsIC5qY2Ytc2Nyb2xsYmFyLWRlYyxcclxuLmpjZi1zY3JvbGxiYXItaG9yaXpvbnRhbCAuamNmLXNjcm9sbGJhci1pbmMge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBiYWNrZ3JvdW5kOiAjYmJiO1xyXG4gICAgaGVpZ2h0OiAxNHB4O1xyXG4gICAgd2lkdGg6IDE0cHg7XHJcbn1cclxuXHJcbi5qY2Ytc2Nyb2xsYmFyLWhvcml6b250YWwgLmpjZi1zY3JvbGxiYXItaW5jIHtcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgICByaWdodDogMDtcclxufVxyXG5cclxuLmpjZi1zY3JvbGxiYXItaG9yaXpvbnRhbCAuamNmLXNjcm9sbGJhci1zbGlkZXIge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgaGVpZ2h0OiAxNHB4O1xyXG59XHJcblxyXG4uamNmLXNjcm9sbGJhci1ob3Jpem9udGFsIC5qY2Ytc2Nyb2xsYmFyLWhhbmRsZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBiYWNrZ3JvdW5kOiAjODg4O1xyXG4gICAgaGVpZ2h0OiAxNHB4O1xyXG59XHJcblxyXG4uamNmLXNjcm9sbGJhci5qY2YtaW5hY3RpdmUgLmpjZi1zY3JvbGxiYXItaGFuZGxlIHtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLmpjZi1zY3JvbGxiYXIuamNmLWluYWN0aXZlIC5qY2Ytc2Nyb2xsYmFyLWRlYyxcclxuLmpjZi1zY3JvbGxiYXIuamNmLWluYWN0aXZlIC5qY2Ytc2Nyb2xsYmFyLWluYyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZTNlM2UzO1xyXG59XHJcblxyXG4vKiBjb21tb24gY3VzdG9tIGZvcm0gZWxlbWVudHMgc3R5bGVzICovXHJcblxyXG4uamNmLWRpc2FibGVkIHtcclxuICAgIGJhY2tncm91bmQ6ICNkZGQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmpjZi1mb2N1cyxcclxuLmpjZi1mb2N1cyAqIHtcclxuICAgIGJvcmRlci1jb2xvcjogIzExNjRBRCAhaW1wb3J0YW50O1xyXG59IiwiLyogIEZvbnRhc3RpY1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5AY2hhcnNldCBcIlVURi04XCI7XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJnaXphLXByb2plY3QtaWNvbnNcIjtcbiAgc3JjOnVybChcIi4uL2ZvbnRzL2dpemEtcHJvamVjdC1pY29ucy5lb3RcIik7XG4gIHNyYzp1cmwoXCIuLi9mb250cy9naXphLXByb2plY3QtaWNvbnMuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICB1cmwoXCIuLi9mb250cy9naXphLXByb2plY3QtaWNvbnMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgIHVybChcIi4uL2ZvbnRzL2dpemEtcHJvamVjdC1pY29ucy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG4gICAgdXJsKFwiLi4vZm9udHMvZ2l6YS1wcm9qZWN0LWljb25zLnN2ZyNnaXphLXByb2plY3QtaWNvbnNcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cblxuLy8gQmFzZSBpY29uIGZvbnQgc3R5bGVzXG5cbltkYXRhLWljb25dLCBcbltjbGFzc149XCJpY29uLVwiXSwgXG5bY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgXG4gICY6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogXCJnaXphLXByb2plY3QtaWNvbnNcIiAhaW1wb3J0YW50O1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBBZGRlZCB0byBmaXggYWxpZ25tZW50XG4gICAgdG9wOiAwLjFlbTsgLy8gQWRkZWQgdG8gZml4IGFsaWdubWVudFxuICB9XG4gIFxuICAmLmljb24tZnc6YmVmb3JlIHtcbiAgICB3aWR0aDogMS40ZW07XG4gIH1cbiAgXG4gICYuaWNvbi1wYWRkZWQ6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVlbTtcbiAgfVxuICBcbn1cblxuW2RhdGEtaWNvbl06YmVmb3JlIHtcbiAgY29udGVudDogYXR0cihkYXRhLWljb24pO1xufVxuXG4vLyBJY29uc1xuXG4uaWNvbi1hbmdsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2MVwiO1xufVxuLmljb24tYW5nbGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDYyXCI7XG59XG4uaWNvbi1ib29rbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjNcIjtcbn1cbi5pY29uLWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY0XCI7XG59XG4uaWNvbi1iYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2NVwiO1xufVxuLmljb24tY2FyZXQtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjZcIjtcbn1cbi5pY29uLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2N1wiO1xufVxuLmljb24tY2lyY2xlLXRoaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY4XCI7XG59XG4uaWNvbi1mYWNlYm9vay1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY5XCI7XG59XG4uaWNvbi1maWxlLXRleHQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmFcIjtcbn1cbi5pY29uLWdvb2dsZS1wbHVzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmJcIjtcbn1cbi5pY29uLWhvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZjXCI7XG59XG4uaWNvbi1pbmZvLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmRcIjtcbn1cbi5pY29uLWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZlXCI7XG59XG4uaWNvbi1tYXAtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmZcIjtcbn1cbi5pY29uLXBlbmNpbC1zcXVhcmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzBcIjtcbn1cbi5pY29uLXF1b3RlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDcxXCI7XG59XG4uaWNvbi1zdGlja3ktbm90ZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3MlwiO1xufVxuLmljb24tdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzNcIjtcbn1cbi5pY29uLXVzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc0XCI7XG59XG4uaWNvbi12aWRlby1jYW1lcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc1XCI7XG59XG4uaWNvbi1jYW1lcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc2XCI7XG59XG4uaWNvbi1zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc3XCI7XG59XG4uaWNvbi12YXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3OFwiO1xufVxuLmljb24tcHlyYW1pZC0zZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzlcIjtcbn1cbi5pY29uLWluc3RhZ3JhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcN2FcIjtcbn1cbi5pY29uLXVzZXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0MVwiO1xufVxuLmljb24tdm9sdW1lLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0MlwiO1xufVxuLmljb24tcGF3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0M1wiO1xufVxuLmljb24tbWFwLW1hcmtlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDRcIjtcbn1cbi5pY29uLXBheXBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDVcIjtcbn1cbi5pY29uLXVuaXZlcnNpdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQ2XCI7XG59XG4uaWNvbi10aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDdcIjtcbn1cbi5pY29uLXRoLWxhcmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0OFwiO1xufVxuLmljb24tZW52ZWxvcGUtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0OVwiO1xufVxuLmljb24tdHdpdHRlci1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDRhXCI7XG59XG4uaWNvbi1saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0YlwiO1xufVxuLmljb24tYWxpZ24tanVzdGlmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNGNcIjtcbn1cbi5pY29uLWVsbGlwc2lzLWg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDRkXCI7XG59XG4uaWNvbi1wbHVzLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNGVcIjtcbn1cbi5pY29uLXRyYXNoLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDRmXCI7XG59XG4uaWNvbi1hcnJvdy1jaXJjbGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDUwXCI7XG59XG4uaWNvbi1taW51cy1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDUxXCI7XG59XG4uaWNvbi1jaGVjay1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDUyXCI7XG59XG4uaWNvbi1waWN0dXJlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDUzXCI7XG59XG4uaWNvbi1jb21tZW50czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNTRcIjtcbn1cbiIsIi8qICBUeXBvZ3JhcGh5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8vIEJhc2ljc1xuXG5oMSwgaDMsIGg1IHtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmg3IHsgLy8gaDYgdGhhdCBtaW1pY3Mgbm9ybWFsIGJvbGQgdGV4dFxuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICRkdW5lO1xuICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBtYXJnaW46IDA7XG59XG5cbi8vIEFsdGVybmF0ZSB0ZXh0IHN0eWxlXG5cbi50ZXh0LWhlYWRpbmcge1xuICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbn1cblxuLnRleHQtYWx0IHtcbiAgZm9udC1mYW1pbHk6ICRhY2NlbnQtZm9udC1mYW1pbHk7XG59XG5cbi8vIEFsdGVybmF0ZSBoZWFkaW5nIHN0eWxlc1xuXG4uaGVhZGluZy1hbHQge1xuICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLmhlYWRpbmctbWl4ZWRjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5oZWFkaW5nLWVtIHtcbiAgZm9udC1mYW1pbHk6ICRhY2NlbnQtZm9udC1mYW1pbHk7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uaDItbWlub3Ige1xuICBmb250LXNpemU6IHJlbS1jYWxjKDI0cHgpO1xufVxuXG4uaDMtbWlub3Ige1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE4cHgpO1xufVxuXG4vLyBUZXh0IHZhcmlhbnRzXG5cbi5hY2NlbnQtcmVkIHtcbiAgY29sb3I6ICRoYXJ2YXJkLWNyaW1zb247XG59XG5cbi5hY2NlbnQtbWFyb29uIHtcbiAgY29sb3I6ICRtYXJvb247XG59XG5cbi50ZXh0LWJvbGQge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4udGV4dC1tZWRpdW0sIFxuLnRleHQtc2VtaWJvbGQge1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4udGV4dC1yZWd1bGFyLCBcbi50ZXh0LW5vcm1hbCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbi50ZXh0LWxpZ2h0IHtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbn1cblxuLy8gSGVhZGluZyBsaW5rcyBcblxuYS5oZWFkaW5nLWxpbmsge1xuICBjb2xvcjogJG1hcm9vbjtcbiAgXG4gICY6aG92ZXIsIFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8gTGlnaHRlciBsaW5rcyBcblxuLmxpbmstbGlnaHRlciB7XG4gIGNvbG9yOiBsaWdodGVuKCRhbmNob3ItY29sb3IsIDMwJSk7XG4gIFxuICAmOmhvdmVyLCBcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiBsaWdodGVuKCRhbmNob3ItY29sb3IsIDQwJSk7XG4gIH1cbiAgXG59XG5cbi8vIFRleHQgdXRpbGl0aWVzXG5cbi50ZXh0LXNtYWxsZXIge1xuICBmb250LXNpemU6ICRtZWRpdW0tZm9udC1zaXplO1xufVxuXG4udGV4dC1tdXRlZCB7XG4gIGNvbG9yOiAkdW1iZXI7XG59XG5cbi8vIExpc3RzXG5cbi5kbC1zbGltIHtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgXG4gIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIFxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJzonO1xuICAgIH1cbiAgICBcbiAgfVxuICBcbiAgZGQge1xuICB9XG4gIFxufVxuXG4uYWJici1saXN0IHtcbiAgXG4gIGR0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnOic7XG4gICAgfVxuICAgIFxuICB9XG4gIFxuICBkZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgfVxuICBcbn1cblxuLy8gQmFjayB0byBUb3AgbGlua3MgXG5cbi5iYWNrLXRvLXRvcC1saW5rIHtcbiAgQGV4dGVuZCAudGV4dC1zbWFsbGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IC0wLjRlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC4yZW07XG4gIGNvbG9yOiAkdW1iZXI7XG4gIGNsZWFyOiBib3RoO1xuICBcbiAgJjpob3ZlciwgXG4gICY6YWN0aXZlLCBcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuIiwiLy8gXG4vLyBTcGFjZXJzIChVdGlsaXR5KSAtIGJvcnJvd2VkIGZyb20gQm9vdHN0cmFwXG4vLyBcblxuLy8gU2VlIHZhcmlhYmxlcyBpbiBTZXR0aW5nc1xuXG4ubS14LWF1dG8ge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6ICBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbkBlYWNoICRwcm9wLCAkYWJicmV2IGluIChtYXJnaW46IG0sIHBhZGRpbmc6IHApIHtcbiAgQGVhY2ggJHNpemUsICRsZW5ndGhzIGluICRzcGFjZXJzIHtcbiAgICAkbGVuZ3RoLXg6ICAgbWFwLWdldCgkbGVuZ3RocywgeCk7XG4gICAgJGxlbmd0aC15OiAgIG1hcC1nZXQoJGxlbmd0aHMsIHkpO1xuXG4gICAgLiN7JGFiYnJldn0tYS0jeyRzaXplfSB7ICN7JHByb3B9OiAgICAgICAgJGxlbmd0aC15ICRsZW5ndGgteCAhaW1wb3J0YW50OyB9IC8vIGEgPSBBbGwgc2lkZXNcbiAgICAuI3skYWJicmV2fS10LSN7JHNpemV9IHsgI3skcHJvcH0tdG9wOiAgICAkbGVuZ3RoLXkgIWltcG9ydGFudDsgfVxuICAgIC4jeyRhYmJyZXZ9LXItI3skc2l6ZX0geyAjeyRwcm9wfS1yaWdodDogICRsZW5ndGgteCAhaW1wb3J0YW50OyB9XG4gICAgLiN7JGFiYnJldn0tYi0jeyRzaXplfSB7ICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aC15ICFpbXBvcnRhbnQ7IH1cbiAgICAuI3skYWJicmV2fS1sLSN7JHNpemV9IHsgI3skcHJvcH0tbGVmdDogICAkbGVuZ3RoLXggIWltcG9ydGFudDsgfVxuXG4gICAgLy8gQXhlc1xuICAgIC4jeyRhYmJyZXZ9LXgtI3skc2l6ZX0ge1xuICAgICAgI3skcHJvcH0tcmlnaHQ6ICAkbGVuZ3RoLXggIWltcG9ydGFudDtcbiAgICAgICN7JHByb3B9LWxlZnQ6ICAgJGxlbmd0aC14ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC4jeyRhYmJyZXZ9LXktI3skc2l6ZX0ge1xuICAgICAgI3skcHJvcH0tdG9wOiAgICAkbGVuZ3RoLXkgIWltcG9ydGFudDtcbiAgICAgICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aC15ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59IiwiLyogIEZvcm1zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmxlZ2VuZCB7XG4gIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogbm9uZTtcbn1cblxuc2VsZWN0LCBpbnB1dCwgdGV4dGFyZWEge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRib3JkZXI6IHNvbGlkIDFweCAkc2FuZC1kYXJrO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbi8vIFNlYXJjaCBmYWNldHMgcmFkaW9zL2NoZWNrYm94ZXNcblxuLnNlYXJjaC1mYWNldC1pdGVtIHtcbiAgbWFyZ2luLXRvcDogMC4yZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIFxuICA+IFt0eXBlPVwicmFkaW9cIl0sIFxuICA+IFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuMzVlbTtcbiAgfVxuICBcbiAgPiBsYWJlbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW4tbGVmdDogMS41ZW07XG4gIH1cbiAgXG59XG5cbi8vIE5hdmJhciBzZWFyY2ggZm9ybVxuXG4jc2VhcmNoLWZvcm0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBcbiAgaW5wdXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xuICB9XG4gIFxuICBidXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgXG4gIC5pY29uLXNlYXJjaDo6YmVmb3JlIHtcbiAgICB0b3A6IC0wLjFlbTtcbiAgfVxufVxuXG4vLyBSZXVzYWJsZSB2ZXJzaW9uIG9mIHRoZSBqb2luZWQgc2VhcmNoIGZvcm0gYWJvdmVcbi5mb3JtLXNlYXJjaC1qb2luZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBcbiAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgIGZsZXg6IDE7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIFxuICAuYnV0dG9uLCBcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgZmxleDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy10b3A6IDAuNWVtOyAvLyBNYXRjaCBpbnB1dCBwYWRkaW5nXG4gICAgcGFkZGluZy1ib3R0b206IDAuNWVtOyAvLyBNYXRjaCBpbnB1dCBwYWRkaW5nXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG5cbi8vIFNwZWNpYWwgY2FzZSBmb3IgQWR2YW5jZWQgU2VhcmNoOiBNRVQgdG9vbHRpcFxuXG4jdG9vbHRpcE1ldE1vYmlsZSB7XG59XG4gIFxuICAvLyBDdXN0b20gdGVtcGxhdGUgY2xhc3NcbiAgXG4gIC50b29sdGlwLm5hcnJvdyB7XG4gICAgd2lkdGg6IDE3MHB4ICFpbXBvcnRhbnQ7XG4gIFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMzBweCkge1xuICAgICAgd2lkdGg6IDIyMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICBcbiAgfVxuXG4vLyBOZXcgZm9yIE15R2l6YVxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcblx0Ym9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG59IiwiLyogIEJ1dHRvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmJ1dHRvbiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBcbiAgJjpob3ZlciwgXG4gICY6YWN0aXZlLCBcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi5idXR0b24uc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNhbmQtbGlnaHQ7XG4gIGJvcmRlcjogc29saWQgMXB4ICRzYW5kLW1lZGl1bTtcbiAgY29sb3I6ICRkdW5lO1xuICBcbiAgJjpob3ZlciwgXG4gICY6YWN0aXZlLCBcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNhbmQtbWVkaXVtO1xuICAgIGNvbG9yOiAkZHVuZTtcbiAgfVxufVxuXG5cbi8vIEJ1dHRvbiBncm91cHMgKHRvZ2dsZSBzd2l0Y2gpXG5cbi5idXR0b24tZ3JvdXAge1xuICBcbiAgLmJ1dHRvbiB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICBcbiAgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcbiAgfVxuICBcbiAgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7XG4gIH1cbiAgXG4gIC5idXR0b24ucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGR1bmU7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuICBcbiAgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzYW5kLWRhcms7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJHNhbmQtbGlnaHQ7XG4gICAgXG4gICAgJjpob3ZlciwgXG4gICAgJjphY3RpdmUsIFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVtYmVyO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cbiAgXG59IiwiLy9cbi8vIE1lbnVcbi8vXG5cbi52ZXJ0aWNhbCB7XG4gIFxuICBsaSA+IGEgeyAvLyBJbXByb3ZlIHRoZSBkaXNwbGF5IG9mIG11bHRpLWxpbmUgbWVudSBpdGVtIHRleHRcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgfVxuICBcbn1cblxuLy8gVGhpbm5lciBpbmxpbmUtYmxvY2sgbWVudSBpdGVtc1xuLy8gQnVpbGRzIG9uICcubWVudScgYnV0IGZvciBzaW5nbGUtY2hhcmFjdGVyIG1lbnUgaXRlbXMgKGxldHRlcnMsIG51bWJlcnMpXG5cbi5tZW51LXBhZ2luYXRpb24geyBcbiAgXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vICcubWVudScgZGVmYXVsdHMgdG8gdGFibGUtY2VsbCBcbiAgXG4gICAgYSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xuICAgICAgXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuMjhyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMjhyZW07XG4gICAgICB9XG4gICAgICBcbiAgICB9XG4gICAgXG4gIH1cbiAgXG59XG5cbi8vIFN0aWNreSBhZGp1c3RtZW50cyBmb3Igc2lkZWJhciBtZW51c1xuXG4uc3RpY2t5LXNpZGViYXIgeyAvLyBDb250YWluZXIgYXJvdW5kIGZlYXR1cmUtYmxvY2tzIHRoYXQgYXJlIHN1cHBvc2VkIHRvIHN0aWNrXG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7IC8vIEZpeGVzIGEgd2lkdGgtcGx1cy1wb3NpdGlvbjphYnNvbHV0ZSBwcm9ibGVtXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICB9XG4gIFxufSIsIi8qICBUb29sdGlwcyAmIE1vZGFscyAoUmV2ZWFsKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vLyBUb29sdGlwc1xuXG4udG9vbHRpcCB7XG4gIG1heC13aWR0aDogMjBlbSAhaW1wb3J0YW50OyAvLyB3YXMgMTBcbn1cblxuLy8gTW9kYWxzXG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC42KTtcbn1cblxuLnBob3RvLWdhbGxlcnktbW9kYWwge1xuICB0b3A6IDU1cHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICBcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB0b3A6IDY1cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiA2NXB4O1xuICB9XG4gIFxufVxuXG4ubW9kYWwtaW52ZXJzZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMTE7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBwYWRkaW5nOiAyMHB4IDE1cHggMjBweDtcbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgcGFkZGluZzogNDBweCA4MHB4IDgwcHg7XG4gIH1cbiAgXG4gICYsIFxuICBoMSwgXG4gIGgyLCBcbiAgaDMsIFxuICBoNCB7XG4gICAgY29sb3I6ICNlZWU7XG4gIH1cbn1cblxuLm1vZGFsLWltZy1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIFxuICBpbWcge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59IiwiLyogIE5hdmJhclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vLyBQcmV2ZW50IEZPVUMgd2l0aCByZXNwb25zaXZlIG1lbnVzXG4vLyBTcmM6IGh0dHA6Ly9mb3VuZGF0aW9uLnp1cmIuY29tL3NpdGVzL2RvY3MvcmVzcG9uc2l2ZS1uYXZpZ2F0aW9uLmh0bWwjcHJldmVudGluZy1mb3VjXG5cbi5uby1qcyB7XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgXG4gICAgLnRvcC1iYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICBcbiAgICAudGl0bGUtYmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICBcbiAgICBbZGF0YS1zdGlja3ktY29udGFpbmVyXSB7XG4gICAgICBoZWlnaHQ6IDg1cHg7IC8vIFByZS1zZXQgdGhpcyB0byB0aGUgbm9ybWFsIHZhbHVlIHRvIHByZXZlbnQgbGF5b3V0LWp1bXBpbmdcbiAgICB9XG4gIH1cbn1cblxuW2RhdGEtc3RpY2t5LWNvbnRhaW5lcl0ge1xuICBoZWlnaHQ6IDg1cHg7IC8vIFByZS1zZXQgdGhpcyB0byB0aGUgbm9ybWFsIHZhbHVlIHRvIHByZXZlbnQgRk9VQ1xufVxuXG4vLyBUaXRsZSBiYXJcblxuLnRpdGxlLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkdW5lO1xuICBwYWRkaW5nLXRvcDogMC41ZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjhlbTtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLyBNYWluIG5hdiBiYXJcblxuLnRvcC1iYXItY29udGFpbmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGR1bmU7XG5cdGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkc2FuZC1kYXJrO1xuXHRib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLDAsMCwwLjIpO1xuICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7IC8vID8/XG4gIHotaW5kZXg6IDk5OTtcdFxuICAvLyBEZWFsIHdpdGggc3RpY2t5IHByb2JsZW1zXG4gIC8vIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OyAvLyBEdW5ubyBpZiB0aGlzIGNhdXNlcyBhbnkgaGF2b2MsIGJ1dCBpdCB3b3Jrcy4uLlxuICBcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgfVxuICBcbn1cblxuLypcbi5zdGlja3kuaXMtc3R1Y2sgeyAvLyBTdGlja3kgdG9wIG5hdlxuICB6LWluZGV4OiAxMDtcbiAgXG4gICYudG9wLWJhci1jb250YWluZXIge1xuICAgIHotaW5kZXg6IDU1O1xuICB9XG4gIFxufVxuKi9cblxuLnRvcC1iYXIge1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG59XG5cbi50b3AtYmFyIHtcblx0aGVpZ2h0OiA1NXB4O1xuXHRcbiAgaW1nIHtcbiAgXHRoZWlnaHQ6IDU1cHg7XG4gIH1cdFxuICBcbiAgYSwgXG4gIC5wc2V1ZG9saW5rIHtcbiAgICBjb2xvcjogJHNhbmQtZGFyaztcbiAgICBcbiAgICAmOmhvdmVyLCBcbiAgICAmOmFjdGl2ZSwgXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuICBcbiAgaW5wdXQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiA0cHg7IC8vICNCYWNrZmlsbCAtIE92ZXJyaWRlIEZvdW5kYXRpb24gZGVmYXVsdCAxcmVtXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyAjQmFja2ZpbGxcbiAgfVxuICBcbn1cblxuLm5hdi1tZW51LXByaW1hcnkge1xuICBmbG9hdDogcmlnaHQ7XG4gIFxuICBsaSB7XG4gIFxuICAgID4gYSwgXG4gICAgPiAucHNldWRvbGluaywgXG4gICAgPiAubWVudS10ZXh0LWl0ZW0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDU1cHg7XG4gICAgXHRwYWRkaW5nLXRvcDogMTdweDsgLy8gQWRqdXN0ZWQgZm9yIGltcHJvdmVkIGxpbmUtaGVpZ2h0IGluIF9tZW51LnNjc3NcbiAgICBcdGZvbnQtd2VpZ2h0OiBib2xkOyAvLyAjQmFja2ZpbGxcbiAgICBcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgXHRmb250LXNpemU6IDE1cHg7XG4gICAgXHRmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBcdGNvbG9yOiAkd2hpdGU7IC8vICNCYWNrZmlsbFxuICAgIH1cbiAgICBcbiAgICA+IC5tZW51LXRleHQtaXRlbSB7XG4gICAgICBjb2xvcjogJHNhbmQtbWVkaXVtO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG4gICAgXG4gICAgLmljb24taG9tZSAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjJlbTtcbiAgICB9XG4gICAgXG4gICAgLmljb24taG9tZTpiZWZvcmUge1xuICAgICAgXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICB0b3A6IDA7IC8vIEZpeCBhbGlnbm1lbnQgaXNzdWVcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi5hY3RpdmUgPiBhLCBcbiAgICAmLmFjdGl2ZSA+IC5wc2V1ZG9saW5rIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICBcdGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIFx0Ym9yZGVyLWxlZnQ6IHNvbGlkIDVweCAkaGFydmFyZC1jcmltc29uO1xuICAgIFx0cGFkZGluZy1sZWZ0OiAxMXB4O1xuICAgIFx0XG4gICAgXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgNXB4ICRoYXJ2YXJkLWNyaW1zb247XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGdsb2JhbC1wYWRkaW5nO1xuICAgICAgICAvKmJhY2tncm91bmQtY29sb3I6ICNBNTFDMzAqLyAvLyAjQmFja2ZpbGxcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgd2lkdGg6IDMzMHB4O1xuICAgICAgdG9wOiA5MSUgIWltcG9ydGFudDsgLy8gQWxpZ25zIHdpdGggcmVkIGJvdHRvbSBib3JkZXIgZm9yIGFjdGl2ZSBpdGVtXG4gICAgICBib3JkZXI6IHNvbGlkIDFweCByZ2JhKDI1NSwyNTUsMjU1LDAuMik7XG4gICAgICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xuICAgICAgei1pbmRleDogNjA7XG4gICAgfVxuICAgIFxuICAgICYuaXMtc3VibWVudS1pdGVtID4gYSwgXG4gICAgJi5pcy1zdWJtZW51LWl0ZW0gPiAucHNldWRvbGluaywgXG4gICAgJi5pcy1zdWJtZW51LWl0ZW0gPiAubWVudS10ZXh0LWl0ZW0ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBwYWRkaW5nLXRvcDogMC44cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuOHJlbTtcbiAgICAgICAgICAgIFxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi5saS1pbmRlbnRlZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHNwYWNlcigxKTtcbiAgICAgIFxuICAgICAgPiBhLCBcbiAgICAgID4gLnBzZXVkb2xpbmssIFxuICAgICAgPiAubWVudS10ZXh0LWl0ZW0ge1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0cHgpO1xuICAgICAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMC4ycmVtO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjJyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm1lbnUgPiBsaSA+IC5tZW51LXRleHQtaXRlbSB7IC8vIEZpeGVzIGRpc2NyZXBhbmN5IGZyb20gX21lbnUuc2Nzc1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG59XG5cbi8vIEJlbG93IGlzIHRvIGZpeCB0aGUgc2Nyb2xsaW5nIGlzc3VlcyBjYXVzZWQgYnkgdGhlIHN0aWNreSB0b3AgYmFyXG4vLyBhbmQgcG9zaXRpb246Zml4ZWRcblxuLnRvcC1iYXItY29udGFpbmVyIC50aXRsZS1iYXIge1xuICBoZWlnaHQ6IDQ1cHg7XG59XG5cbi5uYXYtbWVudS1wcmltYXJ5IC5zdWJtZW51LmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIG1hcmdpbi10b3A6IC00NXB4O1xuICAgIHBhZGRpbmctdG9wOiA0NXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIGhlaWdodDogMTAwdmggIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93LXk6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICBcbn1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICRzYW5kLWRhcmsgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgXG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAkc2FuZC1kYXJrIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG5cbn1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiAkc2FuZC1kYXJrIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xufVxuXG4uaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRzYW5kLWRhcms7XG59XG5cbi5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHNhbmQtZGFyayB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbn1cblxuLy8gVGhpcmQgbGV2ZWwgbWVudXMsIGlmIG5lZWRlZFxuXG4uZHJvcGRvd24ubWVudSAuaXMtc3VibWVudS1pdGVtLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcblxuICAuc3VibWVudSB7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxufVxuXG5cblxuLy8gU2VhcmNoIGJ1dHRvbiBpbiB0b3AgYmFyXG5cbi50b3AtYmFyIC5tZW51IGxpOmxhc3QtY2hpbGQgYnV0dG9uIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBoZWlnaHQ6IDM5cHg7IC8vICNCYWNrZmlsbFxuICBjb2xvcjogJHNhbmQtZGFyaztcbiAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgXG4gICY6aG92ZXIsIFxuICAmOmFjdGl2ZSwgXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cbiAgXG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMC4yZW07XG4gIH1cbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIC8vZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyBJIGRvbid0IHRoaW5rIHRoaXMgaXMgcmVsZXZhbnQgYW55bW9yZVxuICB9XG4gIFxufVxuXG5bZGF0YS10b2dnbGU9XCJzZWFyY2gtZHJvcGRvd25cIl0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHVuZTtcbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgd2lkdGg6IDNyZW07XG4gIH1cbiAgXG4gICYuaXMtYWN0aXZlIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWltcG9ydGFudDtcbiAgICBcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwwMGQ3JztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLTAuM2VtO1xuICAgICAgZm9udC1zaXplOiAxMjAlO1xuICAgIH1cbiAgICBcbiAgICAmOmhvdmVyLCBcbiAgICAmOmFjdGl2ZSwgXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGFydmFyZC1jcmltc29uICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICB9XG4gIFxufVxuXG4vLyBTZWFyY2ggZHJvcGRvd24gaW4gdG9wIGJhclxuXG4udG9wLWJhciAuZHJvcGRvd24tcGFuZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkdW5lO1xuICBjb2xvcjogJHNhbmQtbGlnaHQ7XG59XG5cbiNzZWFyY2gtZHJvcGRvd24ge1xuICBib3JkZXI6IG5vbmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICBwYWRkaW5nOiAxcmVtO1xuICB3aWR0aDogYXV0bztcbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMS4wICFpbXBvcnRhbnQ7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHRvcDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiA1NXB4O1xuICAgIHdpZHRoOiA3MDBweDtcbiAgICBwYWRkaW5nOiA3cHggMCA3cHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDAuMjVzIGxpbmVhciwgb3BhY2l0eSAwLjI1cyBsaW5lYXI7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgXG4gICYuaXMtb3BlbiB7XG4gICAgb3BhY2l0eTogMS4wO1xuICB9XG4gIFxuICBmb3JtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ2xvYmFsLW1hcmdpbjtcbiAgfVxuICBcbiAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgIHdpZHRoOiAyMjBweDtcbiAgICBtYXgtd2lkdGg6IDEyMDBweDsgLy8gT3ZlcnJpZGUgLnRvcC1iYXIgZGVmYXVsdHNcbiAgICBoZWlnaHQ6IDQxcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgIFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICB3aWR0aDogNDAwcHg7XG4gICAgfVxuICB9XG4gIFxuICAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIGhlaWdodDogNDFweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMXB4OyAvLyBBbGlnbm1lbnQgZml4XG4gIH1cbiAgXG4gIHNtYWxsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIG1hcmdpbi1yaWdodDogJGdsb2JhbC1tYXJnaW47XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDNweDtcbiAgICAgIGhlaWdodDogMjVweDsgXG4gICAgfVxuICAgIFxuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICAgIHBhZGRpbmc6IDAuOHJlbSAwO1xuICAgIH1cbiAgICBcbiAgfVxuICBcbn0iLCIvKiAgRm9vdGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbm5hdi5yb3cgLm1lZGl1bS00IHVsIHtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG59XG4lZm9vdGVyY29sb3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2FuZC1saWdodDtcbn1cbi5mb290ZXIge1xuXHRAZXh0ZW5kICVmb290ZXJjb2xvcjtcblx0cGFkZGluZy10b3A6ICRnbG9iYWwtcGFkZGluZztcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRzYW5kLW1lZGl1bTtcblx0bWFyZ2luLXRvcDogKCRnbG9iYWwtbWFyZ2luICogNCk7XG59XG5mb290ZXIubGVnYWwtc29jaWFsIHtcblx0QGV4dGVuZCAlZm9vdGVyY29sb3I7XG5cdHBhZGRpbmctYm90dG9tOiAkZ2xvYmFsLXBhZGRpbmc7XG5cdHBhZGRpbmctdG9wOiAoJGdsb2JhbC1wYWRkaW5nICogMik7XG59XG5cbi5vcmJpdC1idWxsZXRzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwcHg7XG4gIHJpZ2h0OiAxMHB4O1xuICBtYXJnaW46IDA7XG4gIFxuICA+IGJ1dHRvbiB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB3aWR0aDogMC43NXJlbTtcbiAgICBoZWlnaHQ6IDAuNzVyZW07XG4gIH1cblxufVxuXG4vLyBGb290ZXIgbWVudSBsaXN0c1xuXG4uZm9vdGVyLW1lbnUtbGlzdCB7XG4gIEBleHRlbmQgLm5vLWJ1bGxldDtcbiAgQGV4dGVuZCAudGV4dC1zbWFsbGVyO1xuICBcbiAgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42ZW07XG4gIH1cbiAgXG59XG5cbi8vIFNsaW0gYWNjb3JkaW9uIG1lbnUgKGZvb3RlcilcblxuLmFjY29yZGlvbi1zbGltIHtcbiAgXG4gIGxpIHtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNmVtO1xuICB9XG4gIFxuICBsaSBhIHtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgXG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuM3JlbTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC4ycmVtO1xuICAgIH1cbiAgICBcbiAgfVxuICBcbiAgLm5lc3RlZCB7XG4gICAgcGFkZGluZzogMC42ZW0gMCAwIDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIFxufVxuXG4vLyBJbWFnZSBhbGlnbm1lbnQgXG5cbi5pbWFnZS1zcGFjZXIge1xuICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgXG59XG5cbiIsIi8qICBIZWFkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8vICBQYWdlIEhlYWRlciBjb21wb25lbnQgc3R5bGVzXG4vLyAgYW5kIHN1YmhlYWRlciBjb21wb25lbnQgc3R5bGVzXG5cbi8vIFBhZ2UgSGVhZGVyIExheW91dFxuXG4ucGFnZS1oZWFkZXIge1xuICBcbiAgLnRpdGxlIHtcbiAgXHRtaW4taGVpZ2h0OiA3MnB4O1xuICBcdFxuICBcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gIFx0ICBtaW4taGVpZ2h0OiA4NnB4O1xuICBcdH1cbiAgfVxuICBcbiAgaDEge1xuICAgIHBhZGRpbmctdG9wOiAyMnB4O1xuICAgIHBhZGRpbmctbGVmdDogMHB4OyAvLyBXYXMgNnB4IC0gdW5uZWNlc3NhcnlcbiAgICBcbiAgICBhIHsgLy8gUHJlc2VydmUgdGl0bGUgdGV4dCBjb2xvciBpZiBpdCdzIGEgbGlua1xuICAgICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBcbiAgLnBhZ2UtaGVhZGVyX19tZXRhIHtcbiAgICBjb2xvcjogJHVtYmVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMHB4OyAvLyBXYXMgNnB4IC0gdW5uZWNlc3NhcnlcbiAgICBtYXJnaW4tdG9wOiAtMC40ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuICAgIHRleHQtc2hhZG93OiAwIDFweCA0cHggcmdiYSgyNTUsMjU1LDI1NSwwLjgpO1xuICB9XG59XG5cbi8vIEZlYXR1cmUgaW50cm8vZnVsbCBwYWdlc1xuLmhlYWRlci1mdWxsIHtcbiAgXG4gIC5wYWdlLWhlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBcbiAgICAudGl0bGUge1xuICAgICAgbWluLWhlaWdodDogMjI4cHg7XG4gICAgfVxuICB9XG4gIFxuICAuY29udGVudC1zdGFydCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IC05cmVtO1xuICB9XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIFxuICAgIC5jb250ZW50LWNvbC1zZWNvbmRhcnkge1xuICAgICAgbWFyZ2luLXRvcDogNDRyZW07IC8vIENsZWFyIHRoZSBoZWlnaHQgb2YgdGhlIGZ1bGwganVtcCBtZW51XG4gICAgfVxuICB9XG4gIFxuICAucGFnZS1uYXZpZ2F0aW9uLWNvbnRhaW5lciB7XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIFxuICAvLyBJbnRybyBvbmx5XG4gICYubW9kZS1pbnRybyB7XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIFxuICAgICAgLmNvbnRlbnQtY29sLXNlY29uZGFyeSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDZyZW07IC8vIENsZWFyIHRoZSBoZWlnaHQgb2YgdGhlIHRvZ2dsZSBzd2l0Y2hcbiAgICAgIH1cbiAgICAgIFxuICAgICAgLnZpZXctbW9kZS10b2dnbGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBQYWdlIEhlYWRlciBMb29rICYgRmVlbFxuXG4vLyBCYWNrZ3JvdW5kICYgSW1hZ2UgZGVmYXVsdHMgZm9yIGFsbCBwYWdlc1xuLnBhZ2UtaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNhbmQtbWVkaXVtO1xuICBcbiAgLnRpdGxlIHtcbiAgXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBcdGJhY2tncm91bmQtcG9zaXRpb246IDUwJSB0b3A7XG4gIH1cbn1cblxuLy8gVGl0bGUgdGV4dCBjb2xvciB2YXJpYW50c1xuJWgxLXRpdGxlLWRhcmsge1xuICB0ZXh0LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMjU1LDI1NSwyNTUsMC44KTtcbn1cbiVoMS10aXRsZS1saWdodCB7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHRleHQtc2hhZG93OiAwIDFweCA0cHggcmdiYSgwLDAsMCwwLjgpO1xufVxuJWgxLXRpdGxlLWxpZ2h0LW1peGVkY2FzZSB7XG4gIEBleHRlbmQgJWgxLXRpdGxlLWxpZ2h0O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbkBtaXhpbiBoMS10aXRsZS1zdHlsZSgkdmFyaWFudCkge1xuICBAZXh0ZW5kICVoMS10aXRsZS0jeyR2YXJpYW50fTtcbn1cblxuLy8gSGVhZGVyIGltYWdlL2NvbG9yIG1hcHBpbmdcbiRoZWFkZXItaW1hZ2VzOiAoXG4gIDE6ICggLy8gQmx1ZSBza3kgcHlyYW1pZCByZW5kZXJpbmcgKEdpemEzRClcbiAgICBzaXplOiAgIFwidGFsbFwiLFxuICAgIHRpdGxlOiAgXCJkYXJrXCIsXG4gICAgYmc6ICAgICAjYzZkZGViXG4gICksIFxuXHQyOiAoIC8vIFNtYWxsIGRpdGhlcmVkIGhpZXJvZ2x5cGhzICgtLSlcbiAgICBzaXplOiAgIFwic2xpbVwiLFxuICAgIHRpdGxlOiAgXCJsaWdodFwiLFxuICAgIGJnOiAgICAgIzk0NWQzZlxuICApLCBcbiAgMzogKCAvLyBNb25vY2hyb21lIGNhcnZpbmdzICgtLSlcbiAgICBzaXplOiAgIFwic2xpbVwiLFxuICAgIHRpdGxlOiAgXCJsaWdodFwiLFxuICAgIGJnOiAgICAgIzhDNzA0Q1xuICApLFxuICA0OiAoIC8vIFN1bnNldCBweXJhbWlkIChEb25hdGUpXG4gICAgc2l6ZTogICBcInNsaW1cIixcbiAgICB0aXRsZTogIFwibGlnaHRcIixcbiAgICBiZzogICAgICNmZjg5NGZcbiAgKSxcbiAgNTogKCAvLyBZZWxsb3cgc2xpdHMgKFNlYXJjaClcbiAgICBzaXplOiAgIFwic2xpbVwiLFxuICAgIHRpdGxlOiAgXCJsaWdodFwiLFxuICAgIGJnOiAgICAgI2U0YjA1YVxuICApLFxuICA2OiAoIC8vIEdyYXkgc2t5IFNwaGlueCAoQWJvdXQpXG4gICAgc2l6ZTogICBcInNsaW1cIixcbiAgICB0aXRsZTogIFwiZGFya1wiLFxuICAgIGJnOiAgICAgI2NkY2FjYlxuICApLFxuICA3OiAoIC8vIENvbG9yZnVsIGNhcnRvdWNoZSAoTXlHaXphKVxuICAgIHNpemU6ICAgXCJzbGltXCIsXG4gICAgdGl0bGU6ICBcImxpZ2h0LW1peGVkY2FzZVwiLFxuICAgIGJnOiAgICAgI2I0OGQ3OFxuICApLFxuICA4OiAoIC8vIExpdCB0b21iIGludGVyaW9yIChMaWJyYXJ5KVxuICAgIHNpemU6ICAgXCJzbGltXCIsXG4gICAgdGl0bGU6ICBcImxpZ2h0XCIsXG4gICAgYmc6ICAgICAjM0YzNDI5XG4gICksXG4gIDk6ICggLy8gUm93IG9mIGZlZXQgKEdpemEgQCBTY2hvb2wpXG4gICAgc2l6ZTogICBcInNsaW1cIixcbiAgICB0aXRsZTogIFwibGlnaHRcIixcbiAgICBiZzogICAgICM3QTVCNDBcbiAgKVxuKTtcblxuLy8gTWl4aW4gZm9yIGhlYWRlciBiYWNrZ3JvdW5kIHZhcmlhbnRzXG5AbWl4aW4gaGVhZGVyLWltYWdlLXZhcmlhbnQoJG51bSwgJHNpemUsICR0aXRsZSwgJGJnKSB7XG4gIFxuICAuaGVhZGVyLWJnLSN7JG51bX0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgICBcbiAgICAudGl0bGUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvcGFnZWhlYWRlci1iZy0jeyRzaXplfSN7JG51bX0uanBnJyk7XG4gICAgfVxuICAgIFxuICAgIGgxIHtcbiAgICAgIEBpbmNsdWRlIGgxLXRpdGxlLXN0eWxlKCR0aXRsZSk7XG4gICAgfVxuICB9XG59XG5cbi8vIEFwcGx5IGhlYWRlciBiYWNrZ3JvdW5kIHZhcmlhbnRzXG5AZWFjaCAkbnVtIGluIG1hcC1rZXlzKCRoZWFkZXItaW1hZ2VzKSB7XG4gICRtYXA6ICAgbWFwLWdldCgkaGVhZGVyLWltYWdlcywgJG51bSk7XG4gICRzaXplOiAgbWFwLWdldCgkbWFwLCBzaXplKTtcbiAgJHRpdGxlOiBtYXAtZ2V0KCRtYXAsIHRpdGxlKTtcbiAgJGJnOiAgICBtYXAtZ2V0KCRtYXAsIGJnKTtcbiAgXG4gIEBpbmNsdWRlIGhlYWRlci1pbWFnZS12YXJpYW50KCRudW0sICRzaXplLCAkdGl0bGUsICRiZyk7XG59XG5cblxuLy8gUGFnZSBTdWJoZWFkZXJcblxuLnBhZ2Utc3ViaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNhbmQtbGlnaHQ7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkc2FuZC1tZWRpdW07XG4gIHBhZGRpbmctdG9wOiBzcGFjZXIoMSk7XG4gIHBhZGRpbmctYm90dG9tOiBzcGFjZXIoMSk7XG59XG5cbi8vIEJhY2tncm91bmQgc2FuZC9ncmF5IHV0aWxpdGllc1xuXG4uYmctc2FuZC1saWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzYW5kLWxpZ2h0O1xufVxuXG4uYmctc2FuZC1tZWRpdW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2FuZC1tZWRpdW07XG59XG5cbi5iZy1zYW5kLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2FuZC1kYXJrO1xufSIsIi8qICBGZWF0dXJlIEl0ZW1zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8vIEZlYXR1cmUtYmxvY2tzXG5cbi5mZWF0dXJlLWJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG5cdGJvcmRlcjogc29saWQgM3B4ICRib2R5LWJhY2tncm91bmQ7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcbiAgXG4gICYuc2Vjb25kYXJ5IHtcbiAgXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2FuZC1tZWRpdW07XG4gIFx0Ym9yZGVyOiBzb2xpZCAzcHggJGJvZHktYmFja2dyb3VuZDtcbiAgXHRib3JkZXItcmFkaXVzOiA2cHg7XG4gIFx0cGFkZGluZzogcmVtLWNhbGMoMjBweCk7XG4gIH1cbiAgXG4gICYudGVydGlhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzYW5kLWxpZ2h0O1xuICAgIGJvcmRlcjogc29saWQgMnB4ICRzYW5kLW1lZGl1bTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMHB4KTtcbiAgfVxufVxuXG4uZmVhdHVyZS1ibG9ja19faGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxMnB4IDEwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICRzYW5kLWxpZ2h0O1xuXHRib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJHNhbmQtbWVkaXVtO1xuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRcblx0LnNlY29uZGFyeSAmIHtcbiAgXHRwYWRkaW5nOiAwO1xuICBcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdH1cblx0XG59XG5cbi5mZWF0dXJlLWJsb2NrX190aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIFxuICAuY29sbGFwc2libGUgJiB7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgfVxuICBcbiAgLmlzLWNvbGxhcHNlZCAmIHtcbiAgICBjb2xvcjogJHVtYmVyO1xuICB9XG59XG5cbi5mZWF0dXJlLWJsb2NrX19ib2R5IHtcbiAgcGFkZGluZzogMXB4IDEycHg7XG4gIFxuICAuaXMtY29sbGFwc2VkICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgXG4gIC5zZWNvbmRhcnkgJiB7XG4gICAgcGFkZGluZzogMXB4IDAgMDtcbiAgfVxuICBcbn1cblxuLmZlYXR1cmUtYmxvY2tfX2Zvb3RlciB7XG4gIEBleHRlbmQgLnRleHQtc21hbGxlcjtcbiAgXG4gIC5zZWNvbmRhcnkgJiBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gIH1cbiAgXG59XG5cbi8vIEZlYXR1cmUtYmxvY2sgbGlzdHNcblxuLmZlYXR1cmUtYmxvY2tfX2xpc3Qge1xuICBAZXh0ZW5kIC5uby1idWxsZXQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgXG4gICYubXVsdGljb2wtMiB7XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAyOyAvLyBDaHJvbWUsIFNhZmFyaSwgT3BlcmEgXG4gICAgICAtbW96LWNvbHVtbi1jb3VudDogMjsgLy8gRmlyZWZveCBcbiAgICAgIGNvbHVtbi1jb3VudDogMjsgIFxuICAgIH1cbiAgICBcbiAgfVxuICBcbiAgJi5tdWx0aWNvbC00IHtcbiAgICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDQ7IC8vIENocm9tZSwgU2FmYXJpLCBPcGVyYSBcbiAgICAgIC1tb3otY29sdW1uLWNvdW50OiA0OyAvLyBGaXJlZm94IFxuICAgICAgY29sdW1uLWNvdW50OiA0OyAgXG4gICAgfVxuICAgIFxuICB9XG4gIFxuICAmLml0ZW0tZ3JpZCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbTsgLy8gT2Zmc2V0cyBsaXN0LWl0ZW0gcmlnaHQgbWFyZ2luXG4gIH1cbiAgICBcbiAgPiBsaSB7XG4gICAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDsgLy8gQ2hyb21lLCBTYWZhcmksIE9wZXJhXG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyAvLyBGaXJlZm94XG4gICAgYnJlYWstaW5zaWRlOiBhdm9pZDsgLy8gSUUgMTArXG4gICAgcGFkZGluZzogMXB4IDA7IC8vIEhhY2sgdG8gYXZvaWQgd2VpcmQgYm9yZGVyIGNvbHVtbiBicmVha2FnZVxuICB9XG4gIFxuICAmLml0ZW0tZ3JpZCA+IGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICBcbn1cblxuLmxpc3QtaXRlbSB7XG4gIEBleHRlbmQgLnRleHQtc21hbGxlcjtcbiAgXG4gIC5tZWRpYS1vYmplY3QtdGl0bGUge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4xZW07XG4gIH1cbiAgXG4gIC5zdWJoZWFkZXIge1xuICAgIEBleHRlbmQgLm5vLWJ1bGxldDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIFxuICAuc2Vjb25kYXJ5ICYgLnN1YmhlYWRlciB7XG4gICAgY29sb3I6IGRhcmtlbigkdW1iZXIsIDIwJSk7XG4gIH1cbiAgXG4gIC5pY29uLWxhcmdlIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogLTAuMWVtO1xuICAgIGNvbG9yOiAkdW1iZXI7XG4gICAgXG4gICAgJjpob3ZlciwgXG4gICAgJjphY3RpdmUsIFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgfVxuICB9XG4gIFxuICAuaXRlbS1wcm9wZXJ0eSB7XG4gICAgXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnOic7XG4gICAgfVxuICAgIFxuICB9XG4gIFxuICAubm8tbGFiZWxzICYgLml0ZW0tcHJvcGVydHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgXG4gIC5maXJzdC1wcm9wZXJ0eS1ib2xkICYgdWwgbGk6Zmlyc3QtY2hpbGQge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIFxufVxuXG4ubGlzdC1pdGVtLXRodW1ibmFpbCB7XG4gIFxufVxuXG4ubGlzdC1pdGVtLXRodW1iY2FwdGlvbiwgXG4ubGlzdC1pdGVtLW1lZGlhY2FwdGlvbiB7XG4gIFxuICAuaXRlbS1ncmlkICYge1xuICAgIG1hcmdpbi1yaWdodDogJGdsb2JhbC1tYXJnaW47XG4gIH1cbiAgXG4gIC50aHVtYm5haWwsIFxuICAubWVkaWEtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNWVtO1xuICB9XG4gIFxuICAubWVkaWEtaXRlbSB7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggJHdoaXRlO1xuICB9XG4gIFxufVxuXG4ubGlzdC1pdGVtLXRleHRpbmZvIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgXG4gIGR0OmFmdGVyIHtcbiAgICBjb250ZW50OiAnOic7XG4gIH1cbiAgXG59XG5cbi5saXN0LWl0ZW0tdGV4dGJsb2Ige1xuICBcbn1cblxuLmxpc3QtaXRlbS1yZXNvdXJjZWxpbmsge1xuICBib3JkZXItdG9wOiBzb2xpZCAxcHggJHNhbmQtZGFyaztcbiAgcGFkZGluZy10b3A6IHNwYWNlcigxKTtcbiAgcGFkZGluZy1ib3R0b206IHNwYWNlcihcInF0XCIpO1xufVxuXG4vLyBUaHVtYm5haWwgaW1hZ2Ugc2l6aW5nXG5cbi50aHVtYnNpemUtbGcge1xuICAgXG4gIC50aHVtYm5haWwge1xuICAgIHdpZHRoOiAxNDhweDtcbiAgICBoZWlnaHQ6IGF1dG87ICAgIFxuICB9XG4gIFxuICAmLnRodW1icy1zcXVhcmUgLnRodW1ibmFpbCB7XG4gICAgaGVpZ2h0OiAxNDhweDtcbiAgfVxuICBcbiAgJi5pdGVtLWdyaWQgLmxpc3QtaXRlbSA+ICo6bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDE0OHB4O1xuICB9XG5cbn1cblxuLnRodW1ic2l6ZS1tZCB7XG4gIFxuICAudGh1bWJuYWlsIHtcbiAgICB3aWR0aDogNjJweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgXG4gICYudGh1bWJzLXNxdWFyZSAudGh1bWJuYWlsIHtcbiAgICBoZWlnaHQ6IDYycHg7XG4gIH1cbiAgXG4gIGltZyB7XG4gICAgXG4gIH1cblxufVxuXG4udGh1bWJzaXplLXNtIHtcbiAgXG4gIC50aHVtYm5haWwge1xuICAgIHdpZHRoOiA0MnB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICBcbiAgJi50aHVtYnMtc3F1YXJlIC50aHVtYm5haWwge1xuICAgIGhlaWdodDogNDJweDtcbiAgfVxuXG4gIGltZyB7XG4gICAgXG4gIH1cblxufVxuXG4udGh1bWJzaXplLWZ1bGwge1xuICBcbiAgLnRodW1ibmFpbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgaW1nIHtcbiAgICBcbiAgfVxuXG59XG5cbi8vIFRodW1ibmFpbCBhc3BlY3QgcmF0aW8gZ3VhcmRyYWlsc1xuXG4udGh1bWJuYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNhbmQtZGFyaztcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIFxuICBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gICAgXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgLy8gVGhlc2UgYXJlIGluIGNhc2Ugb2YgZmxleCBmYWlsdXJlXG4gIH1cblxufVxuXG5cbi8vIEV4cGFuZC9jb2xsYXBzZSB0b2dnbGVyXG5cbi5mZWF0dXJlLWJsb2NrX19oZWFkZXIgLnRvZ2dsZXIge1xuXHRkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDIwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgaGVpZ2h0OiAycmVtO1xuICB3aWR0aDogMnJlbTtcbiAgdG9wOiAwLjZyZW07XG4gIHJpZ2h0OiAwLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG5cbiAgJjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDdweCwgJHVtYmVyLCB1cCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgcmlnaHQ6IDAuNTVyZW07XG4gIH1cbiAgXG4gICY6aG92ZXIsIFxuICAmOmFjdGl2ZSwgXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG59XG5cbi5mZWF0dXJlLWJsb2NrLnNlY29uZGFyeSAudG9nZ2xlciB7XG4gIHRvcDogLTAuMnJlbTtcbiAgcmlnaHQ6IC0wLjI1cmVtO1xufVxuXG4uZmVhdHVyZS1ibG9jay5jb2xsYXBzaWJsZSAudG9nZ2xlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uaXMtY29sbGFwc2VkIC5mZWF0dXJlLWJsb2NrX19oZWFkZXIgLnRvZ2dsZXI6YWZ0ZXIge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG59XG5cbi5zZWNvbmRhcnkuaXMtY29sbGFwc2VkIC5mZWF0dXJlLWJsb2NrX19oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vLyBCYWRnZXMgKGNvdW50ZXJzKVxuXG4uYmFkZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRzYW5kLWRhcmssIDUlKTtcbiAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTAuMmVtO1xuICBtYXJnaW4tbGVmdDogMC4yNWVtO1xuICBtaW4td2lkdGg6IDEuODVlbTtcbiAgZm9udC1zaXplOiAwLjY1ZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAwLjRlbSAwLjZlbTtcbiAgYm9yZGVyLXJhZGl1czogMC45ZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBcbiAgLmZlYXR1cmUtYmxvY2tfX2hlYWRlciAmIHtcbiAgICBmb250LXNpemU6IDAuNmVtO1xuICAgIHRvcDogLTAuMjVlbTtcbiAgfVxuICBcbiAgLnZlcnRpY2FsLm1lbnUgJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNhbmQtZGFyaztcbiAgICBwYWRkaW5nOiAwLjFlbSAwLjM1ZW0gMC4yZW07XG4gICAgbWluLXdpZHRoOiAxZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuMTVlbTtcbiAgICBvcGFjaXR5OiAwLjg7XG4gIH1cbiAgXG4gIC8vIENvbG9yIHZhcmlhbnQgY3VzdG9taXphdGlvbnNcbiAgJi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR1bWJlcjtcbiAgfVxufVxuXG4vLyBJbi1wYWdlIG5hdmlnYXRpb24gbWVudXMgXG5cbi5mZWF0dXJlLWJsb2NrIC5tZW51LnZlcnRpY2FsIHtcbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgXG4gICAgPiBsaSBhIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjRyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC40cmVtO1xuICAgIH1cbiAgICBcbiAgfVxuICBcbiAgW2RhdGEtaWNvbl0sIFxuICBbY2xhc3NePVwiaWNvbi1cIl0sIFxuICBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgICBjb2xvcjogJG1hcm9vbjtcbiAgfVxuICBcbn1cblxuXG4vLyBGZWF0dXJlZCB0b3AgY29udGVudFxuXG4uaXRlbV9fZmVhdHVyZWQtaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDk7XG4gIG1hcmdpbi1ib3R0b206ICgkZ2xvYmFsLW1hcmdpbiAvIDIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2FuZC1kYXJrO1xuICBib3JkZXI6IHNvbGlkIDNweCAkd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgYm94LXNoYWRvdzogMCAzcHggOHB4IHJnYmEoMCwwLDAsMC4zNSk7XG4gIFxuICBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogOTQwcHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG4gIFxufVxuXG4uaXRlbV9fZmVhdHVyZWQtaW1hZ2VfX2NhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMHB4O1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjUpO1xuICBjb2xvcjogJHdoaXRlO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xufVxuXG4uaXRlbV9fb3ZlcnZpZXcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZSgkYm9keS1iYWNrZ3JvdW5kLCAwLjEpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDk7IC8vIEtlZXBzIHRoaXMgY29udGVudCBhYm92ZSB0aGUgcmlnaHQtc2lkZSBqdW1wIG1lbnVcbn1cblxuXG5cblxuLy8gRXhwZXJpbWVudDogVmlkZW8gYm9yZGVycyAoVE9ETzogcHV0IHRoaXMgc29tZXdoZXJlIGJldHRlcilcblxuLnZpZGVvLWJvcmRlciB7XG4gIFxuICAubWVkaWEtb2JqZWN0IHZpZGVvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2FuZC1tZWRpdW07XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggJHNhbmQtZGFyaztcbiAgfVxufVxuXG5cbi8vIFNoYXJlIExpbmtzXG5cbi5zaGFyZS1saW5rcyB7XG4gIGZvbnQtc2l6ZTogJG1lZGl1bS1mb250LXNpemU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnNoYXJlLWxpbmtzX190ZXh0IHtcbiAgZmxleDogMCAwIDMuNWVtOyAvLyBMZW5ndGggb2YgdGhlIHdvcmQgXCJTaGFyZTpcIlxuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5zaGFyZS1saW5rc19faWNvbnMge1xuICBmbGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgZm9udC1zaXplOiByZW0tY2FsYygyNHB4KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgXG4gIGxpIHtcbiAgICBmbGV4OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiBzcGFjZXIoXCJxdFwiKTtcbiAgfVxuICBcbiAgYSwgXG4gIHNwYW4ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLy8gTGVmdC1hbGlnbmVkIHZhcmlhbnRcbi5zaGFyZS1saW5rcy0tbGVmdCB7XG4gIFxuICAuc2hhcmUtbGlua3NfX2ljb25zIHtcbiAgICBmbGV4OiAwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBcbiAgICBsaSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogc3BhY2VyKFwicXRcIik7XG4gICAgfVxuICB9XG59XG5cbi5zaGFyZS1lbWFpbCB7XG4gIGNvbG9yOiAjNjA1ODUyO1xuICBcbiAgJjpob3ZlciwgXG4gICY6YWN0aXZlLCBcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IGRhcmtlbigjNjA1ODUyLCAxNSUpO1xuICB9XG59XG4uc2hhcmUtZmFjZWJvb2sge1xuICBjb2xvcjogIzI4NjdCMTtcbiAgXG4gICY6aG92ZXIsIFxuICAmOmFjdGl2ZSwgXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiBkYXJrZW4oIzI4NjdCMSwgMTUlKTtcbiAgfVxufVxuLnNoYXJlLXR3aXR0ZXIge1xuICBjb2xvcjogIzRBOTBFMjtcbiAgXG4gICY6aG92ZXIsIFxuICAmOmFjdGl2ZSwgXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiBkYXJrZW4oIzRBOTBFMiwgMTUlKTtcbiAgfVxufVxuLnNoYXJlLWluc3RhZ3JhbSB7XG4gIGNvbG9yOiAjNkI2MjVDO1xuICBcbiAgJjpob3ZlciwgXG4gICY6YWN0aXZlLCBcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IGRhcmtlbigjNjA1ODUyLCAxNSUpO1xuICB9XG59XG5cbiIsIi8vXG4vLyBEaWdpdGFsIEdpemEgTGlicmFyeSBpdGVtc1xuLy9cblxuLmxpYnJhcnktaXRlbSB7XG4gIHBhZGRpbmc6ICgkZ2xvYmFsLXBhZGRpbmcgKiAuNzUpO1xuICBtYXJnaW4tdG9wOiAtKCRnbG9iYWwtbWFyZ2luICogLjc1KTtcbiAgbWFyZ2luLWJvdHRvbTogKCRnbG9iYWwtbWFyZ2luICogLjc1KTtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICRzYW5kLWxpZ2h0O1xuICBcbiAgOmZpcnN0LWNoaWxkID4gJiB7XG4gICAgXG4gIH1cbiAgXG4gIDpsYXN0LWNoaWxkID4gJiB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIH1cbiAgXG59XG5cbi5saWJyYXJ5LWl0ZW1fX3ByaW1hcnkge1xufVxuXG4ubGlicmFyeS1pdGVtX19zZWNvbmRhcnkge1xuICBAZXh0ZW5kIC50ZXh0LW11dGVkO1xuICBAZXh0ZW5kIC50ZXh0LXNtYWxsZXI7XG59XG5cbiAgLmxpYnJhcnktaXRlbV9fZm9ybWF0IHtcbiAgICBcbiAgfVxuICBcbiAgLmxpYnJhcnktaXRlbV9fZmlsZXNpemUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9IiwiLyogIEhvbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLy8gVmlkZW8gYmcgaGVyb1xuXG4uaG9tZS1oZXJvLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIC8vIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBcbiAgLy8gaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jNzFhN2M0KzAsOWZiY2NhKzI3LGMxYzhjZSszOSxjNmJmYjQrNDEsZDhjYWIzKzQ4LGRiYzhiNSsxMDBcbiAgYmFja2dyb3VuZDogIzcxYTdjNDsgLyogT2xkIGJyb3dzZXJzICovXG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgICM3MWE3YzQgMCUsICM5ZmJjY2EgMjclLCAjYzFjOGNlIDM5JSwgI2M2YmZiNCA0MSUsICNkOGNhYjMgNDglLCAjZGJjOGI1IDEwMCUpOyAvKiBGRjMuNi0xNSAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICAjNzFhN2M0IDAlLCM5ZmJjY2EgMjclLCNjMWM4Y2UgMzklLCNjNmJmYjQgNDElLCNkOGNhYjMgNDglLCNkYmM4YjUgMTAwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICAjNzFhN2M0IDAlLCM5ZmJjY2EgMjclLCNjMWM4Y2UgMzklLCNjNmJmYjQgNDElLCNkOGNhYjMgNDglLCNkYmM4YjUgMTAwJSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzcxYTdjNCcsIGVuZENvbG9yc3RyPScjZGJjOGI1JyxHcmFkaWVudFR5cGU9MCApOyAvKiBJRTYtOSAqL1xufVxuXG4udmlkZW8tYmctaG9tZSB7XG4gIGhlaWdodDogNTUwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNTtcbn1cblxuLmhvbWUtaGVyby1vdmVybGF5IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2FuZC1kYXJrO1xuICBvcGFjaXR5OiAwLjQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbn1cblxuLmhvbWUtaGVyby10aXRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIFxuICBAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7IC8vIFNtYWxsZXItc2NyZWVuIGZpeGVzXG5cdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDEzMHB4KTtcblx0XHRwYWRkaW5nLWxlZnQ6IDIuMnJlbTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDUwcHggN3B4IDApO1xuXHR9XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHBhZGRpbmctdG9wOiAyMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMHJlbTtcbiAgfVxuICBcbiAgPiBoMSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggNnB4IHJnYmEoMCwwLDAsMC41KTtcbiAgICBmb250LXNpemU6IDMuNzVyZW07XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZvbnQtc2l6ZTogNnJlbTtcbiAgICB9XG4gICAgXG4gICAgLnRpdGxlLXRleHQtYWx0IHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYWNjZW50LWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgdGV4dC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsMCwwLDAuNzUpO1xuICAgICAgXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH0gXG4gIH1cbn1cblxuLmhvbWUtaGVyby1jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0OSwgNDYsIDQzLCAwLjg4KTsgLy8gJGR1bmUsIG5vdCBibGFja1xuICBwYWRkaW5nOiAxLjJyZW0gMS41cmVtIDAuNXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGNvbG9yOiAjZmZmO1xuICB6LWluZGV4OiAxO1xuICBcbiAgLy8gU21hbGxlci1zY3JlZW4gZml4ZXNcbiAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMTBweCA0cHgpO1xuXHR9XG5cblx0LmxlYWQge1xuXHRcdEBpbmNsdWRlIG1lZGlhKCc8ZGVza3RvcCcpIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMThweCk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE3cHgpO1xuXHRcdH1cblx0fVxuXG5cdC5idXR0b24ge1xuXHRcdCYuaWNvbi1zZWFyY2gge1xuXHRcdFx0cGFkZGluZzogMC43NmVtIDFlbTtcblx0XHR9XG5cdH1cbn1cblxuLy8gQ2FsbG91dHMgLSBjaGllZmx5IHRoZSBHRFBSIGNvb2tpZXMgYmFubmVyIG9uIHRoZSBob21lcGFnZVxuXG4uY2FsbG91dFtkYXRhLWNsb3NhYmxlXSB7XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW07IC8vIExlYXZlIHJvb20gZm9yIHRoZSBDbG9zZSBidXR0b24gd2l0aG91dCBvdmVybGFwc1xufVxuXG4vLyBTcGVjaWFsIGNhbGxvdXQgZml4ZWQgdG8gdGhlIGJvdHRvbSBlZGdlXG4uY2FsbG91dC1iYW5uZXItYm90dG9tIHtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5OTk5O1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3gtc2hhZG93OiAwIC0xcHggNHB4IHJnYmEoJGR1bmUsIDAuMik7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcbi8vXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40Ljlcbi8vXG4vLyAgICAgICAgICAgICAgICBodHRwOi8vaW5jbHVkZS1tZWRpYS5jb21cbi8vXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcbi8vICAgICAgICAgICAgICAgICAgSHVnbyBHaXJhdWRlbCAoQGh1Z29naXJhdWRlbClcbi8vXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXG5cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcbi8vL1xuJGJyZWFrcG9pbnRzOiAoXG4gICdwaG9uZSc6IDMyMHB4LFxuICAndGFibGV0JzogNzY4cHgsXG4gICdkZXNrdG9wJzogMTAyNHB4XG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcbi8vLyAgKTtcbi8vL1xuJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcbiAgJ3ByaW50JzogJ3ByaW50JyxcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxuICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxuICAncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XG4vLy9cbiR1bml0LWludGVydmFsczogKFxuICAncHgnOiAxLFxuICAnZW0nOiAwLjAxLFxuICAncmVtJzogMC4xLFxuICAnJzogMFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3Jcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xuICBAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xuICAgIEBlcnJvciAkbWVzc2FnZTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJG1lc3NhZ2U7XG4gICAgJF86IG5vb3AoKTtcbiAgfVxuXG4gIEByZXR1cm4gJG1lc3NhZ2U7XG59XG5cblxuLy8vXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQG1peGluIGxvZygkbWVzc2FnZSkge1xuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxufVxuXG5cbi8vL1xuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxuLy8vXG5AZnVuY3Rpb24gbm9vcCgpIHt9XG5cbi8vL1xuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcblxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cbiAgfVxuXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XG5cbiAgICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFNwYWNlQXJvdW5kT3BlcmF0b3JcbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxuICAgICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xuICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLy9cbi8vLyBQYXJzaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3Jcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcblxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xuICB9IEBlbHNlIHtcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xuICB9XG5cbiAgJGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcblxuICBAaWYgbm90ICRpbnRlcnZhbCB7XG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuICAgIEByZXR1cm4gKCk7XG4gIH1cblxuICAkcmVzdWx0OiAoKTtcblxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfVxuLy8vXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG4gIH1cblxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcbiAgJHJlc3VsdDogMDtcbiAgJGRpZ2l0czogMDtcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xuICAkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XG5cbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcbiAgICAkdmFsdWU6IHN0ci1zbGljZSgkdmFsdWUsIDIpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XG5cbiAgICBAaWYgbm90IChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKVxuICAgIH1cblxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG4gICAgICAkZGlnaXRzOiAxO1xuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xufVxuXG5cbi8vL1xuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxuLy8vXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcbiAgJHVuaXRzOiAoJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dywgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcblxuICBAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XG4gICAgJF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XG59XG5cbi8vL1xuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcbi8vLyBmb3IgaW5zdGFuY2UuXG4vLy9cbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xuXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XG5cbiAgQGNvbnRlbnQ7XG5cbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XG59XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxuLy8vXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgU3BhY2VBcm91bmRPcGVyYXRvclxuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXG4gICAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcbiAgICBAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogIE15R2l6YSAoTmV3IGZvciBNeUdpemEpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8vXG4vLyBMYW5kaW5nIFBhZ2UgU3R5bGVzXG4vLyBcblxuLmJnLXN0cmV0Y2gge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0ei1pbmRleDogLTE7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG59XG5cbi5oZWFkaW5nLWJsb2NrIHtcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTZweCk7XG5cblx0aDEge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjRweCk7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRsaW5lLWhlaWdodDogMS4zMztcblx0XHRjb2xvcjogIzczMTQyMjtcblx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMXB4KTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzRweCk7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNHB4KTtcblx0XHR9XG5cdH1cblxuXHRwIHtcbiAgXHRmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xuXHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjBweCk7XG5cdFx0fVxuXHR9XG59XG5cbi5jb2xsZWN0aW9uLXNlY3Rpb24ge1xuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMnB4KTtcblxuXHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzBweCk7XG5cdH1cblxuXHQuZmxleC1ob2xkIHtcblx0XHRtYXJnaW46IHJlbS1jYWxjKDAgLTIwcHggMTFweCk7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1M3B4KTtcblx0XHR9XG5cblx0XHQuY29sdW1ucyB7XG5cdFx0XHRmbG9hdDogbm9uZTtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5pdGVtLXdyYXAge1xuXHRcdG1heC13aWR0aDogcmVtLWNhbGMoNTMwcHgpO1xuXHRcdG1hcmdpbjogMCBhdXRvIHJlbS1jYWxjKDE5cHgpO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49c20tcGhvbmUnKSB7XG5cdFx0XHRwYWRkaW5nOiAwIHJlbS1jYWxjKDQycHgpO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0bWF4LXdpZHRoOiBub25lO1xuXHRcdH1cblxuXHRcdGltZyB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0QGluY2x1ZGUgYW5pbWF0ZShib3gtc2hhZG93KTtcblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGJveC1zaGFkb3c6IDAgMCA2cHggMXB4IHJnYmEoMTcsIDEwMCwgMTczLCAwLjUpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC51cGxvYWQtaWNvbiB7XG5cdFx0XHR3aWR0aDogcmVtLWNhbGMoOTZweCk7XG5cdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDk2cHgpO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygtMjRweCk7XG5cdFx0XHRcdHdpZHRoOiByZW0tY2FsYyg3MHB4KTtcblx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYyg3MHB4KTtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bGFyZ2UnKSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRcdHdpZHRoOiByZW0tY2FsYyg5NnB4KTtcblx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYyg5NnB4KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuY2FwdGlvbiB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoNDksIDQ2LCA0MywgMC44KTtcblx0XHRjb2xvcjogI2ZmZjtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0cHgpO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjE0O1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDZweCAyMHB4IDZweCA4cHgpO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuXHRcdFx0cGFkZGluZzogcmVtLWNhbGMoOXB4IDhweCk7XG5cdFx0fVxuXG5cdFx0c3Ryb25nIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMnB4O1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDVweCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0c3BhbiB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTJweCk7XG5cdFx0fVxuXHR9XG5cblx0Lml0ZW1zLWhvbGRlciB7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdG1hcmdpbjogcmVtLWNhbGMoMCAtOXB4KTtcblx0XHR9XG5cblx0XHQuaXRlbS13cmFwIHtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdFx0d2lkdGg6IDUwJTtcblx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMCA5cHgpO1xuXHRcdFx0fVxuXG5cdFx0XHQrLml0ZW0td3JhcCsuaXRlbS13cmFwIHtcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDE3cHgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmJ1dHRvbiB7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG5cblx0cC50ZXh0LWNlbnRlciB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNHB4KTtcblx0XHRjb2xvcjogIzZiNjI1Yztcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMHB4KTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEycHgpO1xuXHRcdH1cblx0fVxuXG5cdC5jb2xsZWN0aW9uLXNlYXJjaCB7XG5cdFx0bWF4LXdpZHRoOiByZW0tY2FsYyg3ODdweCk7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjJweCk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg5N3B4KTtcblx0XHR9XG5cblx0XHQuaW5wdXQtd3JhcCB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcblx0XHRcdGhlaWdodDogcmVtLWNhbGMoMzRweCk7XG5cdFx0XHRib3gtc2hhZG93OiBpbnNldCAxcHggMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogcmVtLWNhbGMoM3B4KTtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICM5Nzk3OTc7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNnB4KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI1O1xuXHRcdFx0Y29sb3I6ICNhMDk1OGU7XG5cdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg3cHggMTBweCk7XG5cdFx0XHRtYXJnaW46IDA7XG5cblx0XHRcdEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcblx0XHRcdFx0Y29sb3I6ICNhMDk1OGU7XG5cdFx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRidXR0b25bdHlwZT1cInN1Ym1pdFwiXSB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IHJlbS1jYWxjKDEwcHgpO1xuXHRcdFx0cmlnaHQ6IHJlbS1jYWxjKDEwcHgpO1xuXHRcdFx0Y29sb3I6ICM2YjYyNWM7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0fVxuXG5cdFx0bGFiZWwge1xuXHRcdFx0Y29sb3I6ICMzMTJlMmI7XG5cdFx0XHRmb250LWZhbWlseTogSGVsdmV0aWNhO1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOHB4KTtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0d2lkdGg6IHJlbS1jYWxjKDE4NXB4KTtcblx0XHRcdG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNXB4KTtcblx0XHR9XG5cdH1cblxuXHQuc2VsZWN0aW9uLXJvdyB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIxcHgpO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjVweCk7XHRcdFx0XG5cdFx0fVxuXHR9XG5cblx0LnZpZXctc3dpdGNoZXIge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3R0b206IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG5cblx0Lm51bS10aXRsZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y29sb3I6ICMwMDA7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMHB4KTtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjM7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMXB4KTtcblx0XHR9XG5cdH1cblxuXHQuY29sbGVjdGlvbnMtbGlzdCB7XG5cdFx0QGV4dGVuZCAlbGlzdHJlc2V0O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdG1hcmdpbjogcmVtLWNhbGMoMCAtMTVweCk7XG5cdFx0fVxuXG5cdFx0bGkge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJzxtZWRpdW0nKSB7XG5cdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDAgMjBweCA5cHgpO1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RiZDZkMDtcblx0XHRcdFx0bWFyZ2luOiByZW0tY2FsYygwIC0yMHB4KTtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHR3aWR0aDogMzMuMzMlO1xuXHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYygwIDE1cHggMzBweCk7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdFx0d2lkdGg6IDI1JTtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bGFyZ2UnKSB7XG5cdFx0XHRcdHdpZHRoOiAyMCU7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj13aWRlc2NyZWVuJykge1xuXHRcdFx0XHR3aWR0aDogMTYuNjYlO1xuXHRcdFx0fVxuXG5cdFx0XHQrbGkge1xuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdFx0Lmxpc3QtYWN0aXZlICYge1xuXHRcdFx0XHRcdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDEwcHgpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8bWVkaXVtJykge1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYygxMHB4KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQubGlzdC1hY3RpdmUgJiB7XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5pdGVtLXdyYXAge1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdG1hcmdpbjogMDtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJzxtZWRpdW0nKSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cdFx0XHRcdG1heC13aWR0aDogbm9uZTtcblx0XHRcdH1cblxuXHRcdFx0cGljdHVyZSB7XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8bWVkaXVtJykge1xuXHRcdFx0XHRcdHdpZHRoOiAxNC4zNSU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0YSB7XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8bWVkaXVtJykge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGFuaW1hdGUob3BhY2l0eSk7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDAuNzU7XG5cblx0XHRcdFx0XHRcdC5mYS1jaGV2cm9uLXJpZ2h0IHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICMxMTY0YWQ7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5saXN0LWFjdGl2ZSAmIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblxuXHRcdFx0LmNhcHRpb24ge1xuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPG1lZGl1bScpIHtcblx0XHRcdFx0XHRwb3NpdGlvbjogc3RhdGljO1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHRcdFx0Y29sb3I6ICM2YjYyNWM7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxMnB4KTtcblx0XHRcdFx0XHR3aWR0aDogODUuNjUlO1xuXG5cdFx0XHRcdFx0c3Ryb25nIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAjMzEyZTJiO1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNnB4KTtcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDVweCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5mYS1jaGV2cm9uLXJpZ2h0IHtcblx0XHRcdFx0Y29sb3I6ICNhMDk1OGU7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMThweCk7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKC01cHgpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5saXN0LXJvdyB7XG5cdFx0XHRAZXh0ZW5kICVjbGVhcmZpeDtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGJkNmQwO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDZweCk7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8bWVkaXVtJykge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cblx0XHRcdC5saXN0LWFjdGl2ZSAmIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmJ0bi1ob2xkIHtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMnB4IDE0cHgpO1xuXG5cdFx0LmJ1dHRvbiB7XG5cdFx0XHQmLnByaW1hcnkge1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNCwgMzQsIDAuNCk7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0XHRcdFx0YmFja2dyb3VuZDogIzAyNzljMTtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxMXB4KTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMjc7XG5cdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDZweCAxN3B4KTtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDVweCk7XG5cdFx0XHRcdHRleHQtc2hhZG93OiAwIDFweCAwIHJnYmEoMzQsIDM0LCAzNCwgMC41KTtcblxuXHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjMTE2NGFkO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmNoZWNrLWhvbGQge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDMwcHgpO1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdG1heC13aWR0aDogNTYlO1xuXG5cdFx0LmZha2UtaW5wdXQge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiByZW0tY2FsYyg0cHgpO1xuXHRcdFx0bGVmdDogMXB4O1xuXHRcdFx0d2lkdGg6IHJlbS1jYWxjKDE1cHgpO1xuXHRcdFx0aGVpZ2h0OiByZW0tY2FsYygxNXB4KTtcblx0XHRcdGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjOTc5Nzk3O1xuXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAycHg7XG5cdFx0XHRcdGxlZnQ6IDJweDtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAjOTc5Nzk3O1xuXHRcdFx0XHRib3JkZXItd2lkdGg6IDAgMCAycHggMnB4O1xuXHRcdFx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdFx0XHR3aWR0aDogcmVtLWNhbGMoOXB4KTtcblx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYyg2cHgpO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGxhYmVsIHtcblx0XHRcdGNvbG9yOiAjNzMxNDIyO1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMHB4KTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4zO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIjtcblxuXHRcdFx0ZW0ge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0XHRcdG1hcmdpbjogcmVtLWNhbGMoMnB4IDAgMCA1cHgpO1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0XHRcdFx0Y29sb3I6ICMzMTJlMmI7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTZweCk7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cdFx0XHR9XG5cblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRvdXRsaW5lOiAxcHggZGFzaGVkO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0bGVmdDogMDtcblxuXHRcdFx0JjpjaGVja2VkIHtcblx0XHRcdFx0Ky5mYWtlLWlucHV0IHtcblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHQrLmZha2UtaW5wdXQge1xuXHRcdFx0XHRcdGJvcmRlci1jb2xvcjogIzAyNzljMTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5ib2R5IHsgLy8gUmV2aXNpdCB0aGlzIC0gY29udHJvbHMgc29tZSBzaG93aW5nL2hpZGluZyBvZiBkeW5hbWljIHBhZ2UgYXJlYXNcblx0Jjpub3QoLmxpc3QtYWN0aXZlKSB7XG5cdFx0LmNvbGxlY3Rpb24tc2VjdGlvbiAuY29sbGVjdGlvbnMtbGlzdCAubGlzdC1yb3csXG5cdFx0LnNlbGVjdC1saW5rcyxcblx0XHQuY29sbGVjdGlvbi1zZWN0aW9uIC5udW0tdGl0bGUgZW0ge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cblx0XHQuY29sbGVjdGlvbi1zZWN0aW9uIC5zZWxlY3Rpb24tcm93IHtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjNweCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5jb2xvci1iZy1zZWN0aW9uIHtcblx0YmFja2dyb3VuZDogI2YwZWFlNDtcblx0Zm9udC1zaXplOiByZW0tY2FsYygxNHB4KTtcblx0bGluZS1oZWlnaHQ6IDEuNTc7XG5cdHBhZGRpbmc6IHJlbS1jYWxjKDI4cHggMCAxNXB4KTtcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjlweCk7XG5cblx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTZweCk7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNTtcblx0XHRwYWRkaW5nOiByZW0tY2FsYygzMHB4IDAgMjlweCk7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDBweCk7XG5cdH1cblxuXHRoMyB7XG5cdFx0Y29sb3I6ICM3MzE0MjI7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMXB4KTtcblx0XHR9XG5cdH1cblxuXHQmLnJlc2VhcmNoLWJnIHtcblx0XHRiYWNrZ3JvdW5kOiAjZTZmMWZhO1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzFweCk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg0MHB4IDAgNThweCk7XG5cdFx0fVxuXG5cdFx0Ky5mb290ZXIge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHR9XG5cblx0XHRwIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwcHgpO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQ0cHgpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGgzIHtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNnB4KTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuYnRuLXdyYXAge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbmgzIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblxuXHRAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xuXHR9XG59XG5cbi5idXR0b24ge1xuXHQmLmxnLWJ0biB7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDExcHggMTBweCAxMHB4KTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRib3JkZXItY29sb3I6IHJnYmEoMzQsIDM0LCAzNCwgMC40KTtcblx0XHRtYXJnaW46IDA7XG5cdFx0Ym94LXNoYWRvdzogMCAxcHggMCAjZDlkOWQ5O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMHB4KTtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYygxM3B4IDMzcHggMTVweCk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJzxzbS1waG9uZScpIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTRweCk7XG5cdFx0fVxuXHR9XG59XG5cbi5jb2xsZWN0aW9uLWluZm8ge1xuXHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTlweCk7XG5cdH1cblxuXHQucm93IHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxM3B4KTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MnB4KTtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0fVxuXG5cdFx0JjpiZWZvcmUsXG5cdFx0JjphZnRlciB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5pbWctcmlnaHQge1xuXHRcdFx0LnRleHQtd3JhcCB7XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdFx0XHRvcmRlcjogLTE7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LmltZy13cmFwIHtcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuXHRcdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDAgMTdweCAwIDApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmltZy13cmFwIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMHB4KTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdHdpZHRoOiA0Ni44JTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDQwcHgpO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PWxhcmdlJykge1xuXHRcdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoNjBweCk7XG5cdFx0fVxuXG5cdFx0aW1nIHtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmltZyB7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjNmI2MjVjO1xuXHRcdH1cblx0fVxuXG5cblx0LnRleHQtd3JhcCB7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuXHRcdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjZweCk7XG5cdFx0XHR3aWR0aDogNTEuNSU7XG5cdFx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygtMTBweCk7XG5cdFx0fVxuXHR9XG5cblx0aDMge1xuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEycHgpO1xuXHRcdH1cblx0fVxufVxuXG5cbi8vXG4vLyBDb2xsZWN0aW9uIFBhZ2UgU3R5bGVzXG4vL1xuXG4uY29sbGVjdGlvbi1oZWFkaW5nIHtcblx0Ly9tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMHB4KTtcblx0Ly9tYXJnaW46IHJlbS1jYWxjKC03cHggLTRweCAxMHB4KTtcblxuXHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0Ly9tYXJnaW46IHJlbS1jYWxjKC0yMnB4IDAgMjVweCk7XG5cdH1cblxuXHQudGl0bGVzIHtcblx0XHRjb2xvcjogIzExNjRhZDtcblx0XHRmb250LWZhbWlseTogJ01vbnRzZXJyYXQnO1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMThweCk7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMzM7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblx0XHRmbG9hdDogbGVmdDtcblx0XHR3aWR0aDogY2FsYygxMDAlIC0gMzRweCk7XG5cdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTBweCk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDI4cHgpO1xuXHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDU0cHgpO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc8Mzc1cHgnKSB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xuXHRcdH1cblxuXHRcdGEge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0Y29sb3I6ICMxMTY0YWQ7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHRjb2xvcjogIzMxMmUyYjtcblx0XHRcdH1cblxuXHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0fVxuXG5cdFx0XHQrYSB7XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjOGM4MTc5O1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjp0b3A7XG5cdFx0XHRcdFx0d2lkdGg6IHJlbS1jYWxjKDJweCk7XG5cdFx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYygxOHB4KTtcblx0XHRcdFx0XHRtYXJnaW46IHJlbS1jYWxjKDNweCAxMHB4IDAgN3B4KTtcblxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdFx0XHRcdHdpZHRoOiByZW0tY2FsYygycHgpO1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYygyNnB4KTtcblx0XHRcdFx0XHRcdG1hcmdpbjogcmVtLWNhbGMoOHB4IDE2cHggMCAxMXB4KTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPDM3NXB4Jykge1xuXHRcdFx0XHRcdFx0bWFyZ2luOiByZW0tY2FsYygycHggOHB4IDAgNnB4KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuYWRkIHtcblx0XHR3aWR0aDogcmVtLWNhbGMoMzRweCk7XG5cdFx0aGVpZ2h0OiByZW0tY2FsYygzNHB4KTtcblx0XHRib3JkZXItcmFkaXVzOiByZW0tY2FsYyg0MHB4KTtcblx0XHRiYWNrZ3JvdW5kOiAjMTE2NGFkO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0bWFyZ2luOiByZW0tY2FsYygtNnB4IC02cHggMCAwKTtcblx0XHRAaW5jbHVkZSBhbmltYXRlKGJhY2tncm91bmQpO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuXHRcdFx0d2lkdGg6IHJlbS1jYWxjKDQwcHgpO1xuXHRcdFx0aGVpZ2h0OiByZW0tY2FsYyg0MHB4KTtcblx0XHRcdG1hcmdpbjogcmVtLWNhbGMoMCAxNHB4IDAgMCk7XG5cdFx0fVxuXG5cdFx0JjpiZWZvcmUsXG5cdFx0JjphZnRlciB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0XHR3aWR0aDogcmVtLWNhbGMoMTRweCk7XG5cdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDRweCk7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRcdHdpZHRoOiByZW0tY2FsYygyMHB4KTtcblx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYyg1cHgpO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAxcHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjphZnRlciB7XG5cdFx0XHR3aWR0aDogcmVtLWNhbGMoNHB4KTtcblx0XHRcdGhlaWdodDogcmVtLWNhbGMoMTRweCk7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdFx0d2lkdGg6IHJlbS1jYWxjKDVweCk7XG5cdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoMjBweCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBkYXJrZW4oIzExNjRhZCwgMTAlKTtcblx0XHR9XG5cdH1cblxuXHQubGlua3Mge1xuXHRcdEBleHRlbmQgJWNsZWFyZml4O1xuXHRcdGNvbG9yOiAjMzEyZTJiO1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTZweCk7XG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2cHgpO1xuXHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYygxN3B4KTtcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoOXB4KTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMThweCk7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoN3B4KTtcblx0XHR9XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0YmFja2dyb3VuZDogI2RiZDZkMDtcblx0XHRcdGhlaWdodDogMXB4O1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0bGVmdDogcmVtLWNhbGMoMjNweCk7XG5cdFx0XHRyaWdodDogcmVtLWNhbGMoMjNweCk7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdFx0bGVmdDogcmVtLWNhbGMoMjBweCk7XG5cdFx0XHRcdHJpZ2h0OiByZW0tY2FsYygyMHB4KTtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuXHRcdFx0XHRsZWZ0OiByZW0tY2FsYyg5cHgpO1xuXHRcdFx0XHRyaWdodDogcmVtLWNhbGMoMTJweCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmdvLWJhY2sge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJzxtZWRpdW0nKSB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxM3B4KTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuNTtcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTZweCk7XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjogIzMxMmUyYjtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5kcm9wZG93biB7XG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYygwIDVweCk7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHR9XG5cblx0XHRcdD4gbGkge1xuXHRcdFx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRcdFx0PiBhIHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICMzMTJlMmI7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0XHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCsgbGkge1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDAgMCAwIDEwcHgpO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDAgMCAwIDIycHgpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdD4gYSB7XG5cdFx0XHRcdFx0Y29sb3I6ICMzMTJlMmI7XG5cdFx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMCAyNHB4IDAgMCk7XG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdFx0XHRjb2xvcjogIzExNjRhZDtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEzcHgpO1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuNTtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNnB4KTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdGJvcmRlci13aWR0aDogcmVtLWNhbGMoNnB4IDVweCAwIDVweCk7XG5cdFx0XHRcdFx0XHRib3JkZXItY29sb3I6ICM4YzgxNzkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG5cblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjYTUxYjMwO1xuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdGJvdHRvbTogcmVtLWNhbGMoLTlweCk7XG5cdFx0XHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDRweCk7XG5cdFx0XHRcdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdFx0XHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYW5pbWF0ZShvcGFjaXR5IHZpc2liaWxpdHkpO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRcdFx0XHRcdGxlZnQ6IHJlbS1jYWxjKC02cHgpO1xuXHRcdFx0XHRcdFx0XHRyaWdodDogcmVtLWNhbGMoLTZweCk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRjb2xvcjogIzMxMmUyYjtcblxuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHRcdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQubWVudSB7XG5cdFx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMTBweCAwKTtcblxuXHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTRweCk7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdFx0XHRcdGNvbG9yOiAjMzEyZTJiO1xuXHRcdFx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoOHB4IDE0cHgpO1xuXG5cdFx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICMwMDA7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5tZW51IHtcblx0XHRcdFx0Ym94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDNweCk7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNhMDk1OGU7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnNhdmUtaGVhZGluZyB7XG5cdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDE0cHgpO1xuXHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxOHB4KTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCAwICMzMTJlMmI7XG5cdFx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTVweCk7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMXB4KTtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKC0xMXB4KTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygtMjBweCk7XG5cdFx0fVxuXG5cdFx0LnRpdGxlIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNnB4KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjM4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdGNvbG9yOiAjMzEyZTJiO1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHR3aWR0aDogNTIlO1xuXHRcdFx0cGFkZGluZzogMCA0cHg7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMHB4KTtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cdFx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmRyb3Bkb3duIHtcblx0XHRcdGZsb2F0OiByaWdodDtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoN3B4KTtcblx0XHRcdH1cblxuXHRcdFx0PmxpIHtcblx0XHRcdFx0PmEge1xuXHRcdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDRweCk7XG5cdFx0XHRcdFx0Y29sb3I6ICM2YjYyNWM7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOHB4KTtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Lm1lbnUge1xuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdFx0cG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPG1lZGl1bScpIHtcblx0XHRcdFx0XHRib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2EwOTU4ZTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDEwcHggMCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNHB4KTtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS40MztcblxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0XHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyMnB4KTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCtsaSB7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICM4YzgxNzk7XG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDFweDtcblx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDEycHgpO1xuXHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdFx0XHR0b3A6IDJweDtcblx0XHRcdFx0XHRcdFx0XHRsZWZ0OiByZW0tY2FsYygtMTJweCk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRjb2xvcjogIzMxMmUyYjtcblx0XHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg4cHggMTRweCk7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdFx0Y29sb3I6ICMxMTY0YWQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi52aWV3LXN3aXRjaGVyIHtcbiAgbWFyZ2luOiAwO1xuICBcblx0bGkge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRcdG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtNHB4KTtcblxuXHRcdCtsaSB7XG5cdFx0XHRhIHtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAjYTUxYjMwO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZjBlYWU0O1xuXHRcdFx0XHRjb2xvcjogIzMxMmUyYjtcblxuXHRcdFx0XHQubGlzdC1hY3RpdmUgJiB7XG5cdFx0XHRcdFx0Y29sb3I6ICNkYmQ2ZDA7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0YSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IHJlbS1jYWxjKDMwcHgpO1xuXHRcdGhlaWdodDogcmVtLWNhbGMoMzBweCk7XG5cdFx0Ym9yZGVyLXJhZGl1czogcmVtLWNhbGMoM3B4KTtcblx0XHRib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRjb2xvcjogI2RiZDZkMDtcblxuXHRcdC5saXN0LWFjdGl2ZSAmIHtcblx0XHRcdGJvcmRlci1jb2xvcjogI2E1MWIzMDtcblx0XHRcdGJhY2tncm91bmQ6ICNmMGVhZTQ7XG5cdFx0XHRjb2xvcjogIzMxMmUyYjtcblx0XHR9XG5cdH1cblxuXHQuYmFyLWljbyB7XG5cdFx0d2lkdGg6IHJlbS1jYWxjKDE4cHgpO1xuXHRcdGhlaWdodDogcmVtLWNhbGMoMTRweCk7XG5cdFx0dGV4dC1pbmRlbnQ6IC05OTk5cHg7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0JjpiZWZvcmUsXG5cdFx0JjphZnRlcixcblx0XHRzcGFuOmJlZm9yZSxcblx0XHRzcGFuOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0YmFja2dyb3VuZDogI2RiZDZkMDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdGhlaWdodDogMnB4O1xuXG5cdFx0XHQubGlzdC1hY3RpdmUgJiB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICMzMTJlMmI7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjphZnRlciB7XG5cdFx0XHR0b3A6IHJlbS1jYWxjKDEycHgpO1xuXHRcdH1cblxuXHRcdHNwYW46YmVmb3JlIHtcblx0XHRcdHRvcDogcmVtLWNhbGMoNHB4KTtcblx0XHR9XG5cblx0XHRzcGFuOmFmdGVyIHtcblx0XHRcdHRvcDogcmVtLWNhbGMoOHB4KTtcblx0XHR9XG5cdH1cbn1cblxuLnNlbGVjdC1saW5rcyB7XG5cdEBleHRlbmQgJWxpc3RyZXNldDtcblx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTAwcHgpO1xuXG5cdGxpIHtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjYzO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG5cdFx0K2xpIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdG1hcmdpbjogcmVtLWNhbGMoMCAwIDAgMjJweCk7XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICM4YzgxNzk7XG5cdFx0XHRcdHdpZHRoOiByZW0tY2FsYygycHgpO1xuXHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDEycHgpO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogcmVtLWNhbGMoN3B4KTtcblx0XHRcdFx0bGVmdDogLTEzcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0YSB7XG5cdFx0Y29sb3I6ICMxMTY0YWQ7XG5cdH1cbn1cblxuLmNvb2tpZXMtbGlnaHQtYmx1ZS1iYXIge1xuXHRjb2xvcjogIzAwMDtcblx0YmFja2dyb3VuZDogcmdiYSgxNDksIDIzNSwgMjM1LCAwLjUpO1xuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyM3B4KTtcblx0cGFkZGluZzogcmVtLWNhbGMoMTFweCAwIDE2cHgpO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygtMTlweCk7XG5cdH1cblxuXHRhIHtcblx0XHRjb2xvcjogIzRhOTBlMjtcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lOztcblx0XHR9XG5cdH1cblxuXHRwIHtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0cHgpO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXG5cdC5yb3cge1xuXHRcdCYucm93LXBhZGRlZCB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDU2cHgpO1xuXHRcdH1cblx0fVxuXG5cdC5mYS1pbmZvLWNpcmNsZSB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyNHB4KTtcblx0XHRjb2xvcjogIzAwMDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiA1MCU7XG5cdFx0bGVmdDogcmVtLWNhbGMoN3B4KTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdH1cbn1cblxuLmFjY29yZGlvbi1zZWN0aW9uIHtcblx0LmFjY29yZGlvbiB7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblxuXHRcdD5saSB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCAjZGJkNmQwO1xuXHRcdFx0bWFyZ2luOiByZW0tY2FsYygwIC0yMHB4KTtcblx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDE3cHggNDdweCAycHgpO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMTlweCAwIDZweCAycHgpO1xuXHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICMzMTJlMmI7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxcHg7XG5cdFx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRcdGxlZnQ6IHJlbS1jYWxjKC0xNHB4KTtcblx0XHRcdFx0XHRyaWdodDogcmVtLWNhbGMoLTE0cHgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdFx0LmFjY29yZGlvbi10aXRsZSB7XG5cdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJzxtZWRpdW0nKSB7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDApO1xuXG5cdFx0XHRcdFx0LmJ1dHRvbiB7XG5cdFx0XHRcdFx0XHR0b3A6LTZweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQuYnV0dG9uIHtcblx0XHRcdCYucHJpbWFyeSB7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzQsIDM0LCAwLjQpO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICMwMjc5YzE7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTFweCk7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI3O1xuXHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg2cHggMTdweCk7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiByZW0tY2FsYygxMXB4KTtcblx0XHRcdFx0cmlnaHQ6IHJlbS1jYWxjKDEzcHgpO1xuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdFx0XHR0b3A6IHJlbS1jYWxjKDE3cHgpO1xuXHRcdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogIzExNjRhZDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8bWVkaXVtJykge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cblx0XHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICMxMTY0YWQ7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuZmEtYXJyb3ctY2lyY2xlLXJpZ2h0IHtcblx0XHRcdFx0Y29sb3I6ICMxMTY0YWQ7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjZweCk7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNnB4KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuYWNjb3JkaW9uLXRpdGxlIHtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRjb2xvcjogIzczMTQyMjtcblx0XHRmb250LWZhbWlseTogXCJNb250c2VycmF0XCI7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0cGFkZGluZzogMDtcblx0XHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjBweCk7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNXB4KTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIwcHgpO1xuXHRcdH1cblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0d2lkdGg6IDA7XG5cdFx0XHRoZWlnaHQ6IDA7XG5cdFx0XHRib3JkZXItd2lkdGg6IDZweCAwIDZweCA2cHg7XG5cdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM4YzgxNzk7XG5cdFx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiByZW0tY2FsYygxMHB4KTtcblx0XHRcdGxlZnQ6IHJlbS1jYWxjKC0yMHB4KTtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRcdHRvcDogcmVtLWNhbGMoMTNweCk7XG5cdFx0XHRcdGJvcmRlci13aWR0aDogcmVtLWNhbGMoNi41cHggMCA2LjVweCAxMnB4KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuYWNjb3JkaW9uLWNvbnRlbnQge1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMCAwIDEzcHgpO1xuXHRcdGNvbG9yOiAjNmI2MjVjO1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTJweCk7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMzM7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTZweCk7XG5cdFx0XHRsaW5lLWhlaWdodDogMS42Mztcblx0XHRcdGNvbG9yOiAjMzEyZTJiO1xuXHRcdH1cblxuXHRcdC5jb250ZW50LXdyYXAge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTNweCk7XG5cdFx0XHRtYXJnaW4tdG9wOiAtM3B4O1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg3cHggMCAxOHB4KTtcblx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoOXB4KTtcblxuXHRcdFx0XHQmOmJlZm9yZSxcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogI2RiZDZkMDtcblx0XHRcdFx0XHRoZWlnaHQ6IDFweDtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0bGVmdDogcmVtLWNhbGMoLTE0cHgpO1xuXHRcdFx0XHRcdHJpZ2h0OiByZW0tY2FsYygtMTRweCk7XG5cdFx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRcdGJvdHRvbTogYXV0bztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuY29sIHtcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHRcdHdpZHRoOiAzMy4zMyU7XG5cdFx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMCAyMHB4IDAgMCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR1bCB7XG5cdFx0XHRcdFx0QGV4dGVuZCAlbGlzdHJlc2V0O1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJzxtZWRpdW0nKSB7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMXJlbTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQubGlua3Mtcm93IHtcblx0XHRAZXh0ZW5kICVjbGVhcmZpeDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAtNXB4O1xuXHRcdH1cblx0fVxuXG5cdC5zb2NpYWwtbmV0d29ya3Mge1xuXHRcdG1hcmdpbjogMDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0d2lkdGg6IDM1JTtcblx0XHRcdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdFx0fVxuXG5cdFx0bGkge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTlweCk7XG5cdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdG1hcmdpbjogcmVtLWNhbGMoMCAzcHggMnB4IDApO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjJweCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogI2EwMmQzYTtcblx0XHRcdEBpbmNsdWRlIGFuaW1hdGUob3BhY2l0eSk7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRvcGFjaXR5OiAwLjg7XG5cdFx0XHR9XG5cblx0XHRcdC5mYS1mYWNlYm9vay1zcXVhcmUsXG5cdFx0XHQuZmEtdHdpdHRlci1zcXVhcmUge1xuXHRcdFx0XHRjb2xvcjogIzQwNzBiNDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQubGlua3Mge1xuXHRcdC8vcG9zaXRpb246IGFic29sdXRlO1xuXHRcdC8vdG9wOiAycHg7XG5cdFx0Ly9yaWdodDogcmVtLWNhbGMoLTIzcHgpO1xuXHRcdG1hcmdpbjogMDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdHBvc2l0aW9uOiBzdGF0aWM7XG5cdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYyg1cHgpO1xuXHRcdH1cblxuXHRcdGxpIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE5cHgpO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTBweCk7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdFx0cG9zaXRpb246IHN0YXRpYztcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIycHgpO1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0cHgpO1xuXHRcdFx0fVxuXG5cdFx0XHQrbGkge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogIzhjODE3OTtcblx0XHRcdFx0XHRcdHdpZHRoOiAxcHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDEycHgpO1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0dG9wOiAxcHg7XG5cdFx0XHRcdFx0XHRsZWZ0OiByZW0tY2FsYygtMTJweCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5mYS10cmFzaC1hbHQge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGEge1xuXHRcdFx0Y29sb3I6ICMxMTY0YWQ7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8bWVkaXVtJykge1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHRjb2xvcjogIzAwMDtcblx0XHRcdFx0fVx0XHRcdFx0XG5cdFx0XHR9XG5cblx0XHR9XG5cdH1cbn1cblxuLmNvbGxlY3Rpb24tc2VjdGlvbiB7XG5cdCYudHdvLWNvbHVtbnMge1xuXHRcdC5yb3cge1xuXHRcdFx0JjpiZWZvcmUsXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJzxtZWRpdW0nKSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcdFx0XHRcdFx0XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJzxtZWRpdW0nKSB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHQvLyAtd2Via2l0LWNvbHVtbi1jb3VudDogMjtcblx0XHRcdFx0Ly8gLW1vei1jb2x1bW4tY291bnQ6IDI7XG5cdFx0XHRcdC8vIGNvbHVtbi1jb3VudDogMjtcblx0XHRcdFx0Ly8gLXdlYmtpdC1jb2x1bW4tZ2FwOiByZW0tY2FsYygzMHB4KTtcblx0XHRcdFx0Ly8gLW1vei1jb2x1bW4tZ2FwOiByZW0tY2FsYygzMHB4KTtcblx0XHRcdFx0Ly8gY29sdW1uLWdhcDogcmVtLWNhbGMoMzBweCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnZpZXctc3dpdGNoZXIge1xuXHRcdFx0dG9wOiAxMHB4O1xuXHRcdFx0Ym90dG9tOiBhdXRvO1xuXHRcdH1cblxuXHRcdC5jb250ZW50LWhlYWRpbmcge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMCAzMHB4IDE2cHgpO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPG1lZGl1bScpIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdG9yZGVyOiAtMTtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYygwIDYwcHggMjBweCAyMzBweCk7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PWxhcmdlJykge1xuXHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg2cHggNjBweCAyNnB4IDI1MHB4KTtcblx0XHRcdH1cblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjY2NjO1xuXHRcdFx0XHRoZWlnaHQ6IDFweDtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHRcdGxlZnQ6IHJlbS1jYWxjKC0yMHB4KTtcblx0XHRcdFx0cmlnaHQ6IHJlbS1jYWxjKC0yMHB4KTtcblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQubGlua3Mge1xuXHRcdFx0XHRAZXh0ZW5kICVsaXN0cmVzZXQ7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTRweCk7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjE0O1xuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PWxhcmdlJykge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTZweCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0Y29sb3I6ICM2YjYyNWM7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cblx0XHRcdFx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICMxMTY0YWQ7XHRcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQrbGkge1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMHB4KTtcblxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bGFyZ2UnKSB7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTdweCk7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0Y29udGVudDogJ3wnO1xuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdHRvcDogLTFweDtcblx0XHRcdFx0XHRcdFx0bGVmdDogMnB4O1xuXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PWxhcmdlJykge1xuXHRcdFx0XHRcdFx0XHRcdGxlZnQ6IDVweDtcblx0XHRcdFx0XHRcdFx0XHR0b3A6IC0ycHg7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRjb2xvcjogIzZiNjI1Yztcblx0XHRcdFx0XHRcblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAjMTE2NGFkO1x0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuZHJvcGRvd24ge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0cmlnaHQ6IC04cHg7XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYyg3cHgpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0PmxpIHtcblx0XHRcdFx0XHQ+YSB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg0cHgpO1xuXHRcdFx0XHRcdFx0Y29sb3I6ICM2YjYyNWM7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4cHgpO1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cblx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5tZW51IHtcblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPG1lZGl1bScpIHtcblx0XHRcdFx0XHRcdGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRcdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2EwOTU4ZTtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYygxMHB4IDApO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTRweCk7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS40MztcblxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjJweCk7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNnB4KTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0K2xpIHtcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICM4YzgxNzk7XG5cdFx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMXB4O1xuXHRcdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYygxMnB4KTtcblx0XHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdFx0XHRcdHRvcDogMnB4O1xuXHRcdFx0XHRcdFx0XHRcdFx0bGVmdDogcmVtLWNhbGMoLTEycHgpO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICMzMTJlMmI7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg4cHggMTRweCk7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogIzExNjRhZDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LmJhY2stbGluayB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRjb2xvcjogI2EwOTU4ZTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOHB4KTtcblx0XHRcdH1cblxuXHRcdFx0aDEge1xuXHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIwcHgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnNpZGViYXIge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJzxtZWRpdW0nKSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RiZDZkMDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjBweCk7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjZGJkNmQwO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZjBlYWU0O1xuXHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYygxMnB4KTtcblx0XHRcdFx0d2lkdGg6IDIwMHB4O1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDE2cHgpO1xuXHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1sYXJnZScpIHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMHB4KTtcblx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMTdweCAxOXB4IDlweCk7XG5cdFx0XHRcdHdpZHRoOiAyMjBweDtcblx0XHRcdH1cblxuXHRcdFx0LmxpbmtzIHtcblx0XHRcdFx0QGV4dGVuZCAlbGlzdHJlc2V0O1xuXG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuNDM7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNnB4KTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGNvbG9yOiAjMTE2NGFkO1xuXG5cdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRjb2xvcjogIzhjODE3OTtcblx0XHRcdFx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LnNvY2lhbC1uZXR3b3JrcyB7XG5cdFx0XHRcdEBleHRlbmQgJWxpc3RyZXNldDtcblxuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0Y29sb3I6ICNhNTFiMzA7XG5cblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDAuNzU7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LmZhLWZhY2Vib29rLXNxdWFyZSxcblx0XHRcdFx0XHQuZmEtdHdpdHRlci1zcXVhcmUge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICMyODY3YjE7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmRyb3Bkb3duIHtcblx0XHRcdCYuZmlsdGVyIHtcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGJkNmQwO1xuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg3cHgpO1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1cHgpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0PmxpIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQ+YSB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0XHRcdFx0Y29sb3I6ICMzMTJlMmI7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjYzO1xuXHRcdFx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMTFweCAyM3B4IDVweCAwKTtcblxuXHRcdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogIzZiNjI1Yztcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNHB4KTtcblx0XHRcdFx0XHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDdweCk7XG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cblx0XHRcdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5tZW51IHtcblx0XHRcdFx0XHRib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2EwOTU4ZTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDAuNjI1cmVtIDA7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0XHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdFx0bWluLXdpZHRoOiAwO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMC44NzVyZW07XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS40MztcblxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAjMzEyZTJiO1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMC41cmVtIDAuODc1cmVtO1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICMxMTY0YWQ7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTJweCk7XG5cblx0XHRcdFx0XHRcdFx0Lm51bSB7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICNhMDk1OGU7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY29sbGVjdGlvbnMtbGlzdCB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPG1lZGl1bScpIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdFx0bWFyZ2luOiAwICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cblx0XHRcdGxpIHtcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDM2cHgpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuXHRcdFx0XHRcdHdpZHRoOiAzMy4zMyU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1sYXJnZScpIHtcblx0XHRcdFx0XHR3aWR0aDogMjUlO1xuXHRcdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDAgMjBweCAzNnB4KTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5saXN0LWFjdGl2ZSAmIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMXB4KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQrbGkge1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHQubGlzdC1hY3RpdmUgJiB7XG5cdFx0XHRcdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRcdFx0XHRsZWZ0OiAxM3B4O1xuXHRcdFx0XHRcdFx0XHRcdHJpZ2h0OiAxM3B4O1xuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICNjY2M7XG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAxcHg7XHRcdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5pdGVtLXdyYXAge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG5cdFx0XHRcdHBpY3R1cmUge1xuXHRcdFx0XHRcdC5saXN0LWFjdGl2ZSAmIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdFx0XHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblxuXHRcdFx0XHRcdFx0XHRzdHJvbmcge1xuXHRcdFx0XHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdFx0XHRcdFx0XHRib3gtc2hhZG93OiAwIDAgNnB4IDFweCByZ2JhKDE3LCAxMDAsIDE3MywgMC41KTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBhbmltYXRlKGJveC1zaGFkb3cpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5jYXB0aW9uIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPG1lZGl1bScpIHtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDAgMjBweCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IHN0YXRpYztcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHRcdFx0XHRjb2xvcjogIzZiNjI1Yztcblx0XHRcdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDZweCAwKTtcblxuXHRcdFx0XHRcdFx0c3Ryb25nIHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICMzMTJlMmI7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5jb2xsZWN0aW9uLXNsaWRlciB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNhMDk1OGU7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiByZW0tY2FsYygwIDcwcHgpO1xuXG5cdC5zbGlkZSB7XG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMjBweCk7XG5cdH1cblxuXHQuaXRlbS13cmFwIHtcblx0XHRtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcblx0XHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdFx0bWFyZ2luOiAwICFpbXBvcnRhbnQ7XG5cblx0XHRhIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdFx0XHRcdGJvcmRlcjogNHB4IHNvbGlkICNhNTFiMzA7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAtNnB4O1xuXHRcdFx0XHRib3R0b206IC02cHg7XG5cdFx0XHRcdGxlZnQ6IC02cHg7XG5cdFx0XHRcdHJpZ2h0OiAtNnB4O1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0XHRcdEBpbmNsdWRlIGFuaW1hdGUob3BhY2l0eSB2aXNpYmlsaXR5KTtcblx0XHRcdH1cblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xuXG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5zbGljay1hcnJvdyB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHRleHQtaW5kZW50OiAtOTk5OXB4O1xuXHRcdHRvcDogM3B4O1xuXHRcdGJvdHRvbTogM3B4O1xuXHRcdHdpZHRoOiA1NXB4O1xuXHRcdGJhY2tncm91bmQ6ICNmMGVhZTQ7XG5cdFx0ei1pbmRleDogMjtcblx0XHRAaW5jbHVkZSBhbmltYXRlKG9wYWNpdHkpO1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL3JpZ2h0LXRyaWFuZ2xlLnN2ZycpIDUwJSA1MCUgbm8tcmVwZWF0O1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG5cdFx0XHR3aWR0aDogMjFweDtcblx0XHRcdGhlaWdodDogMzhweDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdFx0fVxuXG5cdFx0Ji5zbGljay1wcmV2IHtcblx0XHRcdGxlZnQ6IDNweDtcblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgxODBkZWcpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYuc2xpY2stbmV4dCB7XG5cdFx0XHRyaWdodDogM3B4O1xuXHRcdH1cblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRvcGFjaXR5OiAwLjc1O1xuXHRcdH1cblx0fVxufVxuXG4ucmV2ZWFsIHtcblx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICM5Nzk3OTc7XG5cdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRcdGJveC1zaGFkb3c6IDAgMXB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJzxtZWRpdW0nKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdH1cblxuXHQudGl0bGUge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIjtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGNvbG9yOiAjNzMxNDIyO1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjBweCk7XG5cdFx0bWFyZ2luLWJvdHRvbTogc3BhY2VyKDEpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDQwcHgpO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJzxtZWRpdW0nKSB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjFweCk7XG5cdFx0fVxuXG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogIzExNjRhZDtcblx0XHR9XG5cblx0XHQuc2VwYXJhdG9yIHtcblx0XHRcdGNvbG9yOiAjOTk5O1xuXHRcdH1cblx0fVxuXG5cdC5uZXdfZm9ybSB7XG5cdFx0Y29sb3I6ICMwMDA7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNnB4KTtcblx0XHRsaW5lLWhlaWdodDogMS4yMTtcblx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoNDBweCk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPG1lZGl1bScpIHtcblx0XHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYygyMHB4KTtcblx0XHR9XG5cblx0XHQuaW5mbyB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTJweCk7XG5cdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg5cHgpO1xuXHRcdH1cblxuXHRcdGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuXHRcdGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcblx0XHRpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0ge1xuXHRcdFx0aGVpZ2h0OiAzMHB4O1xuXHRcdFx0Ym94LXNoYWRvdzogaW5zZXQgMXB4IDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgIzk3OTc5Nztcblx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0XHRjb2xvcjogIzAwMDtcblx0XHRcdG1hcmdpbjogMnB4IDAgMDtcblx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDJweCA1cHggMCk7XG5cdFx0XHRsaW5lLWhlaWdodDogMS43NTtcblxuXHRcdFx0QGluY2x1ZGUgcGxhY2Vob2xkZXIge1xuXHRcdFx0XHRjb2xvcjogIzAwMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRsYWJlbCB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTFweCk7XG5cblx0XHRcdCYucGFzc3dvcmQge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2cHgpO1xuXG5cdFx0XHRcdCsuaW5mbyB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNHB4KTtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2cHgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGEge1xuXHRcdFx0XHRjb2xvcjogIzAwMDtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmJ0bi1yb3cge1xuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTBweCk7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8bWVkaXVtJykge1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjBweCk7XG5cdFx0XHR9XG5cblx0XHRcdC5idXR0b24ge1xuXHRcdFx0XHRtYXJnaW46IHJlbS1jYWxjKDAgMCAwIDlweCk7XG5cdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDZweCAyMXB4IDdweCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmNsb3NlLWJ1dHRvbiB7XG5cdFx0Zm9udC1zaXplOiAxLjZyZW07XG5cdFx0dG9wOiAxNHB4O1xuXHRcdHJpZ2h0OiAyMHB4O1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogIzAwMDtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQuY29sbGFib3JhdG9ycyB7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJzxtZWRpdW0nKSB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjBweCk7XG5cdFx0fVxuXG5cdFx0LnRpdGxlIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Y29sb3I6ICMwMDA7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoN3B4KSAhaW1wb3J0YW50O1xuXHRcdFx0Zm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHRtYXJnaW46IDAgMCA3cHggIWltcG9ydGFudDtcblx0XHRcdH1cblxuXHRcdFx0LmZhcyB7XG5cdFx0XHRcdGNvbG9yOiAjYTA5NThlO1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0XHRcdG1hcmdpbjogcmVtLWNhbGMoNHB4IDAgMCAzcHgpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHVsIHtcblx0XHRcdEBleHRlbmQgJWxpc3RyZXNldDtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNkYmQ2ZDA7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA0cHg7XG5cblx0XHRcdGxpIHtcblx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDEwcHggMzNweCAxMHB4IDEzcHgpO1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RiZDZkMDtcblx0XHRcdFx0Y29sb3I6ICMzMTJlMmI7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTRweCk7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjM2O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5jbG9zZS1idXR0b24ge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjRweCk7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRcdFx0Y29sb3I6ICNhMDk1OGU7XG5cdFx0XHRcdFx0cmlnaHQ6IHJlbS1jYWxjKDhweCk7XG5cdFx0XHRcdFx0dG9wOiByZW0tY2FsYyg3cHgpO1xuXG5cdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRjb2xvcjogIzAwMDtcblx0XHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LnRleHQge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRjb2xvcjogIzExNjRhZDtcblxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmJ1dHRvbiB7XG5cdFx0Ji5zb2NpYWwge1xuXHRcdFx0QGluY2x1ZGUgYW5pbWF0ZShvcGFjaXR5KTtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0cHgpO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdG1hcmdpbjogcmVtLWNhbGMoMCAwIDEwcHgpO1xuXG5cdFx0XHQmLmdvb2dsZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNkZTM0Mzc7XG5cdFx0XHR9XG5cblx0XHRcdCYuZmFjZWJvb2sge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjMzc2N2QxO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdG9wYWNpdHk6IDAuODU7XG5cdFx0XHR9XG5cblx0XHRcdC5mYWIge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0XHRcdG1hcmdpbjogcmVtLWNhbGMoMCA2cHggMCAwKTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblxuXHRcdFx0XHQmLmZhLWZhY2Vib29rLWYge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IC0xcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLmJ0bi13aGl0ZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdFx0Y29sb3I6ICMzMTJlMmI7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNCwgMzQsIDAuNCk7XG5cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0YmFja2dyb3VuZDogZGFya2VuKCNmZmYsIDUlKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLmxvZ2luLXJldmVhbCB7XG5cdFx0bWF4LXdpZHRoOiByZW0tY2FsYyg1MDBweCk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYygyNnB4IDI2cHggMzJweCk7XG5cdFx0fVxuXHR9XG5cblx0Ji5lbWFpbC1yZXZlYWwge1xuXHRcdG1heC13aWR0aDogcmVtLWNhbGMoNzI2cHgpO1xuXHRcdHdpZHRoOiBhdXRvO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMjFweCA0OHB4IDQwcHgpO1x0XHRcdFxuXHRcdH1cblxuXHRcdC50aXRsZSB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdG1hcmdpbjogcmVtLWNhbGMoMCAwIDI3cHggLTlweCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Lm5ld19mb3JtIHtcblx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDAgMCA5cHgpO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzN3B4KTtcblx0XHRcdH1cblxuXHRcdFx0aW5wdXRbdHlwZT1cImVtYWlsXCJdIHtcblx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYygzNHB4KTtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogcmVtLWNhbGMoM3B4KTtcblx0XHRcdH1cblxuXHRcdFx0LmVtYWlsLXdyYXAge1xuXHRcdFx0XHRAZXh0ZW5kICVjbGVhcmZpeDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoN3B4KTtcblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTVweCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRsYWJlbCB7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdFx0XHR3aWR0aDogcmVtLWNhbGMoMTEycHgpO1xuXHRcdFx0XHRcdFx0bWFyZ2luOiByZW0tY2FsYygycHggOHB4IDAgMCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0LmlucHV0LXdyYXAge1xuXHRcdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LmNoZWNrLXdyYXAge1xuXHRcdFx0XHRAZXh0ZW5kICVjbGVhcmZpeDtcblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMCAwIDAgMTIwcHgpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0bGFiZWwge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTRweCk7XG5cdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMnB4KTtcblx0XHRcdFx0XHRcdG1heC13aWR0aDogMjAwcHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuYnV0dG9uIHtcblx0XHRcdFx0d2lkdGg6IDExNnB4O1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTZweCk7XG5cdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDExcHggNHB4KTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY3VzdG9tLWNoZWNrYm94IHtcblx0XHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjVweCk7XG5cblx0XHRcdC5mYWtlLWlucHV0IHtcblx0XHRcdFx0dG9wOiByZW0tY2FsYyg1cHgpO1xuXHRcdFx0XHRsZWZ0OiByZW0tY2FsYygycHgpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYuYWRkLXJldmVhbCB7XG5cdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRtYXgtd2lkdGg6IHJlbS1jYWxjKDUwMHB4KTtcblx0XHRwYWRkaW5nOiByZW0tY2FsYygxNnB4IDI0cHgpO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJzxtZWRpdW0nKSB7XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRtaW4taGVpZ2h0OiAwO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwMHB4KTtcblx0XHR9XG5cblx0XHQudGl0bGUge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHRtYXJnaW46IHJlbS1jYWxjKDAgMCA1cHggM3B4KTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuaW5mby1saW5lIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNHB4KTtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHRtYXJnaW46IHJlbS1jYWxjKDAgMCAyN3B4IDVweCk7XG5cdFx0XHR9XG5cblx0XHRcdGEge1xuXHRcdFx0XHRjb2xvcjogIzExNjRhZDtcblxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdFx0fVx0XHRcdFx0XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Lm5ld19mb3JtIHtcblx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDAgMCAxNHB4KTtcblxuXHRcdFx0bGFiZWwge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0cHgpO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAycHg7XG5cdFx0XHR9XG5cblx0XHRcdC5idG4tcm93IHtcblx0XHRcdFx0LmJ1dHRvbiB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxMXB4KTtcblx0XHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg4cHggOXB4KTtcblx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMnB4O1xuXG5cdFx0XHRcdFx0Jjpub3QoLmJ0bi13aGl0ZSkge1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiByZ2JhKDM0LCAzNCwgMzQsIDAuNCk7XG5cdFx0XHRcdFx0XHR0ZXh0LXNoYWRvdzogMCAxcHggMCByZ2JhKDM0LCAzNCwgMzQsIDAuNSk7XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmpjZi1zY3JvbGxhYmxlLXdyYXBwZXIge1xuXHRcdFx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0XHR9XG5cblx0XHQuamNmLXNjcm9sbGFibGUge1xuXHRcdFx0aGVpZ2h0OiByZW0tY2FsYygzNjRweCk7XG5cdFx0XHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHRcdFx0cGFkZGluZzogcmVtLWNhbGMoNXB4IDApO1xuXHRcdH1cblxuXHRcdC5qY2Ytc2Nyb2xsYmFyLXZlcnRpY2FsIHtcblx0XHRcdHJpZ2h0OiByZW0tY2FsYygtMThweCkgIWltcG9ydGFudDtcblx0XHR9XG5cblx0XHQuamNmLXNjcm9sbGJhci1ob3Jpem9udGFsIHtcblx0XHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblx0XHR9XG5cblx0XHQuYm90dG9tLWluZm8tYmxvY2sge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0bWluLWhlaWdodDogcmVtLWNhbGMoOTBweCk7XG5cdFx0XHRib3gtc2hhZG93OiAwIC0xcHggNHB4IHJnYmEoMCwgMCwgMCwgMC41KTtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICM5Nzk3OTc7XG5cdFx0XHRib3JkZXItd2lkdGg6IDFweCAwIDA7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmYWY1O1xuXHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMTRweCA0MHB4KTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPG1lZGl1bScpIHtcblx0XHRcdFx0Ly8gcG9zaXRpb246IGZpeGVkO1xuXHRcdFx0XHQvLyB6LWluZGV4OiA5OTk5OTtcblx0XHRcdH1cblxuXHRcdFx0LmltZy13cmFwIHtcblx0XHRcdFx0d2lkdGg6IHJlbS1jYWxjKDYwcHgpO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDE1cHgpO1xuXHRcdFx0fVxuXG5cdFx0XHR1bCB7XG5cdFx0XHRcdEBleHRlbmQgJWxpc3RyZXNldDtcblx0XHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDc1cHgpO1xuXG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRjb2xvcjogIzAwMDtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0cHgpO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI5O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmFkZC1saXN0cyB7XG5cdFx0XHRAZXh0ZW5kICVsaXN0cmVzZXQ7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg3NXB4KTtcblx0XHRcdH1cblxuXHRcdFx0bGkge1xuXHRcdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgIzk3OTc5Nztcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYygxNXB4IDQwcHggMTVweCAxOHB4KTtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxN3B4KTtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjBweCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRjb2xvcjogIzAwMDtcblxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LmljbyB7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHRcdFx0XHRcdHJpZ2h0OiByZW0tY2FsYygxMHB4KTtcblx0XHRcdFx0XHRcdHdpZHRoOiByZW0tY2FsYygyNXB4KTtcblx0XHRcdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoMjVweCk7XG5cdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjMTE2NGFkO1xuXG5cdFx0XHRcdFx0XHQmOmJlZm9yZSxcblx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0XHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogcmVtLWNhbGMoMTFweCk7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoM3B4KTtcblx0XHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAtMXB4O1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoMTFweCk7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiByZW0tY2FsYygzcHgpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYubWV0LXNlYXJjaCB7XG5cdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRtaW4taGVpZ2h0OiAwO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNzBweCk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPG1lZGl1bScpIHtcblx0XHRcdHRvcDogMCAhaW1wb3J0YW50O1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdG1heC13aWR0aDogcmVtLWNhbGMoNjY5cHgpO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtaW4taGVpZ2h0OiByZW0tY2FsYyg0NDBweCk7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0b3ZlcmZsb3cteTogaGlkZGVuO1xuXHRcdH1cblxuXHRcdC50aXRsZSB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuXHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYygxNnB4IDQ0cHggMTZweCAyMnB4KTtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdG92ZXJmbG93LXk6IGF1dG87XG5cdFx0fVxuXG5cdFx0LmlzLWRyaWxsZG93biB7XG5cdFx0XHRtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcblx0XHRcdG1hcmdpbjogcmVtLWNhbGMoMCAtMTZweCk7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdHdpZHRoOiByZW0tY2FsYygxNzNweCk7XG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPG1lZGl1bScpIHtcblx0XHRcdFx0aGVpZ2h0OiBjYWxjKDEwMCUgLSA3OHB4KTtcblx0XHRcdFx0b3ZlcmZsb3cteTogYXV0bztcblx0XHRcdH1cblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0dG9wOiAtMzVweDtcblx0XHRcdFx0XHRib3R0b206IC05OTk5cHg7XG5cdFx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdFx0d2lkdGg6IDFweDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjY2NjO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnZlcnRpY2FsIHtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdGJvcmRlcjogMDtcblx0XHRcdH1cblxuXHRcdFx0PiBsaSB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0cHgpO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS4xNDtcblx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMCAyMHB4KTtcblx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMXB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHRcdGJvcmRlcjogMDtcblx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5qcy1kcmlsbGRvd24tYmFjayB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQge1xuXHRcdFx0XHRcdCYubGktYWN0aXZlIHtcblx0XHRcdFx0XHRcdD5hIHtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICNiZWRkZmY7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0PiAudmVydGljYWwge1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQ+IGEge1xuXHRcdFx0XHRcdGNvbG9yOiAjMzEyZTJiO1xuXHRcdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDE1cHggMzBweCAxNXB4IDApO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDRweCA0cHggNHB4IDIwcHgpO1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxMnB4KTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogI2JlZGRmZjtcblx0XHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5mYS1jaGV2cm9uLXJpZ2h0IHtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHRcdFx0XHRyaWdodDogLTRweDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0XHRcdFx0Y29sb3I6ICNhMDk1OGU7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4cHgpO1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0PiAudmVydGljYWwge1xuXHRcdFx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYyg5cHgpO1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiBub25lO1xuXHRcdFx0XHRcdFx0bGVmdDogMTAwJTtcblx0XHRcdFx0XHRcdGJvcmRlcjowO1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0XHRcdHRvcDogcmVtLWNhbGMoLTM1cHgpO1xuXHRcdFx0XHRcdFx0d2lkdGg6IHJlbS1jYWxjKDI3NHB4KTtcblx0XHRcdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoMzk0cHgpO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHRcdG92ZXJmbG93LXk6IGhpZGRlbjtcblx0XHRcdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjY2M7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Pi5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDM0MnB4O1xuXHRcdFx0XHRcdFx0XHRvdmVyZmxvdy15OiBhdXRvO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5tZXQtdGl0bGUge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRjb2xvcjogIzZiNjI1Yztcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTZweCk7XG5cdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg4cHgpO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdHdpZHRoOiByZW0tY2FsYygxNzBweCk7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTJweCk7XG5cdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDZweCA3cHggMTFweCAyMnB4KTtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5kcm9wLXRpdGxlIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Y29sb3I6ICMzMTJlMmI7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDlweCk7XG5cdFx0fVxuXG5cdFx0LnNlYXJjaF9mb3JtIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1cHgpO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuXHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYygxMHB4IDEycHgpO1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR9XG5cblx0XHRcdGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdGhlaWdodDogMzhweDtcblx0XHRcdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjNmI2MjVjO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdFx0XHRvcGFjaXR5OiAwLjg7XG5cdFx0XHRcdGNvbG9yOiAjMDAwO1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0cHgpO1xuXHRcdFx0XHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTFweCk7XG5cdFx0XHRcdFx0aGVpZ2h0OiAyOXB4O1xuXHRcdFx0XHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XG5cdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2FhYTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAaW5jbHVkZSBwbGFjZWhvbGRlciB7XG5cdFx0XHRcdFx0Y29sb3I6ICMwMDA7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdFx0XHRjb2xvcjogIzk5OTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0YnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0ge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogcmVtLWNhbGMoMTlweCk7XG5cdFx0XHRcdHJpZ2h0OiByZW0tY2FsYygyMnB4KTtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxMnB4KTtcblx0XHRcdFx0Y29sb3I6ICMyMjI7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmFjY29yZGlvbiB7XG5cdFx0XHRwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG5cdFx0XHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDEycHggMCk7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoNXB4IDAgMTBweCAxMHB4KTtcblx0XHRcdH1cblxuXHRcdFx0LmFjY29yZGlvbi10aXRsZSB7XG5cdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNHB4KTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTJweCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LmFjY29yZGlvbi1pdGVtIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoN3B4KTtcblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoN3B4KTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdFx0XHQuYWNjb3JkaW9uLXRpdGxlIHtcblx0XHRcdFx0XHRcdC5mYS1jaGV2cm9uLXJpZ2h0IHtcblx0XHRcdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRhIHtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0Y29sb3I6ICMzMTJlMmI7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTRweCk7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg4cHggNDhweCA4cHggMjFweCk7XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTJweCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuYWRkLWljb24ge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0cmlnaHQ6IHJlbS1jYWxjKDE1cHgpO1xuXHRcdFx0XHRcdHdpZHRoOiByZW0tY2FsYygyNHB4KTtcblx0XHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDI0cHgpO1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMTE2NGFkO1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHRcdFx0cmlnaHQ6IHJlbS1jYWxjKDEwcHgpO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCY6YmVmb3JlLFxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDExcHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDNweDtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdFx0XHRcdFx0XHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdHdpZHRoOiAzcHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDExcHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0LmZhLWNoZXZyb24tcmlnaHQge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR0b3A6IHJlbS1jYWxjKDZweCk7XG5cdFx0XHRcdFx0bGVmdDogNHB4O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMThweCk7XG5cdFx0XHRcdFx0Y29sb3I6ICNhMDk1OGU7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEycHgpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuYWNjb3JkaW9uLWNvbnRlbnQge1xuXHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDdweCAwIDAgMjBweCk7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cblx0XHRcdFx0dWwge1xuXHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoN3B4KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdCYuc2VsZWN0ZWQtaXRlbSB7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdFx0Y29sb3I6ICM0MTZjZTc7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuYWRkLWljb24ge1xuXHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5zZWxlY3Rpb24tZmlsdGVyLWNvbCB7XG5cdFx0XHRAZXh0ZW5kICVjbGVhcmZpeDtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRcdHdpZHRoOiByZW0tY2FsYygxNzhweCk7XG5cdFx0XHRcdG1hcmdpbjogcmVtLWNhbGMoLTI5cHggMCAwKTtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTNweCk7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdFx0d2lkdGg6IHJlbS1jYWxjKDIwMHB4KTtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJzxtZWRpdW0nKSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMTVweCAyNXB4IDE1cHggMjFweCk7XG5cdFx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuXHRcdFx0XHR6LWluZGV4OiA5O1xuXG5cdFx0XHRcdC5zZWxlY3RlZC1pdGVtLWFjdGl2ZSAmIHtcblx0XHRcdFx0XHQvLyBoZWlnaHQ6IGNhbGMoMTAwJSAtIDkwcHgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdHAge1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJzxtZWRpdW0nKSB7XG5cdFx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5tZXQtdGl0bGUge1xuXHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMCAwIDRweCk7XG5cdFx0XHR9XG5cblx0XHRcdC5zZWxlY3RlZC1pdGVtcy1saXN0IHtcblx0XHRcdFx0QGV4dGVuZCAlbGlzdHJlc2V0O1xuXHRcdFx0XHRtYXgtaGVpZ2h0OiAyMzJweDtcblx0XHRcdFx0b3ZlcmZsb3cteTogYXV0bztcblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPG1lZGl1bScpIHtcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcblx0XHRcdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAxMHB4O1xuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAxMHB4O1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMjFweDtcblx0XHRcdFx0XHQvLyBtYXJnaW4tbGVmdDogLTIxcHg7XG5cdFx0XHRcdFx0Ly8gbWFyZ2luLXJpZ2h0OiAtMjVweDtcblx0XHRcdFx0XHRib3R0b206IDEwMCU7XG5cdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRcdC8vIHBvc2l0aW9uOiBmaXhlZDtcblx0XHRcdFx0XHQvLyBib3R0b206IDcycHg7XG5cdFx0XHRcdFx0Ly8gbGVmdDogMDtcblx0XHRcdFx0XHQvLyByaWdodDogMDtcblx0XHRcdFx0XHQvLyBiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdFx0XHRcdHRvcDogMTgzcHg7XG5cdFx0XHRcdFx0Ym90dG9tOiA3MXB4O1xuXHRcdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdFx0b3ZlcmZsb3cteTogYXV0bztcblx0XHRcdFx0XHRtYXgtaGVpZ2h0OiBub25lO1xuXG5cdFx0XHRcdFx0LnNlbGVjdGVkLWl0ZW0tYWN0aXZlICYge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTJweCk7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAzcHg7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPG1lZGl1bScpIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTRweCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0Y29sb3I6ICM0YTkwZTI7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDRweCAzMHB4IDRweCAwKTtcblxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8bWVkaXVtJykge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICMzMTJlMmI7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LmljbyB7XG5cdFx0XHRcdFx0XHR3aWR0aDogcmVtLWNhbGMoMjRweCk7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDI0cHgpO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzExNjRhZDtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdHRvcDogMnB4O1xuXHRcdFx0XHRcdFx0cmlnaHQ6IDA7XG5cblx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYygzcHgpO1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogcmVtLWNhbGMoMTFweCk7XG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5idXR0b24ge1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdHdpZHRoOiA4NHB4O1xuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdFx0XHR3aWR0aDogNTZweDtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDExcHgpO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRib3R0b206IHJlbS1jYWxjKDdweCk7XG5cdFx0XHRcdFx0cmlnaHQ6IHJlbS1jYWxjKDdweCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQuZmlsdGVyLWxpc3Qge1xuXHRcdFx0QGV4dGVuZCAlbGlzdHJlc2V0O1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRtYXJnaW46IHJlbS1jYWxjKDhweCAwIDApO1xuXG5cdFx0XHRsaSB7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRjb2xvcjogIzc3Nztcblx0XHRcdFx0Zm9udC1mYW1pbHk6IEhlbHZldGljYTtcblxuXHRcdFx0XHQrbGkge1xuXHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6ICd8Jztcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0XHRcdFx0XHRtYXJnaW46IHJlbS1jYWxjKC0xcHggN3B4IDAgNHB4KTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAjNGE5MGUyO1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblxuXHRcdFx0XHRcdFx0LnNlbGVjdGVkLWl0ZW0tYWN0aXZlICYge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogIzAwMDtcblx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRjb2xvcjogIzAwMDtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXG5cdFx0XHRcdFx0LnNlbGVjdGVkLWl0ZW0tYWN0aXZlICYge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICM0YTkwZTI7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuXHRAaW5jbHVkZSBtZWRpYSgnPG1lZGl1bScpIHtcblx0XHRiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuLmN1c3RvbS1jaGVja2JveCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygyMHB4KTtcblxuXHRpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IHJlbS1jYWxjKDhweCk7XG5cdFx0bGVmdDogMDtcblx0XHRvcGFjaXR5OiAwO1xuXG5cdFx0JjpjaGVja2VkIHtcblx0XHRcdCsuZmFrZS1pbnB1dCB7XG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHQrLmZha2UtaW5wdXQge1xuXHRcdFx0XHRib3JkZXItY29sb3I6ICMxMTY0YWQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmZha2UtaW5wdXQge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IHJlbS1jYWxjKDhweCk7XG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogcmVtLWNhbGMoMTNweCk7XG5cdFx0aGVpZ2h0OiByZW0tY2FsYygxM3B4KTtcblx0XHRib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICM5Nzk3OTc7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDJweDtcblx0XHRcdGxlZnQ6IDFweDtcblx0XHRcdHdpZHRoOiByZW0tY2FsYyg5cHgpO1xuXHRcdFx0aGVpZ2h0OiByZW0tY2FsYyg1cHgpO1xuXHRcdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRcdGJvcmRlci1jb2xvcjogIzAwMDtcblx0XHRcdGJvcmRlci13aWR0aDogcmVtLWNhbGMoMCAwIDJweCAycHgpO1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cblxuXG5cbiNza2lwLWhvbWUgYSxcbiNza2lwIGEge1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0bGVmdDotMTAwMDBweDtcblx0dG9wOmF1dG87XG5cdHdpZHRoOjFweDtcblx0aGVpZ2h0OjFweDtcblx0b3ZlcmZsb3c6aGlkZGVuO1xufVxuXG4jc2tpcC1ob21lIGE6Zm9jdXMsXG4jc2tpcCBhOmZvY3VzIHtcblx0cG9zaXRpb246c3RhdGljO1xuXHR3aWR0aDphdXRvO1xuXHRoZWlnaHQ6YXV0bztcbn1cblxuLmZhLWZhY2Vib29rLXNxdWFyZSB7XG5cdGNvbG9yOiAjNDA3MGI0ICFpbXBvcnRhbnQ7XG59XG5cbi5mYS10d2l0dGVyLXNxdWFyZSB7XG5cdGNvbG9yOiAjNjU5OWUwICFpbXBvcnRhbnQ7XG59XG5cbi5mYS1pbnN0YWdyYW0ge1xuXHRjb2xvcjogIzc4NzE2YiAhaW1wb3J0YW50O1xufVxuXG4uZmEtZ29vZ2xlLXBsdXMtc3F1YXJlIHtcblx0Y29sb3I6ICM0YzU0NWMgIWltcG9ydGFudDtcbn1cblxuXG4vLyBNeUdpemEgQ29sbGVjdGlvbiB0aHVtYlxuLy8gICAgU3F1YXJlIGdyaWQgb2YgZWl0aGVyIDEsIDQsIG9yIDkgdGh1bWJuYWlsIGltYWdlcyBmcm9tIGEgY29sbGVjdGlvblxuXG4uY29sbGVjdGlvbi10aHVtYiB7XG4gIHdpZHRoOiAxMDAlOyAvLyBSZXNwb25zaXZlIHRvIGl0cyBjb250YWluZXJcbiAgbWF4LXdpZHRoOiA1MDBweDsgLy8gTGV0J3Mgbm90IGdldCB0b28gZXh0cmVtZVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIFByZXZlbnRzIGJyZWFrYWdlIGlmIGEgY29sbGVjdGlvbiB0aXRsZSBpcyBodWdlXG4gIFxuICAmOmFmdGVyIHsgLy8gVHJpY2sgdG8ga2VlcCB0aGlzIGJveCBzcXVhcmVcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOyAvLyBUcmlja2VyeSEgUGFkZGluZyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHdpZHRoLCBub3QgaGVpZ2h0XG4gIH1cbn1cblxuLmNvbGxlY3Rpb24tdGh1bWItZ3JpZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgLy8gUmVxdWlyZWQgZm9yIHRoZSBrZWVwLWl0LXNxdWFyZSB0cmlja1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2FuZC1kYXJrO1xuICBcbiAgLmdyaWQtaW1hZ2Uge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNsZWFyOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAvLyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgVGhpcyBwcmV2ZW50cyBvYmplY3QtZml0IGZyb20gd29ya2luZy5cbiAgICBcbiAgICBpbWcge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgZmxleDogMDtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyOyAvLyBGb3IgbmV3ZXIgYnJvd3NlcnMuIEZhbGxiYWNrOiBJRSB3aWxsIHN0cmV0Y2ggbGFuZHNjYXBlIGltYWdlcy5cbiAgICB9XG4gIH1cbn1cblxuLmdyaWQtaW1hZ2Uge1xuICBcbiAgLmdyaWQtaW1hZ2VzLTEgJiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIFxuICAuZ3JpZC1pbWFnZXMtNCAmIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGhlaWdodDogNTAlO1xuICB9XG4gIFxuICAuZ3JpZC1pbWFnZXMtOSAmIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzJTtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzMzMzMyU7XG4gIH0gIFxufVxuXG4uY29sbGVjdGlvbi10aHVtYi1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXHRib3R0b206IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRiYWNrZ3JvdW5kOiByZ2JhKCRkdW5lLCAwLjgpO1xuXHRjb2xvcjogJHdoaXRlO1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDEycHgpO1xuXHRsaW5lLWhlaWdodDogMS4zO1xuXHRwYWRkaW5nOiBzcGFjZXIoXCJxdFwiKSBzcGFjZXIoXCJoYWxmXCIpO1xufVxuXG4uY29sbGVjdGlvbi10aHVtYi10aXRsZSB7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJG1lZGl1bS1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBtYXJnaW4tYm90dG9tOiAwLjE1cmVtO1xufVxuXG4uY29sbGVjdGlvbi10aHVtYi1tZXRhIHtcbiAgbWFyZ2luLWJvdHRvbTogMC4xNXJlbTtcbn1cblxuXG4vLyBNeUdpemEgQ29sbGVjdGlvbiBCbHVyYlxuLy8gICAgTWVkaWEtbGlrZSBibG9jayB3aXRoIGNvbGxlY3Rpb24gdGh1bWIgKyBtZXRhIGluZm9cblxuLmNvbGxlY3Rpb24tYmx1cmIge1xuICBcbn1cblxuLmNvbGxlY3Rpb24taW1hZ2Uge1xuICBcbn1cblxuLmNvbGxlY3Rpb24tYm9keSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jb2xsZWN0aW9uLXRleHQge1xuICBmbGV4OiAxO1xufVxuIiwiLyogIFNlYXJjaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vLyBGYWNldGVkIFNlYXJjaCBzaWRlYmFyXG5cbi5zZWFyY2gtZmFjZXQtc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyAvLyBOZWVkZWQgZm9yIGZpZWxkc2V0cyB3aGljaCBhcmUgaW5saW5lIGJ5IGRlZmF1bHRcbiAgYm9yZGVyLXRvcDogc29saWQgMXB4ICRzYW5kLWxpZ2h0O1xuICBwYWRkaW5nLXRvcDogJGdsb2JhbC1wYWRkaW5nO1xufVxuXG4gIC5zZWFyY2gtZmFjZXQtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgY29sb3I6ICR1bWJlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIFxuICAuc2VhcmNoLWZhY2V0LWxpc3Qge1xuICAgIEBleHRlbmQgLm5vLWJ1bGxldDtcbiAgfVxuICBcbiAgICAuc2VhcmNoLWZhY2V0LWl0ZW0ge1xuICAgICAgXG4gICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sIFxuICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgbGFiZWwge1xuICAgICAgICBjb2xvcjogIzRhNGE0YTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgJi5pcy1hY3RpdmUgYSwgXG4gICAgICAmLmlzLWFjdGl2ZSBsYWJlbCwgXG4gICAgICBpbnB1dDpjaGVja2VkICsgbGFiZWwge1xuICAgICAgICBjb2xvcjogJGR1bmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgfSAgXG4gICAgICBcbiAgICAgICYuaXMtYWN0aXZlIGEge1xuICAgICAgICBcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcXDAwZDdcIjtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuM2VtO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgICAgICBmb250LXNpemU6IDExMCU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICBjb2xvcjogJG1hcm9vbjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjpob3ZlciwgXG4gICAgICAgICY6YWN0aXZlLCBcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgXG4gICAgICAgICAgJiwgJjphZnRlciB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBcbiAgICB9XG5cbi8vIFNlYXJjaCByZXN1bHQgaXRlbXNcbiAgXG4uc2VhcmNoLXJlc3VsdCB7XG4gIGJvcmRlci10b3A6IHNvbGlkIDFweCAjY2NjO1xuICBwYWRkaW5nLXRvcDogJGdsb2JhbC1wYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJGdsb2JhbC1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2NjYztcbiAgfVxuICBcbiAgLm1lZGlhLW9iamVjdC10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICBcbiAgLnN1YmhlYWRlciB7XG4gICAgQGV4dGVuZCAudGV4dC1zbWFsbGVyO1xuICAgIEBleHRlbmQgLm5vLWJ1bGxldDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIFxufVxuXG4vLyBTYXZlZCBTZWFyY2hlcyAoTmV3IGZvciBNeUdpemEpXG5cbi5zYXZlZC1zZWFyY2hlcyB7XG5cdGJhY2tncm91bmQ6ICNkYmQ2ZDE7XG5cdGNvbG9yOiAjMDAwO1xuXHRwYWRkaW5nOiByZW0tY2FsYygxNHB4KTtcblxuXHQudGl0bGUge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTZweCk7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMnB4KTtcblx0fVxuXG5cdC5zdi13cmFwIHtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEycHgpO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjMzO1xuXHRcdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEycHgpO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJzxsYXJnZScpIHtcblx0XHRcdHdpZHRoOiAzMiU7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNXB4KTtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJzxtZWRpdW0nKSB7XG5cdFx0XHR3aWR0aDogNDAlO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc8NDgwcHgnKSB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cblx0XHRzdHJvbmcge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNHB4KTtcblx0XHR9XG5cdH1cblxuXHQubGluay1ob2xkIHtcblx0XHRAaW5jbHVkZSBtZWRpYSgnPGxhcmdlJykge1xuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0fVxuXHR9XG59XG5cbmxhYmVsIHtcblx0LmlucHV0LXdyYXAge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDE2MHB4KTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDAgNHB4IDRweCAwKTtcblx0XHR9XG5cblx0XHQuc2VsZWN0LWJ0biB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRib3JkZXItcmFkaXVzOiByZW0tY2FsYygwIDRweCA0cHggMCk7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuXHRcdFx0YmFja2dyb3VuZDogI2VlZTtcblx0XHRcdGNvbG9yOiAjMjIyO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg1cHggOHB4KTtcblx0XHRcdEBpbmNsdWRlIGFuaW1hdGUoYmFja2dyb3VuZCk7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBkYXJrZW4oI2VlZSwgMTAlKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuZmllbGRzZXQge1xuXHRcblx0W3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCwgXG5cdFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuXHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMnB4KTsgLy8gVGlueSBzaGltIGZvciBiZXR0ZXIgYWxpZ25tZW50XG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdG1heC13aWR0aDogY2FsYygxMDAlIC0gMjRweCk7XG5cdH1cbn1cblxuLnNlYXJjaC1oZWFkaW5nLWJsb2NrIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMHB4KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MHB4KTtcblx0fVxuXG5cdGgzIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg4MHB4KTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc8bWVkaXVtJykge1xuXHRcdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4cHgpO1xuXHRcdH1cblxuXHRcdGVtIHtcblx0XHRcdGNvbG9yOiAjOWI5YjliO1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOHB4KTtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTVweCk7XG5cdFx0XHR9XG5cblx0XHRcdGEge1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdFx0Y29sb3I6ICM0YTkwZTI7XG5cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnZpZXctc3dpdGNoZXIge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0cmlnaHQ6IDE0cHg7XG5cblx0XHRsaSB7XG5cdFx0XHQrbGkge1xuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRib3JkZXItY29sb3I6ICM0YTkwZTI7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSg3NCwgMTQ0LCAyMjYsIDAuMyk7XG5cblx0XHRcdFx0XHQubGlzdC1hY3RpdmUgJiB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdC5saXN0LWFjdGl2ZSAmIHtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAjNGE5MGUyO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDc0LCAxNDQsIDIyNiwgMC4zKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLnNhdmUtbGluayB7XG5cdC5zYXZlLWFjdGl2ZSAmIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi5zYXZlZC10ZXh0IHtcblx0ZGlzcGxheTogbm9uZTtcblxuXHQuc2F2ZS1hY3RpdmUgJiB7XG5cdFx0ZGlzcGxheTogaW5saW5lO1xuXHR9XG59XG5cbi5wYWdpbmF0aW9uIHtcbn1cblxuLm1lZGlhLW9iamVjdC1ob2xkZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuXHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjBweCk7XG5cblx0QGluY2x1ZGUgbWVkaWEoJzxtZWRpdW0nKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDBweCk7XG5cdH1cblxuXHQubGlzdC1hY3RpdmUgJiB7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdH1cblxuXHQmOmJlZm9yZSxcblx0JjphZnRlciB7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49bWVkaXVtJykge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjY2NjO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiByZW0tY2FsYygyMHB4KTtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdHdpZHRoOiAxcHg7XG5cdFx0XHRsZWZ0OiA1MCU7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49bGFyZ2UnKSB7XG5cdFx0XHRsZWZ0OiAzMy4zMyU7XG5cdFx0fVxuXG5cdFx0Lmxpc3QtYWN0aXZlICYge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQmOmFmdGVyIHtcblx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHR3aWR0aDogMDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj1sYXJnZScpIHtcblx0XHRcdGxlZnQ6IDY2LjY2JTtcblx0XHRcdHdpZHRoOiAxcHg7XG5cdFx0fVxuXHR9XG5cblx0Lmxpc3QtaXRlbSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0Lmxpc3QtYWN0aXZlICYge1xuXHRcdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTU0cHgpO1xuXHRcdH1cblxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdH1cblxuXHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0Ym9yZGVyLXRvcDogMDtcblx0XHR9XG5cdH1cblxuXHQuYWRkLXdyYXAge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTRweCk7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygyOHB4KTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWFyZ2luOiByZW0tY2FsYygyMHB4IDAgMCA1MHB4KTtcblxuXHRcdC5saXN0LWFjdGl2ZSAmIHtcblx0XHRcdG1pbi13aWR0aDogMTQwcHg7XG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdFx0XHRyaWdodDogcmVtLWNhbGMoLTYycHgpO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblxuXHRcdC5pY28ge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAtM3B4O1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0YmFja2dyb3VuZDogIzExNjRhZDtcblx0XHRcdHdpZHRoOiByZW0tY2FsYygyMXB4KTtcblx0XHRcdGhlaWdodDogcmVtLWNhbGMoMjFweCk7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cblx0XHRcdCY6YmVmb3JlLFxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdFx0XHR3aWR0aDogcmVtLWNhbGMoMTFweCk7XG5cdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoM3B4KTtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IHJlbS1jYWxjKDlweCk7XG5cdFx0XHRcdGxlZnQ6IHJlbS1jYWxjKDVweCk7XG5cdFx0XHR9XG5cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHR3aWR0aDogcmVtLWNhbGMoM3B4KTtcblx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYygxMXB4KTtcblx0XHRcdFx0dG9wOiByZW0tY2FsYyg1cHgpO1xuXHRcdFx0XHRsZWZ0OiByZW0tY2FsYyg5cHgpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5kcm9wZG93bi1wYW5lIHtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICM5Nzk3OTc7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdFx0Y29sb3I6ICMwMDA7XG5cdFx0XHR3aWR0aDogcmVtLWNhbGMoMjMwcHgpO1xuXHRcdFx0dG9wOiByZW0tY2FsYygtOTBweCkgIWltcG9ydGFudDtcblx0XHRcdGxlZnQ6IHJlbS1jYWxjKC0xOTBweCkgIWltcG9ydGFudDtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTRweCk7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8bWVkaXVtJykge1xuXHRcdFx0XHRsZWZ0OiByZW0tY2FsYygtMThweCkgIWltcG9ydGFudDtcblx0XHRcdH1cblxuXHRcdFx0Lmxpc3QtYWN0aXZlICYge1xuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdFx0bGVmdDogcmVtLWNhbGMoLTEyNnB4KSAhaW1wb3J0YW50O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC50aXRsZSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg4cHgpO1xuXHRcdFx0fVxuXG5cdFx0XHRhIHtcblx0XHRcdFx0Y29sb3I6ICM0YTkwZTI7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmFmdGVyLFxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRib3R0b206IHJlbS1jYWxjKC0xNnB4KTtcblx0XHRcdFx0cmlnaHQ6IHJlbS1jYWxjKDE0cHgpO1xuXHRcdFx0XHR3aWR0aDogMDtcblx0XHRcdFx0aGVpZ2h0OiAwO1xuXHRcdFx0XHRib3JkZXItd2lkdGg6IDE2cHggMTVweCAwIDE1cHg7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogI2IxYjFiMSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcblx0XHRcdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPG1lZGl1bScpIHtcblx0XHRcdFx0XHRyaWdodDogYXV0bztcblx0XHRcdFx0XHRsZWZ0OiByZW0tY2FsYygxNHB4KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGJvdHRvbTogcmVtLWNhbGMoLTE0cHgpO1xuXHRcdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0XHRib3JkZXItd2lkdGg6IDE2cHggMTVweCAwIDE1cHg7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogI2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRhLmJ1dHRvbiB7XG5cdFx0XHRtYXJnaW46IC0zcHggMCAwO1xuXHRcdFx0cGFkZGluZzogM3B4IDAgMDtcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0cHgpO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRjb2xvcjogIzExNjRhZDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDI4cHgpO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0yOHB4KTtcblxuXHRcdFx0Lmljb24taG9sZCB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICMxMTY0YWQ7XG5cdFx0XHRcdHdpZHRoOiByZW0tY2FsYygyMXB4KTtcblx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYygyMXB4KTtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHRtYXJnaW46IHJlbS1jYWxjKC0zcHggMTRweCAwIC0yOHB4KTtcblx0XHRcdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDNweCk7XG5cblx0XHRcdFx0LmZhcyB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxMnB4KTtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0b3V0bGluZTogMXB4IGRhc2hlZDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQudGh1bWJuYWlsIHtcblx0XHQmLm5vLWltZyB7XG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHQuaWNvIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR3aWR0aDogMjhweDtcblx0XHRcdFx0aGVpZ2h0OiAyOHB4O1xuXHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0XHRcdFx0bWFyZ2luLXRvcDogM3B4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5ib2R5IHtcblx0Ji5saXN0LWFjdGl2ZSB7XG5cdFx0Lm1lZGlhLW9iamVjdC1ob2xkZXIge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNjY2M7XG5cblx0XHRcdC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG5cdFx0XHRcdCYuaW1nLXdyYXAge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmOm5vdCgubGlzdC1hY3RpdmUpIHtcblx0XHQubWVkaWEtb2JqZWN0LWhvbGRlciB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZWRpdW0nKSB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdFx0bWFyZ2luOiByZW0tY2FsYygwIC0yMHB4KTtcblx0XHRcdH1cblxuXHRcdFx0Lmxpc3QtaXRlbSB7XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdFx0XHR3aWR0aDogNTAlO1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjBweCk7XG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjBweCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1sYXJnZScpIHtcblx0XHRcdFx0XHR3aWR0aDogMzMuMzMlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0JjpmaXJzdC1jaGlsZCxcblx0XHRcdFx0JjpudGgtY2hpbGQoMikge1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1lZGl1bScpIHtcblx0XHRcdFx0XHRcdGJvcmRlci10b3Atd2lkdGg6IDA7XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0JjpudGgtY2hpbGQoMykge1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PWxhcmdlJykge1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXRvcC13aWR0aDogMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIvKiAgR2l6YSBAIFNjaG9vbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vLyBIaWxpdGUgY29udGVudCBpdGVtcyAoR0BTIGxhbmRpbmcgcGFnZSlcbi8vICAgIExheW91dC9hcHBlYXJhbmNlIHN3aXRjaGVzIGF0ICdtZWRpdW0nXG5cbi8vIE1hcCBvZiBoaWxpdGUgaXRlbXMgKGZvciBsb29waW5nIHRocm91Z2ggY2xhc3Nlcy9pbWFnZSBVUkxzKVxuJGhpbGl0ZS1pdGVtczogKFxuICAnbGVzc29udG9waWNzJywgICAvLyBMZXNzb24gVG9waWNzXG5cdCdwZW9wbGUnLCAgICAgICAgIC8vIFBlb3BsZSBhbmQgUGxhY2VzIG9mIEdpemFcblx0J2ZhcScsICAgICAgICAgICAgLy8gR2xvc3NhcnkgYW5kIEZBUVxuXHQndmlkZW9zJyAgICAgICAgICAvLyBWaWRlbyBMaWJyYXJ5XG4pO1xuXG4vLyBEZWZhdWx0XG4uY29udGVudC1oaWxpdGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBwYWRkaW5nLXRvcDogc3BhY2VyKDIpO1xuICBwYWRkaW5nLWJvdHRvbTogc3BhY2VyKDIpO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJHNhbmQtbWVkaXVtO1xuICBtYXJnaW4tYm90dG9tOiBzcGFjZXIoMSk7XG59XG5cbi5jb250ZW50LWhpbGl0ZS1jb250ZW50IHtcbiAgZmxleDogMSAxIGF1dG87XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG9yZGVyOiAyO1xuICB9XG59XG5cbi5jb250ZW50LWhpbGl0ZS1oZWFkZXIge1xufVxuXG4uY29udGVudC1oaWxpdGUtYm9keSB7XG4gIHBhZGRpbmctcmlnaHQ6IHNwYWNlcigxKTtcbn1cblxuLmNvbnRlbnQtaGlsaXRlLWZvb3RlciB7ICBcbn1cblxuLmNvbnRlbnQtaGlsaXRlLWltYWdlIHtcbiAgZmxleDogMCAwIDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogNzVweDsgLy8gQ2lyY2xlIG1hc2tcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNhbmQtbWVkaXVtO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9zY2hvb2wtaGlsaXRlLWRlZmF1bHQucG5nJyk7XG4gIGJhY2tncm91bmQtc2l6ZTogNTBweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgb3JkZXI6IDE7XG4gICAgZmxleDogMCAwIDE1MHB4O1xuICAgIGhlaWdodDogMTUwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IHNwYWNlcigyKTtcbiAgfVxuICBcbiAgQGVhY2ggJGl0ZW0gaW4gJGhpbGl0ZS1pdGVtcyB7XG4gICAgJi5pbWctI3skaXRlbX0ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvc2Nob29sLWhpbGl0ZS0jeyRpdGVtfS5wbmcnKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUHJpbWFyeSAobGVhZCkgaXRlbVxuLmNvbnRlbnQtaGlsaXRlLXByaW1hcnkge1xuICBcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICRzYW5kLW1lZGl1bTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwwLDAsMC4xNSk7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICBcbiAgLmNvbnRlbnQtaGlsaXRlLWNvbnRlbnQge1xuICAgIFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nLXRvcDogc3BhY2VyKDIpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNlcigyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC5jb250ZW50LWhpbGl0ZS1ib2R5IHtcbiAgICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZm9udC1zaXplOiAxMDYuMjUlOyAvLyAxN3B4XG4gICAgfVxuICB9XG4gIFxuICAuY29udGVudC1oaWxpdGUtZm9vdGVyIHtcbiAgICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZy10b3A6IHNwYWNlcigxKTtcbiAgICB9XG4gIH1cbiAgXG4gIC5jb250ZW50LWhpbGl0ZS1pbWFnZSB7XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZsZXg6IDAgMCAxNjBweDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTYwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgXG4gICAgICBAZWFjaCAkaXRlbSBpbiAkaGlsaXRlLWl0ZW1zIHtcbiAgICAgICAgJi5pbWctI3skaXRlbX0ge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3NjaG9vbC1oaWxpdGUtI3skaXRlbX0tcHJpbWFyeS5wbmcnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIExlc3NvbiBUb3BpY3Ncbi8vXG5cbi50b3BpYy1ibHVyYiB7XG4gIHBhZGRpbmctdG9wOiBzcGFjZXIoXCJoYWxmXCIpO1xuICBwYWRkaW5nLWJvdHRvbTogc3BhY2VyKDIpO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJHNhbmQtbWVkaXVtO1xuICBtYXJnaW4tYm90dG9tOiBzcGFjZXIoMik7XG59XG5cbi50b3BpYy1ibHVyYi1oZWFkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogc3BhY2VyKDEpO1xufVxuXG4udG9waWMtYmx1cmItYm9keSB7XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuLnRvcGljLWJsdXJiLWltYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogc3BhY2VyKDEpO1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBmbGV4OiAwIDAgMTUwcHg7XG4gICAgaGVpZ2h0OiAxNTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IHNwYWNlcigyKTtcbiAgfVxufVxuXG4udG9waWMtYmx1cmItdGV4dCB7XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG59XG5cbi50b3BpYy1ibHVyYi1mb290ZXIge1xuICBwYWRkaW5nLWJvdHRvbTogc3BhY2VyKFwiaGFsZlwiKTtcbn1cbiIsIi8qICBNaXNjZWxsYW5lb3VzIFV0aWxpdGllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vLyBEaXNwbGF5IChib3Jyb3dlZCBmcm9tIEJvb3RzdHJhcClcblxuLmQtYmxvY2sgeyAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuLmQtaW5saW5lIHsgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbi5kLWlubGluZS1ibG9jayB7ICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4uZC1mbGV4IHsgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbi5kLW5vbmUgeyAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4vLyBSZXNwb25zaXZlIGltYWdlIChib3Jyb3dlZCBmcm9tIEJvb3RzdHJhcClcblxuLmltZy1mbHVpZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyBSZXNwb25zaXZlIGltYWdlIG1heC13aWR0aCBjb25zdHJhaW50XG4vLyAgICBQYXJ0aWN1bGFybHkgZm9yIHNpZGViYXIgbW9kdWxlcyB3aG9zZSBpbWFnZXMgY291bGQgZ2V0IHZlcnkgd2lkZTtcbi8vICAgIHRoZXNlIGNsYXNzZXMgc2V0IHJlYXNvbmFibGUgbWF4aW11bSBzaXplcy5cbi8vICAgIFBpeGVsIGB3aWR0aGAgdmFsdWVzIGdldCBlbmZvcmNlZCB3aGVuIGNvbnRhaW5lciBpcyBsYXJnZXIgdGhhbiB0aGF0IHZhbHVlLCBcbi8vICAgIG90aGVyd2lzZSBtYXgtd2lkdGg6MTAwJSBhcHBsaWVzIGFuZCB0aGUgY29udGFpbmVyIGRldGVybWluZXMgd2lkdGguXG4vLyAgICBSZW1lbWJlciB0byB1c2UgdGhlc2UgcGFpcmVkIHdpdGggLmltZy1mbHVpZCFcblxuLmltZy1mbHVpZC1tdzE1MCB7XG4gIHdpZHRoOiAxNTBweDtcbn1cbi5pbWctZmx1aWQtbXcyNTAge1xuICB3aWR0aDogMjUwcHg7IFxufVxuLmltZy1mbHVpZC1tdzMyNSB7XG4gIHdpZHRoOiAzMjVweDtcbn1cbi5pbWctZmx1aWQtbXc0NTAge1xuICB3aWR0aDogNDUwcHg7XG59XG5cbi5pbWctZmx1aWQtc20tbXczMjUgeyAvLyBNZWRpdW0gYW5kL29yIHRhYmxldFxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgbWF4LXdpZHRoOiAzMjVweDtcbiAgfVxufVxuXG4uaW1nLWZsdWlkLW1kLW13NTAgeyAvLyBNZWRpdW0gYW5kL29yIHRhYmxldFxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQgb25seSkge1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG59XG4uaW1nLWZsdWlkLWxnLW13NTAgeyAvLyBMYXJnZSAmIHVwXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxufVxuXG4vLyBGbGV4IHV0aWxpdGllcywgaW5zcGlyZWQgYnkgQm9vdHN0cmFwLCBmb3IgaXRlbXMgdGhhdCBiZWhhdmUgbGlrZSBtZWRpYSBibG9ja3NcblxuLmZsZXgtdiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8vIE5vbi1kZWZhdWx0IHZhbHVlIGZvciBmbGV4Ym94XG59XG5cbi5mbGV4LWZpeGVkIHtcbiAgZmxleC1ncm93OiAwO1xuICBmbGV4LXNocmluazogMDtcbn1cblxuLmZsZXgtbXctMTUwIHtcbiAgZmxleC1iYXNpczogMTUwcHg7XG59XG5cbi5mbGV4LWZsdWlkIHtcbiAgZmxleDogMSAxIGF1dG87XG59XG5cbi8vIEZpeGVkIGhlYWRlci9mb290ZXIsIGZsdWlkIGJvZHkgY29tcG9uZW50c1xuLmZsZXgtaGVhZGVyIHtcbiAgZmxleDogMDtcbn1cbi5mbGV4LWJvZHkge1xuICBmbGV4OiAxO1xufVxuLmZsZXgtZm9vdGVyIHtcbiAgZmxleDogMDtcbn1cblxuXG5cbi8vIEJvcmRlcnMgLSBmbGV4aWJsZSBkaXZpZGVycyBmb3IgZGlmZmVyZW50IHVzZXNcblxuLmJvcmRlci1saWdodCB7XG4gIGJvcmRlcjogc29saWQgMXB4IHJnYmEoJHdoaXRlLCAwLjUpO1xufVxuLmJvcmRlci1kYXJrIHtcbiAgYm9yZGVyOiBzb2xpZCAxcHggcmdiYSgkZHVuZSwgMC4yNSk7XG59XG4uYm9yZGVyLXRvcC1saWdodCB7XG4gIGJvcmRlci10b3A6IHNvbGlkIDFweCByZ2JhKCR3aGl0ZSwgMC41KTtcbn1cbi5ib3JkZXItdG9wLWRhcmsge1xuICBib3JkZXItdG9wOiBzb2xpZCAxcHggcmdiYSgkZHVuZSwgMC4yNSk7XG59XG4uYm9yZGVyLWJvdHRvbS1saWdodCB7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCByZ2JhKCR3aGl0ZSwgMC41KTtcbn1cbi5ib3JkZXItYm90dG9tLWRhcmsge1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggcmdiYSgkZHVuZSwgMC4yNSk7XG59XG4uYm9yZGVyLWxlZnQtbGlnaHQge1xuICBib3JkZXItbGVmdDogc29saWQgMXB4IHJnYmEoJHdoaXRlLCAwLjUpO1xufVxuLmJvcmRlci1sZWZ0LWRhcmsge1xuICBib3JkZXItbGVmdDogc29saWQgMXB4IHJnYmEoJGR1bmUsIDAuMjUpO1xufVxuLmJvcmRlci1yaWdodC1saWdodCB7XG4gIGJvcmRlci1yaWdodDogc29saWQgMXB4IHJnYmEoJHdoaXRlLCAwLjUpO1xufVxuLmJvcmRlci1yaWdodC1kYXJrIHtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggcmdiYSgkZHVuZSwgMC4yNSk7XG59XG5cblxuLy8gUGFkZGluZyBvbiByb3dzXG5cbi5yb3ctcGFkZGVkIHsgLy8gQSByb3cgd2hvc2UgY29udGVudCBzaG91bGQgbWF0Y2ggdGhlIGFsaWdubWVudCBvZiBjb2x1bW5zXG4gICAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgfVxuICAgIFxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICB9XG59XG5cbi5saW5lcyB7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcblx0cGFkZGluZzogMWVtO1xufVxuXG4vLyBTY3JlZW5yZWFkZXIgc3VwcG9ydFxuXG4uc3Itb25seSB7XG4gIEBpbmNsdWRlIHNyLW9ubHkoKTtcbn1cblxuLnNyLW9ubHktZm9jdXNhYmxlIHtcbiAgQGluY2x1ZGUgc3Itb25seS1mb2N1c2FibGUoKTtcbn1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4jc2tpcHB5LCBcbi5za2lwbGluay10ZXh0IHtcbiAgY29sb3I6ICR3aGl0ZTtcbn1cblxuLy8gQW5jaG9yIGxpbmtzIG9mZnNldCAodG8gY29tcGVuc2F0ZSBmb3IgZml4ZWQgbmF2YmFyIGhlaWdodClcblxuOnRhcmdldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiA4NXB4OyAvKiBmaXhlZCBoZWFkZXIgaGVpZ2h0Ki9cbiAgbWFyZ2luOiAtODVweCAwIDA7IC8qIG5lZ2F0aXZlIGZpeGVkIGhlYWRlciBoZWlnaHQgKi9cbn1cblxuLy8gV29yZC1icmVhayBhbGxvd2FuY2UgKGZvciBsb25nIHN0cmluZ3MgbGlrZSBVUkxzLCB3aGljaCBvdGhlcndpc2Vcbi8vIGNhdXNlIHByb2JsZW1zIHdpdGggYW5jaG9yIGp1bXBpbmcvc2Nyb2xsaW5nXG5cbi5icmVha2FibGUtd29yZCB7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi8vIFJlc3BvbnNpdmUgYWxpZ25tZW50IFxuXG4udGV4dC1tZC1yaWdodCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbn0gXG5cbi50ZXh0LWxnLXJpZ2h0IHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG5cbi50ZXh0LW1kLWxlZnQge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn0gXG5cbi50ZXh0LWxnLWxlZnQge1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfSBcbn1cblxuLy8gV29yZCB3cmFwcGluZ1xuXG4udGV4dC1ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vLyBBcnJvd3MgcHJlcGVuZGVkIG9yIGFwcGVuZGVkXG5cbi5wb2ludGVyLWJhY2s6OmJlZm9yZSwgXG4ucG9pbnRlci1md2Q6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogXCJnaXphLXByb2plY3QtaWNvbnNcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAwLjFlbTtcbiAgcGFkZGluZy1yaWdodDogMC4xZW07XG4gIHRvcDogMC4xN2VtO1xufVxuXG4ucG9pbnRlci1iYWNrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjFcIjsgLy8gY2hldnJvbi1sZWZ0IGljb25cbn1cblxuLnBvaW50ZXItZndkOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFw2MlwiOyAvLyBjaGV2cm9uLXJpZ2h0IGljb25cbn1cblxuXG4vLyBUb3AgQmFubmVyICh1bmRlciBjb25zdHJ1Y3Rpb24pIC0gI0JhY2tmaWxsXG5cbi50b3AtYmFubmVyIHtcbiAgaGVpZ2h0OiAyOXB4OyAvLyBGaXhlZCBoZWlnaHQgdG8gYWNjb21tb2RhdGUgc21vb3RoLXNjcm9sbCBvZmZzZXRcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZBRjRDQTtcbiAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogNXB4O1xufVxuIiwiLy9cbi8vIFRpbWVsaW5lIFN0eWxlcyAoQXJjaGFlb2xvZ3kgYXQgR2l6YSlcbi8vXG5cbi8vIEJld2FyZSwgaGVyZSBiZSBtYW55ICFpbXBvcnRhbnQgZHJhZ29uczsgXG4vLyBUaW1lbGluZUpTIGRlZmF1bHRzIG5lZWQgYSBsb3Qgb2Ygb3ZlcnJpZGluZ1xuLy9cbi8vIFJlZmVyZW5jZTogaHR0cHM6Ly90aW1lbGluZS5rbmlnaHRsYWIuY29tL1xuXG4jdGltZWxpbmUtZW1iZWQge1xuICBcbiAgLy8gTGFyZ2Ugc2NyZWVucyAvIEFsbCBzY3JlZW5zIChUaW1lbGluZUpTIGlzIG5vdCBtb2JpbGUtZmlyc3QpXG4gIFxuICAudGwtdGltZW5hdi1zbGlkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQwLDIzNCwyMjgsMSk7XG4gIH1cbiAgXG4gIC50bC10aW1lbWFya2VyIC50bC10aW1lbWFya2VyLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MywyMzgsMjMzLDEpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMTksMjE0LDIwNywxKSAhaW1wb3J0YW50O1xuICAgIFxuICAgIDpob3ZlcntcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwxKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBcbiAgLnRsLXRpbWVtYXJrZXItY29udGVudC1jb250YWluZXIgLnRsLXRpbWVtYXJrZXItY29udGVudC1jb250YWluZXItc21hbGwgOmhvdmVyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEwNyw5OCw5MiwxKSAhaW1wb3J0YW50O1xuICB9XG4gIFxuICAudGwtdGltZW1hcmtlci1hY3RpdmUgLnRsLXRpbWVtYXJrZXItY29udGVudC1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMSkgIWltcG9ydGFudDtcbiAgfVxuICBcbiAgLnRsLXRpbWVtYXJrZXIgLnRsLXRpbWVtYXJrZXItY29udGVudC1jb250YWluZXIgLnRsLXRpbWVtYXJrZXItY29udGVudCAudGwtdGltZW1hcmtlci10ZXh0IGgyLnRsLWhlYWRsaW5lLCBcbiAgLnRsLXRpbWVtYXJrZXIgLnRsLXRpbWVtYXJrZXItY29udGVudC1jb250YWluZXIgLnRsLXRpbWVtYXJrZXItY29udGVudCAudGwtdGltZW1hcmtlci10ZXh0IGgyLnRsLWhlYWRsaW5lIHAge1xuICAgIGNvbG9yOiByZ2JhKDEwNyw5OCw5MiwxKSAhaW1wb3J0YW50O1xuICB9XG4gIFxuICAudGwtc2xpZGUtY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiAxMjAwcHggIWltcG9ydGFudDtcbiAgfVxuICBcbiAgI3RpbWVsaW5lLWVtYmVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTAsMjQ1LDEpICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gIC50bC10aW1lbWFya2VyLnRsLXRpbWVtYXJrZXItYWN0aXZlIC50bC10aW1lbWFya2VyLWxpbmUtbGVmdCB7XG4gICAgYm9yZGVyOiBzb2xpZCAxLjVweCByZ2JhKDE2NSwyNyw0OCwxKSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gIC50bC10aW1lbmF2LXNsaWRlciB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwIHJnYmEoMTA3LDk4LDkyLDAuNSksIGluc2V0IDAgMXB4IDZweCAwIHJnYmEoMCwwLDAsMC4yKSAhaW1wb3J0YW50O1xuICB9XG4gIFxuICAudGwtdGltZWF4aXMtY29udGVudC1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1MCwyNDUsMSkgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogNXB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gIC50bC10ZXh0LWNvbnRlbnQtY29udGFpbmVyIC50bC1oZWFkbGluZSB7XG4gICAgY29sb3I6IHJnYmEoMTE1LDIwLDM0LDEpICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xuICB9XG4gIFxuICAudGwtdGV4dC1jb250ZW50LWNvbnRhaW5lciAudGwtdGV4dC1jb250ZW50IHAge1xuICAgIGNvbG9yOiByZ2JhKDQ5LDQ2LDQzLDEpO1xuICB9XG4gIFxuICAudGwtaGVhZGxpbmUtZGF0ZSB7XG4gICAgY29sb3I6IHJnYmEoMTA3LDk4LDkyLDEpICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDIwcHggIWltcG9ydGFudDtcbiAgfVxuICBcbiAgLnRsLW1lZGlhIC50bC1tZWRpYS1jb250ZW50LWNvbnRhaW5lciAudGwtbWVkaWEtY29udGVudCBpbWcge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gIC50bC1zbGlkZW5hdi1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgb3BhY2l0eTogMC42ICFpbXBvcnRhbnQ7XG4gICBcbiAgICAqIHtcbiAgICAgIGNvbG9yOiByZ2JhKDEwNyw5OCw5MiwxKSAhaW1wb3J0YW50O1xuICAgICAgbGluZS1oZWlnaHQ6IDE5cHggIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMTIwcHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgXG4gIC50bC1zbGlkZW5hdi10aXRsZSwgLnRsLXNsaWRlbmF2LWRlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgfVxuICBcbiAgLnRsLXNsaWRlbmF2LWRlc2NyaXB0aW9uIHtcbiAgICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuICB9XG4gIFxuIC50bC1zbGlkZW5hdi1pY29uIHtcbiAgICBmb250LWZhbWlseTogXCJnaXphLXByb2plY3QtaWNvbnNcIiAhaW1wb3J0YW50O1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gIC50bC1zbGlkZW5hdi1uZXh0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAxNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIFxuICAudGwtc2xpZGVuYXYtbmV4dCAudGwtc2xpZGVuYXYtaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFw2MlwiICFpbXBvcnRhbnQ7IC8vIGNoZXZyb24tcmlnaHQgaWNvblxuICB9XG4gIFxuICAudGwtc2xpZGVuYXYtcHJldmlvdXMge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICBcbiAgLnRsLXNsaWRlbmF2LXByZXZpb3VzIC50bC1zbGlkZW5hdi1pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDYxXCIgIWltcG9ydGFudDsgLy8gY2hldnJvbi1sZWZ0IGljb25cbiAgfVxuICBcbiAgLnRsLXNsaWRlbmF2LWljb246YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDEwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gIC50bC10aW1lbWFya2VyLWFjdGl2ZSAudGwtdGltZW1hcmtlci1saW5lLWxlZnQ6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTY1LDI3LDQ4LDEpICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gIC50bC10aW1lbWFya2VyIC50bC10aW1lbWFya2VyLWxpbmUtbGVmdDphZnRlciwgLnRsLXRpbWVtYXJrZXIgLnRsLXRpbWVtYXJrZXItbGluZS1yaWdodDphZnRlciB7XG4gICAgaGVpZ2h0OiA4cHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogOHB4ICFpbXBvcnRhbnQ7XG4gICAgYm90dG9tOiAtMXB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuMTUpICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gIC50bC1jYXB0aW9uIHtcbiAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMTJweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiA5MCUgIWltcG9ydGFudDtcbiAgfVxuICBcbiAgLnRsLW1lZGlhLWNvbnRlbnQgaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiAzNzVweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gU3BlY2lhbCBzdHlsZXMgZm9yIHNtYWxsIHNjcmVlbnNcbiAgXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY2N3B4KSB7XG4gICAgXG4gICAgLnRsLXNsaWRlbmF2LW5leHQge1xuICAgICAgcmlnaHQ6IDgwcHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLnRsLW1lZGlhLWNvbnRlbnQgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IDI0MHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIC50bC1tZWRpYS1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAudGwtc2xpZGVuYXYtaWNvbjpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiA1MHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59Il19 */
