/* ==========================================================================
   Colours
   ========================================================================== */
/* ==========================================================================
   Typography
   ========================================================================== */
/* ==========================================================================
   Media Queries
   ========================================================================== */
/*! normalize.css v1.1.2 | MIT License | git.io/normalize */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block; }

/**
 * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
 */
audio,
canvas,
video {
  display: inline-block;
  *display: inline;
  *zoom: 1; }

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

/**
 * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
 * Known issue: no IE 6 support.
 */
[hidden] {
  display: none; }

/* ==========================================================================
   Base
   ========================================================================== */
/**
 * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
 *    `em` units.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-size: 100%;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Address `font-family` inconsistency between `textarea` and other form
 * elements.
 */
/**
 * Address margins handled incorrectly in IE 6/7.
 */
body {
  margin: 0; }

/* ==========================================================================
   Links
   ========================================================================== */
/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted; }

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

/* ==========================================================================
   Typography
   ========================================================================== */
/**
 * Address font sizes and margins set differently in IE 6/7.
 * Address font sizes within `section` and `article` in Firefox 4+, Safari 5,
 * and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

h2 {
  font-size: 1.5em;
  margin: 0.83em 0; }

h3 {
  font-size: 1em;
  margin: 1em 0; }

h4 {
  font-size: 1em;
  margin: 1.33em 0; }

h5 {
  font-size: 0.83em;
  margin: 1.67em 0; }

h6 {
  font-size: 0.67em;
  margin: 2.33em 0; }

/**
 * Address styling not present in IE 7/8/9, Safari 5, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome.
 */
b,
strong {
  font-weight: bold; }

blockquote {
  margin: 1em 40px; }

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

/**
 * Address differences between Firefox and other browsers.
 * Known issue: no IE 6/7 normalization.
 */
hr {
  box-sizing: content-box;
  height: 0; }

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

/**
 * Address margins set differently in IE 6/7.
 */
p,
pre {
  margin: 1em 0; }

/**
 * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  _font-family: 'courier new', monospace;
  font-size: 1em; }

/**
 * Improve readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word; }

/**
 * Address CSS quotes not supported in IE 6/7.
 */
q {
  quotes: none; }

/**
 * Address `quotes` property not supported in Safari 4.
 */
q:before,
q:after {
  content: '';
  content: none; }

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

/* ==========================================================================
   Lists
   ========================================================================== */
/**
 * Address margins set differently in IE 6/7.
 */
dl,
menu,
ol,
ul {
  margin: 1em 0; }

dd {
  margin: 0 0 0 40px; }

/**
 * Address paddings set differently in IE 6/7.
 */
menu,
ol,
ul {
  padding: 0 0 0 40px; }

/**
 * Correct list images handled incorrectly in IE 7.
 */
nav ul,
nav ol {
  list-style: none;
  list-style-image: none; }

/* ==========================================================================
   Embedded content
   ========================================================================== */
/**
 * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
 * 2. Improve image quality when scaled in IE 7.
 */
img {
  border: 0;
  /* 1 */
  -ms-interpolation-mode: bicubic;
  /* 2 */ }

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

/* ==========================================================================
   Figures
   ========================================================================== */
/**
 * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
 */
figure {
  margin: 0; }

/* ==========================================================================
   Forms
   ========================================================================== */
/**
 * Correct margin displayed oddly in IE 6/7.
 */
form {
  margin: 0; }

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

/**
 * 1. Correct color not being inherited in IE 6/7/8/9.
 * 2. Correct text not wrapping in Firefox 3.
 * 3. Correct alignment displayed oddly in IE 6/7.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  white-space: normal;
  /* 2 */
  *margin-left: -7px;
  /* 3 */ }

/**
 * 1. Correct font size not being inherited in all browsers.
 * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
 *    and Chrome.
 * 3. Improve appearance and consistency in all browsers.
 */
button,
input,
select,
textarea {
  font-size: 100%;
  /* 1 */
  margin: 0;
  /* 2 */
  vertical-align: baseline;
  /* 3 */
  *vertical-align: middle;
  /* 3 */ }

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

/**
 * 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 Chrome, Safari 5+, and IE 6+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
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.
 * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
 *    Known issue: inner spacing remains in IE 6.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
  *overflow: visible;
  /* 4 */ }

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

/**
 * 1. Address box sizing set to content-box in IE 8/9.
 * 2. Remove excess padding in IE 8/9.
 * 3. Remove excess padding in IE 7.
 *    Known issue: excess padding remains in IE 6.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
  *height: 13px;
  /* 3 */
  *width: 13px;
  /* 3 */ }

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

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

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

/**
 * 1. Remove default vertical scrollbar in IE 6/7/8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */ }

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

html {
  font-size: 16px;
  font-family: "Ubuntu", sans-serif; }

body {
  background: #ff454e;
  line-height: 1.4em;
  color: #707070; }

body.noscroll,
html.noscroll {
  overflow: hidden; }

.site {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 100vh;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

.site-content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1; }

h1,
h2 {
  font-family: "Anton", sans-serif;
  font-weight: 400; }

h1 {
  line-height: 1.3em; }

h2 {
  line-height: 1.3em;
  font-size: 33px;
  margin-top: -0.06em;
  margin-bottom: 0.5em; }
  @media (min-width: 721px) {
    h2 {
      font-size: 45px; } }

a {
  color: currentColor; }

.wood-username-field {
  display: none; }

input,
button {
  font-family: "Ubuntu", sans-serif;
  font-weight: normal;
  color: currentColor; }

.form input,
.form button,
.form label,
.form select,
.form option {
  margin-bottom: 14px;
  font-size: 14px; }

.form label {
  font-weight: bold;
  text-transform: uppercase;
  display: block; }

.form input,
.form button {
  border: 2px solid #cccccc;
  padding: 9px 10px 10px; }

.form__select {
  position: relative; }
  .form__select:before, .form__select:after {
    display: block;
    content: " ";
    pointer-events: none;
    width: 3px;
    height: 7px;
    position: absolute;
    background: #cccccc;
    top: 50%;
    margin-top: -3px; }
  .form__select:before {
    right: 16px;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  .form__select:after {
    right: 13px;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg); }
  .form__select select {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0;
    border: 2px solid #cccccc;
    box-shadow: none;
    border-radius: 0;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background: none;
    color: #707070;
    padding: 9px 10px 10px;
    font-family: "Ubuntu", sans-serif; }
    .form__select select:hover {
      cursor: pointer; }
    .form__select select::-ms-expand {
      display: none; }
    .form__select select:focus {
      outline: none; }
    .form__select select option {
      font-weight: normal; }

.form__searchform {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%; }
  .form__searchform input[type="text"] {
    width: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-right: 20px; }
  .form__searchform button {
    padding: 0 40px; }
    .form__searchform button:hover {
      background: #ff454e;
      color: #ffffff; }
    .form__searchform button svg {
      width: 20px;
      height: 20px;
      fill: currentColor;
      display: block; }

.gridwrap {
  margin: auto;
  position: relative;
  padding: 0 10px;
  clear: both;
  width: 100%; }
  @media (min-width: 721px) {
    .gridwrap {
      padding: 0 60px; } }
  .gridwrap__narrow {
    margin: auto; }
    @media (min-width: 1401px) {
      .gridwrap__narrow {
        width: 66.66667%; } }

.col {
  border-top: 0;
  border-bottom: 0;
  float: left;
  background-clip: padding-box;
  position: relative; }
  .col--centred {
    float: none;
    margin: auto; }

.col,
.colwrap {
  padding: 0 10px; }
  @media (min-width: 721px) {
    .col,
    .colwrap {
      padding: 0 20px; } }

.col--space {
  height: 30px; }

.col__inner {
  padding: 0 20px; }

.col--nopad {
  border: none;
  padding-left: 0;
  padding-right: 0; }

.col--1-6,
.col--1-4,
.col--3-4,
.col--1-3,
.col--2-3,
.col--1-2,
.col--1,
.col--5-6 {
  width: 100%; }

.cssgrid {
  grid-column-gap: 40px;
  -ms-grid-columns: 1fr 1fr 1fr;
      grid-template-columns: 1fr 1fr 1fr;
  padding: 0 20px; }
  @supports ((display: -ms-grid) or (display: grid)) {
    .cssgrid {
      display: -ms-grid;
      display: grid; } }
  @media (min-width: 721px) {
    .cssgrid {
      -ms-grid-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
          grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
      padding: 0 80px; } }

@media (min-width: 721px) {
  .col--1-6 {
    width: 16.66667%; }
  .col--5-6 {
    width: 83.33333%; }
  .col--1-4 {
    width: 25%; }
  .col--3-4 {
    width: 75%; }
  .col--1-3 {
    width: 33.33333%; }
  .col--2-3 {
    width: 66.66667%; }
  .col--1-2 {
    width: 50%; }
  .vcol--1-2 {
    height: 50%; } }

.siteheader {
  padding: 0 20px;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 20;
  padding: 0 20px 10px 20px;
  background: rgba(255, 69, 78, 0.75);
  height: 107px;
  transition: 0.3s ease all; }
  @media (min-width: 721px) {
    .siteheader {
      transition: none;
      padding: 0 40px;
      height: 0; } }

.sitelogo--hide .siteheader {
  height: 65px; }
  @media (min-width: 721px) {
    .sitelogo--hide .siteheader {
      height: 0; } }

.fullpage {
  width: 100%;
  min-height: 100vh;
  overflow: hidden; }
  .fullpage__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .fullpage__navigation {
    position: fixed;
    bottom: 0;
    list-style: none;
    padding: 0 0 48px 0;
    margin: 0;
    left: 59px;
    z-index: 1; }
    @media (min-width: 721px) {
      .fullpage__navigation {
        left: 98px; } }
    .fullpage__navigation:before {
      display: block;
      content: " ";
      background: #ffffff;
      transition: 0.3s ease background;
      width: 2px;
      height: 40px;
      position: absolute;
      bottom: 0; }
      @media (min-width: 721px) {
        .fullpage__navigation:before {
          width: 4px; } }
    .fullpage__navigation svg {
      opacity: 0.25;
      fill: #ffffff;
      width: 9px;
      height: 7px;
      margin: 5px;
      transition: all 0.3s ease; }
      @media (min-width: 721px) {
        .fullpage__navigation svg {
          margin: 8px;
          width: 14px;
          height: 10px; } }
      .fullpage__navigation svg.--is-active {
        opacity: 1; }
    .fullpage__navigation li {
      margin-left: -9px; }
      @media (min-width: 721px) {
        .fullpage__navigation li {
          margin-left: -13px; } }
      .fullpage__navigation li:hover {
        cursor: pointer; }
  .fullpage__centred {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .fullpage__centred .gridwrap {
      margin: 0; }

.fitimg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }
  .fitimg img {
    position: absolute;
    top: 0; }

.object-fit .fitimg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover; }

.sitelogo {
  display: block;
  padding-top: 20px;
  width: 80px;
  position: relative; }
  @media (min-width: 721px) {
    .sitelogo {
      width: 120px;
      padding-top: 40px; } }
  .sitelogo:before {
    display: block;
    content: " ";
    position: absolute;
    top: 0;
    left: 50%;
    width: 2px;
    height: 4px;
    margin-left: -1px;
    background: #ffffff;
    transition: 0.3s ease background; }
    @media (min-width: 721px) {
      .sitelogo:before {
        height: 6px;
        margin-left: -2px;
        width: 4px; } }
  .sitelogo svg {
    width: 80px;
    height: 77px;
    display: block;
    fill: #ffffff;
    transition: 0.3s ease fill; }
    @media (min-width: 721px) {
      .sitelogo svg {
        width: 120px;
        height: 115px; } }

#sitelogo__text {
  transition: opacity 0.3s ease;
  opacity: 1; }

.sitelogo--hide #sitelogo__text {
  opacity: 0; }
  @media (min-width: 721px) {
    .sitelogo--hide #sitelogo__text {
      opacity: 1; } }

.button {
  display: inline-block;
  border: 2px solid #ffffff;
  font-size: 14px;
  padding: 10px 12px;
  text-decoration: none;
  line-height: 1em;
  text-align: center; }
  .button:hover {
    background: rgba(255, 255, 255, 0.1); }

.sitemenu {
  position: fixed;
  background: rgba(255, 255, 255, 0.1);
  min-width: 60px;
  transition: all 0.3s 0.15s ease;
  z-index: 20;
  color: #ff454e;
  left: 0;
  width: 100%;
  background: #ffffff;
  padding-top: 85px;
  padding-bottom: 120px;
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
  height: 100vh;
  top: 0; }
  .sitemenu--open {
    -webkit-transform: translateX(0%);
        -ms-transform: translateX(0%);
            transform: translateX(0%); }
  .sitemenu__contact {
    position: fixed;
    top: 26px;
    right: 64px;
    z-index: 21;
    color: #ffffff;
    -webkit-font-smoothing: antialiased;
    transition: color 0.3s ease;
    padding: 0;
    font-size: 10px; }
    @media (min-width: 721px) {
      .sitemenu__contact {
        top: 10px;
        font-size: 18px;
        right: 20px; } }
  @media (min-width: 721px) and (min-height: 700px) {
    .sitemenu__contact {
      top: 20px;
      font-size: 24px; } }
  @media (min-width: 721px) and (min-height: 800px) {
    .sitemenu__contact {
      top: 61px; } }
    .sitemenu__contact ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      margin: 0;
      list-style: none;
      text-align: right;
      padding: 0; }
      @media (min-width: 721px) {
        .sitemenu__contact ul {
          display: block; } }
    .sitemenu__contact li {
      margin-right: 10px;
      margin-bottom: 3px; }
      @media (min-width: 721px) {
        .sitemenu__contact li {
          margin-right: 0px; } }
    .sitemenu__contact a {
      color: currentColor;
      text-decoration: none; }
    .sitemenu__contact svg {
      width: 14px;
      height: 14px;
      display: inline-block;
      fill: currentColor;
      margin-right: 2px;
      margin-bottom: -2px; }
      @media (min-width: 721px) {
        .sitemenu__contact svg {
          width: 18px;
          height: 18px;
          margin-bottom: 0px; } }
  .sitemenu ul {
    padding: 0;
    list-style: none;
    margin: 0;
    overflow: auto;
    height: 100%; }
    @media (min-width: 721px) {
      .sitemenu ul {
        height: auto;
        overflow: hidden; } }
  @media (min-width: 721px) {
    .sitemenu {
      background: rgba(255, 255, 255, 0.1);
      display: block;
      top: 50%;
      -webkit-transform: translate(0, -50%);
          -ms-transform: translate(0, -50%);
              transform: translate(0, -50%);
      right: 0;
      left: auto;
      max-width: 60px;
      width: auto;
      height: auto;
      color: #ffffff;
      overflow: hidden;
      padding-top: 0;
      padding-bottom: 0; } }
  .sitemenu a {
    padding: 22px 20px;
    display: block;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-decoration: none;
    font-size: 20px; }
    @media (min-width: 721px) {
      .sitemenu a {
        font-size: 14px;
        padding: 20px 10px; } }
  .sitemenu svg {
    width: 33px;
    height: 33px;
    display: block;
    margin: auto 10px;
    transition: 0.2s ease;
    fill: currentColor; }
    @media (min-width: 721px) {
      .sitemenu svg {
        fill: #ffffff;
        width: 20px;
        height: 20px; } }
  .sitemenu span {
    white-space: nowrap;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-right: 0px;
    overflow: hidden;
    max-width: 100%;
    transition: all 0.5s ease;
    color: #ff454e;
    text-transform: uppercase;
    position: relative;
    padding: 0; }
    @media (min-width: 721px) {
      .sitemenu span {
        max-width: 0;
        opacity: 0; } }
  .sitemenu li {
    position: relative; }
    .sitemenu li:before, .sitemenu li:after {
      content: " ";
      background: #ebebeb;
      height: 1px; }
      @media (min-width: 721px) {
        .sitemenu li:before, .sitemenu li:after {
          background: rgba(255, 255, 255, 0.3); } }
    .sitemenu li:after {
      margin: 0 10px;
      height: 1px;
      width: 40px;
      float: right;
      display: none; }
      @media (min-width: 721px) {
        .sitemenu li:after {
          display: block; } }
    .sitemenu li:before {
      display: block;
      content: " ";
      width: calc(100% - 40px);
      position: absolute;
      top: 100%;
      left: 20px;
      transition: all 1s 0.3s ease; }
      @media (min-width: 721px) {
        .sitemenu li:before {
          width: 0px;
          right: 71px;
          left: auto; } }
    .sitemenu li:last-child:after, .sitemenu li:last-child:before {
      display: none; }
  .sitemenu:after {
    display: block;
    content: " ";
    width: 1px;
    height: 0%;
    position: absolute;
    right: 60px;
    background: #ff454e;
    bottom: 0px;
    transition: all 0.3s 0s ease; }
  @media (min-width: 721px) {
    .sitemenu:hover {
      max-width: 100vw;
      transition: all 0.3s 0s ease;
      background: white;
      color: #ff454e; }
      .sitemenu:hover:after {
        height: 100%;
        transition: all 0.3s 0.3s ease; }
      .sitemenu:hover span {
        max-width: 320px;
        margin-right: 21px;
        opacity: 1;
        padding: 0 10px;
        transition: all 0.3s 0.15s ease; }
      .sitemenu:hover svg {
        fill: currentColor;
        transition: fill 0.3s 0.15s ease; }
        .sitemenu:hover svg * {
          fill: currentColor; }
      .sitemenu:hover li:after, .sitemenu:hover li:before {
        transition: background 0.3s 0.15s ease;
        background: #ebebeb; }
      .sitemenu:hover li:before {
        width: calc(100% - 81px); } }
  .sitemenu__toggle {
    top: 20px;
    right: 20px;
    width: 35px;
    height: 35px;
    background: rgba(255, 255, 255, 0.1);
    position: fixed;
    z-index: 21;
    transition: all 0.3s 0.15s ease; }
    .sitemenu__toggle:hover {
      cursor: pointer; }
    .sitemenu__toggle:before, .sitemenu__toggle:after {
      transition: all 0.3s 0.15s ease;
      content: " ";
      height: 2px;
      width: 24px;
      display: block;
      position: absolute;
      background: #ffffff;
      left: 50%;
      margin-left: -12px;
      top: 50%;
      -webkit-transform-origin: center;
          -ms-transform-origin: center;
              transform-origin: center; }
    .sitemenu__toggle:before {
      margin-top: -6px; }
    .sitemenu__toggle:after {
      margin-top: 4px; }
    @media (min-width: 721px) {
      .sitemenu__toggle {
        display: none; } }
    .sitemenu__toggle--open {
      background: rgba(204, 204, 204, 0.2); }
      .sitemenu__toggle--open:before, .sitemenu__toggle--open:after {
        background: #ff454e; }
      .sitemenu__toggle--open:before {
        -webkit-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
                transform: rotate(45deg);
        margin-top: -1px; }
      .sitemenu__toggle--open:after {
        -webkit-transform: rotate(-45deg);
            -ms-transform: rotate(-45deg);
                transform: rotate(-45deg);
        margin-top: -1px; }
  .sitemenu__link--active,
  .sitemenu a:hover {
    position: relative; }
    .sitemenu__link--active:after,
    .sitemenu a:hover:after {
      display: block;
      content: " ";
      width: 2px;
      height: calc(100% - 4px);
      position: absolute;
      background: currentColor;
      right: 0;
      top: 2px; }

.sitefooter {
  bottom: 0;
  text-align: right;
  right: 0;
  color: rgba(255, 255, 255, 0.4);
  position: relative;
  height: 0;
  font-size: 10px; }
  @media (min-width: 721px) {
    .sitefooter {
      font-size: 12px; } }
  .sitefooter:before {
    content: " ";
    display: block;
    position: fixed;
    left: 60px;
    width: 2px;
    height: 40px;
    background: #ffffff;
    bottom: 0;
    margin-left: -1px; }
    @media (min-width: 721px) {
      .sitefooter:before {
        left: 100px;
        margin-left: -2px;
        width: 4px; } }
  .sitefooter a {
    color: currentColor; }
  .sitefooter p {
    padding: 0 20px;
    margin: 6px 0;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    line-height: 1.4em; }
    @media (min-width: 721px) {
      .sitefooter p {
        margin: 10px 0;
        padding: 0 10px;
        line-height: inherit; } }
  .sitefooter span {
    display: block; }
    @media (min-width: 721px) {
      .sitefooter span {
        display: inline; } }

.catlist {
  display: none;
  font-size: 14px; }
  @media (min-width: 721px) {
    .catlist {
      display: block; } }
  .catlist h3 {
    text-transform: uppercase;
    font-size: 20px;
    line-height: 0.73em; }
    @media (min-width: 1401px) {
      .catlist h3 {
        font-size: 28px; } }
  .catlist ul {
    list-style: none;
    margin: 0 0 0 0;
    padding: 60px 0 0 0; }
  .catlist li {
    margin: 20px 0; }
    .catlist li:first-child {
      margin-top: 0; }
    .catlist li:last-child {
      margin-bottom: 0; }
  .catlist a {
    display: block;
    border: 2px solid #cccccc;
    padding: 8px;
    text-decoration: none;
    color: currentColor; }
    .catlist a:hover, .catlist a.active {
      background: #ff454e;
      color: #ffffff; }

.outsetheader {
  position: relative; }
  @media (min-width: 721px) {
    .outsetheader__title {
      position: absolute;
      left: 0;
      bottom: 100%;
      margin: 0 0 0 0; } }
  .outsetheader__content {
    margin-bottom: 44px; }
    @media (min-width: 721px) {
      .outsetheader__content {
        margin-bottom: 60px;
        padding-top: 60px; } }

.bigtitle {
  font-family: "Anton", sans-serif;
  color: #ffffff;
  font-size: 45px;
  font-weight: normal; }
  @media (min-width: 721px) {
    .bigtitle {
      font-size: 50px; } }
  @media (min-width: 1025px) {
    .bigtitle {
      font-size: 70px; } }
  .bigtitle__paired {
    margin-bottom: -10px; }
  .bigtitle--red {
    color: #ff454e; }

.faqs {
  line-height: 1.5em; }
  .faqs__select {
    margin: 20px 0; }
    @media (min-width: 721px) {
      .faqs__select {
        display: none; } }
  .faqs h1 {
    margin-bottom: -0.08em; }
  .faqs h3 {
    font-size: 1em;
    font-weight: 600;
    margin-bottom: 16px;
    margin-top: 40px;
    line-height: 1.2em; }
    @media (min-width: 721px) {
      .faqs h3 {
        font-size: 1em; } }
  .faqs dl {
    margin: 0; }
  .faqs dd {
    margin: 0; }

.whyus__content {
  line-height: 1.2em;
  -ms-flex-item-align: end;
      -ms-grid-row-align: end;
      align-self: end; }
  .whyus__content p:first-child {
    margin-top: 0; }
  .whyus__content .whyus__last {
    margin-bottom: -0.17em; }
  .whyus__content hr {
    width: 66.666%;
    float: left;
    margin: 0;
    height: 2px;
    background: #ebebeb;
    border: 0;
    margin-bottom: 2px;
    position: relative;
    top: 20px; }
    @media (min-width: 721px) {
      .whyus__content hr {
        top: 40px;
        height: 4px;
        margin-bottom: -4px;
        width: calc(50% - 40px); } }
  .whyus__content a {
    color: currentColor; }

.whyus__layout1 h2, .whyus__layout2 h2 {
  text-align: left; }
  @media (min-width: 721px) {
    .whyus__layout1 h2.textright, .whyus__layout2 h2.textright {
      text-align: right; } }

.whyus__layout1 {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @supports ((display: -ms-grid) or (display: grid)) {
    .whyus__layout1 {
      display: -ms-grid;
      display: grid; } }
  @media (min-width: 1025px) {
    .whyus__layout1 {
      width: 66.666%; }
      @supports ((display: -ms-grid) or (display: grid)) {
        .whyus__layout1 {
          width: 100%; } } }
  .whyus__layout1 .whyus__col1 {
    -ms-grid-column-span: 3;
    -ms-grid-column: 1;
        grid-column: 1 / span 3;
    margin: 0;
    width: 100%; }
    @media (min-width: 721px) {
      .whyus__layout1 .whyus__col1 {
        -ms-grid-column-span: 6;
        -ms-grid-column: 1;
            grid-column: 1 / span 6;
        width: calc(50% - 20px);
        margin-right: 20px; }
        @supports ((display: -ms-grid) or (display: grid)) {
          .whyus__layout1 .whyus__col1 {
            margin-right: 0;
            width: 100%; } } }
    @media (min-width: 801px) {
      .whyus__layout1 .whyus__col1 {
        -ms-grid-column-span: 3;
        -ms-grid-column: 1;
            grid-column: 1 / span 3; } }
    @media (min-width: 1401px) {
      .whyus__layout1 .whyus__col1 {
        -ms-grid-column-span: 2;
        -ms-grid-column: 2;
            grid-column: 2 / span 2; } }
  .whyus__layout1 .whyus__img {
    border: 1px solid #ebebeb;
    padding: 14px;
    height: 86px;
    width: 157px; }
    .whyus__layout1 .whyus__img svg {
      width: 127px;
      height: 56px;
      display: block; }
    @media (min-width: 721px) {
      .whyus__layout1 .whyus__img {
        margin-left: 20px;
        padding: 18px;
        width: 220px;
        height: 120px;
        float: right; }
        @supports ((display: -ms-grid) or (display: grid)) {
          .whyus__layout1 .whyus__img {
            margin-left: 0; } }
        .whyus__layout1 .whyus__img svg {
          width: 182px;
          height: 82px; } }
  .whyus__layout1 img {
    width: 100%;
    margin-bottom: 0px;
    display: block;
    margin-top: 20px; }
    @media (min-width: 801px) {
      .whyus__layout1 img {
        margin-bottom: -46px;
        margin-top: 40px; } }
  .whyus__layout1 .bigtitle {
    margin: 20px 0; }
    @media (min-width: 721px) {
      .whyus__layout1 .bigtitle {
        margin: 40px 0; } }
  .whyus__layout1 .whyus__content {
    position: relative;
    margin-top: 17px;
    -ms-grid-column-span: 2;
    -ms-grid-column: 2;
        grid-column: 2 / span 2;
    width: 75%;
    float: right;
    -ms-flex-item-align: stretch;
        -ms-grid-row-align: stretch;
        align-self: stretch; }
    @supports ((display: -ms-grid) or (display: grid)) {
      .whyus__layout1 .whyus__content {
        width: 100%;
        float: none; } }
    @media (min-width: 721px) {
      .whyus__layout1 .whyus__content {
        margin-top: 34px;
        width: calc(50% - 20px);
        margin-left: 20px; }
        @supports ((display: -ms-grid) or (display: grid)) {
          .whyus__layout1 .whyus__content {
            margin-left: 0;
            width: 100%;
            -ms-grid-column-span: 6;
            -ms-grid-column: auto;
                grid-column: auto / span 6; } } }
    @media (min-width: 801px) {
      .whyus__layout1 .whyus__content {
        -ms-grid-column-span: 3;
        -ms-grid-column: auto;
            grid-column: auto / span 3; } }
    @media (min-width: 1401px) {
      .whyus__layout1 .whyus__content {
        -ms-grid-column-span: 2;
        -ms-grid-column: auto;
            grid-column: auto / span 2; } }
    .whyus__layout1 .whyus__content hr {
      position: absolute;
      top: 100%;
      margin-top: 42px; }

.whyus__layout2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @supports ((display: -ms-grid) or (display: grid)) {
    .whyus__layout2 {
      display: -ms-grid;
      display: grid; } }
  @media (min-width: 1025px) {
    .whyus__layout2 {
      width: 66.666%; }
      @supports ((display: -ms-grid) or (display: grid)) {
        .whyus__layout2 {
          width: 100%; } } }
  .whyus__layout2 .bigtitle {
    margin-bottom: 20px; }
    @media (min-width: 721px) {
      .whyus__layout2 .bigtitle {
        margin-bottom: 0; } }
  @supports ((display: -ms-grid) or (display: grid)) {
    .whyus__layout2 .whyus__col1 {
      -ms-grid-column-span: 3;
      -ms-grid-column: 1;
          grid-column: 1 / span 3; }
      @media (min-width: 721px) {
        .whyus__layout2 .whyus__col1 {
          -ms-grid-column-span: 4;
          -ms-grid-column: 2;
              grid-column: 2 / span 4; } } }
  .whyus__layout2 .whyus__col2 {
    -ms-grid-column-span: 3;
    -ms-grid-column: 1;
        grid-column: 1 / span 3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    margin-bottom: 20px; }
    @media (min-width: 721px) {
      .whyus__layout2 .whyus__col2 {
        width: calc(50% - 20px);
        margin-bottom: 0;
        margin-top: 28px;
        margin-right: 40px; }
        @supports ((display: -ms-grid) or (display: grid)) {
          .whyus__layout2 .whyus__col2 {
            width: 100%;
            margin-right: 0px;
            -ms-grid-column-span: 2;
            -ms-grid-column: 2;
                grid-column: 2 / span 2; } } }
    .whyus__layout2 .whyus__col2 img,
    .whyus__layout2 .whyus__col2 a {
      display: block;
      width: calc(50% - 20px);
      height: auto; }
    .whyus__layout2 .whyus__col2 a > img {
      width: 100%; }
  .whyus__layout2 .whyus__content {
    -ms-grid-column-span: 2;
    -ms-grid-column: 2;
        grid-column: 2 / span 2; }
    @media (min-width: 721px) {
      .whyus__layout2 .whyus__content {
        width: calc(50% - 20px); }
        @supports ((display: -ms-grid) or (display: grid)) {
          .whyus__layout2 .whyus__content {
            -ms-grid-column-span: 2;
            -ms-grid-column: auto;
                grid-column: auto / span 2;
            width: 100%; } } }

.whyus__layout3 {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @supports ((display: -ms-grid) or (display: grid)) {
    .whyus__layout3 {
      display: -ms-grid;
      display: grid; } }
  @media (min-width: 1025px) {
    .whyus__layout3 {
      width: 66.666%; }
      @supports ((display: -ms-grid) or (display: grid)) {
        .whyus__layout3 {
          width: 100%; } } }
  .whyus__layout3 .whyus__col1 {
    -ms-grid-column-span: 3;
    -ms-grid-column: 1;
        grid-column: 1 / span 3; }
    @media (min-width: 1025px) {
      .whyus__layout3 .whyus__col1 {
        -ms-grid-column-span: 3;
        -ms-grid-column: 2;
            grid-column: 2 / span 3; } }
  .whyus__layout3 .whyus__img {
    -ms-grid-column-span: 1;
    -ms-grid-column: 1;
        grid-column: 1 / span 1; }
    @media (min-width: 1025px) {
      .whyus__layout3 .whyus__img {
        -ms-grid-column-span: 1;
        -ms-grid-column: 3;
            grid-column: 3 / span 1; } }
  .whyus__layout3 .whyus__content {
    -ms-grid-column-span: 2;
    -ms-grid-column: 2;
        grid-column: 2 / span 2; }
    @media (min-width: 1025px) {
      .whyus__layout3 .whyus__content {
        -ms-grid-column-span: 1;
        -ms-grid-column: 4;
            grid-column: 4 / span 1; } }

.staticcontent {
  padding-top: 37px;
  padding-bottom: 57px; }
  .staticcontent p:first-of-type {
    margin-top: 0; }

.contact h2.bigtitle--red {
  margin-bottom: 54px; }

.contact__address {
  clear: both;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .contact__address p {
    margin: 0; }
  .contact__address address {
    font-style: normal; }

.contact__map {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .contact__map span {
    position: relative;
    z-index: 1; }
  .contact__map svg {
    position: absolute;
    height: 50%;
    width: 50%;
    fill: #cccccc;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
  .contact__map a {
    background: #ebebeb;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 5px 0; }

.contact__details {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding-bottom: 124px;
  width: 100%; }
  .contact__details iframe {
    width: 100%;
    height: 100%;
    border: 4px solid #ebebeb;
    margin-top: 60px; }
    @media (min-width: 721px) {
      .contact__details iframe {
        margin-top: 0; } }
  @media (min-width: 721px) {
    .contact__details:after {
      content: " ";
      position: absolute;
      bottom: 60px;
      left: 20px;
      height: 4px;
      width: calc(25% - 40px);
      background: #ebebeb; } }
  .contact__details > .col:first-child {
    position: relative;
    margin-bottom: 24px; }
    @media (min-width: 721px) {
      .contact__details > .col:first-child {
        margin-bottom: 0px; } }
    .contact__details > .col:first-child:after {
      display: block;
      content: " ";
      position: absolute;
      height: 4px;
      background: #ebebeb;
      width: calc(50% - 40px);
      bottom: 0; }
      @media (min-width: 721px) {
        .contact__details > .col:first-child:after {
          display: none; } }

.contact__form {
  background: #ebebeb;
  padding: 12px 10px;
  position: relative;
  margin-bottom: 60px;
  clear: both; }
  @media (min-width: 721px) {
    .contact__form {
      padding: 40px 20px; } }
  @media (min-width: 721px) {
    .contact__form:before, .contact__form:after {
      position: absolute;
      content: " ";
      height: 100%;
      width: 20px;
      background: #ebebeb;
      top: 0; } }
  .contact__form:before {
    left: 100%; }
  .contact__form:after {
    right: 100%; }
  .contact__form p:first-child {
    margin-top: 0; }
  .contact__form .field {
    position: relative;
    width: 100%; }
    .contact__form .field .error {
      display: none; }
    .contact__form .field label.main-label {
      position: absolute;
      right: 20px;
      top: 6px; }
      .contact__form .field label.main-label .required {
        color: #707070;
        transition: 0, 3s ease color; }
  .contact__form.errors .contact__required,
  .contact__form.errors label.main-label .required {
    color: #ff454e; }
  @media (min-width: 721px) {
    .contact__form .half {
      width: 50%; }
      .contact__form .half:nth-of-type(even) {
        padding-right: 20px; }
        .contact__form .half:nth-of-type(even) label.main-label {
          right: 40px; }
      .contact__form .half:nth-of-type(odd) {
        padding-left: 20px; } }
  .contact__form .ccf-form-wrapper {
    margin-bottom: 0; }
  .contact__form .form-submit {
    margin: 0 0 0 auto;
    width: 100%;
    background: #ff454e; }
    @media (min-width: 721px) {
      .contact__form .form-submit {
        width: calc(25% - 30px);
        background: #707070; } }
    .contact__form .form-submit input {
      width: 100%;
      background: #ff454e;
      color: #ffffff;
      text-transform: uppercase;
      font-size: 14px;
      padding: 12px 20px; }
      @media (min-width: 721px) {
        .contact__form .form-submit input {
          background: #707070; }
          .contact__form .form-submit input:hover {
            background: #ff454e; } }
  .contact__form .loading-img {
    display: none !important; }
  .contact__form form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100%; }
  .contact__form input,
  .contact__form textarea {
    background: #ffffff;
    border: 0;
    padding: 9px 20px;
    border-radius: 0; }
    .contact__form input::-webkit-input-placeholder,
    .contact__form textarea::-webkit-input-placeholder {
      transition: 0.3s ease all; }
    .contact__form input:-ms-input-placeholder,
    .contact__form textarea:-ms-input-placeholder {
      transition: 0.3s ease all; }
    .contact__form input::placeholder,
    .contact__form textarea::placeholder {
      transition: 0.3s ease all; }
    .contact__form input:focus::-webkit-input-placeholder,
    .contact__form textarea:focus::-webkit-input-placeholder {
      color: #ebebeb; }
    .contact__form input:focus:-ms-input-placeholder,
    .contact__form textarea:focus:-ms-input-placeholder {
      color: #ebebeb; }
    .contact__form input:focus::placeholder,
    .contact__form textarea:focus::placeholder {
      color: #ebebeb; }
  .contact__form .ccf-form-complete {
    margin-bottom: 52px; }

.contact__required {
  text-align: right;
  margin-bottom: 0; }
  @media (min-width: 721px) {
    .contact__required {
      margin-bottom: 1em;
      text-align: left;
      position: absolute;
      bottom: 34px; } }

.contact dl dt,
.contact dl dd {
  width: calc(50% - 20px);
  padding: 0;
  margin: 0;
  float: left; }

.contact dl dt {
  margin-right: 40px;
  clear: both; }

.counterweight:after {
  content: " ";
  display: block;
  position: absolute;
  bottom: 0.2em;
  right: 100%;
  margin-right: 20px;
  background: #ebebeb;
  height: 4px; }

.counterweight.col--3-4 {
  position: relative; }
  @media (min-width: 1025px) {
    .counterweight.col--3-4 {
      width: 75%; }
      .counterweight.col--3-4:after {
        width: calc(33.333% - 40px); } }

.counterweight.col--1-2 {
  position: relative; }
  .counterweight.col--1-2:after {
    width: calc(50% - 40px); }

.counterweight.col--1-4 {
  position: relative; }
  .counterweight.col--1-4:after {
    width: calc(100% - 40px); }

.counterweight p:last-child {
  margin-bottom: 0; }

.counterweight--inside {
  padding-bottom: 64px; }
  .counterweight--inside:after {
    left: 10px;
    right: auto; }
    @media (min-width: 1025px) {
      .counterweight--inside:after {
        left: 20px; } }
  @media (max-width: 719px) {
    .counterweight--inside.col--1-2:after {
      width: calc(100% - 20px); } }

.counterweight--right:after {
  left: 100%;
  right: auto;
  margin-left: 20px;
  margin-right: auto; }

.row {
  padding: 30px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: relative; }
  .row--break {
    padding-bottom: 60px; }
    @media (min-width: 721px) {
      .row--break {
        padding-bottom: 0; } }
  .row--largetop {
    padding-top: 100px; }
  .row--largebottom {
    padding-bottom: 100px; }
  .row--stretch {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch; }

.toggleheadings {
  overflow: hidden;
  width: 100%; }
  .toggleheadings__item {
    padding-bottom: 60px;
    position: relative; }
    .toggleheadings__item:after {
      display: block;
      content: " ";
      position: absolute;
      bottom: 0;
      left: 10px;
      height: 4px;
      background: #ebebeb;
      width: calc(60% - 10px); }
      @media (min-width: 721px) {
        .toggleheadings__item:after {
          left: 20px;
          width: 50%; } }
    @media (max-width: 719px) {
      .toggleheadings__item {
        margin-bottom: 60px;
        width: calc(80% - 10px); }
        .toggleheadings__item:nth-child(even) {
          margin-left: auto;
          margin-right: 0; }
          .toggleheadings__item:nth-child(even):after {
            left: auto;
            right: 10px; }
        .toggleheadings__item:last-child {
          margin-bottom: 0; } }
  .toggleheadings__row {
    overflow: hidden; }
    .toggleheadings__row:last-of-type {
      padding-bottom: 100px; }

.staff__division h3 {
  margin-bottom: 2em; }

.staff__member {
  margin-bottom: 60px;
  text-decoration: none; }
  .staff__member.col--1-4 {
    width: 50%; }
    @media (min-width: 721px) {
      .staff__member.col--1-4 {
        width: 25%; } }
  .staff__member p {
    margin-bottom: 0; }
  .staff__member img {
    display: block;
    width: 100%;
    height: auto; }

.staff__memberlarge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start; }
  .staff__memberlarge img {
    display: block;
    width: calc(25% - 20px);
    margin: 0 10px; }
    @media (min-width: 721px) {
      .staff__memberlarge img {
        margin: 0 20px; } }
  .staff__memberlarge .staff__description {
    width: calc(75% - 20px);
    padding-left: 10px;
    padding-right: 10px;
    position: relative; }
    @media (min-width: 721px) {
      .staff__memberlarge .staff__description {
        padding-left: 20px;
        padding-right: 20px; } }

.staff__placeholder {
  padding-top: 100%;
  background: #ebebeb;
  position: relative; }
  .staff__placeholder svg {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 50px;
    height: 50px;
    display: block;
    margin-top: -25px;
    margin-left: -25px;
    fill: #cccccc; }

.staff__description.counterweight:after {
  width: calc(33.333% - 20px); }

.home__slide1, .home__slide2, .home__slide3, .home__slide4 {
  color: #ffffff;
  margin: auto;
  grid-column-gap: 40px;
  background-size: cover;
  padding-top: 100px;
  padding-bottom: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding-left: 20px;
  padding-right: 20px; }
  @media (min-width: 721px) {
    .home__slide1, .home__slide2, .home__slide3, .home__slide4 {
      padding: 0 80px; } }
  @supports ((display: -ms-grid) or (display: grid)) {
    .home__slide1, .home__slide2, .home__slide3, .home__slide4 {
      display: -ms-grid;
      display: grid; }
      @media (min-width: 721px) {
        .home__slide1, .home__slide2, .home__slide3, .home__slide4 {
          padding: 0 40px; } } }
  .home__slide1 .home__content, .home__slide2 .home__content, .home__slide3 .home__content, .home__slide4 .home__content {
    -ms-flex-item-align: start;
        -ms-grid-row-align: start;
        align-self: start;
    font-size: 16px;
    line-height: 1.2em; }
    @media (min-width: 721px) {
      .home__slide1 .home__content, .home__slide2 .home__content, .home__slide3 .home__content, .home__slide4 .home__content {
        font-size: 24px; } }
    .home__slide1 .home__content p, .home__slide2 .home__content p, .home__slide3 .home__content p, .home__slide4 .home__content p {
      margin-top: 0; }
  .home__slide1 h1, .home__slide2 h1, .home__slide3 h1, .home__slide4 h1 {
    font-size: 45px;
    -ms-flex-item-align: end;
        -ms-grid-row-align: end;
        align-self: end;
    margin: 0 0 7px; }
    @media (min-width: 721px) {
      .home__slide1 h1, .home__slide2 h1, .home__slide3 h1, .home__slide4 h1 {
        font-size: 70px; } }
  .home__slide1 img, .home__slide2 img, .home__slide3 img, .home__slide4 img {
    display: block; }

.home__slide2, .home__slide3, .home__slide4 {
  padding-left: 20px;
  padding-right: 20px; }
  @media (min-width: 721px) {
    .home__slide2, .home__slide3, .home__slide4 {
      padding: 0 0px; } }

.home__slide2 a, .home__slide4 a {
  width: calc(50% - 20px); }

.home__slide1 a, .home__slide3 a {
  width: 100%; }
  @media (min-width: 721px) {
    .home__slide1 a, .home__slide3 a {
      width: calc(50% - 20px); } }

.home__slide1 {
  margin: 0;
  width: 100%; }
  @supports ((display: -ms-grid) or (display: grid)) {
    .home__slide1 {
      -ms-grid-columns: 1fr 1fr;
          grid-template-columns: 1fr 1fr; } }
  @media (min-width: 721px) {
    @supports ((display: -ms-grid) or (display: grid)) {
      .home__slide1 {
        -ms-grid-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
            grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr; } } }
  @media (min-width: 1025px) {
    .home__slide1 {
      width: 66.666%; }
      @supports ((display: -ms-grid) or (display: grid)) {
        .home__slide1 {
          width: 100%; } } }
  .home__slide1 h1 {
    text-align: right;
    width: calc(50% - 20px);
    margin-right: 40px; }
    @supports ((display: -ms-grid) or (display: grid)) {
      .home__slide1 h1 {
        margin-right: 0px;
        width: 100%; } }
    @media (min-width: 721px) {
      .home__slide1 h1 {
        width: calc(50% - 40px);
        margin: 20px 0 0; }
        @supports ((display: -ms-grid) or (display: grid)) {
          .home__slide1 h1 {
            margin: 0 0 15px;
            width: auto;
            grid-column: 2 / 4; } } }
  .home__slide1 img {
    width: 100%;
    margin-bottom: 15px;
    height: auto;
    width: calc(50% - 20px);
    -ms-flex-item-align: start;
        align-self: flex-start;
    margin-right: 40px; }
    @supports ((display: -ms-grid) or (display: grid)) {
      .home__slide1 img {
        margin-right: 0px;
        width: 100%; } }
    @media (min-width: 721px) {
      .home__slide1 img {
        width: calc(50% - 40px);
        margin-bottom: 30px;
        margin: 20px; }
        @supports ((display: -ms-grid) or (display: grid)) {
          .home__slide1 img {
            -ms-flex-item-align: end;
                -ms-grid-row-align: end;
                align-self: end;
            margin: 0px 0 30px 0;
            grid-column: 4 / 6;
            width: 100%; } } }
  .home__slide1 svg {
    height: auto;
    display: block;
    margin-right: 0;
    fill: none;
    stroke-width: 4px;
    stroke: currentColor;
    -ms-flex-item-align: end;
        align-self: flex-end;
    width: calc(50% - 20px);
    margin-bottom: 20px;
    margin-left: 0; }
    @supports ((display: -ms-grid) or (display: grid)) {
      .home__slide1 svg {
        margin-bottom: 0px;
        margin-left: auto;
        -ms-flex-item-align: start;
            -ms-grid-row-align: start;
            align-self: start;
        -ms-grid-row: 2;
            grid-row: 2;
        width: 50%; } }
    @media (min-width: 721px) {
      .home__slide1 svg {
        margin-left: 20px; }
        @supports ((display: -ms-grid) or (display: grid)) {
          .home__slide1 svg {
            width: 159px;
            -ms-grid-column: 3;
                grid-column: 3; } } }
  .home__slide1 .home__content {
    width: calc(50% - 20px); }
    @supports ((display: -ms-grid) or (display: grid)) {
      .home__slide1 .home__content {
        width: 100%; } }
    @media (min-width: 721px) {
      .home__slide1 .home__content {
        width: calc(50% - 40px);
        margin: 20px; }
        @supports ((display: -ms-grid) or (display: grid)) {
          .home__slide1 .home__content {
            width: 100%;
            grid-column: 4 / 6;
            margin: 0px; } } }

.home__slide2, .home__slide4 {
  padding-left: 20px;
  padding-right: 20px;
  margin: 0;
  width: 100%; }
  @supports ((display: -ms-grid) or (display: grid)) {
    .home__slide2, .home__slide4 {
      -ms-grid-columns: 1fr 1fr;
          grid-template-columns: 1fr 1fr; } }
  @media (min-width: 721px) {
    .home__slide2, .home__slide4 {
      width: 66.666%;
      padding-left: 40px;
      padding-right: 40px; }
      @supports ((display: -ms-grid) or (display: grid)) {
        .home__slide2, .home__slide4 {
          width: 100%;
          -ms-grid-columns: 2fr 1fr 1fr 1fr 1fr;
              grid-template-columns: 2fr 1fr 1fr 1fr 1fr; } } }
  .home__slide2 h1, .home__slide4 h1 {
    margin-bottom: 37px; }
    @supports ((display: -ms-grid) or (display: grid)) {
      .home__slide2 h1, .home__slide4 h1 {
        grid-column: 1 / 3; } }
    @media (min-width: 721px) {
      @supports ((display: -ms-grid) or (display: grid)) {
        .home__slide2 h1, .home__slide4 h1 {
          grid-column: 2 / 4; } } }
  .home__slide2 .home__content, .home__slide4 .home__content {
    width: 100%;
    padding-top: 3px; }
    @supports ((display: -ms-grid) or (display: grid)) {
      .home__slide2 .home__content, .home__slide4 .home__content {
        grid-column: 1 / 3; } }
    @media (min-width: 721px) {
      @supports ((display: -ms-grid) or (display: grid)) {
        .home__slide2 .home__content, .home__slide4 .home__content {
          grid-column: 3 / 5; } } }
  .home__slide2 hr, .home__slide4 hr {
    -ms-grid-column: 2;
        grid-column: 2;
    height: 4px;
    background: #ffffff;
    width: 100%;
    border: 0;
    margin: 0;
    -ms-flex-item-align: end;
        -ms-grid-row-align: end;
        align-self: end;
    display: none;
    opacity: 0.3; }
    @media (min-width: 721px) {
      .home__slide2 hr, .home__slide4 hr {
        display: block; } }

.home__slide3 {
  margin: 0;
  width: 100%; }
  @supports ((display: -ms-grid) or (display: grid)) {
    .home__slide3 {
      -ms-grid-columns: 1fr 1fr;
          grid-template-columns: 1fr 1fr; } }
  @media (min-width: 721px) {
    .home__slide3 {
      width: 66.666%; }
      @supports ((display: -ms-grid) or (display: grid)) {
        .home__slide3 {
          width: 100%;
          -ms-grid-columns: 2fr 1fr 2fr 1fr;
              grid-template-columns: 2fr 1fr 2fr 1fr; } } }
  .home__slide3 h1 {
    grid-column: 1 / 3;
    margin-bottom: 37px; }
    @media (min-width: 721px) {
      .home__slide3 h1 {
        grid-column: 2 / 4; } }
  .home__slide3 svg {
    fill: none;
    stroke-width: 4px;
    stroke: #ffffff;
    width: 50%;
    -ms-flex-item-align: start;
        -ms-grid-row-align: start;
        align-self: start; }
    @supports ((display: -ms-grid) or (display: grid)) {
      .home__slide3 svg {
        margin: 0 0 auto auto;
        -ms-grid-column: 1;
            grid-column: 1; } }
    @media (min-width: 721px) {
      .home__slide3 svg {
        height: 100%; }
        @supports ((display: -ms-grid) or (display: grid)) {
          .home__slide3 svg {
            -ms-grid-column: 2;
                grid-column: 2;
            width: 100%; } } }
  .home__slide3 .home__content {
    width: 50%; }
    @supports ((display: -ms-grid) or (display: grid)) {
      .home__slide3 .home__content {
        width: 100%; } }

.home__slide5 {
  background: #ffffff; }

.home__slide2bg {
  background: url(../img/home/bg_s2.jpg) center;
  background-size: cover; }

.home__slide3bg {
  background: url(../img/home/bg_s3.jpg) center;
  background-size: cover; }

.home__slider {
  width: calc(66.666vw - 40px); }
  @media (min-width: 721px) {
    .home__slider {
      width: calc(66.666vw - 40px); } }
  .home__slider img {
    width: 100%; }

.home__nav {
  width: 100%;
  margin-top: 14px;
  margin-bottom: 30px; }
  @media (min-width: 721px) {
    .home__nav {
      margin-top: 24px;
      margin-bottom: 0px; } }
  .home__nav picture {
    width: calc(100% - 20px); }
  .home__nav img {
    width: 100%; }

.home__slider picture, .home__nav picture {
  display: block;
  margin: auto; }
  .home__slider picture:hover, .home__nav picture:hover {
    cursor: pointer; }

.home__offers {
  width: 66.666%;
  padding: 20px; }
  .home__offers h1 {
    text-align: center;
    font-size: 70px;
    color: #b3b2b2 !important;
    margin-top: 0;
    margin-bottom: 23px;
    font-size: 45px; }
    @media (min-width: 721px) {
      .home__offers h1 {
        font-size: 70px; } }

.post {
  border-bottom: 4px solid #ebebeb;
  padding-bottom: 52px;
  margin-bottom: 80px; }
  .post *:last-child {
    margin-bottom: 0; }
  .post__preview {
    border-bottom: 4px solid #ebebeb;
    padding-bottom: 40px;
    margin-bottom: 58px; }
    .post__preview:hover h2 {
      color: #129b98; }
    .post__preview a {
      text-decoration: none;
      display: block;
      color: currentColor !important; }
    .post__preview h2 {
      font-size: 24px;
      transition: color 0.3s ease;
      margin-bottom: 20px; }
    .post__preview img {
      max-width: 100%;
      margin-bottom: 20px;
      display: block; }
  .post__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100%;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding-top: 58px; }
  .post__catlist {
    font-size: 14px;
    margin-bottom: 20px; }
    @media (min-width: 721px) {
      .post__catlist {
        margin-bottom: 0px; } }
  .post__pagination {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    list-style: none;
    margin: auto;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 0 20px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 60px; }
    .post__pagination li {
      margin: 0 10px; }
      .post__pagination li a,
      .post__pagination li span {
        display: block;
        text-decoration: none;
        border: 2px solid #cccccc;
        width: 40px;
        height: 40px;
        text-align: center;
        line-height: 37px; }
      .post__pagination li a:hover,
      .post__pagination li .current {
        background: #ff454e;
        color: #ffffff; }
  .post__navigation {
    padding-top: 35px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100%; }
  .post__share, .post__back {
    width: 100%;
    text-align: left;
    text-transform: none;
    color: currentColor;
    position: relative; }
    @media (min-width: 721px) {
      .post__share, .post__back {
        width: calc(50% - 40px); } }
  .post__back {
    border: 2px solid #cccccc;
    margin-bottom: 20px; }
    @media (min-width: 721px) {
      .post__back {
        margin-bottom: 0px; } }
    .post__back:before, .post__back:after {
      display: block;
      content: " ";
      pointer-events: none;
      width: 3px;
      height: 7px;
      position: absolute;
      background: #cccccc;
      top: 50%; }
    .post__back:before {
      right: 22px;
      -webkit-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg);
              transform: rotate(-45deg);
      margin-top: -2px; }
    .post__back:after {
      right: 22px;
      margin-top: -5px;
      -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
              transform: rotate(45deg); }
  .post__share {
    float: right; }
    .post__share:hover {
      cursor: pointer; }
    .post__share svg {
      fill: #cccccc;
      width: 15px;
      height: 15px;
      margin-right: 8px; }
  .post__related h3 {
    margin-bottom: 53px; }

.sharedialogue {
  position: relative; }
  .sharedialogue__toggle {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    border: 2px solid #cccccc;
    padding: 10px 12px;
    font-size: 14px;
    line-height: 1em; }
  .sharedialogue__popup {
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    top: 100%;
    margin-top: 5px;
    left: 50%;
    opacity: 0;
    transition: opacity 0.3s ease;
    width: 0;
    height: 0;
    overflow: hidden;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    border-radius: 5px;
    background: #ffffff; }
    .sharedialogue__popup:before, .sharedialogue__popup:after {
      content: " ";
      position: absolute;
      display: block;
      left: 50%;
      bottom: 100%;
      margin-left: -5px;
      border: 5px solid transparent;
      border-top: 0; }
    .sharedialogue__popup:before {
      border-bottom: 5px solid #cccccc; }
    .sharedialogue__popup:after {
      border-bottom: 5px solid #ffffff;
      margin-bottom: -4px; }
    .sharedialogue__popup svg {
      width: 20px;
      height: 20px;
      display: block;
      margin: 5px;
      transition: fill 0.3s ease; }
    .sharedialogue__popup--visible {
      border: 2px solid #cccccc;
      padding: 5px 5px;
      opacity: 1;
      width: 135px;
      height: auto;
      overflow: visible; }
    .sharedialogue__popup *:hover svg {
      fill: #575656; }

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

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0; }

.slick-list:focus {
  outline: none; }

.slick-list.dragging {
  cursor: pointer;
  cursor: hand; }

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

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }

.slick-track:before,
.slick-track:after {
  display: table;
  content: ""; }

.slick-track:after {
  clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }

[dir="rtl"] .slick-slide {
  float: right; }

.slick-slide img, .slick-slide picture {
  display: block; }

.slick-slide.slick-loading img, .slick-slide.slick-loading picture {
  display: none; }

.slick-slide.dragging img, .slick-slide.dragging picture {
  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; }

.home__nav picture {
  transition: 0.3s border ease;
  border: 1px solid transparent; }

.home__nav .slick-current picture {
  border: 1px solid #ff454e; }

.offers {
  padding: 0;
  list-style: none;
  margin: 140px auto 80px;
  width: calc(100vw - 40px);
  width: calc(100vw - 40px); }
  @media (min-width: 721px) {
    .offers {
      margin: 180px auto 80px;
      width: calc(66.666vw - 40px); } }
  .offers img {
    display: block;
    width: 100%; }
  .offers li {
    margin: 80px 0; }

.scrolltop {
  position: fixed;
  bottom: 57px;
  padding: 0;
  border: 0;
  background: none;
  left: 40px;
  opacity: 0;
  transition: opacity 0.3s ease; }
  .scrolltop:focus {
    outline: none; }
  @media (min-width: 721px) {
    .scrolltop {
      left: 74px; } }
  .scrolltop svg {
    display: block;
    width: 40px;
    height: 40px;
    fill: #ffffff; }
    @media (min-width: 721px) {
      .scrolltop svg {
        width: 52px;
        height: 52px; } }

.scrolltop--show .scrolltop {
  opacity: 1; }

.testimonial {
  font-size: 16px;
  padding-bottom: 60px;
  border-bottom: 4px solid #ebebeb;
  margin-bottom: 60px; }
  .testimonial h3 {
    font-family: "Anton", sans-serif;
    line-height: 1.4em;
    font-size: 24px; }

/**
 * Prevent overflow on HTML element
 */
html {
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  /* Native scroll momentum */ }

/**
 * To prevent jumping <body> should not have any margin on top or bottom
 */
.has-overlay {
  overflow: hidden;
  height: auto; }

.has-overlay > body {
  height: 100%;
  overflow: hidden; }

.css-modal {
  /* Hide initially */
  -webkit-transform: translate(0, 100%);
      -ms-transform: translate(0, 100%);
          transform: translate(0, 100%);
  -webkit-transform: translate3d(0, 100%, 0);
          transform: translate3d(0, 100%, 0);
  /* Maintain a fixed position */
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 0;
  height: 0;
  overflow: hidden;
  opacity: 0;
  z-index: 40; }
  .css-modal__image {
    margin-bottom: 20px; }

/* Show modal when requested */
.css-modal:target,
.css-modal.is-active {
  -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0);
  width: auto;
  height: auto;
  opacity: 1; }

/**
 * Content Area
 */
.css-modal_inner {
  background: #ffffff;
  margin: auto;
  float: none;
  width: calc(100% - 20px);
  padding: 20px 10px; }
  @media (min-width: 721px) {
    .css-modal_inner {
      padding: 40px 20px;
      width: calc(66.6666% + 40px); } }
  .css-modal_inner img {
    width: auto;
    max-width: 100%;
    display: block; }

.css-modal_inner > img,
.css-modal_inner > video,
.css-modal_inner > iframe {
  width: 100%;
  height: auto;
  min-height: 300px; }

.css-modal_inner iframe {
  display: block;
  width: 100%;
  border: 0; }

/**
 * Content
 */
.css-modal_content {
  position: relative;
  max-height: calc(80vh - (3rem * 2));
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }

.css-modal_content > * {
  max-width: 100%; }

/**
 * Footer
 */
.css-modal_footer {
  padding: 0 1.2rem 1rem;
  background: #f0f0f0;
  border-radius: 2px; }

/**
 * A close button
 */
.css-modal_close {
  display: block;
  height: 1px;
  /* Prevent close element to appear */
  overflow: hidden;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  z-index: -1; }

.css-modal_close:focus::after {
  outline: 1px dotted;
  outline: -webkit-focus-ring-color auto 5px; }

/**
 * Background as close
 */
.css-modal_close::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10; }

/**
 * Actual close button on modal
 */
.css-modal_close::after {
  content: "";
  position: absolute;
  right: 50%;
  left: auto;
  z-index: 20; }

/**
 * When screen isn't as wide as the modal anymore
 */
/**
 * For small screens adjust the modal
 */
/**
 * Stackable Modals
 */
.css-modal.is-stacked {
  -webkit-transform: translate(0, 0) scale(1, 1);
      -ms-transform: translate(0, 0) scale(1, 1);
          transform: translate(0, 0) scale(1, 1);
  opacity: 1; }

.css-modal.is-stacked .css-modal_inner {
  -webkit-animation: scaleDown 0.7s ease both;
          animation: scaleDown 0.7s ease both; }

/**
 * Hide overlay and close button
 */
.css-modal.is-stacked .css-modal_close {
  opacity: 0; }

/**
 * On small screens
 */
.css-modal {
  line-height: 1.3; }

/* Content Area */
.css-modal_inner {
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.6);
  margin-top: 50vh;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  transition: max-width 0.25s linear, margin-left 0.125s linear; }
  .css-modal_inner h2 {
    color: #129b98;
    font-size: 50px;
    margin-top: -9px; }

/* Header */
.css-modal_header {
  padding: 0 1.2em; }

.css-modal_header > h2 {
  margin: 0.5em 0; }

/* Content */
/* Footer */
.css-modal_footer {
  background: #f0f0f0; }

/* Close button */
.css-modal_close {
  text-indent: -100px; }

/* Background as close */
.css-modal_close::before {
  background: rgba(6, 21, 42, 0.9); }

/* Actual close button on modal */
/* For small screens adjust the modal */
/* ==========================================================================
   Helper classes
   ========================================================================== */
html {
  box-sizing: border-box; }

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

.ir {
  background-color: transparent;
  border: 0;
  overflow: hidden;
  *text-indent: -9999px; }

.ir:before {
  content: "";
  display: block;
  width: 0;
  height: 150%; }

.hidden {
  display: none !important;
  visibility: hidden; }

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto; }

.invisible {
  visibility: hidden; }

.group:after, .gridwrap:after {
  content: "";
  display: table;
  clear: both; }

.hide {
  display: none; }

.block {
  display: block; }

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.fullwidth {
  width: 100%; }

img.fullwidth {
  width: 100%;
  height: auto;
  display: block; }

.floatleft {
  float: left; }

.floatright {
  float: right; }

.floatcentre {
  float: none;
  margin: auto; }

.textright {
  text-align: right; }

.textcentre {
  text-align: center; }

.nolinkunderline {
  text-decoration: none; }
  .nolinkunderline a {
    text-decoration: none; }

.nomargin {
  margin: 0; }

.bgred {
  background: #ff454e; }

.hidemob {
  display: none; }
  @media (min-width: 1025px) {
    .hidemob {
      display: inherit; } }

.overflowhidden {
  overflow: hidden; }

.theme--white,
.theme--whitered {
  background: #ffffff;
  color: #707070; }
  .theme--white a:hover,
  .theme--whitered a:hover {
    color: #ff454e; }
  .theme--white .sitelogo:before,
  .theme--white .scrolltop:before,
  .theme--whitered .sitelogo:before,
  .theme--whitered .scrolltop:before {
    background: #ff454e; }
  .theme--white .sitelogo svg,
  .theme--white .scrolltop svg,
  .theme--whitered .sitelogo svg,
  .theme--whitered .scrolltop svg {
    fill: #ff454e; }
  .theme--white .siteheader,
  .theme--whitered .siteheader {
    background: rgba(255, 255, 255, 0.75); }
  @media (min-width: 721px) {
    .theme--white .sitemenu,
    .theme--whitered .sitemenu {
      background: #f5f5f5;
      color: #ff454e; }
      .theme--white .sitemenu li:before, .theme--white .sitemenu li:after,
      .theme--whitered .sitemenu li:before,
      .theme--whitered .sitemenu li:after {
        background: #d7d7d7; }
      .theme--white .sitemenu svg,
      .theme--whitered .sitemenu svg {
        fill: currentColor; }
      .theme--white .sitemenu span,
      .theme--whitered .sitemenu span {
        color: #ff454e; }
      .theme--white .sitemenu:after,
      .theme--whitered .sitemenu:after {
        background: #ffffff; }
      .theme--white .sitemenu:hover,
      .theme--whitered .sitemenu:hover {
        background: #ff454e;
        color: #ffffff; }
        .theme--white .sitemenu:hover svg,
        .theme--whitered .sitemenu:hover svg {
          fill: #ffffff; }
          .theme--white .sitemenu:hover svg *,
          .theme--whitered .sitemenu:hover svg * {
            fill: #ffffff; }
        .theme--white .sitemenu:hover span,
        .theme--whitered .sitemenu:hover span {
          color: #ffffff; } }
  .theme--white .sitemenu__toggle,
  .theme--whitered .sitemenu__toggle {
    background: rgba(204, 204, 204, 0.2); }
    .theme--white .sitemenu__toggle:before, .theme--white .sitemenu__toggle:after,
    .theme--whitered .sitemenu__toggle:before,
    .theme--whitered .sitemenu__toggle:after {
      background: #ff454e; }
  .theme--white .sitemenu__contact,
  .theme--whitered .sitemenu__contact {
    color: #ff454e; }
  .theme--white .sitefooter,
  .theme--whitered .sitefooter {
    color: #707070; }
    .theme--white .sitefooter:before,
    .theme--whitered .sitefooter:before {
      background: #ff454e; }
  .theme--white .bigtitle,
  .theme--whitered .bigtitle {
    color: #129b98; }
  .theme--white .fullpage__navigation:before,
  .theme--whitered .fullpage__navigation:before {
    background: #ff454e; }
  .theme--white .fullpage__navigation svg,
  .theme--whitered .fullpage__navigation svg {
    fill: #ff454e; }
  .theme--white .catlist a:hover,
  .theme--whitered .catlist a:hover {
    color: #ffffff; }

.theme--whitered .bigtitle {
  color: #ff454e; }

.theme--teal,
.theme--navy,
.theme--red {
  color: #ffffff; }
  .theme--teal .bigtitle,
  .theme--navy .bigtitle,
  .theme--red .bigtitle {
    color: #ffffff; }

.theme--teal {
  background: #129b98; }
  .theme--teal .siteheader {
    background: rgba(18, 155, 152, 0.75); }

.theme--navy {
  background: #06152a; }
  .theme--navy .siteheader {
    background: rgba(6, 21, 42, 0.75); }

.theme--red .siteheader {
  background: rgba(255, 69, 78, 0.75); }

div.theme--white h1,
div.theme--white h2,
div.theme--white h3,
div.theme--white h4,
div.theme--white h5,
div.theme--white h6 {
  color: #707070; }
  div.theme--white h1.bigtitle--red,
  div.theme--white h2.bigtitle--red,
  div.theme--white h3.bigtitle--red,
  div.theme--white h4.bigtitle--red,
  div.theme--white h5.bigtitle--red,
  div.theme--white h6.bigtitle--red {
    color: #ff454e; }

div.theme--white .toggleheadings__row:nth-of-type(odd) .toggleheadings__item:nth-child(odd) h1,
div.theme--white .toggleheadings__row:nth-of-type(odd) .toggleheadings__item:nth-child(odd) h2,
div.theme--white .toggleheadings__row:nth-of-type(odd) .toggleheadings__item:nth-child(odd) h3,
div.theme--white .toggleheadings__row:nth-of-type(odd) .toggleheadings__item:nth-child(odd) h4,
div.theme--white .toggleheadings__row:nth-of-type(odd) .toggleheadings__item:nth-child(odd) h5,
div.theme--white .toggleheadings__row:nth-of-type(odd) .toggleheadings__item:nth-child(odd) h6 {
  color: #ff454e; }

div.theme--white .toggleheadings__row:nth-of-type(even) .toggleheadings__item:nth-child(even) h1,
div.theme--white .toggleheadings__row:nth-of-type(even) .toggleheadings__item:nth-child(even) h2,
div.theme--white .toggleheadings__row:nth-of-type(even) .toggleheadings__item:nth-child(even) h3,
div.theme--white .toggleheadings__row:nth-of-type(even) .toggleheadings__item:nth-child(even) h4,
div.theme--white .toggleheadings__row:nth-of-type(even) .toggleheadings__item:nth-child(even) h5,
div.theme--white .toggleheadings__row:nth-of-type(even) .toggleheadings__item:nth-child(even) h6 {
  color: #ff454e; }

.theme--default {
  background: #ff454e; }

div.theme--red h1,
div.theme--red h2,
div.theme--red h3,
div.theme--red h4,
div.theme--red h5,
div.theme--red h6 {
  color: #ff454e; }

div.theme--red .toggleheadings__row:nth-of-type(odd) .toggleheadings__item:nth-child(odd) h1,
div.theme--red .toggleheadings__row:nth-of-type(odd) .toggleheadings__item:nth-child(odd) h2,
div.theme--red .toggleheadings__row:nth-of-type(odd) .toggleheadings__item:nth-child(odd) h3,
div.theme--red .toggleheadings__row:nth-of-type(odd) .toggleheadings__item:nth-child(odd) h4,
div.theme--red .toggleheadings__row:nth-of-type(odd) .toggleheadings__item:nth-child(odd) h5,
div.theme--red .toggleheadings__row:nth-of-type(odd) .toggleheadings__item:nth-child(odd) h6 {
  color: #707070; }

div.theme--red .toggleheadings__row:nth-of-type(even) .toggleheadings__item:nth-child(even) h1,
div.theme--red .toggleheadings__row:nth-of-type(even) .toggleheadings__item:nth-child(even) h2,
div.theme--red .toggleheadings__row:nth-of-type(even) .toggleheadings__item:nth-child(even) h3,
div.theme--red .toggleheadings__row:nth-of-type(even) .toggleheadings__item:nth-child(even) h4,
div.theme--red .toggleheadings__row:nth-of-type(even) .toggleheadings__item:nth-child(even) h5,
div.theme--red .toggleheadings__row:nth-of-type(even) .toggleheadings__item:nth-child(even) h6 {
  color: #707070; }

.spacer-50vh {
  height: 25vh;
  min-height: 200px; }
  @media (min-width: 721px) {
    .spacer-50vh {
      height: 50vh; } }

.spacer-header {
  padding-top: 150px; }

.type--teal {
  color: #129b98; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNldHRpbmdzL192YXJpYWJsZXMuc2NzcyIsImdlbmVyaWMvX25vcm1hbGl6ZS5zY3NzIiwic3R5bGUuY3NzIiwiYmFzZS9fYmFzZS5zY3NzIiwidG9vbHMvX2JyZWFrcG9pbnRzLnNjc3MiLCJiYXNlL19mb3JtLnNjc3MiLCJvYmplY3RzL19ncmlkLnNjc3MiLCJvYmplY3RzL19zaXRlaGVhZGVyLnNjc3MiLCJvYmplY3RzL19mdWxscGFnZS5zY3NzIiwiY29tcG9uZW50cy9fZml0aW1nLnNjc3MiLCJjb21wb25lbnRzL19zaXRlbG9nby5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCJjb21wb25lbnRzL19zaXRlbWVudS5zY3NzIiwiY29tcG9uZW50cy9fc2l0ZWZvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9fY2F0bGlzdC5zY3NzIiwiY29tcG9uZW50cy9fb3V0c2V0aGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL19iaWd0aXRsZS5zY3NzIiwiY29tcG9uZW50cy9fZmFxcy5zY3NzIiwiY29tcG9uZW50cy9fd2h5dXMuc2NzcyIsImNvbXBvbmVudHMvX3N0YXRpY2NvbnRlbnQuc2NzcyIsImNvbXBvbmVudHMvX2NvbnRhY3Quc2NzcyIsImNvbXBvbmVudHMvX2NvdW50ZXJ3ZWlnaHQuc2NzcyIsImNvbXBvbmVudHMvX3Jvdy5zY3NzIiwiY29tcG9uZW50cy9fdG9nZ2xlaGVhZGluZ3Muc2NzcyIsImNvbXBvbmVudHMvX3N0YWZmLnNjc3MiLCJjb21wb25lbnRzL19ob21lLnNjc3MiLCJjb21wb25lbnRzL19wb3N0LnNjc3MiLCJjb21wb25lbnRzL19zaGFyZWRpYWxvZ3VlLnNjc3MiLCJjb21wb25lbnRzL19zbGljay5zY3NzIiwiY29tcG9uZW50cy9fb2ZmZXJzLnNjc3MiLCJjb21wb25lbnRzL19zY3JvbGx0b3Auc2NzcyIsImNvbXBvbmVudHMvX3Rlc3RpbW9uaWFsLnNjc3MiLCJjb21wb25lbnRzL19tb2RhbC5zY3NzIiwidHJ1bXBzL19oZWxwZXJzLnNjc3MiLCJ0cnVtcHMvX2Rpc3BsYXkuc2NzcyIsInRydW1wcy9fdGhlbWUuc2NzcyIsInRydW1wcy9fc3BhY2VyLnNjc3MiLCJ0cnVtcHMvX3R5cGUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Z0ZBRWdGO0FBcUJoRjs7Z0ZBRWdGO0FBY2hGOztnRkFFZ0Y7QUN6Q2hGLDREQUE0RDtBQUU1RDs7Z0ZBRWdGO0FBRWhGOztHQUVHO0FBRUg7Ozs7Ozs7Ozs7OztFQVlJLGVBQWMsRUFDakI7O0FBRUQ7O0dBRUc7QUFFSDs7O0VBR0ksc0JBQXFCO0dBQ3JCLGdCQUFnQjtHQUNoQixRQUFRLEVBQ1g7O0FBRUQ7OztHQUdHO0FBRUg7RUFDSSxjQUFhO0VBQ2IsVUFBUyxFQUNaOztBQUVEOzs7R0FHRztBQ0VIO0VEQ0ksY0FBYSxFQUNoQjs7QUFFRDs7Z0ZBRWdGO0FBRWhGOzs7OztHQUtHO0FBRUg7RUFDSSxnQkFBZTtFQUFFLE9BQU87RUFDeEIsMkJBQTBCO0VBQUUsT0FBTztFQUNuQywrQkFBOEI7RUFBRSxPQUFPLEVBQzFDOztBQUVEOzs7R0FHRztBQUVIOztHQUVHO0FBRUg7RUFDSSxVQUFTLEVBQ1o7O0FBRUQ7O2dGQUVnRjtBQUVoRjs7R0FFRztBQUVIO0VBQ0kscUJBQW9CLEVBQ3ZCOztBQUVEOztHQUVHO0FBRUg7O0VBRUksV0FBVSxFQUNiOztBQUVEOztnRkFFZ0Y7QUFFaEY7Ozs7R0FJRztBQUVIO0VBQ0ksZUFBYztFQUNkLGlCQUFnQixFQUNuQjs7QUFFRDtFQUNJLGlCQUFnQjtFQUNoQixpQkFBZ0IsRUFDbkI7O0FBRUQ7RUFDSSxlQUFjO0VBQ2QsY0FBYSxFQUNoQjs7QUFFRDtFQUNJLGVBQWM7RUFDZCxpQkFBZ0IsRUFDbkI7O0FBRUQ7RUFDSSxrQkFBaUI7RUFDakIsaUJBQWdCLEVBQ25COztBQUVEO0VBQ0ksa0JBQWlCO0VBQ2pCLGlCQUFnQixFQUNuQjs7QUFFRDs7R0FFRztBQUVIO0VBQ0ksMEJBQXlCLEVBQzVCOztBQUVEOztHQUVHO0FBRUg7O0VB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VyxFbUMwR1o7O0FBR0g7RUFDRSxvQm5DakdZLEVtQ3FHYjtFQUxEO0lBR0kscUNuQ25HVSxFbUNvR1g7O0FBR0g7RUFDRSxvQm5DdkdZLEVtQzJHYjtFQUxEO0lBR0ksa0NuQ3pHVSxFbUMwR1g7O0FBR0g7RUFFSSxvQ25DbEhTLEVtQ21IVjs7QUFHSDs7Ozs7O0VBT0ksZW5DekdlLEVtQzZHaEI7RUFYSDs7Ozs7O0lBU00sZW5DL0hPLEVtQ2dJUjs7QUFWTDs7Ozs7O0VBcUJVLGVuQzNJRyxFbUM0SUo7O0FBdEJUOzs7Ozs7RUFpQ1UsZW5DdkpHLEVtQ3dKSjs7QUFNVDtFQUNFLG9CbkMvSlcsRW1DZ0taOztBQUNEOzs7Ozs7RUFPSSxlbkN4S1MsRW1DeUtWOztBQVJIOzs7Ozs7RUFrQlUsZW5DL0pTLEVtQ2dLVjs7QUFuQlQ7Ozs7OztFQThCVSxlbkMzS1MsRW1DNEtWOztBQ2hOVDtFQUNFLGFBQVk7RUFDWixrQkFBaUIsRUFJbEI7RWhDSUc7SWdDVko7TUFJSSxhQUFZLEVBRWYsRUFBQTs7QUFFRDtFQUNFLG1CQUFrQixFQUNuQjs7QUNUQztFQUNFLGVyQ2dCVSxFcUNmWCIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29sb3Vyc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJGJsYWNrOiAjMDAwMDAwO1xuJHdoaXRlOiAjZmZmZmZmO1xuJGxpbmstYWN0aXZlOiAjNzM5M2E3O1xuJGRhcms6ICM1OTU5NTk7XG5cbiRkYXJrOiAjNTc1NjU2O1xuJG1lZC1kYXJrLWdyZXk6ICNiM2IyYjI7XG4kbWVkLWdyZXk6ICNhZGFkYWQ7XG4kbWVkLWdyZXktMTogI2NjY2NjYztcbiRsaWdodC1ncmV5OiAjZWJlYmViO1xuJHdoaXRlLWdyZXk6ICNmNWY1ZjU7XG5cbiRyZWQ6ICNmZjQ1NGU7XG4kYnJhbmQtYWNjZW50OiAkcmVkO1xuJHRlYWw6ICMxMjliOTg7XG4kbmF2eTogIzA2MTUyYTtcblxuJGJnOiAkcmVkO1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVHlwb2dyYXBoeVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJHNtYWxsOiAxNnB4O1xuJG1lZGl1bTogMThweDtcblxuJGJvZHlzaXplOiAkc21hbGw7XG4kYm9keWxpbmU6IDE4cHg7XG5cbiRib2R5OiBcIlVidW50dVwiLCBzYW5zLXNlcmlmO1xuJGRpc3BsYXlmb250OiBcIkFudG9uXCIsIHNhbnMtc2VyaWY7XG5cbiR0ZXh0LWRhcms6ICM3MDcwNzA7XG4kYm9keXRleHQ6ICMyNTI1MjU7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNZWRpYSBRdWVyaWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kbW9iTGFuZDogNzIwcHg7XG4kdGFibGV0OiAxMDI0cHg7XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2MS4xLjIgfCBNSVQgTGljZW5zZSB8IGdpdC5pby9ub3JtYWxpemUgKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgNi83LzgvOSBhbmQgRmlyZWZveCAzLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgNi83LzgvOSBhbmQgRmlyZWZveCAzLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxudmlkZW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAqZGlzcGxheTogaW5saW5lO1xuICAgICp6b29tOiAxO1xufVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDcvOC85LCBGaXJlZm94IDMsIGFuZCBTYWZhcmkgNC5cbiAqIEtub3duIGlzc3VlOiBubyBJRSA2IHN1cHBvcnQuXG4gKi9cblxuW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGV4dCByZXNpemluZyBvZGRseSBpbiBJRSA2Lzcgd2hlbiBib2R5IGBmb250LXNpemVgIGlzIHNldCB1c2luZ1xuICogICAgYGVtYCB1bml0cy5cbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xuICogICAgdXNlciB6b29tLlxuICovXG5cbmh0bWwge1xuICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBgZm9udC1mYW1pbHlgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBgdGV4dGFyZWFgIGFuZCBvdGhlciBmb3JtXG4gKiBlbGVtZW50cy5cbiAqL1xuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2lucyBoYW5kbGVkIGluY29ycmVjdGx5IGluIElFIDYvNy5cbiAqL1xuXG5ib2R5IHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIGBvdXRsaW5lYCBpbmNvbnNpc3RlbmN5IGJldHdlZW4gQ2hyb21lIGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5hOmZvY3VzIHtcbiAgICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICAgIG91dGxpbmU6IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUeXBvZ3JhcGh5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgZm9udCBzaXplcyBhbmQgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LlxuICogQWRkcmVzcyBmb250IHNpemVzIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYCBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSxcbiAqIGFuZCBDaHJvbWUuXG4gKi9cblxuaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbmgyIHtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIG1hcmdpbjogMC44M2VtIDA7XG59XG5cbmgzIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBtYXJnaW46IDFlbSAwO1xufVxuXG5oNCB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbWFyZ2luOiAxLjMzZW0gMDtcbn1cblxuaDUge1xuICAgIGZvbnQtc2l6ZTogMC44M2VtO1xuICAgIG1hcmdpbjogMS42N2VtIDA7XG59XG5cbmg2IHtcbiAgICBmb250LXNpemU6IDAuNjdlbTtcbiAgICBtYXJnaW46IDIuMzNlbSAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA3LzgvOSwgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCAzKywgU2FmYXJpIDQvNSwgYW5kIENocm9tZS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqL1xuXG5kZm4ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKiBLbm93biBpc3N1ZTogbm8gSUUgNi83IG5vcm1hbGl6YXRpb24uXG4gKi9cblxuaHIge1xuICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA2LzcvOC85LlxuICovXG5cbm1hcmsge1xuICAgIGJhY2tncm91bmQ6ICNmZjA7XG4gICAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBJRSA2LzcuXG4gKi9cblxucCxcbnByZSB7XG4gICAgbWFyZ2luOiAxZW0gMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IGZvbnQgZmFtaWx5IHNldCBvZGRseSBpbiBJRSA2LCBTYWZhcmkgNC81LCBhbmQgQ2hyb21lLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBzZXJpZjtcbiAgICBfZm9udC1mYW1pbHk6ICdjb3VyaWVyIG5ldycsIG1vbm9zcGFjZTtcbiAgICBmb250LXNpemU6IDFlbTtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIHByZS1mb3JtYXR0ZWQgdGV4dCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBDU1MgcXVvdGVzIG5vdCBzdXBwb3J0ZWQgaW4gSUUgNi83LlxuICovXG5cbnEge1xuICAgIHF1b3Rlczogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBxdW90ZXNgIHByb3BlcnR5IG5vdCBzdXBwb3J0ZWQgaW4gU2FmYXJpIDQuXG4gKi9cblxucTpiZWZvcmUsXG5xOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBjb250ZW50OiBub25lO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICAgIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExpc3RzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LlxuICovXG5cbmRsLFxubWVudSxcbm9sLFxudWwge1xuICAgIG1hcmdpbjogMWVtIDA7XG59XG5cbmRkIHtcbiAgICBtYXJnaW46IDAgMCAwIDQwcHg7XG59XG5cbi8qKlxuICogQWRkcmVzcyBwYWRkaW5ncyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LlxuICovXG5cbm1lbnUsXG5vbCxcbnVsIHtcbiAgICBwYWRkaW5nOiAwIDAgMCA0MHB4O1xufVxuXG4vKipcbiAqIENvcnJlY3QgbGlzdCBpbWFnZXMgaGFuZGxlZCBpbmNvcnJlY3RseSBpbiBJRSA3LlxuICovXG5cbm5hdiB1bCxcbm5hdiBvbCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaXN0LXN0eWxlLWltYWdlOiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDYvNy84LzkgYW5kIEZpcmVmb3ggMy5cbiAqIDIuIEltcHJvdmUgaW1hZ2UgcXVhbGl0eSB3aGVuIHNjYWxlZCBpbiBJRSA3LlxuICovXG5cbmltZyB7XG4gICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgZGlzcGxheWVkIG9kZGx5IGluIElFIDkuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGaWd1cmVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDYvNy84LzksIFNhZmFyaSA1LCBhbmQgT3BlcmEgMTEuXG4gKi9cblxuZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDb3JyZWN0IG1hcmdpbiBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgNi83LlxuICovXG5cbmZvcm0ge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgbWFyZ2luOiAwIDJweDtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDYvNy84LzkuXG4gKiAyLiBDb3JyZWN0IHRleHQgbm90IHdyYXBwaW5nIGluIEZpcmVmb3ggMy5cbiAqIDMuIENvcnJlY3QgYWxpZ25tZW50IGRpc3BsYXllZCBvZGRseSBpbiBJRSA2LzcuXG4gKi9cblxubGVnZW5kIHtcbiAgICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDIgKi9cbiAgICAqbWFyZ2luLWxlZnQ6IC03cHg7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGZvbnQgc2l6ZSBub3QgYmVpbmcgaW5oZXJpdGVkIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LCBGaXJlZm94IDMrLCBTYWZhcmkgNSxcbiAqICAgIGFuZCBDaHJvbWUuXG4gKiAzLiBJbXByb3ZlIGFwcGVhcmFuY2UgYW5kIGNvbnNpc3RlbmN5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDMgKi9cbiAgICAqdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMyAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCAzKyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIENocm9tZSwgU2FmYXJpIDUrLCBhbmQgSUUgNisuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3ggNCsgYW5kIE9wZXJhLlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqIDQuIFJlbW92ZSBpbm5lciBzcGFjaW5nIGluIElFIDcgd2l0aG91dCBhZmZlY3Rpbmcgbm9ybWFsIHRleHQgaW5wdXRzLlxuICogICAgS25vd24gaXNzdWU6IGlubmVyIHNwYWNpbmcgcmVtYWlucyBpbiBJRSA2LlxuICovXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbiAgICAqb3ZlcmZsb3c6IHZpc2libGU7ICAvKiA0ICovXG59XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGNvbnRlbnQtYm94IGluIElFIDgvOS5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkuXG4gKiAzLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgNy5cbiAqICAgIEtub3duIGlzc3VlOiBleGNlc3MgcGFkZGluZyByZW1haW5zIGluIElFIDYuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xuICAgICpoZWlnaHQ6IDEzcHg7IC8qIDMgKi9cbiAgICAqd2lkdGg6IDEzcHg7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiBvbiBPUyBYLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDMrLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgNi83LzgvOS5cbiAqIDIuIEltcHJvdmUgcmVhZGFiaWxpdHkgYW5kIGFsaWdubWVudCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxudGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvOyAvKiAxICovXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgLyogMiAqL1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xuXG50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb2xvdXJzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFR5cG9ncmFwaHlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTWVkaWEgUXVlcmllc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qISBub3JtYWxpemUuY3NzIHYxLjEuMiB8IE1JVCBMaWNlbnNlIHwgZ2l0LmlvL25vcm1hbGl6ZSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDYvNy84LzkgYW5kIEZpcmVmb3ggMy5cbiAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAqIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA2LzcvOC85IGFuZCBGaXJlZm94IDMuXG4gKi9cbmF1ZGlvLFxuY2FudmFzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICpkaXNwbGF5OiBpbmxpbmU7XG4gICp6b29tOiAxOyB9XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA3LzgvOSwgRmlyZWZveCAzLCBhbmQgU2FmYXJpIDQuXG4gKiBLbm93biBpc3N1ZTogbm8gSUUgNiBzdXBwb3J0LlxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENvcnJlY3QgdGV4dCByZXNpemluZyBvZGRseSBpbiBJRSA2Lzcgd2hlbiBib2R5IGBmb250LXNpemVgIGlzIHNldCB1c2luZ1xuICogICAgYGVtYCB1bml0cy5cbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xuICogICAgdXNlciB6b29tLlxuICovXG5odG1sIHtcbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQWRkcmVzcyBgZm9udC1mYW1pbHlgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBgdGV4dGFyZWFgIGFuZCBvdGhlciBmb3JtXG4gKiBlbGVtZW50cy5cbiAqL1xuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbnMgaGFuZGxlZCBpbmNvcnJlY3RseSBpbiBJRSA2LzcuXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGRyZXNzIGBvdXRsaW5lYCBpbmNvbnNpc3RlbmN5IGJldHdlZW4gQ2hyb21lIGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuYTpmb2N1cyB7XG4gIG91dGxpbmU6IHRoaW4gZG90dGVkOyB9XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFR5cG9ncmFwaHlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZHJlc3MgZm9udCBzaXplcyBhbmQgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LlxuICogQWRkcmVzcyBmb250IHNpemVzIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYCBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSxcbiAqIGFuZCBDaHJvbWUuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuaDIge1xuICBmb250LXNpemU6IDEuNWVtO1xuICBtYXJnaW46IDAuODNlbSAwOyB9XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxZW07XG4gIG1hcmdpbjogMWVtIDA7IH1cblxuaDQge1xuICBmb250LXNpemU6IDFlbTtcbiAgbWFyZ2luOiAxLjMzZW0gMDsgfVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMC44M2VtO1xuICBtYXJnaW46IDEuNjdlbSAwOyB9XG5cbmg2IHtcbiAgZm9udC1zaXplOiAwLjY3ZW07XG4gIG1hcmdpbjogMi4zM2VtIDA7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgNy84LzksIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDMrLCBTYWZhcmkgNC81LCBhbmQgQ2hyb21lLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICogS25vd24gaXNzdWU6IG5vIElFIDYvNyBub3JtYWxpemF0aW9uLlxuICovXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgNi83LzgvOS5cbiAqL1xubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxuICogQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBJRSA2LzcuXG4gKi9cbnAsXG5wcmUge1xuICBtYXJnaW46IDFlbSAwOyB9XG5cbi8qKlxuICogQ29ycmVjdCBmb250IGZhbWlseSBzZXQgb2RkbHkgaW4gSUUgNiwgU2FmYXJpIDQvNSwgYW5kIENocm9tZS5cbiAqL1xuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBzZXJpZjtcbiAgX2ZvbnQtZmFtaWx5OiAnY291cmllciBuZXcnLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBwcmUtZm9ybWF0dGVkIHRleHQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgQ1NTIHF1b3RlcyBub3Qgc3VwcG9ydGVkIGluIElFIDYvNy5cbiAqL1xucSB7XG4gIHF1b3Rlczogbm9uZTsgfVxuXG4vKipcbiAqIEFkZHJlc3MgYHF1b3Rlc2AgcHJvcGVydHkgbm90IHN1cHBvcnRlZCBpbiBTYWZhcmkgNC5cbiAqL1xucTpiZWZvcmUsXG5xOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGNvbnRlbnQ6IG5vbmU7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExpc3RzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIElFIDYvNy5cbiAqL1xuZGwsXG5tZW51LFxub2wsXG51bCB7XG4gIG1hcmdpbjogMWVtIDA7IH1cblxuZGQge1xuICBtYXJnaW46IDAgMCAwIDQwcHg7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHBhZGRpbmdzIHNldCBkaWZmZXJlbnRseSBpbiBJRSA2LzcuXG4gKi9cbm1lbnUsXG5vbCxcbnVsIHtcbiAgcGFkZGluZzogMCAwIDAgNDBweDsgfVxuXG4vKipcbiAqIENvcnJlY3QgbGlzdCBpbWFnZXMgaGFuZGxlZCBpbmNvcnJlY3RseSBpbiBJRSA3LlxuICovXG5uYXYgdWwsXG5uYXYgb2wge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBsaXN0LXN0eWxlLWltYWdlOiBub25lOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDYvNy84LzkgYW5kIEZpcmVmb3ggMy5cbiAqIDIuIEltcHJvdmUgaW1hZ2UgcXVhbGl0eSB3aGVuIHNjYWxlZCBpbiBJRSA3LlxuICovXG5pbWcge1xuICBib3JkZXI6IDA7XG4gIC8qIDEgKi9cbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgOS5cbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGaWd1cmVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA2LzcvOC85LCBTYWZhcmkgNSwgYW5kIE9wZXJhIDExLlxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBDb3JyZWN0IG1hcmdpbiBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgNi83LlxuICovXG5mb3JtIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA2LzcvOC85LlxuICogMi4gQ29ycmVjdCB0ZXh0IG5vdCB3cmFwcGluZyBpbiBGaXJlZm94IDMuXG4gKiAzLiBDb3JyZWN0IGFsaWdubWVudCBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgNi83LlxuICovXG5sZWdlbmQge1xuICBib3JkZXI6IDA7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMiAqL1xuICAqbWFyZ2luLWxlZnQ6IC03cHg7XG4gIC8qIDMgKi8gfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgZm9udCBzaXplIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBJRSA2LzcsIEZpcmVmb3ggMyssIFNhZmFyaSA1LFxuICogICAgYW5kIENocm9tZS5cbiAqIDMuIEltcHJvdmUgYXBwZWFyYW5jZSBhbmQgY29uc2lzdGVuY3kgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDMgKi9cbiAgKnZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDMgKi8gfVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCAzKyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBDaHJvbWUsIFNhZmFyaSA1KywgYW5kIElFIDYrLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94IDQrIGFuZCBPcGVyYS5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICogNC4gUmVtb3ZlIGlubmVyIHNwYWNpbmcgaW4gSUUgNyB3aXRob3V0IGFmZmVjdGluZyBub3JtYWwgdGV4dCBpbnB1dHMuXG4gKiAgICBLbm93biBpc3N1ZTogaW5uZXIgc3BhY2luZyByZW1haW5zIGluIElFIDYuXG4gKi9cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIDMgKi9cbiAgKm92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiA0ICovIH1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGNvbnRlbnQtYm94IGluIElFIDgvOS5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkuXG4gKiAzLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgNy5cbiAqICAgIEtub3duIGlzc3VlOiBleGNlc3MgcGFkZGluZyByZW1haW5zIGluIElFIDYuXG4gKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xuICAqaGVpZ2h0OiAxM3B4O1xuICAvKiAzICovXG4gICp3aWR0aDogMTNweDtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAyICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSA1IGFuZCBDaHJvbWVcbiAqIG9uIE9TIFguXG4gKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDMrLlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA2LzcvOC85LlxuICogMi4gSW1wcm92ZSByZWFkYWJpbGl0eSBhbmQgYWxpZ25tZW50IGluIGFsbCBicm93c2Vycy5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAvKiAyICovIH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwOyB9XG5cbmh0bWwge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtZmFtaWx5OiBcIlVidW50dVwiLCBzYW5zLXNlcmlmOyB9XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kOiAjZmY0NTRlO1xuICBsaW5lLWhlaWdodDogMS40ZW07XG4gIGNvbG9yOiAjNzA3MDcwOyB9XG5cbmJvZHkubm9zY3JvbGwsXG5odG1sLm5vc2Nyb2xsIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uc2l0ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5zaXRlLWNvbnRlbnQge1xuICBmbGV4OiAxOyB9XG5cbmgxLFxuaDIge1xuICBmb250LWZhbWlseTogXCJBbnRvblwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbmgxIHtcbiAgbGluZS1oZWlnaHQ6IDEuM2VtOyB9XG5cbmgyIHtcbiAgbGluZS1oZWlnaHQ6IDEuM2VtO1xuICBmb250LXNpemU6IDMzcHg7XG4gIG1hcmdpbi10b3A6IC0wLjA2ZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkge1xuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogNDVweDsgfSB9XG5cbmEge1xuICBjb2xvcjogY3VycmVudENvbG9yOyB9XG5cbi53b29kLXVzZXJuYW1lLWZpZWxkIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5pbnB1dCxcbmJ1dHRvbiB7XG4gIGZvbnQtZmFtaWx5OiBcIlVidW50dVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogY3VycmVudENvbG9yOyB9XG5cbi5mb3JtIGlucHV0LFxuLmZvcm0gYnV0dG9uLFxuLmZvcm0gbGFiZWwsXG4uZm9ybSBzZWxlY3QsXG4uZm9ybSBvcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICBmb250LXNpemU6IDE0cHg7IH1cblxuLmZvcm0gbGFiZWwge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZvcm0gaW5wdXQsXG4uZm9ybSBidXR0b24ge1xuICBib3JkZXI6IDJweCBzb2xpZCAjY2NjY2NjO1xuICBwYWRkaW5nOiA5cHggMTBweCAxMHB4OyB9XG5cbi5mb3JtX19zZWxlY3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZvcm1fX3NlbGVjdDpiZWZvcmUsIC5mb3JtX19zZWxlY3Q6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHdpZHRoOiAzcHg7XG4gICAgaGVpZ2h0OiA3cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6ICNjY2NjY2M7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZm9ybV9fc2VsZWN0OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDE2cHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAuZm9ybV9fc2VsZWN0OmFmdGVyIHtcbiAgICByaWdodDogMTNweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgLmZvcm1fX3NlbGVjdCBzZWxlY3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjY2NjY2NjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogIzcwNzA3MDtcbiAgICBwYWRkaW5nOiA5cHggMTBweCAxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlVidW50dVwiLCBzYW5zLXNlcmlmOyB9XG4gICAgLmZvcm1fX3NlbGVjdCBzZWxlY3Q6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmZvcm1fX3NlbGVjdCBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5mb3JtX19zZWxlY3Qgc2VsZWN0OmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAuZm9ybV9fc2VsZWN0IHNlbGVjdCBvcHRpb24ge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4uZm9ybV9fc2VhcmNoZm9ybSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5mb3JtX19zZWFyY2hmb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbGV4OiAxO1xuICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAuZm9ybV9fc2VhcmNoZm9ybSBidXR0b24ge1xuICAgIHBhZGRpbmc6IDAgNDBweDsgfVxuICAgIC5mb3JtX19zZWFyY2hmb3JtIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmY0NTRlO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuZm9ybV9fc2VhcmNoZm9ybSBidXR0b24gc3ZnIHtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmdyaWR3cmFwIHtcbiAgbWFyZ2luOiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgY2xlYXI6IGJvdGg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkge1xuICAgIC5ncmlkd3JhcCB7XG4gICAgICBwYWRkaW5nOiAwIDYwcHg7IH0gfVxuICAuZ3JpZHdyYXBfX25hcnJvdyB7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0MDFweCkge1xuICAgICAgLmdyaWR3cmFwX19uYXJyb3cge1xuICAgICAgICB3aWR0aDogNjYuNjY2NjclOyB9IH1cblxuLmNvbCB7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGZsb2F0OiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNvbC0tY2VudHJlZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG5cbi5jb2wsXG4uY29sd3JhcCB7XG4gIHBhZGRpbmc6IDAgMTBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAuY29sLFxuICAgIC5jb2x3cmFwIHtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDsgfSB9XG5cbi5jb2wtLXNwYWNlIHtcbiAgaGVpZ2h0OiAzMHB4OyB9XG5cbi5jb2xfX2lubmVyIHtcbiAgcGFkZGluZzogMCAyMHB4OyB9XG5cbi5jb2wtLW5vcGFkIHtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLmNvbC0tMS02LFxuLmNvbC0tMS00LFxuLmNvbC0tMy00LFxuLmNvbC0tMS0zLFxuLmNvbC0tMi0zLFxuLmNvbC0tMS0yLFxuLmNvbC0tMSxcbi5jb2wtLTUtNiB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jc3NncmlkIHtcbiAgZ3JpZC1jb2x1bW4tZ2FwOiA0MHB4O1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICBwYWRkaW5nOiAwIDIwcHg7IH1cbiAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgLmNzc2dyaWQge1xuICAgICAgZGlzcGxheTogZ3JpZDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkge1xuICAgIC5jc3NncmlkIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMWZyIDFmciAxZnI7XG4gICAgICBwYWRkaW5nOiAwIDgwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgLmNvbC0tMS02IHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5jb2wtLTUtNiB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuY29sLS0xLTQge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmNvbC0tMy00IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5jb2wtLTEtMyB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuY29sLS0yLTMge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmNvbC0tMS0yIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC52Y29sLS0xLTIge1xuICAgIGhlaWdodDogNTAlOyB9IH1cblxuLnNpdGVoZWFkZXIge1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMjA7XG4gIHBhZGRpbmc6IDAgMjBweCAxMHB4IDIwcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCA2OSwgNzgsIDAuNzUpO1xuICBoZWlnaHQ6IDEwN3B4O1xuICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UgYWxsOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkge1xuICAgIC5zaXRlaGVhZGVyIHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwIDQwcHg7XG4gICAgICBoZWlnaHQ6IDA7IH0gfVxuXG4uc2l0ZWxvZ28tLWhpZGUgLnNpdGVoZWFkZXIge1xuICBoZWlnaHQ6IDY1cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDcyMXB4KSB7XG4gICAgLnNpdGVsb2dvLS1oaWRlIC5zaXRlaGVhZGVyIHtcbiAgICAgIGhlaWdodDogMDsgfSB9XG5cbi5mdWxscGFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZnVsbHBhZ2VfX3dyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuZnVsbHBhZ2VfX25hdmlnYXRpb24ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwIDAgNDhweCAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsZWZ0OiA1OXB4O1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAgIC5mdWxscGFnZV9fbmF2aWdhdGlvbiB7XG4gICAgICAgIGxlZnQ6IDk4cHg7IH0gfVxuICAgIC5mdWxscGFnZV9fbmF2aWdhdGlvbjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UgYmFja2dyb3VuZDtcbiAgICAgIHdpZHRoOiAycHg7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkge1xuICAgICAgICAuZnVsbHBhZ2VfX25hdmlnYXRpb246YmVmb3JlIHtcbiAgICAgICAgICB3aWR0aDogNHB4OyB9IH1cbiAgICAuZnVsbHBhZ2VfX25hdmlnYXRpb24gc3ZnIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBmaWxsOiAjZmZmZmZmO1xuICAgICAgd2lkdGg6IDlweDtcbiAgICAgIGhlaWdodDogN3B4O1xuICAgICAgbWFyZ2luOiA1cHg7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAgICAgLmZ1bGxwYWdlX19uYXZpZ2F0aW9uIHN2ZyB7XG4gICAgICAgICAgbWFyZ2luOiA4cHg7XG4gICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMHB4OyB9IH1cbiAgICAgIC5mdWxscGFnZV9fbmF2aWdhdGlvbiBzdmcuLS1pcy1hY3RpdmUge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmZ1bGxwYWdlX19uYXZpZ2F0aW9uIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtOXB4OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAgICAgLmZ1bGxwYWdlX19uYXZpZ2F0aW9uIGxpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTEzcHg7IH0gfVxuICAgICAgLmZ1bGxwYWdlX19uYXZpZ2F0aW9uIGxpOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5mdWxscGFnZV9fY2VudHJlZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAuZnVsbHBhZ2VfX2NlbnRyZWQgLmdyaWR3cmFwIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuXG4uZml0aW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmZpdGltZyBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7IH1cblxuLm9iamVjdC1maXQgLmZpdGltZyBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuXG4uc2l0ZWxvZ28ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHdpZHRoOiA4MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDcyMXB4KSB7XG4gICAgLnNpdGVsb2dvIHtcbiAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgIHBhZGRpbmctdG9wOiA0MHB4OyB9IH1cbiAgLnNpdGVsb2dvOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDJweDtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZSBiYWNrZ3JvdW5kOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcyMXB4KSB7XG4gICAgICAuc2l0ZWxvZ286YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgICAgICB3aWR0aDogNHB4OyB9IH1cbiAgLnNpdGVsb2dvIHN2ZyB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiA3N3B4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZpbGw6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGZpbGw7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAgIC5zaXRlbG9nbyBzdmcge1xuICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgIGhlaWdodDogMTE1cHg7IH0gfVxuXG4jc2l0ZWxvZ29fX3RleHQge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2l0ZWxvZ28tLWhpZGUgI3NpdGVsb2dvX190ZXh0IHtcbiAgb3BhY2l0eTogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAuc2l0ZWxvZ28tLWhpZGUgI3NpdGVsb2dvX190ZXh0IHtcbiAgICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmZmZmZmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpOyB9XG5cbi5zaXRlbWVudSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICBtaW4td2lkdGg6IDYwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIDAuMTVzIGVhc2U7XG4gIHotaW5kZXg6IDIwO1xuICBjb2xvcjogI2ZmNDU0ZTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIHBhZGRpbmctdG9wOiA4NXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIGhlaWdodDogMTAwdmg7XG4gIHRvcDogMDsgfVxuICAuc2l0ZW1lbnUtLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH1cbiAgLnNpdGVtZW51X19jb250YWN0IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAyNnB4O1xuICAgIHJpZ2h0OiA2NHB4O1xuICAgIHotaW5kZXg6IDIxO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMTBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkge1xuICAgICAgLnNpdGVtZW51X19jb250YWN0IHtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIHJpZ2h0OiAyMHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDcyMXB4KSBhbmQgKG1pbi1oZWlnaHQ6IDcwMHB4KSB7XG4gICAgLnNpdGVtZW51X19jb250YWN0IHtcbiAgICAgIHRvcDogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkgYW5kIChtaW4taGVpZ2h0OiA4MDBweCkge1xuICAgIC5zaXRlbWVudV9fY29udGFjdCB7XG4gICAgICB0b3A6IDYxcHg7IH0gfVxuICAgIC5zaXRlbWVudV9fY29udGFjdCB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkge1xuICAgICAgICAuc2l0ZW1lbnVfX2NvbnRhY3QgdWwge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAuc2l0ZW1lbnVfX2NvbnRhY3QgbGkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3B4OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAgICAgLnNpdGVtZW51X19jb250YWN0IGxpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweDsgfSB9XG4gICAgLnNpdGVtZW51X19jb250YWN0IGEge1xuICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5zaXRlbWVudV9fY29udGFjdCBzdmcge1xuICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0ycHg7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkge1xuICAgICAgICAuc2l0ZW1lbnVfX2NvbnRhY3Qgc3ZnIHtcbiAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4OyB9IH1cbiAgLnNpdGVtZW51IHVsIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkge1xuICAgICAgLnNpdGVtZW51IHVsIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDcyMXB4KSB7XG4gICAgLnNpdGVtZW51IHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIG1heC13aWR0aDogNjBweDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gIC5zaXRlbWVudSBhIHtcbiAgICBwYWRkaW5nOiAyMnB4IDIwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiAyMHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcyMXB4KSB7XG4gICAgICAuc2l0ZW1lbnUgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgcGFkZGluZzogMjBweCAxMHB4OyB9IH1cbiAgLnNpdGVtZW51IHN2ZyB7XG4gICAgd2lkdGg6IDMzcHg7XG4gICAgaGVpZ2h0OiAzM3B4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogYXV0byAxMHB4O1xuICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZTtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAgIC5zaXRlbWVudSBzdmcge1xuICAgICAgICBmaWxsOiAjZmZmZmZmO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4OyB9IH1cbiAgLnNpdGVtZW51IHNwYW4ge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZmxleDogMTtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICAgIGNvbG9yOiAjZmY0NTRlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAgIC5zaXRlbWVudSBzcGFuIHtcbiAgICAgICAgbWF4LXdpZHRoOiAwO1xuICAgICAgICBvcGFjaXR5OiAwOyB9IH1cbiAgLnNpdGVtZW51IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuc2l0ZW1lbnUgbGk6YmVmb3JlLCAuc2l0ZW1lbnUgbGk6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWJlYmViO1xuICAgICAgaGVpZ2h0OiAxcHg7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkge1xuICAgICAgICAuc2l0ZW1lbnUgbGk6YmVmb3JlLCAuc2l0ZW1lbnUgbGk6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTsgfSB9XG4gICAgLnNpdGVtZW51IGxpOmFmdGVyIHtcbiAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkge1xuICAgICAgICAuc2l0ZW1lbnUgbGk6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAuc2l0ZW1lbnUgbGk6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBsZWZ0OiAyMHB4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDFzIDAuM3MgZWFzZTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDcyMXB4KSB7XG4gICAgICAgIC5zaXRlbWVudSBsaTpiZWZvcmUge1xuICAgICAgICAgIHdpZHRoOiAwcHg7XG4gICAgICAgICAgcmlnaHQ6IDcxcHg7XG4gICAgICAgICAgbGVmdDogYXV0bzsgfSB9XG4gICAgLnNpdGVtZW51IGxpOmxhc3QtY2hpbGQ6YWZ0ZXIsIC5zaXRlbWVudSBsaTpsYXN0LWNoaWxkOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zaXRlbWVudTphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogNjBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmY0NTRlO1xuICAgIGJvdHRvbTogMHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIDBzIGVhc2U7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDcyMXB4KSB7XG4gICAgLnNpdGVtZW51OmhvdmVyIHtcbiAgICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyAwcyBlYXNlO1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICBjb2xvcjogI2ZmNDU0ZTsgfVxuICAgICAgLnNpdGVtZW51OmhvdmVyOmFmdGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyAwLjNzIGVhc2U7IH1cbiAgICAgIC5zaXRlbWVudTpob3ZlciBzcGFuIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMjBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMXB4O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIDAuMTVzIGVhc2U7IH1cbiAgICAgIC5zaXRlbWVudTpob3ZlciBzdmcge1xuICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIHRyYW5zaXRpb246IGZpbGwgMC4zcyAwLjE1cyBlYXNlOyB9XG4gICAgICAgIC5zaXRlbWVudTpob3ZlciBzdmcgKiB7XG4gICAgICAgICAgZmlsbDogY3VycmVudENvbG9yOyB9XG4gICAgICAuc2l0ZW1lbnU6aG92ZXIgbGk6YWZ0ZXIsIC5zaXRlbWVudTpob3ZlciBsaTpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgMC4xNXMgZWFzZTtcbiAgICAgICAgYmFja2dyb3VuZDogI2ViZWJlYjsgfVxuICAgICAgLnNpdGVtZW51OmhvdmVyIGxpOmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4MXB4KTsgfSB9XG4gIC5zaXRlbWVudV9fdG9nZ2xlIHtcbiAgICB0b3A6IDIwcHg7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogMjE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgMC4xNXMgZWFzZTsgfVxuICAgIC5zaXRlbWVudV9fdG9nZ2xlOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5zaXRlbWVudV9fdG9nZ2xlOmJlZm9yZSwgLnNpdGVtZW51X190b2dnbGU6YWZ0ZXIge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgMC4xNXMgZWFzZTtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTJweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOyB9XG4gICAgLnNpdGVtZW51X190b2dnbGU6YmVmb3JlIHtcbiAgICAgIG1hcmdpbi10b3A6IC02cHg7IH1cbiAgICAuc2l0ZW1lbnVfX3RvZ2dsZTphZnRlciB7XG4gICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAgIC5zaXRlbWVudV9fdG9nZ2xlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLnNpdGVtZW51X190b2dnbGUtLW9wZW4ge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjIpOyB9XG4gICAgICAuc2l0ZW1lbnVfX3RvZ2dsZS0tb3BlbjpiZWZvcmUsIC5zaXRlbWVudV9fdG9nZ2xlLS1vcGVuOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmNDU0ZTsgfVxuICAgICAgLnNpdGVtZW51X190b2dnbGUtLW9wZW46YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gICAgICAuc2l0ZW1lbnVfX3RvZ2dsZS0tb3BlbjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xcHg7IH1cbiAgLnNpdGVtZW51X19saW5rLS1hY3RpdmUsXG4gIC5zaXRlbWVudSBhOmhvdmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuc2l0ZW1lbnVfX2xpbmstLWFjdGl2ZTphZnRlcixcbiAgICAuc2l0ZW1lbnUgYTpob3ZlcjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgd2lkdGg6IDJweDtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNHB4KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAycHg7IH1cblxuLnNpdGVmb290ZXIge1xuICBib3R0b206IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICByaWdodDogMDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIGZvbnQtc2l6ZTogMTBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAuc2l0ZWZvb3RlciB7XG4gICAgICBmb250LXNpemU6IDEycHg7IH0gfVxuICAuc2l0ZWZvb3RlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiA2MHB4O1xuICAgIHdpZHRoOiAycHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcyMXB4KSB7XG4gICAgICAuc2l0ZWZvb3RlcjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAxMDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0ycHg7XG4gICAgICAgIHdpZHRoOiA0cHg7IH0gfVxuICAuc2l0ZWZvb3RlciBhIHtcbiAgICBjb2xvcjogY3VycmVudENvbG9yOyB9XG4gIC5zaXRlZm9vdGVyIHAge1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICBtYXJnaW46IDZweCAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsaW5lLWhlaWdodDogMS40ZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAgIC5zaXRlZm9vdGVyIHAge1xuICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfSB9XG4gIC5zaXRlZm9vdGVyIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcyMXB4KSB7XG4gICAgICAuc2l0ZWZvb3RlciBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lOyB9IH1cblxuLmNhdGxpc3Qge1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IDE0cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDcyMXB4KSB7XG4gICAgLmNhdGxpc3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuY2F0bGlzdCBoMyB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDAuNzNlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDAxcHgpIHtcbiAgICAgIC5jYXRsaXN0IGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4OyB9IH1cbiAgLmNhdGxpc3QgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwIDAgMCAwO1xuICAgIHBhZGRpbmc6IDYwcHggMCAwIDA7IH1cbiAgLmNhdGxpc3QgbGkge1xuICAgIG1hcmdpbjogMjBweCAwOyB9XG4gICAgLmNhdGxpc3QgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5jYXRsaXN0IGxpOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY2F0bGlzdCBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjY2NjY2NjO1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjsgfVxuICAgIC5jYXRsaXN0IGE6aG92ZXIsIC5jYXRsaXN0IGEuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZjQ1NGU7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4ub3V0c2V0aGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkge1xuICAgIC5vdXRzZXRoZWFkZXJfX3RpdGxlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgICBtYXJnaW46IDAgMCAwIDA7IH0gfVxuICAub3V0c2V0aGVhZGVyX19jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiA0NHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcyMXB4KSB7XG4gICAgICAub3V0c2V0aGVhZGVyX19jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDYwcHg7IH0gfVxuXG4uYmlndGl0bGUge1xuICBmb250LWZhbWlseTogXCJBbnRvblwiLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiA0NXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkge1xuICAgIC5iaWd0aXRsZSB7XG4gICAgICBmb250LXNpemU6IDUwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmJpZ3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogNzBweDsgfSB9XG4gIC5iaWd0aXRsZV9fcGFpcmVkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMTBweDsgfVxuICAuYmlndGl0bGUtLXJlZCB7XG4gICAgY29sb3I6ICNmZjQ1NGU7IH1cblxuLmZhcXMge1xuICBsaW5lLWhlaWdodDogMS41ZW07IH1cbiAgLmZhcXNfX3NlbGVjdCB7XG4gICAgbWFyZ2luOiAyMHB4IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAgIC5mYXFzX19zZWxlY3Qge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmZhcXMgaDEge1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjA4ZW07IH1cbiAgLmZhcXMgaDMge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkge1xuICAgICAgLmZhcXMgaDMge1xuICAgICAgICBmb250LXNpemU6IDFlbTsgfSB9XG4gIC5mYXFzIGRsIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmZhcXMgZGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4ud2h5dXNfX2NvbnRlbnQge1xuICBsaW5lLWhlaWdodDogMS4yZW07XG4gIGFsaWduLXNlbGY6IGVuZDsgfVxuICAud2h5dXNfX2NvbnRlbnQgcDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAud2h5dXNfX2NvbnRlbnQgLndoeXVzX19sYXN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC4xN2VtOyB9XG4gIC53aHl1c19fY29udGVudCBociB7XG4gICAgd2lkdGg6IDY2LjY2NiU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICNlYmViZWI7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAyMHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcyMXB4KSB7XG4gICAgICAud2h5dXNfX2NvbnRlbnQgaHIge1xuICAgICAgICB0b3A6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtNHB4O1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSA0MHB4KTsgfSB9XG4gIC53aHl1c19fY29udGVudCBhIHtcbiAgICBjb2xvcjogY3VycmVudENvbG9yOyB9XG5cbi53aHl1c19fbGF5b3V0MSBoMiwgLndoeXVzX19sYXlvdXQyIGgyIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAud2h5dXNfX2xheW91dDEgaDIudGV4dHJpZ2h0LCAud2h5dXNfX2xheW91dDIgaDIudGV4dHJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuLndoeXVzX19sYXlvdXQxIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAud2h5dXNfX2xheW91dDEge1xuICAgICAgZGlzcGxheTogZ3JpZDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAud2h5dXNfX2xheW91dDEge1xuICAgICAgd2lkdGg6IDY2LjY2NiU7IH1cbiAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICAud2h5dXNfX2xheW91dDEge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH0gfVxuICAud2h5dXNfX2xheW91dDEgLndoeXVzX19jb2wxIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMztcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAgIC53aHl1c19fbGF5b3V0MSAud2h5dXNfX2NvbDEge1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gNjtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMjBweCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAgICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgICAud2h5dXNfX2xheW91dDEgLndoeXVzX19jb2wxIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MDFweCkge1xuICAgICAgLndoeXVzX19sYXlvdXQxIC53aHl1c19fY29sMSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAzOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQwMXB4KSB7XG4gICAgICAud2h5dXNfX2xheW91dDEgLndoeXVzX19jb2wxIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDI7IH0gfVxuICAud2h5dXNfX2xheW91dDEgLndoeXVzX19pbWcge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlYmViZWI7XG4gICAgcGFkZGluZzogMTRweDtcbiAgICBoZWlnaHQ6IDg2cHg7XG4gICAgd2lkdGg6IDE1N3B4OyB9XG4gICAgLndoeXVzX19sYXlvdXQxIC53aHl1c19faW1nIHN2ZyB7XG4gICAgICB3aWR0aDogMTI3cHg7XG4gICAgICBoZWlnaHQ6IDU2cHg7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkge1xuICAgICAgLndoeXVzX19sYXlvdXQxIC53aHl1c19faW1nIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDE4cHg7XG4gICAgICAgIHdpZHRoOiAyMjBweDtcbiAgICAgICAgaGVpZ2h0OiAxMjBweDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICAgIC53aHl1c19fbGF5b3V0MSAud2h5dXNfX2ltZyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gICAgICAgIC53aHl1c19fbGF5b3V0MSAud2h5dXNfX2ltZyBzdmcge1xuICAgICAgICAgIHdpZHRoOiAxODJweDtcbiAgICAgICAgICBoZWlnaHQ6IDgycHg7IH0gfVxuICAud2h5dXNfX2xheW91dDEgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MDFweCkge1xuICAgICAgLndoeXVzX19sYXlvdXQxIGltZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC00NnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9IH1cbiAgLndoeXVzX19sYXlvdXQxIC5iaWd0aXRsZSB7XG4gICAgbWFyZ2luOiAyMHB4IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAgIC53aHl1c19fbGF5b3V0MSAuYmlndGl0bGUge1xuICAgICAgICBtYXJnaW46IDQwcHggMDsgfSB9XG4gIC53aHl1c19fbGF5b3V0MSAud2h5dXNfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiAxN3B4O1xuICAgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAyO1xuICAgIHdpZHRoOiA3NSU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgIC53aHl1c19fbGF5b3V0MSAud2h5dXNfX2NvbnRlbnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkge1xuICAgICAgLndoeXVzX19sYXlvdXQxIC53aHl1c19fY29udGVudCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDM0cHg7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxuICAgICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgICAud2h5dXNfX2xheW91dDEgLndoeXVzX19jb250ZW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gNjsgfSB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogODAxcHgpIHtcbiAgICAgIC53aHl1c19fbGF5b3V0MSAud2h5dXNfX2NvbnRlbnQge1xuICAgICAgICBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gMzsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0MDFweCkge1xuICAgICAgLndoeXVzX19sYXlvdXQxIC53aHl1c19fY29udGVudCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiAyOyB9IH1cbiAgICAud2h5dXNfX2xheW91dDEgLndoeXVzX19jb250ZW50IGhyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDQycHg7IH1cblxuLndoeXVzX19sYXlvdXQyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgIC53aHl1c19fbGF5b3V0MiB7XG4gICAgICBkaXNwbGF5OiBncmlkOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC53aHl1c19fbGF5b3V0MiB7XG4gICAgICB3aWR0aDogNjYuNjY2JTsgfVxuICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAgIC53aHl1c19fbGF5b3V0MiB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfSB9XG4gIC53aHl1c19fbGF5b3V0MiAuYmlndGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAgIC53aHl1c19fbGF5b3V0MiAuYmlndGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgLndoeXVzX19sYXlvdXQyIC53aHl1c19fY29sMSB7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMzsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDcyMXB4KSB7XG4gICAgICAgIC53aHl1c19fbGF5b3V0MiAud2h5dXNfX2NvbDEge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiA0OyB9IH0gfVxuICAud2h5dXNfX2xheW91dDIgLndoeXVzX19jb2wyIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkge1xuICAgICAgLndoeXVzX19sYXlvdXQyIC53aHl1c19fY29sMiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAyOHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7IH1cbiAgICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAgICAgLndoeXVzX19sYXlvdXQyIC53aHl1c19fY29sMiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDI7IH0gfSB9XG4gICAgLndoeXVzX19sYXlvdXQyIC53aHl1c19fY29sMiBpbWcsXG4gICAgLndoeXVzX19sYXlvdXQyIC53aHl1c19fY29sMiBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMjBweCk7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAud2h5dXNfX2xheW91dDIgLndoeXVzX19jb2wyIGEgPiBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLndoeXVzX19sYXlvdXQyIC53aHl1c19fY29udGVudCB7XG4gICAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDI7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAgIC53aHl1c19fbGF5b3V0MiAud2h5dXNfX2NvbnRlbnQge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTsgfVxuICAgICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgICAud2h5dXNfX2xheW91dDIgLndoeXVzX19jb250ZW50IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiAyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfSB9XG5cbi53aHl1c19fbGF5b3V0MyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgLndoeXVzX19sYXlvdXQzIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLndoeXVzX19sYXlvdXQzIHtcbiAgICAgIHdpZHRoOiA2Ni42NjYlOyB9XG4gICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgLndoeXVzX19sYXlvdXQzIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9IH1cbiAgLndoeXVzX19sYXlvdXQzIC53aHl1c19fY29sMSB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDM7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAud2h5dXNfX2xheW91dDMgLndoeXVzX19jb2wxIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDM7IH0gfVxuICAud2h5dXNfX2xheW91dDMgLndoeXVzX19pbWcge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAxOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLndoeXVzX19sYXlvdXQzIC53aHl1c19faW1nIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDMgLyBzcGFuIDE7IH0gfVxuICAud2h5dXNfX2xheW91dDMgLndoeXVzX19jb250ZW50IHtcbiAgICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC53aHl1c19fbGF5b3V0MyAud2h5dXNfX2NvbnRlbnQge1xuICAgICAgICBncmlkLWNvbHVtbjogNCAvIHNwYW4gMTsgfSB9XG5cbi5zdGF0aWNjb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDM3cHg7XG4gIHBhZGRpbmctYm90dG9tOiA1N3B4OyB9XG4gIC5zdGF0aWNjb250ZW50IHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG4uY29udGFjdCBoMi5iaWd0aXRsZS0tcmVkIHtcbiAgbWFyZ2luLWJvdHRvbTogNTRweDsgfVxuXG4uY29udGFjdF9fYWRkcmVzcyB7XG4gIGNsZWFyOiBib3RoO1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5jb250YWN0X19hZGRyZXNzIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY29udGFjdF9fYWRkcmVzcyBhZGRyZXNzIHtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLmNvbnRhY3RfX21hcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuY29udGFjdF9fbWFwIHNwYW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5jb250YWN0X19tYXAgc3ZnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiA1MCU7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmaWxsOiAjY2NjY2NjO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAuY29udGFjdF9fbWFwIGEge1xuICAgIGJhY2tncm91bmQ6ICNlYmViZWI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogNXB4IDA7IH1cblxuLmNvbnRhY3RfX2RldGFpbHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZy1ib3R0b206IDEyNHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICAuY29udGFjdF9fZGV0YWlscyBpZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAjZWJlYmViO1xuICAgIG1hcmdpbi10b3A6IDYwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAgIC5jb250YWN0X19kZXRhaWxzIGlmcmFtZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAuY29udGFjdF9fZGV0YWlsczphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogNjBweDtcbiAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDQwcHgpO1xuICAgICAgYmFja2dyb3VuZDogI2ViZWJlYjsgfSB9XG4gIC5jb250YWN0X19kZXRhaWxzID4gLmNvbDpmaXJzdC1jaGlsZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAgIC5jb250YWN0X19kZXRhaWxzID4gLmNvbDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDsgfSB9XG4gICAgLmNvbnRhY3RfX2RldGFpbHMgPiAuY29sOmZpcnN0LWNoaWxkOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIGJhY2tncm91bmQ6ICNlYmViZWI7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSA0MHB4KTtcbiAgICAgIGJvdHRvbTogMDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDcyMXB4KSB7XG4gICAgICAgIC5jb250YWN0X19kZXRhaWxzID4gLmNvbDpmaXJzdC1jaGlsZDphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5jb250YWN0X19mb3JtIHtcbiAgYmFja2dyb3VuZDogI2ViZWJlYjtcbiAgcGFkZGluZzogMTJweCAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkge1xuICAgIC5jb250YWN0X19mb3JtIHtcbiAgICAgIHBhZGRpbmc6IDQwcHggMjBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkge1xuICAgIC5jb250YWN0X19mb3JtOmJlZm9yZSwgLmNvbnRhY3RfX2Zvcm06YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGJhY2tncm91bmQ6ICNlYmViZWI7XG4gICAgICB0b3A6IDA7IH0gfVxuICAuY29udGFjdF9fZm9ybTpiZWZvcmUge1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmNvbnRhY3RfX2Zvcm06YWZ0ZXIge1xuICAgIHJpZ2h0OiAxMDAlOyB9XG4gIC5jb250YWN0X19mb3JtIHA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNvbnRhY3RfX2Zvcm0gLmZpZWxkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY29udGFjdF9fZm9ybSAuZmllbGQgLmVycm9yIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY29udGFjdF9fZm9ybSAuZmllbGQgbGFiZWwubWFpbi1sYWJlbCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMjBweDtcbiAgICAgIHRvcDogNnB4OyB9XG4gICAgICAuY29udGFjdF9fZm9ybSAuZmllbGQgbGFiZWwubWFpbi1sYWJlbCAucmVxdWlyZWQge1xuICAgICAgICBjb2xvcjogIzcwNzA3MDtcbiAgICAgICAgdHJhbnNpdGlvbjogMCwgM3MgZWFzZSBjb2xvcjsgfVxuICAuY29udGFjdF9fZm9ybS5lcnJvcnMgLmNvbnRhY3RfX3JlcXVpcmVkLFxuICAuY29udGFjdF9fZm9ybS5lcnJvcnMgbGFiZWwubWFpbi1sYWJlbCAucmVxdWlyZWQge1xuICAgIGNvbG9yOiAjZmY0NTRlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkge1xuICAgIC5jb250YWN0X19mb3JtIC5oYWxmIHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgIC5jb250YWN0X19mb3JtIC5oYWxmOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuICAgICAgICAuY29udGFjdF9fZm9ybSAuaGFsZjpudGgtb2YtdHlwZShldmVuKSBsYWJlbC5tYWluLWxhYmVsIHtcbiAgICAgICAgICByaWdodDogNDBweDsgfVxuICAgICAgLmNvbnRhY3RfX2Zvcm0gLmhhbGY6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDsgfSB9XG4gIC5jb250YWN0X19mb3JtIC5jY2YtZm9ybS13cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jb250YWN0X19mb3JtIC5mb3JtLXN1Ym1pdCB7XG4gICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICNmZjQ1NGU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAgIC5jb250YWN0X19mb3JtIC5mb3JtLXN1Ym1pdCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDMwcHgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNzA3MDcwOyB9IH1cbiAgICAuY29udGFjdF9fZm9ybSAuZm9ybS1zdWJtaXQgaW5wdXQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmY0NTRlO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgcGFkZGluZzogMTJweCAyMHB4OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAgICAgLmNvbnRhY3RfX2Zvcm0gLmZvcm0tc3VibWl0IGlucHV0IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjNzA3MDcwOyB9XG4gICAgICAgICAgLmNvbnRhY3RfX2Zvcm0gLmZvcm0tc3VibWl0IGlucHV0OmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZjQ1NGU7IH0gfVxuICAuY29udGFjdF9fZm9ybSAubG9hZGluZy1pbWcge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuY29udGFjdF9fZm9ybSBmb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY29udGFjdF9fZm9ybSBpbnB1dCxcbiAgLmNvbnRhY3RfX2Zvcm0gdGV4dGFyZWEge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDlweCAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAuY29udGFjdF9fZm9ybSBpbnB1dDo6cGxhY2Vob2xkZXIsXG4gICAgLmNvbnRhY3RfX2Zvcm0gdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7IH1cbiAgICAuY29udGFjdF9fZm9ybSBpbnB1dDpmb2N1czo6cGxhY2Vob2xkZXIsXG4gICAgLmNvbnRhY3RfX2Zvcm0gdGV4dGFyZWE6Zm9jdXM6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAjZWJlYmViOyB9XG4gIC5jb250YWN0X19mb3JtIC5jY2YtZm9ybS1jb21wbGV0ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTJweDsgfVxuXG4uY29udGFjdF9fcmVxdWlyZWQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAuY29udGFjdF9fcmVxdWlyZWQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMzRweDsgfSB9XG5cbi5jb250YWN0IGRsIGR0LFxuLmNvbnRhY3QgZGwgZGQge1xuICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBmbG9hdDogbGVmdDsgfVxuXG4uY29udGFjdCBkbCBkdCB7XG4gIG1hcmdpbi1yaWdodDogNDBweDtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmNvdW50ZXJ3ZWlnaHQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwLjJlbTtcbiAgcmlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgYmFja2dyb3VuZDogI2ViZWJlYjtcbiAgaGVpZ2h0OiA0cHg7IH1cblxuLmNvdW50ZXJ3ZWlnaHQuY29sLS0zLTQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5jb3VudGVyd2VpZ2h0LmNvbC0tMy00IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAgIC5jb3VudGVyd2VpZ2h0LmNvbC0tMy00OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzJSAtIDQwcHgpOyB9IH1cblxuLmNvdW50ZXJ3ZWlnaHQuY29sLS0xLTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNvdW50ZXJ3ZWlnaHQuY29sLS0xLTI6YWZ0ZXIge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDQwcHgpOyB9XG5cbi5jb3VudGVyd2VpZ2h0LmNvbC0tMS00IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jb3VudGVyd2VpZ2h0LmNvbC0tMS00OmFmdGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7IH1cblxuLmNvdW50ZXJ3ZWlnaHQgcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY291bnRlcndlaWdodC0taW5zaWRlIHtcbiAgcGFkZGluZy1ib3R0b206IDY0cHg7IH1cbiAgLmNvdW50ZXJ3ZWlnaHQtLWluc2lkZTphZnRlciB7XG4gICAgbGVmdDogMTBweDtcbiAgICByaWdodDogYXV0bzsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5jb3VudGVyd2VpZ2h0LS1pbnNpZGU6YWZ0ZXIge1xuICAgICAgICBsZWZ0OiAyMHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDcxOXB4KSB7XG4gICAgLmNvdW50ZXJ3ZWlnaHQtLWluc2lkZS5jb2wtLTEtMjphZnRlciB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7IH0gfVxuXG4uY291bnRlcndlaWdodC0tcmlnaHQ6YWZ0ZXIge1xuICBsZWZ0OiAxMDAlO1xuICByaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4ucm93IHtcbiAgcGFkZGluZzogMzBweCAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnJvdy0tYnJlYWsge1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcyMXB4KSB7XG4gICAgICAucm93LS1icmVhayB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgLnJvdy0tbGFyZ2V0b3Age1xuICAgIHBhZGRpbmctdG9wOiAxMDBweDsgfVxuICAucm93LS1sYXJnZWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4OyB9XG4gIC5yb3ctLXN0cmV0Y2gge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi50b2dnbGVoZWFkaW5ncyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC50b2dnbGVoZWFkaW5nc19faXRlbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnRvZ2dsZWhlYWRpbmdzX19pdGVtOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAxMHB4O1xuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWJlYmViO1xuICAgICAgd2lkdGg6IGNhbGMoNjAlIC0gMTBweCk7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkge1xuICAgICAgICAudG9nZ2xlaGVhZGluZ3NfX2l0ZW06YWZ0ZXIge1xuICAgICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDcxOXB4KSB7XG4gICAgICAudG9nZ2xlaGVhZGluZ3NfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgICB3aWR0aDogY2FsYyg4MCUgLSAxMHB4KTsgfVxuICAgICAgICAudG9nZ2xlaGVhZGluZ3NfX2l0ZW06bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgICAgICAudG9nZ2xlaGVhZGluZ3NfX2l0ZW06bnRoLWNoaWxkKGV2ZW4pOmFmdGVyIHtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogMTBweDsgfVxuICAgICAgICAudG9nZ2xlaGVhZGluZ3NfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC50b2dnbGVoZWFkaW5nc19fcm93IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLnRvZ2dsZWhlYWRpbmdzX19yb3c6bGFzdC1vZi10eXBlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDsgfVxuXG4uc3RhZmZfX2RpdmlzaW9uIGgzIHtcbiAgbWFyZ2luLWJvdHRvbTogMmVtOyB9XG5cbi5zdGFmZl9fbWVtYmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5zdGFmZl9fbWVtYmVyLmNvbC0tMS00IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcyMXB4KSB7XG4gICAgICAuc3RhZmZfX21lbWJlci5jb2wtLTEtNCB7XG4gICAgICAgIHdpZHRoOiAyNSU7IH0gfVxuICAuc3RhZmZfX21lbWJlciBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5zdGFmZl9fbWVtYmVyIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5zdGFmZl9fbWVtYmVybGFyZ2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdGFydDsgfVxuICAuc3RhZmZfX21lbWJlcmxhcmdlIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMjBweCk7XG4gICAgbWFyZ2luOiAwIDEwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAgIC5zdGFmZl9fbWVtYmVybGFyZ2UgaW1nIHtcbiAgICAgICAgbWFyZ2luOiAwIDIwcHg7IH0gfVxuICAuc3RhZmZfX21lbWJlcmxhcmdlIC5zdGFmZl9fZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDIwcHgpO1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkge1xuICAgICAgLnN0YWZmX19tZW1iZXJsYXJnZSAuc3RhZmZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9IH1cblxuLnN0YWZmX19wbGFjZWhvbGRlciB7XG4gIHBhZGRpbmctdG9wOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZWJlYmViO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnN0YWZmX19wbGFjZWhvbGRlciBzdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IC0yNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMjVweDtcbiAgICBmaWxsOiAjY2NjY2NjOyB9XG5cbi5zdGFmZl9fZGVzY3JpcHRpb24uY291bnRlcndlaWdodDphZnRlciB7XG4gIHdpZHRoOiBjYWxjKDMzLjMzMyUgLSAyMHB4KTsgfVxuXG4uaG9tZV9fc2xpZGUxLCAuaG9tZV9fc2xpZGUyLCAuaG9tZV9fc2xpZGUzLCAuaG9tZV9fc2xpZGU0IHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIG1hcmdpbjogYXV0bztcbiAgZ3JpZC1jb2x1bW4tZ2FwOiA0MHB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDcyMXB4KSB7XG4gICAgLmhvbWVfX3NsaWRlMSwgLmhvbWVfX3NsaWRlMiwgLmhvbWVfX3NsaWRlMywgLmhvbWVfX3NsaWRlNCB7XG4gICAgICBwYWRkaW5nOiAwIDgwcHg7IH0gfVxuICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAuaG9tZV9fc2xpZGUxLCAuaG9tZV9fc2xpZGUyLCAuaG9tZV9fc2xpZGUzLCAuaG9tZV9fc2xpZGU0IHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkge1xuICAgICAgICAuaG9tZV9fc2xpZGUxLCAuaG9tZV9fc2xpZGUyLCAuaG9tZV9fc2xpZGUzLCAuaG9tZV9fc2xpZGU0IHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDQwcHg7IH0gfSB9XG4gIC5ob21lX19zbGlkZTEgLmhvbWVfX2NvbnRlbnQsIC5ob21lX19zbGlkZTIgLmhvbWVfX2NvbnRlbnQsIC5ob21lX19zbGlkZTMgLmhvbWVfX2NvbnRlbnQsIC5ob21lX19zbGlkZTQgLmhvbWVfX2NvbnRlbnQge1xuICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS4yZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAgIC5ob21lX19zbGlkZTEgLmhvbWVfX2NvbnRlbnQsIC5ob21lX19zbGlkZTIgLmhvbWVfX2NvbnRlbnQsIC5ob21lX19zbGlkZTMgLmhvbWVfX2NvbnRlbnQsIC5ob21lX19zbGlkZTQgLmhvbWVfX2NvbnRlbnQge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7IH0gfVxuICAgIC5ob21lX19zbGlkZTEgLmhvbWVfX2NvbnRlbnQgcCwgLmhvbWVfX3NsaWRlMiAuaG9tZV9fY29udGVudCBwLCAuaG9tZV9fc2xpZGUzIC5ob21lX19jb250ZW50IHAsIC5ob21lX19zbGlkZTQgLmhvbWVfX2NvbnRlbnQgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5ob21lX19zbGlkZTEgaDEsIC5ob21lX19zbGlkZTIgaDEsIC5ob21lX19zbGlkZTMgaDEsIC5ob21lX19zbGlkZTQgaDEge1xuICAgIGZvbnQtc2l6ZTogNDVweDtcbiAgICBhbGlnbi1zZWxmOiBlbmQ7XG4gICAgbWFyZ2luOiAwIDAgN3B4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcyMXB4KSB7XG4gICAgICAuaG9tZV9fc2xpZGUxIGgxLCAuaG9tZV9fc2xpZGUyIGgxLCAuaG9tZV9fc2xpZGUzIGgxLCAuaG9tZV9fc2xpZGU0IGgxIHtcbiAgICAgICAgZm9udC1zaXplOiA3MHB4OyB9IH1cbiAgLmhvbWVfX3NsaWRlMSBpbWcsIC5ob21lX19zbGlkZTIgaW1nLCAuaG9tZV9fc2xpZGUzIGltZywgLmhvbWVfX3NsaWRlNCBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5ob21lX19zbGlkZTIsIC5ob21lX19zbGlkZTMsIC5ob21lX19zbGlkZTQge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDcyMXB4KSB7XG4gICAgLmhvbWVfX3NsaWRlMiwgLmhvbWVfX3NsaWRlMywgLmhvbWVfX3NsaWRlNCB7XG4gICAgICBwYWRkaW5nOiAwIDBweDsgfSB9XG5cbi5ob21lX19zbGlkZTIgYSwgLmhvbWVfX3NsaWRlNCBhIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMjBweCk7IH1cblxuLmhvbWVfX3NsaWRlMSBhLCAuaG9tZV9fc2xpZGUzIGEge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAuaG9tZV9fc2xpZGUxIGEsIC5ob21lX19zbGlkZTMgYSB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTsgfSB9XG5cbi5ob21lX19zbGlkZTEge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgIC5ob21lX19zbGlkZTEge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDcyMXB4KSB7XG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAuaG9tZV9fc2xpZGUxIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnIgMWZyIDFmcjsgfSB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5ob21lX19zbGlkZTEge1xuICAgICAgd2lkdGg6IDY2LjY2NiU7IH1cbiAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICAuaG9tZV9fc2xpZGUxIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9IH1cbiAgLmhvbWVfX3NsaWRlMSBoMSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMjBweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAuaG9tZV9fc2xpZGUxIGgxIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAgIC5ob21lX19zbGlkZTEgaDEge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSA0MHB4KTtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDsgfVxuICAgICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgICAuaG9tZV9fc2xpZGUxIGgxIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyIC8gNDsgfSB9IH1cbiAgLmhvbWVfX3NsaWRlMSBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAuaG9tZV9fc2xpZGUxIGltZyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcyMXB4KSB7XG4gICAgICAuaG9tZV9fc2xpZGUxIGltZyB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDQwcHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICBtYXJnaW46IDIwcHg7IH1cbiAgICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAgICAgLmhvbWVfX3NsaWRlMSBpbWcge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZW5kO1xuICAgICAgICAgICAgbWFyZ2luOiAwcHggMCAzMHB4IDA7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogNCAvIDY7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9IH1cbiAgLmhvbWVfX3NsaWRlMSBzdmcge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgZmlsbDogbm9uZTtcbiAgICBzdHJva2Utd2lkdGg6IDRweDtcbiAgICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAuaG9tZV9fc2xpZGUxIHN2ZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcyMXB4KSB7XG4gICAgICAuaG9tZV9fc2xpZGUxIHN2ZyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG4gICAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICAgIC5ob21lX19zbGlkZTEgc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNTlweDtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAzOyB9IH0gfVxuICAuaG9tZV9fc2xpZGUxIC5ob21lX19jb250ZW50IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTsgfVxuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgLmhvbWVfX3NsaWRlMSAuaG9tZV9fY29udGVudCB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAgIC5ob21lX19zbGlkZTEgLmhvbWVfX2NvbnRlbnQge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSA0MHB4KTtcbiAgICAgICAgbWFyZ2luOiAyMHB4OyB9XG4gICAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICAgIC5ob21lX19zbGlkZTEgLmhvbWVfX2NvbnRlbnQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogNCAvIDY7XG4gICAgICAgICAgICBtYXJnaW46IDBweDsgfSB9IH1cblxuLmhvbWVfX3NsaWRlMiwgLmhvbWVfX3NsaWRlNCB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAuaG9tZV9fc2xpZGUyLCAuaG9tZV9fc2xpZGU0IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkge1xuICAgIC5ob21lX19zbGlkZTIsIC5ob21lX19zbGlkZTQge1xuICAgICAgd2lkdGg6IDY2LjY2NiU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9XG4gICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgLmhvbWVfX3NsaWRlMiwgLmhvbWVfX3NsaWRlNCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyZnIgMWZyIDFmciAxZnIgMWZyOyB9IH0gfVxuICAuaG9tZV9fc2xpZGUyIGgxLCAuaG9tZV9fc2xpZGU0IGgxIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzN3B4OyB9XG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAuaG9tZV9fc2xpZGUyIGgxLCAuaG9tZV9fc2xpZGU0IGgxIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAzOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICAuaG9tZV9fc2xpZGUyIGgxLCAuaG9tZV9fc2xpZGU0IGgxIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMiAvIDQ7IH0gfSB9XG4gIC5ob21lX19zbGlkZTIgLmhvbWVfX2NvbnRlbnQsIC5ob21lX19zbGlkZTQgLmhvbWVfX2NvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAzcHg7IH1cbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgIC5ob21lX19zbGlkZTIgLmhvbWVfX2NvbnRlbnQsIC5ob21lX19zbGlkZTQgLmhvbWVfX2NvbnRlbnQge1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIDM7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkge1xuICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAgIC5ob21lX19zbGlkZTIgLmhvbWVfX2NvbnRlbnQsIC5ob21lX19zbGlkZTQgLmhvbWVfX2NvbnRlbnQge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAzIC8gNTsgfSB9IH1cbiAgLmhvbWVfX3NsaWRlMiBociwgLmhvbWVfX3NsaWRlNCBociB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGFsaWduLXNlbGY6IGVuZDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkge1xuICAgICAgLmhvbWVfX3NsaWRlMiBociwgLmhvbWVfX3NsaWRlNCBociB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLmhvbWVfX3NsaWRlMyB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgLmhvbWVfX3NsaWRlMyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAuaG9tZV9fc2xpZGUzIHtcbiAgICAgIHdpZHRoOiA2Ni42NjYlOyB9XG4gICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgLmhvbWVfX3NsaWRlMyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyZnIgMWZyIDJmciAxZnI7IH0gfSB9XG4gIC5ob21lX19zbGlkZTMgaDEge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gMztcbiAgICBtYXJnaW4tYm90dG9tOiAzN3B4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcyMXB4KSB7XG4gICAgICAuaG9tZV9fc2xpZGUzIGgxIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyA0OyB9IH1cbiAgLmhvbWVfX3NsaWRlMyBzdmcge1xuICAgIGZpbGw6IG5vbmU7XG4gICAgc3Ryb2tlLXdpZHRoOiA0cHg7XG4gICAgc3Ryb2tlOiAjZmZmZmZmO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7IH1cbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgIC5ob21lX19zbGlkZTMgc3ZnIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgYXV0byBhdXRvO1xuICAgICAgICBncmlkLWNvbHVtbjogMTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcyMXB4KSB7XG4gICAgICAuaG9tZV9fc2xpZGUzIHN2ZyB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgICAuaG9tZV9fc2xpZGUzIHN2ZyB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH0gfVxuICAuaG9tZV9fc2xpZGUzIC5ob21lX19jb250ZW50IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAuaG9tZV9fc2xpZGUzIC5ob21lX19jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uaG9tZV9fc2xpZGU1IHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuXG4uaG9tZV9fc2xpZGUyYmcge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2hvbWUvYmdfczIuanBnKSBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cblxuLmhvbWVfX3NsaWRlM2JnIHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9ob21lL2JnX3MzLmpwZykgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi5ob21lX19zbGlkZXIge1xuICB3aWR0aDogY2FsYyg2Ni42NjZ2dyAtIDQwcHgpOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkge1xuICAgIC5ob21lX19zbGlkZXIge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2dncgLSA0MHB4KTsgfSB9XG4gIC5ob21lX19zbGlkZXIgaW1nIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4uaG9tZV9fbmF2IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDE0cHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDcyMXB4KSB7XG4gICAgLmhvbWVfX25hdiB7XG4gICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMHB4OyB9IH1cbiAgLmhvbWVfX25hdiBwaWN0dXJlIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7IH1cbiAgLmhvbWVfX25hdiBpbWcge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5ob21lX19zbGlkZXIgcGljdHVyZSwgLmhvbWVfX25hdiBwaWN0dXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogYXV0bzsgfVxuICAuaG9tZV9fc2xpZGVyIHBpY3R1cmU6aG92ZXIsIC5ob21lX19uYXYgcGljdHVyZTpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5ob21lX19vZmZlcnMge1xuICB3aWR0aDogNjYuNjY2JTtcbiAgcGFkZGluZzogMjBweDsgfVxuICAuaG9tZV9fb2ZmZXJzIGgxIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiA3MHB4O1xuICAgIGNvbG9yOiAjYjNiMmIyICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyM3B4O1xuICAgIGZvbnQtc2l6ZTogNDVweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkge1xuICAgICAgLmhvbWVfX29mZmVycyBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNzBweDsgfSB9XG5cbi5wb3N0IHtcbiAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNlYmViZWI7XG4gIHBhZGRpbmctYm90dG9tOiA1MnB4O1xuICBtYXJnaW4tYm90dG9tOiA4MHB4OyB9XG4gIC5wb3N0ICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucG9zdF9fcHJldmlldyB7XG4gICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNlYmViZWI7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNThweDsgfVxuICAgIC5wb3N0X19wcmV2aWV3OmhvdmVyIGgyIHtcbiAgICAgIGNvbG9yOiAjMTI5Yjk4OyB9XG4gICAgLnBvc3RfX3ByZXZpZXcgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3IgIWltcG9ydGFudDsgfVxuICAgIC5wb3N0X19wcmV2aWV3IGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAucG9zdF9fcHJldmlldyBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5wb3N0X19saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwYWRkaW5nLXRvcDogNThweDsgfVxuICAucG9zdF9fY2F0bGlzdCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAgIC5wb3N0X19jYXRsaXN0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4OyB9IH1cbiAgLnBvc3RfX3BhZ2luYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9XG4gICAgLnBvc3RfX3BhZ2luYXRpb24gbGkge1xuICAgICAgbWFyZ2luOiAwIDEwcHg7IH1cbiAgICAgIC5wb3N0X19wYWdpbmF0aW9uIGxpIGEsXG4gICAgICAucG9zdF9fcGFnaW5hdGlvbiBsaSBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2NjY2NjYztcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMzdweDsgfVxuICAgICAgLnBvc3RfX3BhZ2luYXRpb24gbGkgYTpob3ZlcixcbiAgICAgIC5wb3N0X19wYWdpbmF0aW9uIGxpIC5jdXJyZW50IHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmNDU0ZTtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLnBvc3RfX25hdmlnYXRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAzNXB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5wb3N0X19zaGFyZSwgLnBvc3RfX2JhY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAgIC5wb3N0X19zaGFyZSwgLnBvc3RfX2JhY2sge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSA0MHB4KTsgfSB9XG4gIC5wb3N0X19iYWNrIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjY2NjY2NjO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAgIC5wb3N0X19iYWNrIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4OyB9IH1cbiAgICAucG9zdF9fYmFjazpiZWZvcmUsIC5wb3N0X19iYWNrOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHdpZHRoOiAzcHg7XG4gICAgICBoZWlnaHQ6IDdweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQ6ICNjY2NjY2M7XG4gICAgICB0b3A6IDUwJTsgfVxuICAgIC5wb3N0X19iYWNrOmJlZm9yZSB7XG4gICAgICByaWdodDogMjJweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICBtYXJnaW4tdG9wOiAtMnB4OyB9XG4gICAgLnBvc3RfX2JhY2s6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDIycHg7XG4gICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gIC5wb3N0X19zaGFyZSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLnBvc3RfX3NoYXJlOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5wb3N0X19zaGFyZSBzdmcge1xuICAgICAgZmlsbDogI2NjY2NjYztcbiAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cbiAgLnBvc3RfX3JlbGF0ZWQgaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDUzcHg7IH1cblxuLnNoYXJlZGlhbG9ndWUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNoYXJlZGlhbG9ndWVfX3RvZ2dsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYm9yZGVyOiAycHggc29saWQgI2NjY2NjYztcbiAgICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07IH1cbiAgLnNoYXJlZGlhbG9ndWVfX3BvcHVwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB0b3A6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICAgIC5zaGFyZWRpYWxvZ3VlX19wb3B1cDpiZWZvcmUsIC5zaGFyZWRpYWxvZ3VlX19wb3B1cDphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgICBib3JkZXI6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3A6IDA7IH1cbiAgICAuc2hhcmVkaWFsb2d1ZV9fcG9wdXA6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjY2NjY2NjOyB9XG4gICAgLnNoYXJlZGlhbG9ndWVfX3BvcHVwOmFmdGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjZmZmZmZmO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTRweDsgfVxuICAgIC5zaGFyZWRpYWxvZ3VlX19wb3B1cCBzdmcge1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogNXB4O1xuICAgICAgdHJhbnNpdGlvbjogZmlsbCAwLjNzIGVhc2U7IH1cbiAgICAuc2hhcmVkaWFsb2d1ZV9fcG9wdXAtLXZpc2libGUge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2NjY2NjYztcbiAgICAgIHBhZGRpbmc6IDVweCA1cHg7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgd2lkdGg6IDEzNXB4O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgICAuc2hhcmVkaWFsb2d1ZV9fcG9wdXAgKjpob3ZlciBzdmcge1xuICAgICAgZmlsbDogIzU3NTY1NjsgfVxuXG4vKiBTbGlkZXIgKi9cbi5zbGljay1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnNsaWNrLWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnNsaWNrLWxpc3Q6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5zbGljay1saXN0LmRyYWdnaW5nIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjdXJzb3I6IGhhbmQ7IH1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zbGljay10cmFjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uc2xpY2stdHJhY2s6YmVmb3JlLFxuLnNsaWNrLXRyYWNrOmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiXCI7IH1cblxuLnNsaWNrLXRyYWNrOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay1zbGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDsgfVxuXG5bZGlyPVwicnRsXCJdIC5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uc2xpY2stc2xpZGUgaW1nLCAuc2xpY2stc2xpZGUgcGljdHVyZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZywgLnNsaWNrLXNsaWRlLnNsaWNrLWxvYWRpbmcgcGljdHVyZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNsaWNrLXNsaWRlLmRyYWdnaW5nIGltZywgLnNsaWNrLXNsaWRlLmRyYWdnaW5nIHBpY3R1cmUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXNsaWRlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay12ZXJ0aWNhbCAuc2xpY2stc2xpZGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uaG9tZV9fbmF2IHBpY3R1cmUge1xuICB0cmFuc2l0aW9uOiAwLjNzIGJvcmRlciBlYXNlO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4uaG9tZV9fbmF2IC5zbGljay1jdXJyZW50IHBpY3R1cmUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmY0NTRlOyB9XG5cbi5vZmZlcnMge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDE0MHB4IGF1dG8gODBweDtcbiAgd2lkdGg6IGNhbGMoMTAwdncgLSA0MHB4KTtcbiAgd2lkdGg6IGNhbGMoMTAwdncgLSA0MHB4KTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAub2ZmZXJzIHtcbiAgICAgIG1hcmdpbjogMTgwcHggYXV0byA4MHB4O1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2dncgLSA0MHB4KTsgfSB9XG4gIC5vZmZlcnMgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAub2ZmZXJzIGxpIHtcbiAgICBtYXJnaW46IDgwcHggMDsgfVxuXG4uc2Nyb2xsdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDU3cHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgbGVmdDogNDBweDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7IH1cbiAgLnNjcm9sbHRvcDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAuc2Nyb2xsdG9wIHtcbiAgICAgIGxlZnQ6IDc0cHg7IH0gfVxuICAuc2Nyb2xsdG9wIHN2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzIxcHgpIHtcbiAgICAgIC5zY3JvbGx0b3Agc3ZnIHtcbiAgICAgICAgd2lkdGg6IDUycHg7XG4gICAgICAgIGhlaWdodDogNTJweDsgfSB9XG5cbi5zY3JvbGx0b3AtLXNob3cgLnNjcm9sbHRvcCB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnRlc3RpbW9uaWFsIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNlYmViZWI7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7IH1cbiAgLnRlc3RpbW9uaWFsIGgzIHtcbiAgICBmb250LWZhbWlseTogXCJBbnRvblwiLCBzYW5zLXNlcmlmO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgICBmb250LXNpemU6IDI0cHg7IH1cblxuLyoqXG4gKiBQcmV2ZW50IG92ZXJmbG93IG9uIEhUTUwgZWxlbWVudFxuICovXG5odG1sIHtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC8qIE5hdGl2ZSBzY3JvbGwgbW9tZW50dW0gKi8gfVxuXG4vKipcbiAqIFRvIHByZXZlbnQganVtcGluZyA8Ym9keT4gc2hvdWxkIG5vdCBoYXZlIGFueSBtYXJnaW4gb24gdG9wIG9yIGJvdHRvbVxuICovXG4uaGFzLW92ZXJsYXkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmhhcy1vdmVybGF5ID4gYm9keSB7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uY3NzLW1vZGFsIHtcbiAgLyogSGlkZSBpbml0aWFsbHkgKi9cbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTAwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIC8qIE1haW50YWluIGEgZml4ZWQgcG9zaXRpb24gKi9cbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDQwOyB9XG4gIC5jc3MtbW9kYWxfX2ltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi8qIFNob3cgbW9kYWwgd2hlbiByZXF1ZXN0ZWQgKi9cbi5jc3MtbW9kYWw6dGFyZ2V0LFxuLmNzcy1tb2RhbC5pcy1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3BhY2l0eTogMTsgfVxuXG4vKipcbiAqIENvbnRlbnQgQXJlYVxuICovXG4uY3NzLW1vZGFsX2lubmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgbWFyZ2luOiBhdXRvO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICBwYWRkaW5nOiAyMHB4IDEwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDcyMXB4KSB7XG4gICAgLmNzcy1tb2RhbF9pbm5lciB7XG4gICAgICBwYWRkaW5nOiA0MHB4IDIwcHg7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2JSArIDQwcHgpOyB9IH1cbiAgLmNzcy1tb2RhbF9pbm5lciBpbWcge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY3NzLW1vZGFsX2lubmVyID4gaW1nLFxuLmNzcy1tb2RhbF9pbm5lciA+IHZpZGVvLFxuLmNzcy1tb2RhbF9pbm5lciA+IGlmcmFtZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDMwMHB4OyB9XG5cbi5jc3MtbW9kYWxfaW5uZXIgaWZyYW1lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDA7IH1cblxuLyoqXG4gKiBDb250ZW50XG4gKi9cbi5jc3MtbW9kYWxfY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LWhlaWdodDogY2FsYyg4MHZoIC0gKDNyZW0gKiAyKSk7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbi5jc3MtbW9kYWxfY29udGVudCA+ICoge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLyoqXG4gKiBGb290ZXJcbiAqL1xuLmNzcy1tb2RhbF9mb290ZXIge1xuICBwYWRkaW5nOiAwIDEuMnJlbSAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICBib3JkZXItcmFkaXVzOiAycHg7IH1cblxuLyoqXG4gKiBBIGNsb3NlIGJ1dHRvblxuICovXG4uY3NzLW1vZGFsX2Nsb3NlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMXB4O1xuICAvKiBQcmV2ZW50IGNsb3NlIGVsZW1lbnQgdG8gYXBwZWFyICovXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAtMTsgfVxuXG4uY3NzLW1vZGFsX2Nsb3NlOmZvY3VzOjphZnRlciB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQ7XG4gIG91dGxpbmU6IC13ZWJraXQtZm9jdXMtcmluZy1jb2xvciBhdXRvIDVweDsgfVxuXG4vKipcbiAqIEJhY2tncm91bmQgYXMgY2xvc2VcbiAqL1xuLmNzcy1tb2RhbF9jbG9zZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDEwOyB9XG5cbi8qKlxuICogQWN0dWFsIGNsb3NlIGJ1dHRvbiBvbiBtb2RhbFxuICovXG4uY3NzLW1vZGFsX2Nsb3NlOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDUwJTtcbiAgbGVmdDogYXV0bztcbiAgei1pbmRleDogMjA7IH1cblxuLyoqXG4gKiBXaGVuIHNjcmVlbiBpc24ndCBhcyB3aWRlIGFzIHRoZSBtb2RhbCBhbnltb3JlXG4gKi9cbi8qKlxuICogRm9yIHNtYWxsIHNjcmVlbnMgYWRqdXN0IHRoZSBtb2RhbFxuICovXG4vKipcbiAqIFN0YWNrYWJsZSBNb2RhbHNcbiAqL1xuLmNzcy1tb2RhbC5pcy1zdGFja2VkIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSwgMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmNzcy1tb2RhbC5pcy1zdGFja2VkIC5jc3MtbW9kYWxfaW5uZXIge1xuICBhbmltYXRpb246IHNjYWxlRG93biAwLjdzIGVhc2UgYm90aDsgfVxuXG4vKipcbiAqIEhpZGUgb3ZlcmxheSBhbmQgY2xvc2UgYnV0dG9uXG4gKi9cbi5jc3MtbW9kYWwuaXMtc3RhY2tlZCAuY3NzLW1vZGFsX2Nsb3NlIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4vKipcbiAqIE9uIHNtYWxsIHNjcmVlbnNcbiAqL1xuLmNzcy1tb2RhbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7IH1cblxuLyogQ29udGVudCBBcmVhICovXG4uY3NzLW1vZGFsX2lubmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDMwcHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBtYXJnaW4tdG9wOiA1MHZoO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRyYW5zaXRpb246IG1heC13aWR0aCAwLjI1cyBsaW5lYXIsIG1hcmdpbi1sZWZ0IDAuMTI1cyBsaW5lYXI7IH1cbiAgLmNzcy1tb2RhbF9pbm5lciBoMiB7XG4gICAgY29sb3I6ICMxMjliOTg7XG4gICAgZm9udC1zaXplOiA1MHB4O1xuICAgIG1hcmdpbi10b3A6IC05cHg7IH1cblxuLyogSGVhZGVyICovXG4uY3NzLW1vZGFsX2hlYWRlciB7XG4gIHBhZGRpbmc6IDAgMS4yZW07IH1cblxuLmNzcy1tb2RhbF9oZWFkZXIgPiBoMiB7XG4gIG1hcmdpbjogMC41ZW0gMDsgfVxuXG4vKiBDb250ZW50ICovXG4vKiBGb290ZXIgKi9cbi5jc3MtbW9kYWxfZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogI2YwZjBmMDsgfVxuXG4vKiBDbG9zZSBidXR0b24gKi9cbi5jc3MtbW9kYWxfY2xvc2Uge1xuICB0ZXh0LWluZGVudDogLTEwMHB4OyB9XG5cbi8qIEJhY2tncm91bmQgYXMgY2xvc2UgKi9cbi5jc3MtbW9kYWxfY2xvc2U6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoNiwgMjEsIDQyLCAwLjkpOyB9XG5cbi8qIEFjdHVhbCBjbG9zZSBidXR0b24gb24gbW9kYWwgKi9cbi8qIEZvciBzbWFsbCBzY3JlZW5zIGFkanVzdCB0aGUgbW9kYWwgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWxwZXIgY2xhc3Nlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG4uaXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAqdGV4dC1pbmRlbnQ6IC05OTk5cHg7IH1cblxuLmlyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAxNTAlOyB9XG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4udmlzdWFsbHloaWRkZW4ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDsgfVxuXG4udmlzdWFsbHloaWRkZW4uZm9jdXNhYmxlOmFjdGl2ZSxcbi52aXN1YWxseWhpZGRlbi5mb2N1c2FibGU6Zm9jdXMge1xuICBjbGlwOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLmdyb3VwOmFmdGVyLCAuZ3JpZHdyYXA6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5mdWxsd2lkdGgge1xuICB3aWR0aDogMTAwJTsgfVxuXG5pbWcuZnVsbHdpZHRoIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZsb2F0bGVmdCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5mbG9hdHJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5mbG9hdGNlbnRyZSB7XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW46IGF1dG87IH1cblxuLnRleHRyaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0Y2VudHJlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5ub2xpbmt1bmRlcmxpbmUge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLm5vbGlua3VuZGVybGluZSBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLm5vbWFyZ2luIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5iZ3JlZCB7XG4gIGJhY2tncm91bmQ6ICNmZjQ1NGU7IH1cblxuLmhpZGVtb2Ige1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuaGlkZW1vYiB7XG4gICAgICBkaXNwbGF5OiBpbmhlcml0OyB9IH1cblxuLm92ZXJmbG93aGlkZGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4udGhlbWUtLXdoaXRlLFxuLnRoZW1lLS13aGl0ZXJlZCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGNvbG9yOiAjNzA3MDcwOyB9XG4gIC50aGVtZS0td2hpdGUgYTpob3ZlcixcbiAgLnRoZW1lLS13aGl0ZXJlZCBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmNDU0ZTsgfVxuICAudGhlbWUtLXdoaXRlIC5zaXRlbG9nbzpiZWZvcmUsXG4gIC50aGVtZS0td2hpdGUgLnNjcm9sbHRvcDpiZWZvcmUsXG4gIC50aGVtZS0td2hpdGVyZWQgLnNpdGVsb2dvOmJlZm9yZSxcbiAgLnRoZW1lLS13aGl0ZXJlZCAuc2Nyb2xsdG9wOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmNDU0ZTsgfVxuICAudGhlbWUtLXdoaXRlIC5zaXRlbG9nbyBzdmcsXG4gIC50aGVtZS0td2hpdGUgLnNjcm9sbHRvcCBzdmcsXG4gIC50aGVtZS0td2hpdGVyZWQgLnNpdGVsb2dvIHN2ZyxcbiAgLnRoZW1lLS13aGl0ZXJlZCAuc2Nyb2xsdG9wIHN2ZyB7XG4gICAgZmlsbDogI2ZmNDU0ZTsgfVxuICAudGhlbWUtLXdoaXRlIC5zaXRlaGVhZGVyLFxuICAudGhlbWUtLXdoaXRlcmVkIC5zaXRlaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MjFweCkge1xuICAgIC50aGVtZS0td2hpdGUgLnNpdGVtZW51LFxuICAgIC50aGVtZS0td2hpdGVyZWQgLnNpdGVtZW51IHtcbiAgICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gICAgICBjb2xvcjogI2ZmNDU0ZTsgfVxuICAgICAgLnRoZW1lLS13aGl0ZSAuc2l0ZW1lbnUgbGk6YmVmb3JlLCAudGhlbWUtLXdoaXRlIC5zaXRlbWVudSBsaTphZnRlcixcbiAgICAgIC50aGVtZS0td2hpdGVyZWQgLnNpdGVtZW51IGxpOmJlZm9yZSxcbiAgICAgIC50aGVtZS0td2hpdGVyZWQgLnNpdGVtZW51IGxpOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2Q3ZDdkNzsgfVxuICAgICAgLnRoZW1lLS13aGl0ZSAuc2l0ZW1lbnUgc3ZnLFxuICAgICAgLnRoZW1lLS13aGl0ZXJlZCAuc2l0ZW1lbnUgc3ZnIHtcbiAgICAgICAgZmlsbDogY3VycmVudENvbG9yOyB9XG4gICAgICAudGhlbWUtLXdoaXRlIC5zaXRlbWVudSBzcGFuLFxuICAgICAgLnRoZW1lLS13aGl0ZXJlZCAuc2l0ZW1lbnUgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAjZmY0NTRlOyB9XG4gICAgICAudGhlbWUtLXdoaXRlIC5zaXRlbWVudTphZnRlcixcbiAgICAgIC50aGVtZS0td2hpdGVyZWQgLnNpdGVtZW51OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICAgICAgLnRoZW1lLS13aGl0ZSAuc2l0ZW1lbnU6aG92ZXIsXG4gICAgICAudGhlbWUtLXdoaXRlcmVkIC5zaXRlbWVudTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZjQ1NGU7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAgIC50aGVtZS0td2hpdGUgLnNpdGVtZW51OmhvdmVyIHN2ZyxcbiAgICAgICAgLnRoZW1lLS13aGl0ZXJlZCAuc2l0ZW1lbnU6aG92ZXIgc3ZnIHtcbiAgICAgICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgICAgICAgLnRoZW1lLS13aGl0ZSAuc2l0ZW1lbnU6aG92ZXIgc3ZnICosXG4gICAgICAgICAgLnRoZW1lLS13aGl0ZXJlZCAuc2l0ZW1lbnU6aG92ZXIgc3ZnICoge1xuICAgICAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgICAgICAudGhlbWUtLXdoaXRlIC5zaXRlbWVudTpob3ZlciBzcGFuLFxuICAgICAgICAudGhlbWUtLXdoaXRlcmVkIC5zaXRlbWVudTpob3ZlciBzcGFuIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfSB9XG4gIC50aGVtZS0td2hpdGUgLnNpdGVtZW51X190b2dnbGUsXG4gIC50aGVtZS0td2hpdGVyZWQgLnNpdGVtZW51X190b2dnbGUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4yKTsgfVxuICAgIC50aGVtZS0td2hpdGUgLnNpdGVtZW51X190b2dnbGU6YmVmb3JlLCAudGhlbWUtLXdoaXRlIC5zaXRlbWVudV9fdG9nZ2xlOmFmdGVyLFxuICAgIC50aGVtZS0td2hpdGVyZWQgLnNpdGVtZW51X190b2dnbGU6YmVmb3JlLFxuICAgIC50aGVtZS0td2hpdGVyZWQgLnNpdGVtZW51X190b2dnbGU6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmNDU0ZTsgfVxuICAudGhlbWUtLXdoaXRlIC5zaXRlbWVudV9fY29udGFjdCxcbiAgLnRoZW1lLS13aGl0ZXJlZCAuc2l0ZW1lbnVfX2NvbnRhY3Qge1xuICAgIGNvbG9yOiAjZmY0NTRlOyB9XG4gIC50aGVtZS0td2hpdGUgLnNpdGVmb290ZXIsXG4gIC50aGVtZS0td2hpdGVyZWQgLnNpdGVmb290ZXIge1xuICAgIGNvbG9yOiAjNzA3MDcwOyB9XG4gICAgLnRoZW1lLS13aGl0ZSAuc2l0ZWZvb3RlcjpiZWZvcmUsXG4gICAgLnRoZW1lLS13aGl0ZXJlZCAuc2l0ZWZvb3RlcjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogI2ZmNDU0ZTsgfVxuICAudGhlbWUtLXdoaXRlIC5iaWd0aXRsZSxcbiAgLnRoZW1lLS13aGl0ZXJlZCAuYmlndGl0bGUge1xuICAgIGNvbG9yOiAjMTI5Yjk4OyB9XG4gIC50aGVtZS0td2hpdGUgLmZ1bGxwYWdlX19uYXZpZ2F0aW9uOmJlZm9yZSxcbiAgLnRoZW1lLS13aGl0ZXJlZCAuZnVsbHBhZ2VfX25hdmlnYXRpb246YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmY0NTRlOyB9XG4gIC50aGVtZS0td2hpdGUgLmZ1bGxwYWdlX19uYXZpZ2F0aW9uIHN2ZyxcbiAgLnRoZW1lLS13aGl0ZXJlZCAuZnVsbHBhZ2VfX25hdmlnYXRpb24gc3ZnIHtcbiAgICBmaWxsOiAjZmY0NTRlOyB9XG4gIC50aGVtZS0td2hpdGUgLmNhdGxpc3QgYTpob3ZlcixcbiAgLnRoZW1lLS13aGl0ZXJlZCAuY2F0bGlzdCBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4udGhlbWUtLXdoaXRlcmVkIC5iaWd0aXRsZSB7XG4gIGNvbG9yOiAjZmY0NTRlOyB9XG5cbi50aGVtZS0tdGVhbCxcbi50aGVtZS0tbmF2eSxcbi50aGVtZS0tcmVkIHtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLnRoZW1lLS10ZWFsIC5iaWd0aXRsZSxcbiAgLnRoZW1lLS1uYXZ5IC5iaWd0aXRsZSxcbiAgLnRoZW1lLS1yZWQgLmJpZ3RpdGxlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4udGhlbWUtLXRlYWwge1xuICBiYWNrZ3JvdW5kOiAjMTI5Yjk4OyB9XG4gIC50aGVtZS0tdGVhbCAuc2l0ZWhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxOCwgMTU1LCAxNTIsIDAuNzUpOyB9XG5cbi50aGVtZS0tbmF2eSB7XG4gIGJhY2tncm91bmQ6ICMwNjE1MmE7IH1cbiAgLnRoZW1lLS1uYXZ5IC5zaXRlaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDYsIDIxLCA0MiwgMC43NSk7IH1cblxuLnRoZW1lLS1yZWQgLnNpdGVoZWFkZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgNjksIDc4LCAwLjc1KTsgfVxuXG5kaXYudGhlbWUtLXdoaXRlIGgxLFxuZGl2LnRoZW1lLS13aGl0ZSBoMixcbmRpdi50aGVtZS0td2hpdGUgaDMsXG5kaXYudGhlbWUtLXdoaXRlIGg0LFxuZGl2LnRoZW1lLS13aGl0ZSBoNSxcbmRpdi50aGVtZS0td2hpdGUgaDYge1xuICBjb2xvcjogIzcwNzA3MDsgfVxuICBkaXYudGhlbWUtLXdoaXRlIGgxLmJpZ3RpdGxlLS1yZWQsXG4gIGRpdi50aGVtZS0td2hpdGUgaDIuYmlndGl0bGUtLXJlZCxcbiAgZGl2LnRoZW1lLS13aGl0ZSBoMy5iaWd0aXRsZS0tcmVkLFxuICBkaXYudGhlbWUtLXdoaXRlIGg0LmJpZ3RpdGxlLS1yZWQsXG4gIGRpdi50aGVtZS0td2hpdGUgaDUuYmlndGl0bGUtLXJlZCxcbiAgZGl2LnRoZW1lLS13aGl0ZSBoNi5iaWd0aXRsZS0tcmVkIHtcbiAgICBjb2xvcjogI2ZmNDU0ZTsgfVxuXG5kaXYudGhlbWUtLXdoaXRlIC50b2dnbGVoZWFkaW5nc19fcm93Om50aC1vZi10eXBlKG9kZCkgLnRvZ2dsZWhlYWRpbmdzX19pdGVtOm50aC1jaGlsZChvZGQpIGgxLFxuZGl2LnRoZW1lLS13aGl0ZSAudG9nZ2xlaGVhZGluZ3NfX3JvdzpudGgtb2YtdHlwZShvZGQpIC50b2dnbGVoZWFkaW5nc19faXRlbTpudGgtY2hpbGQob2RkKSBoMixcbmRpdi50aGVtZS0td2hpdGUgLnRvZ2dsZWhlYWRpbmdzX19yb3c6bnRoLW9mLXR5cGUob2RkKSAudG9nZ2xlaGVhZGluZ3NfX2l0ZW06bnRoLWNoaWxkKG9kZCkgaDMsXG5kaXYudGhlbWUtLXdoaXRlIC50b2dnbGVoZWFkaW5nc19fcm93Om50aC1vZi10eXBlKG9kZCkgLnRvZ2dsZWhlYWRpbmdzX19pdGVtOm50aC1jaGlsZChvZGQpIGg0LFxuZGl2LnRoZW1lLS13aGl0ZSAudG9nZ2xlaGVhZGluZ3NfX3JvdzpudGgtb2YtdHlwZShvZGQpIC50b2dnbGVoZWFkaW5nc19faXRlbTpudGgtY2hpbGQob2RkKSBoNSxcbmRpdi50aGVtZS0td2hpdGUgLnRvZ2dsZWhlYWRpbmdzX19yb3c6bnRoLW9mLXR5cGUob2RkKSAudG9nZ2xlaGVhZGluZ3NfX2l0ZW06bnRoLWNoaWxkKG9kZCkgaDYge1xuICBjb2xvcjogI2ZmNDU0ZTsgfVxuXG5kaXYudGhlbWUtLXdoaXRlIC50b2dnbGVoZWFkaW5nc19fcm93Om50aC1vZi10eXBlKGV2ZW4pIC50b2dnbGVoZWFkaW5nc19faXRlbTpudGgtY2hpbGQoZXZlbikgaDEsXG5kaXYudGhlbWUtLXdoaXRlIC50b2dnbGVoZWFkaW5nc19fcm93Om50aC1vZi10eXBlKGV2ZW4pIC50b2dnbGVoZWFkaW5nc19faXRlbTpudGgtY2hpbGQoZXZlbikgaDIsXG5kaXYudGhlbWUtLXdoaXRlIC50b2dnbGVoZWFkaW5nc19fcm93Om50aC1vZi10eXBlKGV2ZW4pIC50b2dnbGVoZWFkaW5nc19faXRlbTpudGgtY2hpbGQoZXZlbikgaDMsXG5kaXYudGhlbWUtLXdoaXRlIC50b2dnbGVoZWFkaW5nc19fcm93Om50aC1vZi10eXBlKGV2ZW4pIC50b2dnbGVoZWFkaW5nc19faXRlbTpudGgtY2hpbGQoZXZlbikgaDQsXG5kaXYudGhlbWUtLXdoaXRlIC50b2dnbGVoZWFkaW5nc19fcm93Om50aC1vZi10eXBlKGV2ZW4pIC50b2dnbGVoZWFkaW5nc19faXRlbTpudGgtY2hpbGQoZXZlbikgaDUsXG5kaXYudGhlbWUtLXdoaXRlIC50b2dnbGVoZWFkaW5nc19fcm93Om50aC1vZi10eXBlKGV2ZW4pIC50b2dnbGVoZWFkaW5nc19faXRlbTpudGgtY2hpbGQoZXZlbikgaDYge1xuICBjb2xvcjogI2ZmNDU0ZTsgfVxuXG4udGhlbWUtLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kOiAjZmY0NTRlOyB9XG5cbmRpdi50aGVtZS0tcmVkIGgxLFxuZGl2LnRoZW1lLS1yZWQgaDIsXG5kaXYudGhlbWUtLXJlZCBoMyxcbmRpdi50aGVtZS0tcmVkIGg0LFxuZGl2LnRoZW1lLS1yZWQgaDUsXG5kaXYudGhlbWUtLXJlZCBoNiB7XG4gIGNvbG9yOiAjZmY0NTRlOyB9XG5cbmRpdi50aGVtZS0tcmVkIC50b2dnbGVoZWFkaW5nc19fcm93Om50aC1vZi10eXBlKG9kZCkgLnRvZ2dsZWhlYWRpbmdzX19pdGVtOm50aC1jaGlsZChvZGQpIGgxLFxuZGl2LnRoZW1lLS1yZWQgLnRvZ2dsZWhlYWRpbmdzX19yb3c6bnRoLW9mLXR5cGUob2RkKSAudG9nZ2xlaGVhZGluZ3NfX2l0ZW06bnRoLWNoaWxkKG9kZCkgaDIsXG5kaXYudGhlbWUtLXJlZCAudG9nZ2xlaGVhZGluZ3NfX3JvdzpudGgtb2YtdHlwZShvZGQpIC50b2dnbGVoZWFkaW5nc19faXRlbTpudGgtY2hpbGQob2RkKSBoMyxcbmRpdi50aGVtZS0tcmVkIC50b2dnbGVoZWFkaW5nc19fcm93Om50aC1vZi10eXBlKG9kZCkgLnRvZ2dsZWhlYWRpbmdzX19pdGVtOm50aC1jaGlsZChvZGQpIGg0LFxuZGl2LnRoZW1lLS1yZWQgLnRvZ2dsZWhlYWRpbmdzX19yb3c6bnRoLW9mLXR5cGUob2RkKSAudG9nZ2xlaGVhZGluZ3NfX2l0ZW06bnRoLWNoaWxkKG9kZCkgaDUsXG5kaXYudGhlbWUtLXJlZCAudG9nZ2xlaGVhZGluZ3NfX3JvdzpudGgtb2YtdHlwZShvZGQpIC50b2dnbGVoZWFkaW5nc19faXRlbTpudGgtY2hpbGQob2RkKSBoNiB7XG4gIGNvbG9yOiAjNzA3MDcwOyB9XG5cbmRpdi50aGVtZS0tcmVkIC50b2dnbGVoZWFkaW5nc19fcm93Om50aC1vZi10eXBlKGV2ZW4pIC50b2dnbGVoZWFkaW5nc19faXRlbTpudGgtY2hpbGQoZXZlbikgaDEsXG5kaXYudGhlbWUtLXJlZCAudG9nZ2xlaGVhZGluZ3NfX3JvdzpudGgtb2YtdHlwZShldmVuKSAudG9nZ2xlaGVhZGluZ3NfX2l0ZW06bnRoLWNoaWxkKGV2ZW4pIGgyLFxuZGl2LnRoZW1lLS1yZWQgLnRvZ2dsZWhlYWRpbmdzX19yb3c6bnRoLW9mLXR5cGUoZXZlbikgLnRvZ2dsZWhlYWRpbmdzX19pdGVtOm50aC1jaGlsZChldmVuKSBoMyxcbmRpdi50aGVtZS0tcmVkIC50b2dnbGVoZWFkaW5nc19fcm93Om50aC1vZi10eXBlKGV2ZW4pIC50b2dnbGVoZWFkaW5nc19faXRlbTpudGgtY2hpbGQoZXZlbikgaDQsXG5kaXYudGhlbWUtLXJlZCAudG9nZ2xlaGVhZGluZ3NfX3JvdzpudGgtb2YtdHlwZShldmVuKSAudG9nZ2xlaGVhZGluZ3NfX2l0ZW06bnRoLWNoaWxkKGV2ZW4pIGg1LFxuZGl2LnRoZW1lLS1yZWQgLnRvZ2dsZWhlYWRpbmdzX19yb3c6bnRoLW9mLXR5cGUoZXZlbikgLnRvZ2dsZWhlYWRpbmdzX19pdGVtOm50aC1jaGlsZChldmVuKSBoNiB7XG4gIGNvbG9yOiAjNzA3MDcwOyB9XG5cbi5zcGFjZXItNTB2aCB7XG4gIGhlaWdodDogMjV2aDtcbiAgbWluLWhlaWdodDogMjAwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDcyMXB4KSB7XG4gICAgLnNwYWNlci01MHZoIHtcbiAgICAgIGhlaWdodDogNTB2aDsgfSB9XG5cbi5zcGFjZXItaGVhZGVyIHtcbiAgcGFkZGluZy10b3A6IDE1MHB4OyB9XG5cbi50eXBlLS10ZWFsIHtcbiAgY29sb3I6ICMxMjliOTg7IH1cbiIsImh0bWwge1xuICBmb250LXNpemU6ICRib2R5c2l6ZTtcbiAgZm9udC1mYW1pbHk6ICRib2R5O1xufVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZDogJGJnO1xuICBsaW5lLWhlaWdodDogMS40ZW07XG4gIGNvbG9yOiAkdGV4dC1kYXJrO1xufVxuXG5ib2R5LFxuaHRtbCB7XG4gICYubm9zY3JvbGwge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuLnNpdGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnNpdGUtY29udGVudCB7XG4gIGZsZXg6IDE7XG59XG5cbmgxLFxuaDIge1xuICBmb250LWZhbWlseTogJGRpc3BsYXlmb250O1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG5oMSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjNlbTtcbn1cblxuaDIge1xuICBsaW5lLWhlaWdodDogMS4zZW07XG4gIGZvbnQtc2l6ZTogMzNweDtcbiAgbWFyZ2luLXRvcDogLTAuMDZlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBmb250LXNpemU6IDQ1cHg7XG4gIH1cbn1cblxuYSB7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG5cbi53b29kLXVzZXJuYW1lLWZpZWxkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkBtaXhpbiBicmVha3BvaW50KCRwb2ludCkge1xuICBAaWYgJHBvaW50ID09IGxhcmdlIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQwMXB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJHBvaW50ID09IG1lZGl1bSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICR0YWJsZXQgKyAxKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJHBvaW50ID09IHNtYWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1vYkxhbmQgKyAxKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcG9pbnQpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gcmV0aW5hKCkge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICAgIG9ubHkgc2NyZWVuIGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgICBvbmx5IHNjcmVlbiBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSksXG4gICAgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLFxuICAgIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDJkcHB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsImlucHV0LFxuYnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6ICRib2R5O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogY3VycmVudENvbG9yO1xufVxuXG4uZm9ybSB7XG4gIGlucHV0LFxuICBidXR0b24sXG4gIGxhYmVsLFxuICBzZWxlY3QsXG4gIG9wdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbiAgbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgaW5wdXQsXG4gIGJ1dHRvbiB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJG1lZC1ncmV5LTE7XG4gICAgcGFkZGluZzogOXB4IDEwcHggMTBweDtcbiAgfVxuICAmX19zZWxlY3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHdpZHRoOiAzcHg7XG4gICAgICBoZWlnaHQ6IDdweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQ6ICRtZWQtZ3JleS0xO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICByaWdodDogMTZweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDEzcHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuICAgIHNlbGVjdCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkbWVkLWdyZXktMTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBjb2xvcjogJHRleHQtZGFyaztcbiAgICAgIHBhZGRpbmc6IDlweCAxMHB4IDEwcHg7XG4gICAgICBmb250LWZhbWlseTogJGJvZHk7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgICAgJjo6LW1zLWV4cGFuZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIH1cbiAgICAgIG9wdGlvbiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICZfX3NlYXJjaGZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbGV4OiAxO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIH1cbiAgICBidXR0b24ge1xuICAgICAgcGFkZGluZzogMCA0MHB4O1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgICBzdmcge1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmdyaWR3cmFwIHtcbiAgbWFyZ2luOiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgY2xlYXI6IGJvdGg7XG4gIHdpZHRoOiAxMDAlO1xuICBAZXh0ZW5kIC5ncm91cDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbW9iTGFuZCArIDEpIHtcbiAgICBwYWRkaW5nOiAwIDYwcHg7XG4gIH1cblxuICAmX19uYXJyb3cge1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICB3aWR0aDogKDEwMCUgLyAzKSAqIDI7XG4gICAgfVxuICB9XG59XG5cbi5jb2wge1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmbG9hdDogbGVmdDtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmLS1jZW50cmVkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbn1cblxuLmNvbCxcbi5jb2x3cmFwIHtcbiAgcGFkZGluZzogMCAxMHB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRtb2JMYW5kICsgMSkge1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgfVxufVxuXG4uY29sLS1zcGFjZSB7XG4gIGhlaWdodDogMzBweDtcbn1cblxuLmNvbF9faW5uZXIge1xuICBwYWRkaW5nOiAwIDIwcHg7XG59XG5cbi5jb2wtLW5vcGFkIHtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5jb2wtLTEtNixcbi5jb2wtLTEtNCxcbi5jb2wtLTMtNCxcbi5jb2wtLTEtMyxcbi5jb2wtLTItMyxcbi5jb2wtLTEtMixcbi5jb2wtLTEsXG4uY29sLS01LTYge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNzc2dyaWQge1xuICBncmlkLWNvbHVtbi1nYXA6IDQwcHg7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnIgMWZyIDFmcjtcbiAgICBwYWRkaW5nOiAwIDgwcHg7XG4gIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCgkbW9iTGFuZCArIDEpIHtcbiAgLmNvbC0tMS02IHtcbiAgICB3aWR0aDogKDEwMCUgLyA2KTtcbiAgfVxuXG4gIC5jb2wtLTUtNiB7XG4gICAgd2lkdGg6ICgxMDAlIC8gNikgKiA1O1xuICB9XG5cbiAgLmNvbC0tMS00IHtcbiAgICB3aWR0aDogKDEwMCUgLyA0KTtcbiAgfVxuXG4gIC5jb2wtLTMtNCB7XG4gICAgd2lkdGg6ICgxMDAlIC8gNCkgKiAzO1xuICB9XG5cbiAgLmNvbC0tMS0zIHtcbiAgICB3aWR0aDogKDEwMCUgLyAzKTtcbiAgfVxuXG4gIC5jb2wtLTItMyB7XG4gICAgd2lkdGg6ICgxMDAlIC8gMykgKiAyO1xuICB9XG5cbiAgLmNvbC0tMS0yIHtcbiAgICB3aWR0aDogKDEwMCUgLyAyKTtcbiAgfVxuXG4gIC52Y29sLS0xLTIge1xuICAgIGhlaWdodDogNTAlO1xuICB9XG59XG4iLCIuc2l0ZWhlYWRlciB7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAyMDtcbiAgcGFkZGluZzogMCAyMHB4IDEwcHggMjBweDtcbiAgYmFja2dyb3VuZDogcmdiYSgkcmVkLCAwLjc1KTtcbiAgaGVpZ2h0OiAxMDdweDtcbiAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgcGFkZGluZzogMCA0MHB4O1xuICAgIGhlaWdodDogMDtcbiAgfVxufVxuXG4uc2l0ZWxvZ28tLWhpZGUge1xuICAuc2l0ZWhlYWRlciB7XG4gICAgaGVpZ2h0OiA2NXB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi5mdWxscGFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgJl9fd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gICZfX25hdmlnYXRpb24ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwIDAgNDhweCAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsZWZ0OiA1OXB4O1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBsZWZ0OiA5OHB4O1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UgYmFja2dyb3VuZDtcbiAgICAgIHdpZHRoOiAycHg7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIHdpZHRoOiA0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICB3aWR0aDogOXB4O1xuICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICBtYXJnaW46IDVweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbjogOHB4O1xuICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgfVxuICAgICAgJi4tLWlzLWFjdGl2ZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IC05cHg7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTNweDtcbiAgICAgIH1cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY2VudHJlZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLmdyaWR3cmFwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi5maXRpbWd7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBpbWd7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgfVxufVxuXG4ub2JqZWN0LWZpdHtcbiAgLmZpdGltZ3tcbiAgICBpbWd7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbiAgfVxufVxuIiwiLnNpdGVsb2dvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICB3aWR0aDogODBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAycHg7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZSBiYWNrZ3JvdW5kO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIGhlaWdodDogNnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC0ycHg7XG4gICAgICB3aWR0aDogNHB4O1xuICAgIH1cbiAgfVxuXG4gIHN2ZyB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiA3N3B4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZpbGw6ICR3aGl0ZTtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UgZmlsbDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICB3aWR0aDogMTIwcHg7XG4gICAgICBoZWlnaHQ6IDExNXB4O1xuICAgIH1cbiAgfVxufVxuXG4jc2l0ZWxvZ29fX3RleHQge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNpdGVsb2dvLS1oaWRlIHtcbiAgI3NpdGVsb2dvX190ZXh0IHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG4iLCIuYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXI6IDJweCBzb2xpZCAkd2hpdGU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgcGFkZGluZzogMTBweCAxMnB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMSk7XG4gIH1cbn1cbiIsIi5zaXRlbWVudSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMSk7XG4gIG1pbi13aWR0aDogNjBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgMC4xNXMgZWFzZTtcbiAgei1pbmRleDogMjA7XG4gIGNvbG9yOiAkcmVkO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBwYWRkaW5nLXRvcDogODVweDtcbiAgcGFkZGluZy1ib3R0b206IDEyMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB0b3A6IDA7XG4gICYtLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbiAgJl9fY29udGFjdCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMjZweDtcbiAgICByaWdodDogNjRweDtcbiAgICB6LWluZGV4OiAyMTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICByaWdodDogMjBweDtcbiAgICAgIEBtZWRpYSAobWluLWhlaWdodDogNzAwcHgpIHtcbiAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1pbi1oZWlnaHQ6IDgwMHB4KSB7XG4gICAgICAgIHRvcDogNjFweDtcbiAgICAgIH1cbiAgICB9XG4gICAgdWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gICAgbGkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgICBzdmcge1xuICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0ycHg7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgdWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4xKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1heC13aWR0aDogNjBweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMjJweCAyMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XG4gICAgfVxuICB9XG5cbiAgc3ZnIHtcbiAgICB3aWR0aDogMzNweDtcbiAgICBoZWlnaHQ6IDMzcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiBhdXRvIDEwcHg7XG4gICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlO1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICB9XG4gIH1cblxuICBzcGFuIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZsZXg6IDE7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgICBjb2xvcjogJHJlZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIG1heC13aWR0aDogMDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG5cbiAgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JleTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4zKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBsZWZ0OiAyMHB4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDFzIDAuM3MgZWFzZTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgd2lkdGg6IDBweDtcbiAgICAgICAgcmlnaHQ6IDcxcHg7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkOmFmdGVyLFxuICAgICY6bGFzdC1jaGlsZDpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiA2MHB4O1xuICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgYm90dG9tOiAwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgMHMgZWFzZTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyAwcyBlYXNlO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDEpO1xuICAgICAgY29sb3I6ICRyZWQ7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIDAuM3MgZWFzZTtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIG1heC13aWR0aDogMzIwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjFweDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyAwLjE1cyBlYXNlO1xuICAgICAgfVxuXG4gICAgICBzdmcge1xuICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIHRyYW5zaXRpb246IGZpbGwgMC4zcyAwLjE1cyBlYXNlO1xuICAgICAgICAqIHtcbiAgICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICAmOmFmdGVyLFxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIDAuMTVzIGVhc2U7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyZXk7XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4MXB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3RvZ2dsZSB7XG4gICAgdG9wOiAyMHB4O1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIGhlaWdodDogMzVweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4xKTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogMjE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgMC4xNXMgZWFzZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyAwLjE1cyBlYXNlO1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTEycHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgICYtLW9wZW4ge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkbWVkLWdyZXktMSwgMC4yKTtcbiAgICAgICY6YmVmb3JlLFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgICB9XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19saW5rLS1hY3RpdmUsXG4gIGE6aG92ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICB3aWR0aDogMnB4O1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0cHgpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDJweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5zaXRlZm9vdGVyIHtcbiAgLy8gcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICByaWdodDogMDtcblxuICBjb2xvcjogcmdiYSgkd2hpdGUsIDAuNCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBmb250LXNpemU6IDEwcHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGxlZnQ6IDYwcHg7XG4gICAgd2lkdGg6IDJweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBsZWZ0OiAxMDBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgICAgd2lkdGg6IDRweDtcbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICB9XG5cbiAgcCB7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIG1hcmdpbjogNnB4IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5jYXRsaXN0IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgaDMge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAwLjczZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgIH1cbiAgfVxuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDAgMCAwIDA7XG4gICAgcGFkZGluZzogNjBweCAwIDAgMDtcbiAgfVxuICBsaSB7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbiAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyOiAycHggc29saWQgJG1lZC1ncmV5LTE7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG59XG4iLCIub3V0c2V0aGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmX190aXRsZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgIG1hcmdpbjogMCAwIDAgMDtcbiAgICB9XG4gIH1cbiAgJl9fY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDRweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgfVxuICB9XG59XG4iLCIuYmlndGl0bGUge1xuICBmb250LWZhbWlseTogJGRpc3BsYXlmb250O1xuICBjb2xvcjogJHdoaXRlO1xuICBmb250LXNpemU6IDQ1cHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBmb250LXNpemU6IDUwcHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBmb250LXNpemU6IDcwcHg7XG4gIH1cbiAgJl9fcGFpcmVkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMTBweDtcbiAgfVxuICAmLS1yZWQge1xuICAgIGNvbG9yOiAkcmVkO1xuICB9XG59XG4iLCIuZmFxcyB7XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgJl9fc2VsZWN0IHtcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICBoMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuMDhlbTtcbiAgfVxuXG4gIGgzIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgfVxuICB9XG4gIGRsIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgZGQge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuIiwiLndoeXVzIHtcbiAgJl9fY29udGVudCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgIGFsaWduLXNlbGY6IGVuZDtcbiAgICBwIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAud2h5dXNfX2xhc3Qge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuMTdlbTtcbiAgICB9XG4gICAgaHIge1xuICAgICAgd2lkdGg6IDY2LjY2NiU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyZXk7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDIwcHg7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIHRvcDogNDBweDtcbiAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC00cHg7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDQwcHgpO1xuICAgICAgfVxuICAgIH1cbiAgICBhIHtcbiAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgfVxuICB9XG4gICZfX2xheW91dDEsXG4gICZfX2xheW91dDIge1xuICAgIGgyIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgICYudGV4dHJpZ2h0IHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ud2h5dXNfX2xheW91dDEge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgd2lkdGg6IDY2LjY2NiU7XG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgLndoeXVzX19jb2wxIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMztcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDY7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDgwMXB4KSB7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMztcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxNDAxcHgpIHtcbiAgICAgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAyO1xuICAgIH1cbiAgfVxuICAud2h5dXNfX2ltZyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyZXk7XG4gICAgcGFkZGluZzogMTRweDtcbiAgICBoZWlnaHQ6IDg2cHg7XG4gICAgd2lkdGg6IDE1N3B4O1xuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogMTI3cHg7XG4gICAgICBoZWlnaHQ6IDU2cHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICBwYWRkaW5nOiAxOHB4O1xuICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgaGVpZ2h0OiAxMjBweDtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICAgIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxODJweDtcbiAgICAgICAgaGVpZ2h0OiA4MnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoODAxcHgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC00NnB4O1xuICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICB9XG4gIH1cbiAgLmJpZ3RpdGxlIHtcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBtYXJnaW46IDQwcHggMDtcbiAgICB9XG4gIH1cbiAgLndoeXVzX19jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogMTdweDtcbiAgICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMjtcbiAgICB3aWR0aDogNzUlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgbWFyZ2luLXRvcDogMzRweDtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gNjtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCg4MDFweCkge1xuICAgICAgZ3JpZC1jb2x1bW46IGF1dG8gLyBzcGFuIDM7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTQwMXB4KSB7XG4gICAgICBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gMjtcbiAgICB9XG4gICAgaHIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogNDJweDtcbiAgICB9XG4gIH1cbn1cblxuLndoeXVzX19sYXlvdXQyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgd2lkdGg6IDY2LjY2NiU7XG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgLmJpZ3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG4gIC53aHl1c19fY29sMSB7XG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMztcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC53aHl1c19fY29sMiB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDM7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMjBweCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMjhweDtcbiAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAyO1xuICAgICAgfVxuICAgIH1cbiAgICBpbWcsXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICBhID4gaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICAud2h5dXNfX2NvbnRlbnQge1xuICAgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAyO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiAyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLndoeXVzX19sYXlvdXQzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHdpZHRoOiA2Ni42NjYlO1xuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIC53aHl1c19fY29sMSB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDM7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAzO1xuICAgIH1cbiAgfVxuICAud2h5dXNfX2ltZyB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDE7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGdyaWQtY29sdW1uOiAzIC8gc3BhbiAxO1xuICAgIH1cbiAgfVxuICAud2h5dXNfX2NvbnRlbnQge1xuICAgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAyO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBncmlkLWNvbHVtbjogNCAvIHNwYW4gMTtcbiAgICB9XG4gIH1cbn1cbiIsIi5zdGF0aWNjb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDM3cHg7XG4gIHBhZGRpbmctYm90dG9tOiA1N3B4O1xuICBwIHtcbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi5jb250YWN0IHtcbiAgaDIuYmlndGl0bGUtLXJlZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTRweDtcbiAgfVxuICAmX19hZGRyZXNzIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICBhZGRyZXNzIHtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB9XG4gIH1cbiAgJl9fbWFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHNwYW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgc3ZnIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogNTAlO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGZpbGw6ICRtZWQtZ3JleS0xO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB9XG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JleTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgfVxuICB9XG4gICZfX2RldGFpbHMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTI0cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyOiA0cHggc29saWQgJGxpZ2h0LWdyZXk7XG4gICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiA2MHB4O1xuICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gNDBweCk7XG4gICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmV5O1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5jb2w6Zmlyc3QtY2hpbGQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyZXk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDQwcHgpO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICZfX2Zvcm0ge1xuICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmV5O1xuICAgIHBhZGRpbmc6IDEycHggMTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICBjbGVhcjogYm90aDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBwYWRkaW5nOiA0MHB4IDIwcHg7XG4gICAgfVxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JleTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICBwIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAuZmllbGQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAuZXJyb3Ige1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgbGFiZWwubWFpbi1sYWJlbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgIHRvcDogNnB4O1xuICAgICAgICAucmVxdWlyZWQge1xuICAgICAgICAgIGNvbG9yOiAkdGV4dC1kYXJrO1xuICAgICAgICAgIHRyYW5zaXRpb246IDAsIDNzIGVhc2UgY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5lcnJvcnMge1xuICAgICAgLmNvbnRhY3RfX3JlcXVpcmVkLFxuICAgICAgbGFiZWwubWFpbi1sYWJlbCAucmVxdWlyZWQge1xuICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgLmhhbGYge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAmOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgIGxhYmVsLm1haW4tbGFiZWwge1xuICAgICAgICAgICAgcmlnaHQ6IDQwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5jY2YtZm9ybS13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIC5mb3JtLXN1Ym1pdCB7XG4gICAgICBtYXJnaW46IDAgMCAwIGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDMwcHgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdGV4dC1kYXJrO1xuICAgICAgfVxuICAgICAgaW5wdXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDIwcHg7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkdGV4dC1kYXJrO1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmxvYWRpbmctaW1nIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgZm9ybSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIGlucHV0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDlweCAyMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDtcbiAgICAgIH1cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgY29sb3I6ICRsaWdodC1ncmV5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5jY2YtZm9ybS1jb21wbGV0ZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MnB4O1xuICAgIH1cbiAgfVxuICAmX19yZXF1aXJlZCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAzNHB4O1xuICAgIH1cbiAgfVxuICBkbCB7XG4gICAgZHQsXG4gICAgZGQge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMjBweCk7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgfVxufVxuIiwiLmNvdW50ZXJ3ZWlnaHQge1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwLjJlbTtcbiAgICByaWdodDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyZXk7XG4gICAgaGVpZ2h0OiA0cHg7XG4gIH1cbiAgJi5jb2wtLTMtNCB7XG4gICAgLy8gd2lkdGg6ICgxMDAlIC8gMykgKiAyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgd2lkdGg6ICgxMDAlIC8gNCkgKiAzO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMyUgLSA0MHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5jb2wtLTEtMiB7XG4gICAgJjphZnRlciB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSA0MHB4KTtcbiAgICB9XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gICYuY29sLS0xLTQge1xuICAgICY6YWZ0ZXIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgIH1cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gICYtLWluc2lkZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDY0cHg7XG4gICAgJjphZnRlciB7XG4gICAgICBsZWZ0OiAxMHB4O1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAmLmNvbC0tMS0yIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1vYkxhbmQgLSAxKSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtLXJpZ2h0IHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLnJvdyB7XG4gIHBhZGRpbmc6IDMwcHggMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmLS1icmVhayB7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCl7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbiAgJi0tbGFyZ2V0b3Age1xuICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgfVxuICAmLS1sYXJnZWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICB9XG4gICYtLXN0cmV0Y2gge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG59XG4iLCIudG9nZ2xlaGVhZGluZ3Mge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgJl9faXRlbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmV5O1xuICAgICAgd2lkdGg6IGNhbGMoNjAlIC0gMTBweCk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbW9iTGFuZCAtIDEpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICB3aWR0aDogY2FsYyg4MCUgLSAxMHB4KTtcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fcm93IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5zdGFmZiB7XG4gICZfX2RpdmlzaW9uIHtcbiAgICBoMyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgfVxuICB9XG4gICZfX21lbWJlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgJi5jb2wtLTEtNCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgfVxuICAgIH1cbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuICAmX19tZW1iZXJsYXJnZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDIwcHgpO1xuICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbjogMCAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAuc3RhZmZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDIwcHgpO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19wbGFjZWhvbGRlciB7XG4gICAgcGFkZGluZy10b3A6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyZXk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHN2ZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAtMjVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMjVweDtcbiAgICAgIGZpbGw6ICRtZWQtZ3JleS0xO1xuICAgIH1cbiAgfVxuICAmX19kZXNjcmlwdGlvbiB7XG4gICAgJi5jb3VudGVyd2VpZ2h0IHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogY2FsYygzMy4zMzMlIC0gMjBweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuaG9tZSB7XG4gICZfX3NsaWRlMSxcbiAgJl9fc2xpZGUyLFxuICAmX19zbGlkZTMsXG4gICZfX3NsaWRlNCB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiA0MHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBwYWRkaW5nOiAwIDgwcHg7XG4gICAgfVxuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgcGFkZGluZzogMCA0MHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAuaG9tZV9fY29udGVudCB7XG4gICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgfVxuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogNDVweDtcbiAgICAgIGFsaWduLXNlbGY6IGVuZDtcbiAgICAgIG1hcmdpbjogMCAwIDdweDtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgZm9udC1zaXplOiA3MHB4O1xuICAgICAgfVxuICAgIH1cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gICZfX3NsaWRlMixcbiAgJl9fc2xpZGUzLFxuICAmX19zbGlkZTQge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIHBhZGRpbmc6IDAgMHB4O1xuICAgIH1cbiAgfVxuICAmX19zbGlkZTIsXG4gICZfX3NsaWRlNCB7XG4gICAgYSB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTtcbiAgICB9XG4gIH1cbiAgJl9fc2xpZGUxLFxuICAmX19zbGlkZTMge1xuICAgIGEge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19zbGlkZTEge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMWZyIDFmciAxZnI7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICB3aWR0aDogNjYuNjY2JTtcbiAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgaDEge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDQwcHgpO1xuICAgICAgICBtYXJnaW46IDIwcHggMCAwO1xuICAgICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAyIC8gNDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMjBweCk7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gNDBweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIG1hcmdpbjogMjBweDtcbiAgICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogZW5kO1xuICAgICAgICAgIG1hcmdpbjogMHB4IDAgMzBweCAwO1xuICAgICAgICAgIGdyaWQtY29sdW1uOiA0IC8gNjtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBzdmcge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBmaWxsOiBub25lO1xuICAgICAgc3Ryb2tlLXdpZHRoOiA0cHg7XG4gICAgICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMjBweCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAgICAgd2lkdGg6IDE1OXB4O1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5ob21lX19jb250ZW50IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSA0MHB4KTtcbiAgICAgICAgbWFyZ2luOiAyMHB4O1xuICAgICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBncmlkLWNvbHVtbjogNCAvIDY7XG4gICAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fc2xpZGUyLFxuICAmX19zbGlkZTQge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgd2lkdGg6IDY2LjY2NiU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAxZnIgMWZyIDFmciAxZnI7XG4gICAgICB9XG4gICAgfVxuICAgIGgxIHtcbiAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIDM7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAyIC8gNDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgbWFyZ2luLWJvdHRvbTogMzdweDtcbiAgICB9XG4gICAgLmhvbWVfX2NvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLXRvcDogM3B4O1xuICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMztcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDMgLyA1O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGhyIHtcbiAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGFsaWduLXNlbGY6IGVuZDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19zbGlkZTMge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgd2lkdGg6IDY2LjY2NiU7XG4gICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMmZyIDFmciAyZnIgMWZyO1xuICAgICAgfVxuICAgIH1cbiAgICBoMSB7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIDM7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzN3B4O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBncmlkLWNvbHVtbjogMiAvIDQ7XG4gICAgICB9XG4gICAgfVxuICAgIHN2ZyB7XG4gICAgICBmaWxsOiBub25lO1xuICAgICAgc3Ryb2tlLXdpZHRoOiA0cHg7XG4gICAgICBzdHJva2U6ICR3aGl0ZTtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICBtYXJnaW46IDAgMCBhdXRvIGF1dG87XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5ob21lX19jb250ZW50IHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICZfX3NsaWRlNSB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICB9XG4gICZfX3NsaWRlMmJnIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2hvbWUvYmdfczIuanBnKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxuICAmX19zbGlkZTNiZyB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9ob21lL2JnX3MzLmpwZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIH1cbiAgJl9fc2xpZGVyIHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjZ2dyAtIDQwcHgpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NnZ3IC0gNDBweCk7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgJl9fbmF2IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAxNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICB9XG4gICAgcGljdHVyZSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgJl9fc2xpZGVyLFxuICAmX19uYXYge1xuICAgIHBpY3R1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19vZmZlcnMge1xuICAgIHdpZHRoOiA2Ni42NjYlO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgaDEge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiA3MHB4O1xuICAgICAgY29sb3I6ICRtZWQtZGFyay1ncmV5ICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjNweDtcbiAgICAgIGZvbnQtc2l6ZTogNDVweDtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgZm9udC1zaXplOiA3MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnBvc3Qge1xuICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJGxpZ2h0LWdyZXk7XG4gIHBhZGRpbmctYm90dG9tOiA1MnB4O1xuICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICAqOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgJl9fcHJldmlldyB7XG4gICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRsaWdodC1ncmV5O1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDU4cHg7XG4gICAgJjpob3ZlciB7XG4gICAgICBoMiB7XG4gICAgICAgIGNvbG9yOiAkdGVhbDtcbiAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3IgIWltcG9ydGFudDtcbiAgICB9XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbiAgJl9fbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgcGFkZGluZy10b3A6IDU4cHg7XG4gIH1cbiAgJl9fY2F0bGlzdCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIH1cbiAgfVxuICAmX19wYWdpbmF0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICBsaSB7XG4gICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgIGEsXG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJG1lZC1ncmV5LTE7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM3cHg7XG4gICAgICB9XG4gICAgICBhOmhvdmVyLFxuICAgICAgLmN1cnJlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19uYXZpZ2F0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMzVweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAmX19zaGFyZSxcbiAgJl9fYmFjayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSA0MHB4KTtcbiAgICB9XG4gIH1cbiAgJl9fYmFjayB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJG1lZC1ncmV5LTE7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgfVxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgd2lkdGg6IDNweDtcbiAgICAgIGhlaWdodDogN3B4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZDogJG1lZC1ncmV5LTE7XG4gICAgICB0b3A6IDUwJTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDIycHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICByaWdodDogMjJweDtcbiAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuICB9XG4gICZfX3NoYXJlIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgJjpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgIHN2ZyB7XG4gICAgICBmaWxsOiAkbWVkLWdyZXktMTtcbiAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgfVxuICB9XG4gICZfX3JlbGF0ZWQge1xuICAgIGgzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUzcHg7XG4gICAgfVxuICB9XG59XG4iLCIuc2hhcmVkaWFsb2d1ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgJl9fdG9nZ2xlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkbWVkLWdyZXktMTtcbiAgICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gIH1cbiAgJl9fcG9wdXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHRvcDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgbGVmdDogNTAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgICAgYm9yZGVyOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgJG1lZC1ncmV5LTE7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICR3aGl0ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC00cHg7XG4gICAgfVxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiA1cHg7XG4gICAgICB0cmFuc2l0aW9uOiBmaWxsIDAuM3MgZWFzZTtcbiAgICB9XG4gICAgJi0tdmlzaWJsZSB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkbWVkLWdyZXktMTtcbiAgICAgIHBhZGRpbmc6IDVweCA1cHg7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgd2lkdGg6IDEzNXB4O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuICAgICo6aG92ZXIgc3ZnIHtcbiAgICAgIGZpbGw6ICRkYXJrO1xuICAgIH1cbiAgfVxufVxuIiwiLyogU2xpZGVyICovXG4uc2xpY2stc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uc2xpY2stbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4uc2xpY2stbGlzdDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uc2xpY2stbGlzdC5kcmFnZ2luZyB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY3Vyc29yOiBoYW5kO1xufVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLnNsaWNrLXRyYWNrOmJlZm9yZSxcbi5zbGljay10cmFjazphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuXG4gIGNvbnRlbnQ6IFwiXCI7XG59XG4uc2xpY2stdHJhY2s6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cbi5zbGljay1sb2FkaW5nIC5zbGljay10cmFjayB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWNrLXNsaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG5cbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG59XG5bZGlyPVwicnRsXCJdIC5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiByaWdodDtcbn1cbi5zbGljay1zbGlkZSB7XG4gIGltZywgcGljdHVyZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIHtcbiAgaW1nLCBwaWN0dXJlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uc2xpY2stc2xpZGUuZHJhZ2dpbmcge1xuICBpbWcsIHBpY3R1cmUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG59XG4uc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4uc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgaGVpZ2h0OiBhdXRvO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ob21lX19uYXYge1xuICBwaWN0dXJlIHtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGJvcmRlciBlYXNlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG4gIC5zbGljay1jdXJyZW50IHtcbiAgICBwaWN0dXJlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRyZWQ7XG4gICAgfVxuICB9XG59XG4iLCIub2ZmZXJzIHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAxNDBweCBhdXRvIDgwcHg7XG4gIHdpZHRoOiBjYWxjKDEwMHZ3IC0gNDBweCk7XG4gIHdpZHRoOiBjYWxjKDEwMHZ3IC0gNDBweCk7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBtYXJnaW46IDE4MHB4IGF1dG8gODBweDtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjZ2dyAtIDQwcHgpO1xuICB9XG4gIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgbGkge1xuICAgIG1hcmdpbjogODBweCAwO1xuICB9XG59XG4iLCIuc2Nyb2xsdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDU3cHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgbGVmdDogNDBweDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIGxlZnQ6IDc0cHg7XG4gIH1cbiAgc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgZmlsbDogJHdoaXRlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIHdpZHRoOiA1MnB4O1xuICAgICAgaGVpZ2h0OiA1MnB4O1xuICAgIH1cbiAgfVxufVxuXG4uc2Nyb2xsdG9wLS1zaG93IHtcbiAgLnNjcm9sbHRvcCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuIiwiLnRlc3RpbW9uaWFsIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRsaWdodC1ncmV5O1xuICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICBoMyB7XG4gICAgZm9udC1mYW1pbHk6ICRkaXNwbGF5Zm9udDtcbiAgICBsaW5lLWhlaWdodDogMS40ZW07XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICB9XG59XG4iLCIvKipcbiAqIFByZXZlbnQgb3ZlcmZsb3cgb24gSFRNTCBlbGVtZW50XG4gKi9cbmh0bWwge1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgLyogTmF0aXZlIHNjcm9sbCBtb21lbnR1bSAqL1xufVxuXG4vKipcbiAqIFRvIHByZXZlbnQganVtcGluZyA8Ym9keT4gc2hvdWxkIG5vdCBoYXZlIGFueSBtYXJnaW4gb24gdG9wIG9yIGJvdHRvbVxuICovXG4uaGFzLW92ZXJsYXkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5oYXMtb3ZlcmxheSA+IGJvZHkge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jc3MtbW9kYWwge1xuICAvKiBIaWRlIGluaXRpYWxseSAqL1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMDAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcblxuICAvKiBNYWludGFpbiBhIGZpeGVkIHBvc2l0aW9uICovXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiA0MDtcblxuICAmX19pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxufVxuXG4vKiBTaG93IG1vZGFsIHdoZW4gcmVxdWVzdGVkICovXG4uY3NzLW1vZGFsOnRhcmdldCxcbi5jc3MtbW9kYWwuaXMtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG5cbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcblxuICBvcGFjaXR5OiAxO1xufVxuXG4vKipcbiAqIENvbnRlbnQgQXJlYVxuICovXG5cbi5jc3MtbW9kYWxfaW5uZXIge1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIG1hcmdpbjogYXV0bztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgcGFkZGluZzogMjBweCAxMHB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgcGFkZGluZzogNDBweCAyMHB4O1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjYlICsgNDBweCk7XG4gIH1cbiAgaW1nIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLmNzcy1tb2RhbF9pbm5lciA+IGltZyxcbi5jc3MtbW9kYWxfaW5uZXIgPiB2aWRlbyxcbi5jc3MtbW9kYWxfaW5uZXIgPiBpZnJhbWUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiAzMDBweDtcbn1cblxuLmNzcy1tb2RhbF9pbm5lciBpZnJhbWUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogMDtcbn1cblxuLyoqXG4gKiBDb250ZW50XG4gKi9cbi5jc3MtbW9kYWxfY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LWhlaWdodDogY2FsYyg4MHZoIC0gKDNyZW0gKiAyKSk7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4uY3NzLW1vZGFsX2NvbnRlbnQgPiAqIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKipcbiAqIEZvb3RlclxuICovXG4uY3NzLW1vZGFsX2Zvb3RlciB7XG4gIC8vIGJvcmRlci10b3A6IDFweCBzb2xpZCBsaWdodGVuKHZhcigtLW1vZGFsLS1ib3JkZXItY29sb3IpLCAyMCk7XG4gIHBhZGRpbmc6IDAgMS4ycmVtIDFyZW07XG4gIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cblxuLyoqXG4gKiBBIGNsb3NlIGJ1dHRvblxuICovXG4uY3NzLW1vZGFsX2Nsb3NlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMXB4OyAvKiBQcmV2ZW50IGNsb3NlIGVsZW1lbnQgdG8gYXBwZWFyICovXG4gIC8vIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IC0xO1xufVxuXG4uY3NzLW1vZGFsX2Nsb3NlOmZvY3VzOjphZnRlciB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQ7XG4gIG91dGxpbmU6IC13ZWJraXQtZm9jdXMtcmluZy1jb2xvciBhdXRvIDVweDtcbn1cblxuLyoqXG4gKiBCYWNrZ3JvdW5kIGFzIGNsb3NlXG4gKi9cbi5jc3MtbW9kYWxfY2xvc2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxMDtcbiAgLy8gYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbW9kYWwtLWJhY2tncm91bmQpO1xufVxuXG4vKipcbiAqIEFjdHVhbCBjbG9zZSBidXR0b24gb24gbW9kYWxcbiAqL1xuLmNzcy1tb2RhbF9jbG9zZTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8vIHRvcDogY2FsYyh2YXIoLS1tb2RhbC0tbWFyZ2luLXRvcCkgLSAxLjVyZW0pO1xuICByaWdodDogNTAlO1xuICBsZWZ0OiBhdXRvO1xuICB6LWluZGV4OiAyMDtcbiAgLy8gbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLW1vZGFsLS1tYXgtd2lkdGgpIC8gMiAqIC0xKTtcbn1cblxuLyoqXG4gKiBXaGVuIHNjcmVlbiBpc24ndCBhcyB3aWRlIGFzIHRoZSBtb2RhbCBhbnltb3JlXG4gKi9cbi8vIEBtZWRpYSAobWF4LXdpZHRoOiAzMGVtKSB7XG4vLyAgIC5jc3MtbW9kYWxfaW5uZXIge1xuLy8gICAgIHdpZHRoOiBhdXRvO1xuLy8gICAgIC8vIGxlZnQ6IHZhcigtLW1vZGFsLS1jb250ZW50LW1hcmdpbik7XG4vLyAgICAgLy8gcmlnaHQ6IHZhcigtLW1vZGFsLS1jb250ZW50LW1hcmdpbik7XG4vLyAgICAgbWFyZ2luLWxlZnQ6IDA7XG4vLyAgIH1cbi8vXG4vLyAgIC5jc3MtbW9kYWxfY2xvc2U6OmFmdGVyIHtcbi8vICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbi8vICAgICAvLyByaWdodDogY2FyKC0tbW9kYWwtLWNvbnRlbnQtbWFyZ2luKTtcbi8vICAgfVxuLy8gfVxuXG4vKipcbiAqIEZvciBzbWFsbCBzY3JlZW5zIGFkanVzdCB0aGUgbW9kYWxcbiAqL1xuLy8gQG1lZGlhIChtYXgtd2lkdGg6IDMwZW0pIHtcbi8vICAgLmNzcy1tb2RhbCB7XG4vLyAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbi8vICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFtcyAwLjI1cztcbi8vICAgICBkaXNwbGF5OiBibG9jaztcbi8vICAgICByaWdodDogYXV0bztcbi8vICAgICBib3R0b206IGF1dG87XG4vLyAgIH1cbi8vXG4vLyAgIC5jc3MtbW9kYWw6dGFyZ2V0LFxuLy8gICAuY3NzLW1vZGFsLmlzLWFjdGl2ZSB7XG4vLyAgICAgd2lkdGg6IDEwMCU7XG4vLyAgICAgaGVpZ2h0OiAxMDAlO1xuLy8gICB9XG4vL1xuLy8gICAuY3NzLW1vZGFsX2lubmVyIHtcbi8vICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuLy8gICAgIHRvcDogMDtcbi8vICAgICBsZWZ0OiAwO1xuLy8gICAgIHJpZ2h0OiAwO1xuLy8gICAgIGhlaWdodDogMTAwJTtcbi8vICAgICBvdmVyZmxvdzogYXV0bztcbi8vICAgfVxuLy9cbi8vICAgLmNzcy1tb2RhbF9jb250ZW50IHtcbi8vICAgICBtYXgtaGVpZ2h0OiBub25lO1xuLy9cbi8vICAgICAvKipcbi8vICAgICAgKiBQcmV2ZW50IHRleHQgZnJvbSBicmVha2luZyBtb2RhbCBpbiBtb2JpbGUgdmlld1xuLy8gICAgICAqL1xuLy8gICAgIC1tcy13b3JkLWJyZWFrOiBicmVhay1hbGw7XG4vLyAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuLy8gICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7IC8qIE5vbi1zdGFuZGFyZCBmb3IgV2ViS2l0ICovXG4vLyAgICAgaHlwaGVuczogYXV0bztcbi8vICAgfVxuLy9cbi8vICAgLmNzcy1tb2RhbF9jbG9zZSB7XG4vLyAgICAgZGlzcGxheTogbm9uZTtcbi8vICAgICByaWdodDogYXV0bztcbi8vICAgICB3aWR0aDogMTAwJTtcbi8vICAgICBoZWlnaHQ6IDEwMCU7XG4vLyAgICAgYmFja2dyb3VuZDogcmdiYSgkbmF2eSwgMC45KTtcbi8vICAgfVxuLy9cbi8vICAgLmNzcy1tb2RhbF9jbG9zZTo6YmVmb3JlIHtcbi8vICAgICBjb250ZW50OiBcIlwiO1xuLy8gICAgIHBvc2l0aW9uOiBmaXhlZDtcbi8vICAgICB0b3A6IDA7XG4vLyAgICAgbGVmdDogMDtcbi8vICAgICByaWdodDogMDtcbi8vICAgICB6LWluZGV4OiAyMDtcbi8vICAgfVxuLy9cbi8vICAgLmNzcy1tb2RhbF9jbG9zZTo6YWZ0ZXIge1xuLy8gICAgIHRvcDogMC4yNWVtICFpbXBvcnRhbnQ7XG4vLyAgICAgcmlnaHQ6IDAuMjVlbTtcbi8vICAgICBsZWZ0OiBhdXRvO1xuLy8gICAgIG1hcmdpbi1sZWZ0OiAwO1xuLy8gICB9XG4vLyB9XG5cbi8qKlxuICogU3RhY2thYmxlIE1vZGFsc1xuICovXG4uY3NzLW1vZGFsLmlzLXN0YWNrZWQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxLCAxKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmNzcy1tb2RhbC5pcy1zdGFja2VkIC5jc3MtbW9kYWxfaW5uZXIge1xuICBhbmltYXRpb246IHNjYWxlRG93biAwLjdzIGVhc2UgYm90aDtcbn1cblxuLyoqXG4gKiBIaWRlIG92ZXJsYXkgYW5kIGNsb3NlIGJ1dHRvblxuICovXG4uY3NzLW1vZGFsLmlzLXN0YWNrZWQgLmNzcy1tb2RhbF9jbG9zZSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8qKlxuICogT24gc21hbGwgc2NyZWVuc1xuICovXG4vLyBAbWVkaWEgKG1heC13aWR0aDogMzBlbSkge1xuLy8gICAuY3NzLW1vZGFsLmlzLXN0YWNrZWQge1xuLy8gICAgIGFuaW1hdGlvbjogc2NhbGVEb3duIDAuN3MgZWFzZSBib3RoO1xuLy8gICB9XG4vL1xuLy8gICAuY3NzLW1vZGFsX2lubmVyIHtcbi8vICAgICBhbmltYXRpb246IG5vbmU7XG4vLyAgIH1cbi8vXG4vLyAgIC5jc3MtbW9kYWxfY2xvc2Uge1xuLy8gICAgIG9wYWNpdHk6IDE7XG4vLyAgIH1cbi8vIH1cblxuLmNzcy1tb2RhbCB7XG4gIC8vIGNvbG9yOiB2YXIoLS1tb2RhbC0tY29sb3IpO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuXG4vKiBDb250ZW50IEFyZWEgKi9cbi5jc3MtbW9kYWxfaW5uZXIge1xuICAvLyBib3JkZXItcmFkaXVzOiB2YXIoLS1tb2RhbC0tYm9yZGVyLXJhZGl1cykgMCB2YXIoLS1tb2RhbC0tYm9yZGVyLXJhZGl1cylcbiAgLy8gdmFyKC0tbW9kYWwtLWJvcmRlci1yYWRpdXMpO1xuICAvLyBiYWNrZ3JvdW5kOiB2YXIoLS1tb2RhbC0taW5uZXItYmFja2dyb3VuZCk7XG4gIGJveC1zaGFkb3c6IDAgMCAzMHB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgbWFyZ2luLXRvcDogNTB2aDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG4gIC8vIHdpZHRoOiAxMDAlO1xuXG4gIC8vIG1heC13aWR0aDogMTAwJTtcblxuICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggMC4yNXMgbGluZWFyLCBtYXJnaW4tbGVmdCAwLjEyNXMgbGluZWFyO1xuXG4gIGgyIHtcbiAgICBjb2xvcjogJHRlYWw7XG4gICAgZm9udC1zaXplOiA1MHB4O1xuICAgIG1hcmdpbi10b3A6IC05cHg7XG4gIH1cbn1cblxuLyogSGVhZGVyICovXG4uY3NzLW1vZGFsX2hlYWRlciB7XG4gIC8vIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1tb2RhbC0tYm9yZGVyLWNvbG9yKTtcbiAgcGFkZGluZzogMCAxLjJlbTtcbn1cblxuLmNzcy1tb2RhbF9oZWFkZXIgPiBoMiB7XG4gIG1hcmdpbjogMC41ZW0gMDtcbn1cblxuLyogQ29udGVudCAqL1xuLmNzcy1tb2RhbF9jb250ZW50IHtcbiAgLy8gYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLW1vZGFsLS1ib3JkZXItY29sb3IpO1xuICAvLyBwYWRkaW5nOiB2YXIoLS1tb2RhbC0tY29udGVudC1tYXJnaW4pO1xufVxuXG4vKiBGb290ZXIgKi9cbi5jc3MtbW9kYWxfZm9vdGVyIHtcbiAgLy8gYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLW1vZGFsLS1ib3JkZXItY29sb3IpO1xuICAvLyBwYWRkaW5nOiAwIHZhcigtLW1vZGFsLS1jb250ZW50LW1hcmdpbikgdmFyKC0tbW9kYWwtLWNvbnRlbnQtbWFyZ2luKTtcbiAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgLy8gYm9yZGVyLXJhZGl1czogdmFyKC0tbW9kYWwtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4vKiBDbG9zZSBidXR0b24gKi9cbi5jc3MtbW9kYWxfY2xvc2Uge1xuICB0ZXh0LWluZGVudDogLTEwMHB4O1xufVxuXG4vKiBCYWNrZ3JvdW5kIGFzIGNsb3NlICovXG4uY3NzLW1vZGFsX2Nsb3NlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKCRuYXZ5LCAwLjkpO1xufVxuXG4vKiBBY3R1YWwgY2xvc2UgYnV0dG9uIG9uIG1vZGFsICovXG4uY3NzLW1vZGFsX2Nsb3NlOjphZnRlciB7XG4gIC8vIGNvbnRlbnQ6IFwiXFwwMGQ3XCI7XG4gIC8vIGJhY2tncm91bmQ6IHJnYmEoJG5hdnksIDAuOSk7XG4gIC8vXG4gIC8vIC8vIGJvcmRlci1yYWRpdXM6IHZhcigtLW1vZGFsLS1ib3JkZXItcmFkaXVzKSB2YXIoLS1tb2RhbC0tYm9yZGVyLXJhZGl1cykgMCAwO1xuICAvLyBmb250LXNpemU6IDEuMnJlbTtcbiAgLy8gdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAvLyB0ZXh0LWluZGVudDogMDtcbiAgLy8gd2lkdGg6IDEuNXJlbTtcbiAgLy8gaGVpZ2h0OiAxLjVyZW07XG4gIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLy8gdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLyogRm9yIHNtYWxsIHNjcmVlbnMgYWRqdXN0IHRoZSBtb2RhbCAqL1xuLy8gQG1lZGlhIChtYXgtd2lkdGg6IDMwZW0pIHtcbi8vICAgLmNzcy1tb2RhbF9pbm5lciB7XG4vLyAgICAgYm94LXNoYWRvdzogbm9uZTtcbi8vICAgfVxuLy9cbi8vICAgLmNzcy1tb2RhbF9jbG9zZSB7XG4vLyAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuLy8gICB9XG4vL1xuLy8gICAuY3NzLW1vZGFsX2Nsb3NlOjpiZWZvcmUge1xuLy8gICAgIGhlaWdodDogM2VtO1xuLy8gICAgIGJveC1zaGFkb3c6IDAgMCA1cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuLy8gICB9XG4vL1xuLy8gICAuY3NzLW1vZGFsX2Nsb3NlOjphZnRlciB7XG4vLyAgICAgY29udGVudDogYXR0cihkYXRhLWNsb3NlKTtcbi8vICAgICBmb250LXNpemU6IDFlbTtcbi8vICAgICBwYWRkaW5nOiAwLjVlbSAxZW07XG4vLyAgIH1cbi8vIH1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWxwZXIgY2xhc3Nlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuLmlyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAqdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG59XG5cbi5pcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAxNTAlO1xufVxuXG4uaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4udmlzdWFsbHloaWRkZW4ge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG59XG5cbi52aXN1YWxseWhpZGRlbi5mb2N1c2FibGU6YWN0aXZlLFxuLnZpc3VhbGx5aGlkZGVuLmZvY3VzYWJsZTpmb2N1cyB7XG4gICAgY2xpcDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmdyb3VwOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuIiwiLmhpZGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5mdWxsd2lkdGgge1xuICB3aWR0aDogMTAwJTtcbn1cblxuaW1nLmZ1bGx3aWR0aCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZmxvYXRsZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5mbG9hdHJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uZmxvYXRjZW50cmUge1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG4udGV4dHJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi50ZXh0Y2VudHJlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubm9saW5rdW5kZXJsaW5lIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLm5vbWFyZ2luIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4uYmdyZWQge1xuICBiYWNrZ3JvdW5kOiAkcmVkO1xufVxuXG4uaGlkZW1vYiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZGlzcGxheTogaW5oZXJpdDtcbiAgfVxufVxuXG4ub3ZlcmZsb3doaWRkZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuIiwiLnRoZW1lLS13aGl0ZSxcbi50aGVtZS0td2hpdGVyZWQge1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIGNvbG9yOiAkdGV4dC1kYXJrO1xuXG4gIGE6aG92ZXIge1xuICAgIGNvbG9yOiAkcmVkO1xuICB9XG5cbiAgLnNpdGVsb2dvLFxuICAuc2Nyb2xsdG9wIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgIH1cbiAgICBzdmcge1xuICAgICAgZmlsbDogJHJlZDtcbiAgICB9XG4gIH1cblxuICAuc2l0ZWhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuNzUpO1xuICB9XG5cbiAgLnNpdGVtZW51IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGUtZ3JleTtcbiAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgbGkge1xuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2Q3ZDdkNztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzdmcge1xuICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgZmlsbDogJHdoaXRlO1xuICAgICAgICAgICoge1xuICAgICAgICAgICAgZmlsbDogJHdoaXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX190b2dnbGUge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkbWVkLWdyZXktMSwgMC4yKTtcbiAgICAgICY6YmVmb3JlLFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgICB9XG4gICAgfVxuICAgICZfX2NvbnRhY3Qge1xuICAgICAgY29sb3I6ICRyZWQ7XG4gICAgfVxuICB9XG5cbiAgLnNpdGVmb290ZXIge1xuICAgIGNvbG9yOiAkdGV4dC1kYXJrO1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgfVxuICB9XG5cbiAgLmJpZ3RpdGxlIHtcbiAgICBjb2xvcjogJHRlYWw7XG4gIH1cblxuICAuZnVsbHBhZ2VfX25hdmlnYXRpb24ge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgfVxuICAgIHN2ZyB7XG4gICAgICBmaWxsOiAkcmVkO1xuICAgIH1cbiAgfVxuICAuY2F0bGlzdCBhOmhvdmVyIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG59XG5cbi50aGVtZS0td2hpdGVyZWQge1xuICAuYmlndGl0bGUge1xuICAgIGNvbG9yOiAkcmVkO1xuICB9XG59XG5cbi50aGVtZS0tdGVhbCxcbi50aGVtZS0tbmF2eSxcbi50aGVtZS0tcmVkIHtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAuYmlndGl0bGUge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cbn1cblxuLnRoZW1lLS10ZWFsIHtcbiAgYmFja2dyb3VuZDogJHRlYWw7XG4gIC5zaXRlaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCR0ZWFsLCAwLjc1KTtcbiAgfVxufVxuXG4udGhlbWUtLW5hdnkge1xuICBiYWNrZ3JvdW5kOiAkbmF2eTtcbiAgLnNpdGVoZWFkZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJG5hdnksIDAuNzUpO1xuICB9XG59XG5cbi50aGVtZS0tcmVkIHtcbiAgLnNpdGVoZWFkZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJHJlZCwgMC43NSk7XG4gIH1cbn1cblxuZGl2LnRoZW1lLS13aGl0ZSB7XG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYge1xuICAgIGNvbG9yOiAkdGV4dC1kYXJrO1xuICAgICYuYmlndGl0bGUtLXJlZCB7XG4gICAgICBjb2xvcjogJHJlZDtcbiAgICB9XG4gIH1cbiAgLnRvZ2dsZWhlYWRpbmdzIHtcbiAgICAmX19yb3c6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAudG9nZ2xlaGVhZGluZ3NfX2l0ZW06bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBoMSxcbiAgICAgICAgaDIsXG4gICAgICAgIGgzLFxuICAgICAgICBoNCxcbiAgICAgICAgaDUsXG4gICAgICAgIGg2IHtcbiAgICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmX19yb3c6bnRoLW9mLXR5cGUoZXZlbikge1xuICAgICAgLnRvZ2dsZWhlYWRpbmdzX19pdGVtOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGgxLFxuICAgICAgICBoMixcbiAgICAgICAgaDMsXG4gICAgICAgIGg0LFxuICAgICAgICBoNSxcbiAgICAgICAgaDYge1xuICAgICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi50aGVtZS0tZGVmYXVsdCB7XG4gIGJhY2tncm91bmQ6ICRyZWQ7XG59XG5kaXYudGhlbWUtLXJlZCB7XG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYge1xuICAgIGNvbG9yOiAkcmVkO1xuICB9XG4gIC50b2dnbGVoZWFkaW5ncyB7XG4gICAgJl9fcm93Om50aC1vZi10eXBlKG9kZCkge1xuICAgICAgLnRvZ2dsZWhlYWRpbmdzX19pdGVtOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgaDEsXG4gICAgICAgIGgyLFxuICAgICAgICBoMyxcbiAgICAgICAgaDQsXG4gICAgICAgIGg1LFxuICAgICAgICBoNiB7XG4gICAgICAgICAgY29sb3I6ICR0ZXh0LWRhcms7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJl9fcm93Om50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICAgIC50b2dnbGVoZWFkaW5nc19faXRlbTpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBoMSxcbiAgICAgICAgaDIsXG4gICAgICAgIGgzLFxuICAgICAgICBoNCxcbiAgICAgICAgaDUsXG4gICAgICAgIGg2IHtcbiAgICAgICAgICBjb2xvcjogJHRleHQtZGFyaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnNwYWNlci01MHZoIHtcbiAgaGVpZ2h0OiAyNXZoO1xuICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIGhlaWdodDogNTB2aDtcbiAgfVxufVxuXG4uc3BhY2VyLWhlYWRlciB7XG4gIHBhZGRpbmctdG9wOiAxNTBweDtcbn1cbiIsIi50eXBlIHtcbiAgJi0tdGVhbCB7XG4gICAgY29sb3I6ICR0ZWFsO1xuICB9XG59XG4iXX0= */
