/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
       ========================================================================== */
/**
     * 1. Correct the line height in all browsers.
     * 2. Prevent adjustments of font size after orientation changes in
     *    IE on Windows Phone and in iOS.
     */
html {
  line-height: 1.15;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

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

/**
     * Add the correct display in IE 9-.
     */
article,
aside,
footer,
header,
nav,
section {
  display: block; }

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

/* Grouping content
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
figcaption,
figure {
  display: block; }

/**
     * Add the correct margin in IE 8.
     */
figure {
  margin: 1em 40px; }

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

/**
     * Add the correct display in IE.
     */
main {
  display: block; }

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

/* Links
       ========================================================================== */
/**
     * 1. Remove the gray background on active links in IE 10.
     * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
     */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

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

/**
     * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
     */
b,
strong {
  font-weight: inherit; }

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

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

/**
     * Add the correct font style in Android 4.3-.
     */
dfn {
  font-style: italic; }

/**
     * Add the correct background and color in IE 9-.
     */
mark {
  background-color: #ff0;
  color: #000; }

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
audio,
video {
  display: inline-block; }

/**
     * Add the correct display in iOS 4-7.
     */
audio:not([controls]) {
  display: none;
  height: 0; }

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

/**
     * Hide the overflow in IE.
     */
svg:not(:root) {
  overflow: hidden; }

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

/**
     * Show the overflow in IE.
     */
button {
  overflow: visible; }

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

/**
     * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
     *    controls in Android 4.
     * 2. Correct the inability to style clickable types in iOS and Safari.
     */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  /**
       * Remove the inner border and padding in Firefox.
       */
  /**
       * Restore the focus styles unset by the previous rule.
       */ }
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0; }
  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText; }

/**
     * Show the overflow in Edge.
     */
input {
  overflow: visible; }

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

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

/**
     * 1. Correct the odd appearance in Chrome and Safari.
     * 2. Correct the outline style in Safari.
     */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
  /**
       * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
       */ }
  [type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

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

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

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

/**
     * 1. Add the correct display in IE 9-.
     * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
     */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

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

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

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

/*
     * Add the correct display in IE 9-.
     */
menu {
  display: block; }

/* Scripting
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
canvas {
  display: inline-block; }

/**
     * Add the correct display in IE.
     */
template {
  display: none; }

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

/*
0 - 600px:       Phone
600 - 900px:     Tablet portrait
900 - 1200px:    Tablet Landscape
[1200 - 1800px]  is where our normal styles apply
1800px + :       Big desktop


 $breakpoint argument choices:

    - phone
    - tab-port
    - tab-land
    - big-desktop


ORDER: Base + typography > general layout + grid > page layout > components

    1em = 16px;
*/
@-webkit-keyframes jumpRight {
  0% {
    -webkit-transform: scale(0.97) translateY(-50%);
            transform: scale(0.97) translateY(-50%); }
  75% {
    -webkit-transform: scale(0.97) translateY(-50%) translateX(15px);
            transform: scale(0.97) translateY(-50%) translateX(15px); }
  100% {
    -webkit-transform: scale(0.97) translateY(-50%) translateX(0);
            transform: scale(0.97) translateY(-50%) translateX(0); } }
@keyframes jumpRight {
  0% {
    -webkit-transform: scale(0.97) translateY(-50%);
            transform: scale(0.97) translateY(-50%); }
  75% {
    -webkit-transform: scale(0.97) translateY(-50%) translateX(15px);
            transform: scale(0.97) translateY(-50%) translateX(15px); }
  100% {
    -webkit-transform: scale(0.97) translateY(-50%) translateX(0);
            transform: scale(0.97) translateY(-50%) translateX(0); } }

@-webkit-keyframes jumpLeft {
  0% {
    -webkit-transform: scale(0.97) translateY(-50%);
            transform: scale(0.97) translateY(-50%); }
  75% {
    -webkit-transform: scale(0.97) translateY(-50%) translateX(-15px);
            transform: scale(0.97) translateY(-50%) translateX(-15px); }
  100% {
    -webkit-transform: scale(0.97) translateY(-50%) translateX(0);
            transform: scale(0.97) translateY(-50%) translateX(0); } }

@keyframes jumpLeft {
  0% {
    -webkit-transform: scale(0.97) translateY(-50%);
            transform: scale(0.97) translateY(-50%); }
  75% {
    -webkit-transform: scale(0.97) translateY(-50%) translateX(-15px);
            transform: scale(0.97) translateY(-50%) translateX(-15px); }
  100% {
    -webkit-transform: scale(0.97) translateY(-50%) translateX(0);
            transform: scale(0.97) translateY(-50%) translateX(0); } }

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

html {
  font-size: 62.5%; }
  @media (max-width: 75em) {
    html {
      font-size: 56.25%; } }
  @media (max-width: 56.25em) {
    html {
      font-size: 50%; } }

body {
  box-sizing: border-box;
  background-color: #F2F2F2; }

::-moz-selection {
  background-color: #75C6BF;
  color: #fff; }

::selection {
  background-color: #75C6BF;
  color: #fff; }

a,
a:link,
a:visited {
  text-decoration: none;
  color: #fff; }
  a.referal-link,
  a:link.referal-link,
  a:visited.referal-link {
    text-decoration: underline; }
    a.referal-link:hover,
    a:link.referal-link:hover,
    a:visited.referal-link:hover {
      color: #E1524A; }

figure {
  margin: 0; }

body {
  font-family: 'Open Sans', sans-serif;
  line-height: 1.7;
  font-weight: 400;
  color: #777777; }

.u-fontw-big {
  font-weight: 800; }

.u-fontw-med {
  font-weight: 600; }

.u-fontw-norm {
  font-weight: 400; }

.u-color--gray {
  color: #7F8C8C !important; }

.u-bg--gray {
  background-color: #EBEBEB; }

.u-bg--gray1 {
  background-color: #AFB7B8; }

.u-flex--space-b {
  -webkit-box-pack: justify;
          justify-content: space-between; }

@media (max-width: 37.5em) {
  .u-hidden--xs {
    display: none !important; } }

@media (max-width: 56.25em) {
  .u-hidden--s {
    display: none !important; } }

@media (max-width: 75em) {
  .u-hidden--m {
    display: none !important; } }

@media (min-width: 112.5em) {
  .u-hidden--l {
    display: none !important; } }

.arrow-cloud {
  position: relative; }
  .arrow-cloud::before {
    content: "";
    position: absolute;
    z-index: 1;
    border: solid 10px transparent; }
  .arrow-cloud--top::before {
    top: -20px;
    left: 12px; }
  .arrow-cloud--top.arrow-cloud--green::before {
    border-bottom-color: #46a9a0; }
  .arrow-cloud--top.arrow-cloud--red::before {
    border-bottom-color: #dd3d34; }
  .arrow-cloud--bottom::before {
    bottom: -20px;
    left: 20px; }
  .arrow-cloud--bottom.arrow-cloud--white::before {
    border-top-color: #fff;
    border-right-color: #fff; }
  .arrow-cloud--green {
    background-color: #46a9a0; }
  .arrow-cloud--red {
    background-color: #dd3d34; }
  .arrow-cloud--white {
    background-color: #fff; }

.blog {
  color: #7F8C8C;
  margin: 4rem auto !important; }
  .blog:after {
    content: "";
    display: table;
    clear: both; }
  .blog__container, .blog__sidebar {
    float: left; }
  .blog__container {
    width: calc(100% - 21% - 3rem);
    margin-right: 3rem;
    position: relative; }
  .blog__sidebar {
    width: 21%; }
  .blog__post {
    padding-bottom: 4rem; }
    .blog__post:after {
      content: "";
      display: table;
      clear: both; }
    .blog__post > * {
      float: left; }
    .blog__post:not(:first-child) {
      padding: 4rem 0; }
    .blog__post:not(:last-child) {
      border-bottom: 3px solid #E4E5E5; }
  .blog__icons {
    margin-right: 4rem;
    line-height: 1.2; }
    .blog__icons > * {
      border-radius: 5px;
      display: -webkit-box;
      display: flex;
      -webkit-box-align: center;
              align-items: center;
      -webkit-box-pack: center;
              justify-content: center;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
              flex-direction: column;
      width: 7.5rem;
      height: 7.5rem; }
    .blog__icons > *:not(:last-child) {
      margin-bottom: 1rem; }
    .blog__icons--date {
      background-color: #F7F7F7;
      box-shadow: inset 0px -4px 0 #d1d1d1; }
      .blog__icons--date-month {
        font-size: 2rem; }
      .blog__icons--date-day {
        font-size: 3rem;
        font-weight: 800; }
    .blog__icons--category {
      background-color: #7F8B8B;
      box-shadow: inset 0px -4px 0 #5a6363; }
      .blog__icons--category i {
        color: #fff;
        font-size: 4rem;
        font-weight: normal; }
  .blog__main {
    width: 85%;
    font-size: 1.4rem; }
  .blog__image {
    width: 100%;
    max-height: 330px;
    overflow: hidden;
    border-radius: 5px;
    margin-bottom: 2rem; }
  .blog__headline {
    color: #75C6BF;
    font-size: 2.4rem;
    font-weight: 600;
    cursor: pointer; }
    .blog__headline:hover {
      color: #E1524A; }
  .blog__info a,
  .blog__info a:link,
  .blog__info a:visited, .blog__read, .blog__read:link, .blog__read:visited {
    color: #E1524A; }
  .blog__info {
    margin: .5rem 0 1.5rem 0; }
    .blog__info a {
      -webkit-transition: all .3s;
      transition: all .3s; }
    .blog__info a:hover {
      color: #75C6BF; }
    .blog__info a > i {
      margin: 0 .7rem 0 1.4rem;
      color: #75C6BF; }
  .blog__paragraph {
    margin-bottom: 2rem;
    line-height: 1.5; }
  .blog__read:hover {
    text-decoration: underline; }
  .blog__read i {
    font-weight: 800;
    margin-left: 1rem; }

.btn {
  -webkit-transition: all .15s;
  transition: all .15s;
  position: relative;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  z-index: 9;
  cursor: pointer;
  display: inline-block;
  border-radius: 6px; }
  .btn__main {
    padding: 1.2rem 5rem;
    font-size: 2rem; }
    .btn__main--caps {
      text-transform: uppercase;
      font-weight: 600; }
    .btn__main--small {
      padding: .8rem 1.4rem;
      font-size: unset;
      color: #fff; }
      .btn__main--small > i {
        font-size: 2rem;
        color: #fff; }
        .btn__main--small > i:not(:last-of-type) {
          margin-right: 2rem; }
    .btn__main.btn--gray {
      background-color: #AFB7B8; }
      .btn__main.btn--gray:hover {
        background-color: #e25a53;
        box-shadow: inset 0 -4px 0px rgba(191, 40, 32, 0.8), 0 4px 11px rgba(0, 0, 0, 0.25); }
    .btn__main.btn--red, .owl-carousel.owl-carousel-splash .btn__main.owl-prev,
    .owl-carousel.owl-carousel-splash .btn__main.owl-next {
      background-color: #E1524A; }
      .btn__main.btn--red:hover, .owl-carousel.owl-carousel-splash .btn__main.owl-prev:hover,
      .owl-carousel.owl-carousel-splash .btn__main.owl-next:hover {
        background-color: #e25a53;
        box-shadow: inset 0 -4px 0px rgba(191, 40, 32, 0.8), 0 4px 11px rgba(0, 0, 0, 0.25); }
    .btn__main.btn--green {
      background-color: #75C6BF; }
      .btn__main.btn--green:hover {
        background-color: #7cc9c2;
        box-shadow: inset 0 -4px 0px rgba(70, 169, 160, 0.8), 0 4px 11px rgba(0, 0, 0, 0.25); }
  .btn__spec.btn--green:hover {
    background-color: #46a9a0;
    box-shadow: inset 0 -4px 0px rgba(62, 151, 143, 0.8), 0 4px 11px rgba(0, 0, 0, 0.25); }
  .btn__spec.btn--green:active, .btn__spec.btn--green:focus {
    background-color: #E1524A;
    box-shadow: inset 0 -4px 0px rgba(191, 40, 32, 0.8), 0 2px 11px rgba(0, 0, 0, 0.8); }
  .btn__spec.btn--red:hover, .owl-carousel.owl-carousel-splash .btn__spec.owl-prev:hover,
  .owl-carousel.owl-carousel-splash .btn__spec.owl-next:hover, .btn__spec.btn--red:active, .owl-carousel.owl-carousel-splash .btn__spec.owl-prev:active,
  .owl-carousel.owl-carousel-splash .btn__spec.owl-next:active, .btn__spec.btn--red:focus, .owl-carousel.owl-carousel-splash .btn__spec.owl-prev:focus,
  .owl-carousel.owl-carousel-splash .btn__spec.owl-next:focus {
    background-color: #E1524A;
    box-shadow: inset 0 -4px 0px rgba(191, 40, 32, 0.8), 0 4px 11px rgba(0, 0, 0, 0.25); }
  .btn:hover {
    -webkit-transform: translateY(-3px);
            transform: translateY(-3px); }
  .btn:active {
    -webkit-transform: scale(0.97) translateY(-2px);
            transform: scale(0.97) translateY(-2px);
    box-shadow: 0 2px 1rem rgba(0, 0, 0, 0.8); }

.clients__headline {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  width: 100%; }
  .clients__headline--heading {
    display: inline-block; }
  .clients__headline--line {
    height: 1px;
    max-width: 70%;
    width: 100%;
    margin-left: 4rem;
    background: #E0E1E1;
    display: inline-block;
    position: relative; }
    .clients__headline--line::before {
      content: "";
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background-color: #E0E1E1;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      left: 0; }
    @media (max-width: 56.25em) {
      .clients__headline--line {
        max-width: 60%; } }
    @media (max-width: 37.5em) {
      .clients__headline--line {
        display: none; } }

.dropdown {
  position: relative; }
  @media (max-width: 45.25em) {
    .dropdown {
      display: none; } }
  .dropdown__menu {
    border-radius: 5px;
    top: 60px;
    left: 0;
    min-width: 170%;
    max-height: 0;
    -webkit-transition: all .4s;
    transition: all .4s;
    z-index: 999;
    opacity: 0;
    position: absolute; }
  .dropdown__list {
    display: block; }
  .dropdown__link {
    background-color: #E1524A;
    display: block;
    margin: 5px;
    border-radius: 5px;
    padding: .3rem 2rem;
    text-transform: none;
    visibility: hidden; }
    .dropdown__link:hover {
      background-color: #75C6BF; }
  .dropdown--shown .dropdown__menu {
    max-height: 25rem;
    overflow: visible;
    opacity: 1; }
  .dropdown--shown .dropdown__link {
    visibility: visible; }
  .dropdown--shown i {
    -webkit-transform: rotate(-180deg);
            transform: rotate(-180deg); }

.heading-floated {
  padding: 1.7rem 2.2rem; }
  .heading-floated:after {
    content: "";
    display: table;
    clear: both; }
  .heading-floated > div {
    float: left; }
  .heading-floated > a {
    float: right; }

.heading-primary {
  line-height: 1.45; }
  .heading-primary--main {
    color: #7F8C8C;
    font-size: 3rem;
    font-weight: 600; }
  .heading-primary--sub {
    color: #777777;
    font-size: 1.4rem;
    font-weight: 400;
    display: block; }

.heading-secondary {
  font-size: 4rem;
  font-weight: 600;
  color: #E1524A;
  text-align: center;
  text-transform: uppercase; }
  .heading-secondary__sub {
    color: #777777;
    display: block;
    font-size: 1.4rem;
    font-weight: 400;
    text-transform: none; }
  @media (max-width: 37.5em) {
    .heading-secondary {
      font-size: 3rem; } }

.heading-tertiary {
  font-weight: 800;
  color: #7F8C8C;
  font-size: 1.6rem; }

.heading-about {
  text-align: left;
  font-size: 3rem; }
  .heading-about .heading-secondary__sub {
    margin-top: 1rem; }

.hover-popup {
  position: relative;
  overflow: hidden; }
  .hover-popup__overlay {
    height: 100%;
    width: 100%;
    display: -webkit-box;
    display: flex;
    justify-content: space-around;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
    padding: 0 2rem;
    position: absolute;
    bottom: -100%;
    left: 0;
    -webkit-transition: all .3s;
    transition: all .3s; }
    .hover-popup__overlay--color-primary {
      background-color: rgba(117, 198, 191, 0.85);
      box-shadow: inset 0 -4px 0px rgba(62, 151, 143, 0.8); }
  .hover-popup__container {
    text-align: center; }
  .hover-popup__centered {
    -webkit-box-pack: center;
            justify-content: center;
    -webkit-box-align: center;
            align-items: center; }

.info-block {
  font-size: 1.4rem; }
  .info-block__list {
    margin-top: 3rem; }
    @media (max-width: 37.5em) {
      .info-block__list--item:not(:last-child) {
        margin-right: 3rem; } }
  .info-block__paragraph {
    margin: 0 auto;
    display: block;
    text-align: center; }
  .info-block__image {
    margin-top: 4rem;
    margin-left: auto;
    margin-right: auto;
    display: block; }
  .info-block__testimonial {
    margin-top: 2rem;
    padding: 1.5rem 1rem 1.5rem 2.2rem;
    border-radius: 4px;
    border: 1px solid rgba(0, 0, 0, 0.1); }
    .info-block__testimonial--paragraph {
      font-style: italic; }
    .info-block__testimonial--name {
      font-weight: 600;
      font-size: 1.6rem;
      color: #777777;
      display: block;
      position: absolute;
      margin-top: 2.2rem;
      left: 5rem;
      color: #75C6BF; }
  @media (max-width: 56.25em) {
    .info-block .row {
      display: -webkit-box !important;
      display: flex !important;
      flex-wrap: wrap !important;
      -webkit-box-pack: center;
              justify-content: center; }
    .info-block .flex-2 {
      -webkit-box-ordinal-group: 0 !important;
              order: -1 !important;
      -webkit-box-flex: 0;
              flex: 0 0 75%;
      margin-bottom: 5rem;
      padding-right: 0 !important;
      margin-right: 0 !important; }
    .info-block .flex-1 {
      width: 42% !important; } }

li {
  list-style: none; }

.list-style__arrow {
  display: inline-block;
  position: relative; }
  .list-style__arrow::before {
    margin-right: 1rem; }
  .list-style__arrow--flat::before {
    content: "\f061";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #E1524A; }
  .list-style__arrow--circle::before {
    content: "\f0a9";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #75C6BF;
    font-size: 1.4rem; }
  .list-style__arrow--angle-right::before {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #75C6BF;
    font-size: 1.4rem; }

.main-logo__item {
  font-size: 2.5rem; }
  .main-logo__item span {
    font-size: 3rem; }

.mixitup__controls {
  margin: 4.5rem 0; }

.mixitup__button {
  color: #fff;
  background-color: #7F8C8C;
  font-size: 1.4rem;
  padding: .8rem 2rem;
  text-transform: uppercase;
  font-weight: 600;
  font-family: 'Open Sans', sans-serif;
  border: none;
  cursor: pointer;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  position: relative;
  -webkit-transition: all .2s;
  transition: all .2s;
  box-shadow: inset 0 -4px 0px rgba(102, 114, 114, 0.8);
  border-radius: 5px; }
  .mixitup__button:not(:last-child) {
    margin-right: 1.5rem; }
  .mixitup__button:hover {
    -webkit-transform: translateY(-3px);
            transform: translateY(-3px);
    box-shadow: inset 0 -4px 0px rgba(213, 45, 35, 0.8), 0 4px 11px rgba(0, 0, 0, 0.25);
    background-color: #E1524A; }
  .mixitup__button:active {
    -webkit-transform: translateY(-1px) scale(0.97);
            transform: translateY(-1px) scale(0.97); }
  .mixitup__button:focus {
    outline: transparent; }

.mixitup__image {
  width: 100%;
  display: block;
  border-radius: 5px;
  -webkit-transform: scale(0.96);
          transform: scale(0.96);
  -webkit-transition: all .3s;
  transition: all .3s; }

.mixitup__gallery {
  margin-bottom: 5rem; }
  .mixitup__gallery .mix {
    background-color: white;
    vertical-align: top;
    max-height: 311px;
    border-radius: 5px;
    margin: 0 1.5rem 3rem;
    float: left;
    border-top: 1px solid rgba(127, 140, 140, 0.4);
    border-left: 1px solid rgba(127, 140, 140, 0.4);
    border-right: 1px solid rgba(127, 140, 140, 0.4);
    position: relative;
    overflow: hidden;
    box-shadow: inset 0 -4px 0px rgba(102, 114, 114, 0.3), 0 4px 11px rgba(0, 0, 0, 0.25); }
    .mixitup__gallery .mix__links {
      display: -webkit-box;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
              flex-direction: row; }
    .mixitup__gallery .mix__links-items {
      font-size: 2.4rem;
      color: #fff;
      background-color: #46a9a0;
      width: 5rem;
      height: 5rem;
      border-radius: 3px;
      display: -webkit-box;
      display: flex;
      -webkit-box-align: center;
              align-items: center;
      -webkit-transition: all .3s;
      transition: all .3s;
      -webkit-box-pack: center;
              justify-content: center;
      box-shadow: 0px 1px 4rem rgba(0, 0, 0, 0.2); }
      .mixitup__gallery .mix__links-items:not(:last-child) {
        margin-right: 2rem; }
      .mixitup__gallery .mix__links-items:hover {
        background-color: #E1524A;
        -webkit-transform: translateY(-2px);
                transform: translateY(-2px); }
    .mixitup__gallery .mix__paragraph {
      color: #fff;
      font-size: 1.6rem;
      margin-top: 3rem; }
    .mixitup__gallery .mix:hover > .hover-popup__overlay {
      bottom: 0; }
    .mixitup__gallery .mix:hover .mixitup__image {
      -webkit-transform: scale(1);
              transform: scale(1); }

.mixitup-control-active {
  background-color: #46a9a0;
  box-shadow: inset 0 -4px 0px rgba(40, 97, 92, 0.8); }
  .mixitup-control-active:hover {
    background-color: #46a9a0;
    box-shadow: inset 0 -5px 0px rgba(40, 97, 92, 0.8), 0 4px 11px rgba(0, 0, 0, 0.25); }
  .mixitup-control-active:active {
    box-shadow: inset 0 -1px 0px rgba(40, 97, 92, 0.8), 0 2px 11px rgba(0, 0, 0, 0.8); }

.main-navigation {
  display: -webkit-box;
  display: flex;
  width: 100%;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
          align-items: flex-end; }
  .main-navigation__list {
    display: -webkit-box;
    display: flex; }
  .main-navigation__item {
    font-size: 1.4rem;
    text-transform: uppercase;
    letter-spacing: .6px; }
    .main-navigation__item:not(:last-of-type) {
      margin-right: .6rem; }
    .main-navigation__item i {
      position: relative;
      left: -9px;
      font-size: 1.5rem;
      -webkit-transition: all .3s;
      transition: all .3s; }
  .main-navigation__link {
    display: inline-block;
    padding: .8rem 2.2rem;
    border-radius: 5px; }

.nav-mobile__input {
  display: none; }

.nav-mobile__button {
  display: none;
  z-index: 100;
  color: #fff;
  font-size: 2rem;
  position: fixed;
  left: 3rem;
  top: 2.6rem;
  background-color: rgba(225, 82, 74, 0.65);
  height: 3.8rem;
  border-radius: 3px;
  width: 4rem; }
  @media (max-width: 45.25em) {
    .nav-mobile__button {
      display: block; } }

.nav-mobile__icon {
  position: relative;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }
  .nav-mobile__icon, .nav-mobile__icon::before, .nav-mobile__icon::after {
    width: 2rem;
    height: 2.1px;
    background-color: #fff;
    display: inline-block; }
  .nav-mobile__icon::before, .nav-mobile__icon::after {
    content: "";
    position: absolute;
    left: 0;
    -webkit-transition: all .2s;
    transition: all .2s; }
  .nav-mobile__icon::before {
    top: -.8rem; }
  .nav-mobile__icon::after {
    top: .8rem; }
  .nav-mobile__icon-text {
    opacity: 0;
    visibility: hidden;
    -webkit-transition: -webkit-transform .2s;
    transition: -webkit-transform .2s;
    transition: transform .2s;
    transition: transform .2s, -webkit-transform .2s;
    font-size: 1.3rem;
    -webkit-transform: translate(3.5px, 20px);
            transform: translate(3.5px, 20px); }

.nav-mobile__input:checked + .nav-mobile__button {
  background-color: #E1524A; }

.nav-mobile__input:checked + .nav-mobile__button .nav-mobile__icon {
  background-color: transparent; }

.nav-mobile__input:checked + .nav-mobile__button .nav-mobile__icon:before {
  top: 0;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg); }

.nav-mobile__input:checked + .nav-mobile__button .nav-mobile__icon:after {
  top: 0;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg); }

.nav-mobile__input:checked + .nav-mobile__button .nav-mobile__icon-text {
  display: inline-block;
  -webkit-transform: translate(3.5px, -6px);
          transform: translate(3.5px, -6px);
  opacity: 1;
  visibility: visible; }

.nav-mobile__input:checked ~ .header__navigation {
  width: 55%;
  visibility: visible;
  opacity: 1; }

.nav-mobile__input:checked ~ .header__navigation .search__button {
  background-color: transparent;
  box-shadow: none; }

.nav-mobile__input:checked ~ .header__navigation .header__search {
  position: absolute;
  left: 2rem;
  bottom: 7rem; }

.nav-mobile__input:checked ~ .background {
  width: 100%; }

@media (max-width: 45.25em) {
  .main-navigation {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
    flex-wrap: wrap;
    visibility: hidden;
    opacity: 0;
    width: 0;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(117, 198, 191, 0.95);
    z-index: 50;
    -webkit-box-pack: center;
            justify-content: center;
    -webkit-box-align: center;
            align-items: center;
    -webkit-transition: all .3s;
    transition: all .3s;
    padding-left: 1.5rem;
    border-right: 6px solid rgba(99, 191, 183, 0.85);
    box-shadow: 2px 0px 9px 0px rgba(0, 0, 0, 0.58); }
    .main-navigation__list {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
              flex-direction: column;
      width: 100%; }
    .main-navigation__item {
      margin: 0; }
      .main-navigation__item i {
        display: none; }
  .background {
    position: fixed;
    width: 0;
    -webkit-transition: all .1s .2s;
    transition: all .1s .2s;
    height: 100vh;
    top: 0;
    left: 0;
    z-index: 45;
    background-color: rgba(255, 255, 255, 0.85); } }

.overlay__link {
  position: relative;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: all .15s .1s;
  transition: all .15s .1s;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  cursor: pointer; }
  .overlay__link::after {
    content: "\f0c1";
    font-family: fontAwesome;
    background-color: rgba(117, 198, 191, 0.45);
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
            justify-content: center;
    -webkit-box-align: center;
            align-items: center;
    font-size: 1.85rem;
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transition: -webkit-transform .2s;
    transition: -webkit-transform .2s;
    transition: transform .2s;
    transition: transform .2s, -webkit-transform .2s;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    cursor: pointer; }
  .overlay__link:hover {
    -webkit-transform: scale(1.08);
            transform: scale(1.08); }
  .overlay__link:hover::after {
    -webkit-transform: scale(1);
            transform: scale(1); }

.owl-carousel {
  position: relative; }
  .owl-carousel__item {
    background-size: cover;
    height: 50rem;
    background-repeat: no-repeat;
    background-position: center; }
    .owl-carousel__item--1 {
      background-image: url("../img/splash-1-1x.jpg"); }
    .owl-carousel__item--2 {
      background-image: url("../img/splash-2-1x.jpg"); }
    .owl-carousel__item--3 {
      background-image: url("../img/splash-3-1x.jpg"); }
  .owl-carousel__text {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    text-align: center;
    color: #fff; }
  .owl-carousel--main {
    background: #E1524A;
    font-size: 5rem;
    display: inline-block;
    text-transform: uppercase;
    line-height: 1.4;
    padding: 0 1rem;
    border-radius: 8px;
    margin-bottom: 1.5rem; }
  .owl-carousel--sub {
    background-color: rgba(0, 0, 0, 0.7);
    font-size: 1.6rem;
    text-align: center;
    padding: .6rem 3rem;
    border-radius: 8px; }
  .owl-carousel.owl-carousel-splash .owl-prev,
  .owl-carousel.owl-carousel-splash .owl-next {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 5rem;
    height: 6rem;
    z-index: 10; }
    .owl-carousel.owl-carousel-splash .owl-prev::after,
    .owl-carousel.owl-carousel-splash .owl-next::after {
      color: #fff;
      font-size: 3.5rem;
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      background-color: #E1524A;
      display: block;
      width: 5rem;
      height: 6rem;
      text-align: center;
      position: absolute;
      left: 0;
      top: 0;
      -webkit-transition: all .3s;
      transition: all .3s;
      z-index: 9; }
    .owl-carousel.owl-carousel-splash .owl-prev:hover::after,
    .owl-carousel.owl-carousel-splash .owl-next:hover::after {
      background-color: #e56760;
      box-shadow: inset 0 -4px 0px rgba(169, 35, 28, 0.8), 0 4px 11px rgba(0, 0, 0, 0.25); }
  .owl-carousel.owl-carousel-splash .owl-prev {
    left: 0;
    border-radius: 0 8px 8px 0; }
    .owl-carousel.owl-carousel-splash .owl-prev::before {
      border-radius: 0 8px 8px 0; }
    .owl-carousel.owl-carousel-splash .owl-prev::after {
      content: "\f104";
      border-radius: 0 8px 8px 0; }
    .owl-carousel.owl-carousel-splash .owl-prev:hover {
      -webkit-animation-name: jumpRight;
              animation-name: jumpRight;
      -webkit-animation-duration: .7s;
              animation-duration: .7s;
      -webkit-animation-timing-function: ease-in;
              animation-timing-function: ease-in;
      -webkit-animation-iteration-count: 3;
              animation-iteration-count: 3;
      box-shadow: 2px 4px 2.5rem rgba(0, 0, 0, 0.8); }
    .owl-carousel.owl-carousel-splash .owl-prev:active {
      -webkit-transform: scale(0.95) translateY(-50%);
              transform: scale(0.95) translateY(-50%); }
  .owl-carousel.owl-carousel-splash .owl-next {
    right: 0;
    border-radius: 8px 0 0 8px; }
    .owl-carousel.owl-carousel-splash .owl-next::before {
      border-radius: 8px 0 0 8px; }
    .owl-carousel.owl-carousel-splash .owl-next::after {
      content: "\f105";
      border-radius: 8px 0 0 8px; }
    .owl-carousel.owl-carousel-splash .owl-next:hover {
      -webkit-animation-name: jumpLeft;
              animation-name: jumpLeft;
      -webkit-animation-duration: .7s;
              animation-duration: .7s;
      -webkit-animation-timing-function: ease-in;
              animation-timing-function: ease-in;
      -webkit-animation-iteration-count: 3;
              animation-iteration-count: 3;
      box-shadow: 2px 4px 2.5rem rgba(0, 0, 0, 0.8); }
    .owl-carousel.owl-carousel-splash .owl-next:active {
      -webkit-transform: scale(0.95) translateY(-50%);
              transform: scale(0.95) translateY(-50%); }
  .owl-carousel.owl-carousel-splash .owl-dots {
    position: absolute;
    left: 50%;
    bottom: -2.5rem;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%); }
    .owl-carousel.owl-carousel-splash .owl-dots:after {
      content: "";
      display: table;
      clear: both; }
  .owl-carousel.owl-carousel-splash .owl-dot {
    width: 5rem;
    height: 5px;
    background-color: #AFB7B8;
    float: left; }
    .owl-carousel.owl-carousel-splash .owl-dot:not(:last-of-type) {
      margin-right: 2rem; }
    .owl-carousel.owl-carousel-splash .owl-dot.active {
      background-color: #E1524A; }

.owl-carousel-logos {
  margin: 3.5rem 0; }
  @media (max-width: 37.5em) {
    .owl-carousel-logos {
      display: none; } }
  .owl-carousel-logos--item {
    background-image: url("../img/jquery.png"), #fff;
    background-color: rgba(255, 255, 255, 0.2);
    height: 15rem;
    border-radius: 4px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 45%;
    border: 1px solid rgba(119, 119, 119, 0.1);
    cursor: pointer; }
    .owl-carousel-logos--item:hover {
      background-color: #fff; }
    .owl-carousel-logos--item-1 {
      background-image: url("../img/fist_logo.png"); }
    .owl-carousel-logos--item-2 {
      background-image: url("../img/shades.png"); }
    .owl-carousel-logos--item-3 {
      background-image: url("../img/natureisland.png");
      background-size: 60%; }
    .owl-carousel-logos--item-4 {
      background-image: url("../img/feather.png");
      background-size: 60%; }
    .owl-carousel-logos--item-5 {
      background-image: url("../img/coffee.png"); }
    .owl-carousel-logos--item-6 {
      background-image: url("../img/nicewrite.png"); }
    .owl-carousel-logos--item-7 {
      background-image: url("../img/babyhero.png"); }
  .owl-carousel-logos .owl-nav {
    position: absolute;
    right: 0;
    top: -6rem;
    right: 3.5rem;
    display: -webkit-box;
    display: flex; }
  .owl-carousel-logos .owl-prev,
  .owl-carousel-logos .owl-next {
    position: relative;
    z-index: 9;
    color: transparent; }
    .owl-carousel-logos .owl-prev::after,
    .owl-carousel-logos .owl-next::after {
      background: #7F8C8C;
      display: inline-block;
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      font-size: 1.5rem;
      width: 2.5rem;
      height: 2.5rem;
      color: white;
      position: absolute;
      text-align: center;
      border-radius: 4px;
      overflow: hidden;
      z-index: 2;
      -webkit-transition: all .15s;
      transition: all .15s; }
    .owl-carousel-logos .owl-prev:not(:last-of-type),
    .owl-carousel-logos .owl-next:not(:last-of-type) {
      margin-right: 1.4rem; }
    .owl-carousel-logos .owl-prev:hover::after,
    .owl-carousel-logos .owl-next:hover::after {
      background-color: #E1524A;
      box-shadow: inset 0 -2px 0px rgba(191, 40, 32, 0.8), 0 4px 11px rgba(0, 0, 0, 0.25);
      -webkit-transform: translateY(-3px);
              transform: translateY(-3px); }
  .owl-carousel-logos .owl-prev::after {
    content: "\f104";
    left: 0;
    margin-right: 1.4rem; }
  .owl-carousel-logos .owl-next::after {
    content: "\f105";
    right: 0; }

.pricing-table {
  margin-top: 7rem;
  background-color: #fff;
  position: relative;
  padding: 8rem 3rem;
  text-align: center;
  border-radius: 5px;
  -webkit-transition: all .3s;
  transition: all .3s;
  box-shadow: inset 0 -4px 0px rgba(217, 217, 217, 0.8), 0 4px 11px rgba(0, 0, 0, 0.25); }
  .pricing-table:hover {
    background-color: #75C6BF;
    color: #fff;
    box-shadow: inset 0 -4px 0px rgba(70, 169, 160, 0.8), 0 4px 11px rgba(0, 0, 0, 0.25); }
  .pricing-table:hover > .pricing-table__title,
  .pricing-table:hover > .pricing-table__cta {
    background-color: #E1524A;
    box-shadow: inset 0 -4px 0px rgba(191, 40, 32, 0.8), 0 3px 1rem rgba(0, 0, 0, 0.5); }
  .pricing-table__title, .pricing-table__cta {
    background-color: #7F8C8C;
    font-size: 1.6rem;
    color: #fff;
    padding: 1.5rem 4rem;
    position: absolute;
    width: 80%;
    -webkit-transition: all .3s;
    transition: all .3s; }
  .pricing-table__title {
    cursor: default;
    text-transform: uppercase;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
    .pricing-table__title:hover {
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }
  .pricing-table__list-item {
    display: block;
    text-align: center;
    padding: 1rem 2rem;
    border-bottom: 1px solid rgba(119, 119, 119, 0.3);
    font-size: 1.4rem; }
  .pricing-table__cta {
    bottom: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 50%);
            transform: translate(-50%, 50%);
    box-shadow: inset 0 -4px 0px rgba(90, 100, 100, 0.8), 0 3px 1rem rgba(0, 0, 0, 0.5); }
    .pricing-table__cta:hover {
      -webkit-transform: translate(-50%, 46%);
              transform: translate(-50%, 46%);
      background-color: #E1524A;
      box-shadow: 0 5px 1rem rgba(0, 0, 0, 0.5); }

.ruler {
  position: relative; }
  .ruler::before {
    display: block;
    width: 100%; }
  .ruler--top::before {
    content: "";
    background: url("../img/ruler2.png") repeat-x top;
    position: absolute;
    top: 0; }

.search {
  position: relative; }
  .search__button {
    display: inline-block;
    padding: 1rem 1.5rem;
    border-radius: 5px;
    font-size: 1.5rem; }
  .search__dummy {
    display: none; }
  .search__input {
    position: absolute;
    right: 0;
    top: 5.5rem;
    border: 4.5px solid #E1524A;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: all .4s;
    transition: all .4s;
    border-radius: 5px;
    padding: 1rem;
    z-index: 999; }
    @media (max-width: 45.25em) {
      .search__input {
        left: 0;
        right: auto;
        border: 4.5px solid #E1524A; } }
  .search__dummy:checked ~ .search__input {
    visibility: visible;
    opacity: 1; }

.services {
  position: relative;
  background-color: #F7F7F7;
  padding: 3.75rem 1.2rem 10rem 1.2rem;
  text-align: center;
  border-radius: 6px;
  cursor: pointer;
  -webkit-transition: all .3s;
  transition: all .3s;
  border: 1px solid rgba(119, 119, 119, 0.15);
  box-shadow: inset 0px -4px 0px rgba(0, 0, 0, 0.15); }
  @media (max-width: 37.5em) {
    .services {
      padding: 1.5rem 3rem 5rem 3rem;
      width: 85%;
      margin: 0 auto; } }
  .services__icon {
    font-size: 5rem;
    color: #75C6BF;
    -webkit-transition: color .4s;
    transition: color .4s; }
    @media (max-width: 37.5em) {
      .services__icon {
        font-size: 3.5rem; } }
  .services__heading {
    margin-bottom: 2.4rem;
    text-transform: uppercase; }
  .services__btn {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%) rotateX(0deg);
            transform: translateX(-50%) rotateX(0deg);
    width: 65%;
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 600;
    bottom: -2.3rem;
    z-index: 10;
    padding: 1.5rem;
    -webkit-transition: all .15s;
    transition: all .15s; }
    .services__btn:hover {
      -webkit-transform: translateX(-50%) translateY(-2px);
              transform: translateX(-50%) translateY(-2px); }
    .services__btn:active {
      -webkit-transform: translateX(-50%) translateY(-2px) scale(0.97);
              transform: translateX(-50%) translateY(-2px) scale(0.97); }
  .services__paragraph {
    font-size: 1.4rem;
    color: #777;
    padding: 0 .2rem;
    word-wrap: break-word; }
  .services:hover {
    background-color: #fff;
    border-color: #f2f2f2; }
    .services:hover > .services__icon {
      color: #E1524A; }
    .services:hover > .services__btn.btn__main.btn--green {
      background-color: #E1524A; }
      .services:hover > .services__btn.btn__main.btn--green:hover {
        box-shadow: inset 0 -4px 0px rgba(191, 40, 32, 0.8), 0 4px 11px rgba(0, 0, 0, 0.25);
        -webkit-transform: translateY(-2px) translateX(-50%) rotateX(0deg);
                transform: translateY(-2px) translateX(-50%) rotateX(0deg); }

.showcase {
  width: 85%;
  display: -webkit-box;
  display: flex;
  position: relative;
  top: 5rem;
  margin: 4rem auto 0 auto; }
  @media (max-width: 56.25em) {
    .showcase {
      width: 95%; } }
  .showcase__item {
    background: #C1C7C8;
    max-width: 33.33%;
    padding: 3.5rem .3rem .5rem .3rem;
    display: inline-block;
    border-radius: 1rem;
    z-index: 1;
    -webkit-transition: all .3s;
    transition: all .3s;
    position: relative;
    border: 1px solid rgba(0, 0, 0, 0.1);
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden; }
    .showcase__item:hover {
      -webkit-transform: scale(1.4);
              transform: scale(1.4);
      z-index: 10;
      background: #d4d8d9;
      box-shadow: 0.2rem 0.3rem 0.8rem rgba(0, 0, 0, 0.4); }
    .showcase__item--1 {
      -webkit-box-ordinal-group: 2;
              order: 1; }
      .showcase__item--1:hover ~ .showcase__item--3 {
        -webkit-transform: scale(1);
                transform: scale(1); }
    .showcase__item--2 {
      -webkit-box-ordinal-group: 4;
              order: 3; }
      .showcase__item--2:hover ~ .showcase__item--3 {
        -webkit-transform: scale(1);
                transform: scale(1); }
    .showcase__item--3 {
      z-index: 2;
      -webkit-transform: scale(1.25);
              transform: scale(1.25);
      -webkit-box-ordinal-group: 3;
              order: 2; }
  .showcase__img {
    width: 100%;
    border-radius: 1rem;
    margin-bottom: 0;
    display: block; }
  .showcase__decor {
    position: absolute;
    top: .7rem;
    width: 100%; }
    .showcase__decor--circle {
      width: 1rem;
      height: 1rem;
      border-radius: 50%;
      background-color: #fff;
      display: inline-block;
      margin-right: .2rem; }
      .showcase__decor--circle:first-child {
        margin-left: 1rem; }
    .showcase__decor--circle-1 {
      height: .8rem;
      width: 1.4rem;
      background-color: #fff;
      border-radius: 32%;
      display: inline-block;
      position: absolute;
      right: 1.7rem;
      top: .7rem; }

.team-composition-holder {
  position: relative;
  margin: 6rem 0; }
  .team-composition-holder:hover > .hover-popup .hover-popup__overlay {
    bottom: 0; }

.team-composition {
  margin: 0 auto;
  max-height: 310px;
  width: 270px;
  border-radius: 3px;
  overflow: hidden;
  position: relative;
  color: #fff;
  background-color: #75C6BF;
  box-shadow: inset 0 -4px 0px rgba(81, 183, 174, 0.8), 0 4px 11px rgba(0, 0, 0, 0.25); }
  .team-composition__overlay p {
    font-style: italic;
    font-weight: 400;
    font-size: 1.2rem; }
  .team-composition__photo {
    -webkit-transition: all .3s;
    transition: all .3s;
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  .team-composition:hover .team-composition__photo {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-filter: blur(2px);
            filter: blur(2px); }
  .team-composition__social {
    display: -webkit-box;
    display: flex;
    justify-content: space-around; }
    .team-composition__social-item, .team-composition__social-item:link, .team-composition__social-visited {
      font-size: 1.5rem;
      background-color: #37857e;
      width: 4rem;
      height: 4rem;
      border-radius: 1rem;
      display: -webkit-box;
      display: flex;
      -webkit-box-align: center;
              align-items: center;
      -webkit-box-pack: center;
              justify-content: center;
      -webkit-transition: all .3s;
      transition: all .3s; }
      .team-composition__social-item:not(:last-child), .team-composition__social-item:link:not(:last-child), .team-composition__social-visited:not(:last-child) {
        margin-right: .2rem; }
      .team-composition__social-item:hover, .team-composition__social-item:link:hover, .team-composition__social-visited:hover {
        background-color: #E1524A;
        -webkit-transform: translateY(-2px);
                transform: translateY(-2px);
        box-shadow: inset 0 -4px 0px rgba(125, 26, 21, 0.8), 0 1px 2rem rgba(0, 0, 0, 0.8); }
      .team-composition__social-item:active, .team-composition__social-item:link:active, .team-composition__social-visited:active {
        box-shadow: inset 0 -4px 0px rgba(125, 26, 21, 0.8), 0 1px 1rem rgba(0, 0, 0, 0.9);
        -webkit-transform: scale(0.95);
                transform: scale(0.95); }
  .team-composition__btn {
    font-size: 1.3rem;
    padding: 1rem 2rem;
    position: absolute;
    bottom: -25px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    box-shadow: inset 0 -4px 0px rgba(78, 87, 87, 0.8), 0 4px 11px rgba(0, 0, 0, 0.25); }
    .team-composition__btn:not(:hover) {
      background-color: #7F8C8C !important; }
    .team-composition__btn:hover {
      -webkit-transform: translate(-50%, -3px);
              transform: translate(-50%, -3px); }
    .team-composition__btn:active {
      -webkit-transform: translate(-50%, -1px) scale(0.97);
              transform: translate(-50%, -1px) scale(0.97);
      box-shadow: inset 0 -4px 0px rgba(78, 87, 87, 0.8), 0 1px 11px rgba(0, 0, 0, 0.9); }

.flex-container {
  max-width: 117rem;
  display: -webkit-box;
  display: flex;
  margin: 0 auto;
  -webkit-box-align: center;
          align-items: center; }
  @media (max-width: 75em) {
    .flex-container {
      padding: 0 1.5rem; } }
  @media (max-width: 56.25em) {
    .flex-container {
      max-width: 100% !important; } }

.footer {
  color: #fff; }
  @media (max-width: 37.5em) {
    .footer {
      background-color: #75C6BF; } }
  .footer::before {
    height: 2rem;
    opacity: .2; }
  .footer-info {
    background-color: #75C6BF;
    font-size: 1.4rem;
    padding: 3rem 0 4rem 0; }
    @media (max-width: 56.25em) {
      .footer-info .row .col-md-half {
        width: 48% !important; } }
    @media (max-width: 37.5em) {
      .footer-info {
        width: 80%;
        margin: 0 auto; }
        .footer-info .row .col-md-half {
          width: 100% !important; } }
    .footer-info__logo {
      margin-bottom: 2rem; }
    .footer-info__nav {
      padding-top: 1.3rem; }
      .footer-info__nav:first-child {
        float: left; }
      .footer-info__nav:last-child {
        float: right;
        margin-right: 2.5rem; }
      .footer-info__nav--heading {
        font-size: 2rem;
        color: #3B6360; }
      .footer-info__nav--list {
        padding-top: 2.22rem;
        padding-left: 2.2rem; }
      .footer-info__nav--item {
        padding-left: 1.3rem;
        display: block; }
        .footer-info__nav--item:not(:last-child) {
          margin-bottom: .55rem; }
      .footer-info__nav--link {
        display: inline-block;
        -webkit-transition: all .25s;
        transition: all .25s;
        border-bottom: 1px solid transparent;
        -webkit-backface-visibility: hidden;
                backface-visibility: hidden;
        -webkit-transform: rotateX(0deg);
                transform: rotateX(0deg);
        position: relative; }
        .footer-info__nav--link:before {
          content: "\f105";
          font-family: "Font Awesome 5 Free";
          font-weight: 900;
          font-size: 1rem;
          color: white;
          position: absolute;
          left: -12px;
          top: 2.5px;
          -webkit-transition: -webkit-transform .15s;
          transition: -webkit-transform .15s;
          transition: transform .15s;
          transition: transform .15s, -webkit-transform .15s; }
        .footer-info__nav--link:hover {
          color: #E1524A;
          -webkit-transform: translateY(-2px) scale(1.03);
                  transform: translateY(-2px) scale(1.03);
          border-bottom: 1px solid #E1524A; }
        .footer-info__nav--link:hover:before {
          right: -12px;
          top: 5.5px;
          left: unset;
          -webkit-transform: rotate(180deg);
                  transform: rotate(180deg);
          color: #E1524A; }
    .footer-info__blog {
      width: 90%;
      margin: 0 0 0 auto;
      padding-top: 1.3rem; }
      @media (max-width: 37.5em) {
        .footer-info__blog {
          width: 100%;
          margin: 0;
          padding: 0; } }
      .footer-info__blog--heading {
        font-size: 2rem;
        font-style: italic;
        margin-bottom: 2.5rem; }
        .footer-info__blog--heading > span {
          font-weight: 800;
          text-transform: uppercase;
          font-style: normal;
          margin-left: .5rem; }
      .footer-info__blog--wrapper {
        display: inline-block; }
        .footer-info__blog--wrapper:after {
          content: "";
          display: table;
          clear: both; }
        .footer-info__blog--wrapper:not(:last-child) {
          margin-bottom: 3.5rem; }
          @media (max-width: 37.5em) {
            .footer-info__blog--wrapper:not(:last-child) {
              margin-bottom: 2rem; } }
      .footer-info__blog--image {
        width: auto;
        max-width: 100px;
        max-height: 70px;
        border-radius: 3px;
        display: inline-block;
        overflow: hidden;
        float: left;
        margin-right: 2rem; }
        .footer-info__blog--image > img {
          width: 100%;
          display: block; }
      .footer-info__blog--description {
        line-height: 1.3;
        margin-bottom: .35rem; }
      .footer-info__blog--date {
        color: #3B6360;
        font-weight: 600; }
    .footer-info--contact {
      margin-top: 2rem; }
      .footer-info--contact p > span {
        font-size: 2rem;
        font-weight: 600;
        font-style: italic;
        margin-left: 1.9rem; }
  .footer__credentials {
    background-color: #3e978f;
    padding: 1.5rem 0; }
    .footer__credentials:after {
      content: "";
      display: table;
      clear: both; }
    .footer__credentials--info {
      float: left;
      font-size: 1.4rem; }
    .footer__credentials--social {
      float: right;
      font-size: 2.2rem; }
      .footer__credentials--social > a {
        color: rgba(255, 255, 255, 0.65);
        -webkit-transition: all .2s;
        transition: all .2s; }
        .footer__credentials--social > a:hover {
          color: #fff; }
      .footer__credentials--social > a:not(:last-child) {
        margin-right: 1.5rem; }

.row {
  max-width: 117rem;
  margin: 0 auto; }
  .row:not(:last-child) {
    margin-bottom: 8rem; }
    @media (max-width: 56.25em) {
      .row:not(:last-child) {
        margin-bottom: 6rem; } }
  @media (max-width: 75em) {
    .row {
      padding: 0 1.5rem; } }
  .row:after {
    content: "";
    display: table;
    clear: both; }
  .row [class^="col-"] {
    float: left; }
    .row [class^="col-"]:not(:last-child) {
      margin-right: 3rem; }
      @media (max-width: 56.25em) {
        .row [class^="col-"]:not(:last-child) {
          margin-right: 0;
          margin-bottom: 6rem; } }
    @media (max-width: 56.25em) {
      .row [class^="col-"] {
        width: 100% !important; } }
  @media (max-width: 56.25em) {
    .row [class*="col-md"]:nth-of-type(even) {
      margin-right: 3rem; } }
  @media (max-width: 37.5em) {
    .row [class*="col-md"] {
      width: 100% !important; } }
  .row .col-1-of-2 {
    width: calc((100% - 3rem) / 2); }
  .row .col-1-of-3 {
    width: calc((100% - 3rem * 2) / 3); }
  .row .col-2-of-3 {
    width: calc( 2* ((100% - 3rem * 2) / 3) + 3rem); }
  .row .col-1-of-4 {
    width: calc((100% - 3rem * 3) / 4); }
  .row .col-2-of-4 {
    width: calc( 2 *((100% - 3rem * 3) / 4) + 3rem); }
  .row .col-3-of-4 {
    width: calc( 3 *((100% - 3rem * 3) / 4) + 3rem * 2); }
  @media (max-width: 56.25em) {
    .row .col-md-1-of-2 {
      width: calc((100% - 3rem) / 2) !important; } }
  @media (max-width: 37.5em) {
    .row .col-md-1-of-2 {
      width: 100% !important; } }
  @media (max-width: 56.25em) {
    .row .col-md-1-of-4 {
      width: calc((100% - 3rem * 3) / 4) !important; } }
  @media (max-width: 56.25em) {
    .row .col-md-2-of-4 {
      width: calc( 2 *((100% - 3rem * 3) / 4) + 3rem) !important; } }
  @media (max-width: 37.5em) {
    .row .col-hide-m {
      display: none; } }

.header {
  background: url("../img/ruler.png") repeat-x bottom #75C6BF;
  padding: 3rem 0;
  color: #fff;
  box-shadow: 0px 1px 0.7rem rgba(0, 0, 0, 0.5);
  margin-bottom: .3rem; }
  @media (max-width: 75em) {
    .header {
      padding: 2rem 0; }
      .header .flex-container {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
                flex-direction: column; } }
  .header__logo {
    display: inline-block;
    margin-right: 10rem; }
    @media (max-width: 75em) {
      .header__logo {
        margin: 0 0 1rem 0; } }
  .header__search {
    display: inline-block;
    margin-left: auto; }
    @media (max-width: 75em) {
      .header__search {
        margin: 0; } }
    @media (max-width: 45.25em) {
      .header__search {
        margin-top: 3rem; } }

.mixitup-layout__2col .mixitup > .mixitup__gallery:after {
  content: "";
  display: table;
  clear: both; }

.mixitup-layout__2col .mixitup > .mixitup__gallery .mix {
  width: calc(100%/2 - 3rem); }

.mixitup-layout__3col .mixitup > .mixitup__gallery:after {
  content: "";
  display: table;
  clear: both; }

.mixitup-layout__3col .mixitup > .mixitup__gallery .mix {
  width: calc(100%/3 - 3rem); }

.mixitup-layout__4col .mixitup > .mixitup__gallery:after {
  content: "";
  display: table;
  clear: both; }

.mixitup-layout__4col .mixitup > .mixitup__gallery .mix {
  width: calc(100%/4 - 3rem); }

.page-title {
  background-color: #EBEBEB;
  padding: 2rem .5rem;
  color: #7F8C8C;
  position: relative;
  border: 4px solid transparent; }
  .page-title .flex-container {
    -webkit-box-pack: justify;
            justify-content: space-between; }
  .page-title__heading {
    text-transform: uppercase;
    font-size: 2rem;
    font-weight: 600; }
  .page-title__breadcrumbs-items {
    float: left;
    font-size: 1.2rem; }
    .page-title__breadcrumbs-items span {
      margin: 0 .7rem; }
  .page-title:after, .page-title:before {
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none; }
  .page-title:after {
    border-color: rgba(235, 235, 235, 0);
    border-top-color: #EBEBEB;
    border-width: 25px;
    margin-left: -25px; }
  .page-title:before {
    border-color: rgba(0, 0, 0, 0);
    border-top-color: transparent;
    border-width: 36px;
    margin-left: -36px; }

.sidebar {
  color: #E1524A;
  padding: 0 1rem; }
  .sidebar a {
    color: inherit; }
  .sidebar > *:not(:last-child) {
    margin-bottom: 3rem; }
  .sidebar__list {
    padding: 0 2rem; }
  .sidebar__headline {
    font-size: 1.6rem;
    font-weight: 800;
    text-transform: uppercase;
    color: #7F8C8C;
    margin-bottom: 2.2rem; }
  .sidebar__categories--item {
    display: block; }
    .sidebar__categories--item:not(:last-child) {
      margin-bottom: .7rem; }
  .sidebar__categories--link {
    font-size: 1.4rem;
    font-weight: 600;
    text-transform: uppercase;
    margin-left: 1rem; }
    .sidebar__categories--link:hover {
      color: #75C6BF;
      text-decoration: underline; }
  .sidebar__recent .sidebar__list {
    padding: 0; }
  .sidebar__recent--item {
    display: block;
    font-weight: 600;
    font-size: 1.4rem;
    padding: 1.5rem 0;
    border-bottom: 1px solid #C1C7C8; }
    .sidebar__recent--item span {
      display: block;
      font-size: 1.2rem;
      color: #7F8B8B;
      font-weight: 400; }
      .sidebar__recent--item span:hover {
        text-decoration: none; }
  .sidebar__recent--post:hover {
    text-decoration: underline;
    color: #75C6BF; }
  .sidebar__tags--item {
    display: inline-block;
    padding: .3rem .7rem;
    background-color: #7F8B8B;
    color: #fff !important;
    font-size: 1.4rem;
    border-radius: 5px;
    margin: .3rem;
    -webkit-transition: all .3s;
    transition: all .3s; }
    .sidebar__tags--item:hover {
      background-color: #E1524A; }
  .sidebar__archive__list {
    padding: 0 2rem; }
  .sidebar__archive--item {
    padding-left: 1rem;
    display: block;
    margin-bottom: 1rem; }
    .sidebar__archive--item::before {
      color: #7F8B8B; }
    .sidebar__archive--item a {
      margin-left: 1rem;
      font-size: 1.5rem; }
      .sidebar__archive--item a:hover {
        color: #75C6BF;
        text-decoration: underline; }
  .sidebar__newsletter label {
    display: block;
    font-size: 1.4rem;
    margin-bottom: 1rem; }
  .sidebar__newsletter input[type='email'] {
    padding: 1rem;
    margin-bottom: 1.5rem;
    border-radius: 3px;
    outline: none;
    border: 1px solid lightgray;
    font-size: 1.5rem; }
  .sidebar__newsletter input[type="submit"] {
    font-size: 1.5rem;
    width: 100%;
    border: none;
    outline: none; }

.section-services {
  padding: 5rem 0; }
  .section-services__heading {
    margin-bottom: 6rem;
    line-height: 2; }

.section-showcase {
  background-color: #EBEBEB;
  padding-top: 5.5rem; }
  .section-showcase::before {
    height: 2rem; }

.section-testimonials {
  padding: 15rem 0 10rem 0; }
  @media (max-width: 37.5em) {
    .section-testimonials .flex-1 {
      width: 90% !important;
      text-align: center;
      padding: 0; }
    .section-testimonials .flex-2 {
      margin-bottom: 3rem; }
    .section-testimonials .flex-1:first-child {
      margin-bottom: 2.5rem; }
    .section-testimonials .flex-2 {
      -webkit-box-flex: 0;
              flex: 0 0 85%; } }

.section-about-us {
  padding: 4rem 0; }
  .section-about-us .heading-secondary {
    font-weight: 400;
    text-transform: none; }

.section-team {
  padding: 5rem 0;
  background-color: #EBEBEB; }
  .section-team::before {
    height: 2rem; }

.solution {
  padding: 5rem 0; }
  .solution .heading-secondary {
    font-weight: 400; }

.section-prices {
  padding: 8rem 0;
  background-color: #EBEBEB; }
  .section-prices::before {
    height: 2rem; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MiLCJtYWluLmNzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmVydGljYWwtcmh5dGhtLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZhcmlhYmxlcy5zY3NzIiwiYWJzdHJhY3RzL19taXhpbnMuc2NzcyIsImJhc2UvX2FuaW1hdGlvbnMuc2NzcyIsImJhc2UvX2Jhc2Uuc2NzcyIsImFic3RyYWN0cy9fdmFyaWFibGVzLnNjc3MiLCJiYXNlL190eXBvZ3JhcGh5LnNjc3MiLCJiYXNlL191dGlsaXRpZXMuc2NzcyIsImNvbXBvbmVudHMvX2Fycm93LWNsb3VkLnNjc3MiLCJjb21wb25lbnRzL19ibG9nLnNjc3MiLCJjb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL19jbGllbnRzLnNjc3MiLCJjb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiY29tcG9uZW50cy9faGVhZGluZ3Muc2NzcyIsImNvbXBvbmVudHMvX2hvdmVyLXBvcHVwLnNjc3MiLCJjb21wb25lbnRzL19pbmZvLWJsb2NrLnNjc3MiLCJjb21wb25lbnRzL19saXN0LXN0eWxlLnNjc3MiLCJjb21wb25lbnRzL19sb2dvLnNjc3MiLCJjb21wb25lbnRzL19taXhpdHVwLnNjc3MiLCJjb21wb25lbnRzL19uYXZpZ2F0aW9uLnNjc3MiLCJjb21wb25lbnRzL19vdmVybGF5LnNjc3MiLCJjb21wb25lbnRzL19vd2wtY2Fyb3VzZWwuc2NzcyIsImNvbXBvbmVudHMvX3ByaWNpbmctdGFibGUuc2NzcyIsImNvbXBvbmVudHMvX3J1bGVyLnNjc3MiLCJjb21wb25lbnRzL19zZWFyY2gtYnV0dG9uLnNjc3MiLCJjb21wb25lbnRzL19zZXJ2aWNlcy5zY3NzIiwiY29tcG9uZW50cy9fc2hvd2Nhc2Uuc2NzcyIsImNvbXBvbmVudHMvX3RlYW0tY29tcG9zaXRpb24uc2NzcyIsImxheW91dC9fZmxleC5zY3NzIiwibGF5b3V0L19mb290ZXIuc2NzcyIsImxheW91dC9fZ3JpZC5zY3NzIiwibGF5b3V0L19oZWFkZXIuc2NzcyIsImxheW91dC9fbWl4aXR1cC1sYXlvdXQuc2NzcyIsImxheW91dC9fcGFnZS10aXRsZS5zY3NzIiwibGF5b3V0L19zaWRlYmFyLnNjc3MiLCJwYWdlcy9faG9tZS5zY3NzIiwicGFnZXMvX2Fib3V0LnNjc3MiLCJwYWdlcy9fc2VydmljZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyQ0UsZ0VBQUE7QUFHRTttRkM1QytFO0FEK0MvRTs7OztNQzFDRTtBRGdERjtFQWNJLGlCQUFpQjtFQUFFLE1BQUE7RUFFckIsMEJBQTBCO0VBQUUsTUFBQTtFQUM1Qiw4QkFBOEI7RUFBRSxNQUFBLEVBQU87O0FBS3pDO21GQzVEK0U7QUQrRC9FOztNQzVERTtBRGdFRjtFQUNFLFNBQVMsRUFBQTs7QUFHWDs7TUM5REU7QURrRUY7Ozs7OztFQU1FLGNBQWMsRUFBQTs7QUFHaEI7OztNQy9ERTtBRG9FRjtFRWhGRixjQVh1QztFRnNHakMsZ0JBQWdCLEVBQUE7O0FBc0NwQjttRkMvRytFO0FEdUovRTs7TUNwSkU7QUR3SkY7O0VBRUUsY0FBYyxFQUFBOztBQUdoQjs7TUN0SkU7QUQwSkY7RUFLSSxnQkd6TFksRUFBQTs7QUg2TGhCOzs7TUM1SkU7QURpS0Y7RUFDRSx1QkFBdUI7RUFBRSxNQUFBO0VBQ3pCLFNBQVM7RUFBRSxNQUFBO0VBQ1gsaUJBQWlCO0VBQUUsTUFBQSxFQUFPOztBQUc1Qjs7TUM1SkU7QURnS0Y7RUFDRSxjQUFjLEVBQUE7O0FBY2hCOzs7TUN4S0U7QUQ2S0Y7RUFDRSxpQ0FBaUM7RUFBRSxNQUFBO0VBQ25DLGNBQWM7RUFBRSxNQUFBLEVBQU87O0FBS3pCO21GQzVLK0U7QUQrSy9FOzs7TUMzS0U7QURnTEY7RUFDRSw2QkFBNkI7RUFBRSxNQUFBO0VBQy9CLHFDQUFxQztFQUFFLE1BQUEsRUFBTzs7QUFLaEQ7bUZDL0srRTtBRGtML0U7OztNQzlLRTtBRG1MRjtFQUNFLG1CQUFtQjtFQUFFLE1BQUE7RUFDckIsMEJBQTBCO0VBQUUsTUFBQTtFQUM1Qix5Q0FBaUM7VUFBakMsaUNBQWlDO0VBQUUsTUFBQSxFQUFPOztBQUc1Qzs7TUM5S0U7QURrTEY7O0VBRUUsb0JBQW9CLEVBQUE7O0FBR3RCOztNQ2hMRTtBRDJLRjs7RUFXRSxtQkFBbUIsRUFBQTs7QUFHckI7OztNQ2pMRTtBRHNMRjs7O0VBR0UsaUNBQWlDO0VBQUUsTUFBQTtFQUNuQyxjQUFjO0VBQUUsTUFBQSxFQUFPOztBQUd6Qjs7TUNsTEU7QURzTEY7RUFDRSxrQkFBa0IsRUFBQTs7QUFHcEI7O01DcExFO0FEd0xGO0VBQ0Usc0JBQXNCO0VBQ3RCLFdBQVcsRUFBQTs7QUFHYjs7TUN0TEU7QUQwTEY7RUFDRSxjQUFjLEVBQUE7O0FBR2hCOzs7TUN2TEU7QUQ0TEY7O0VBRUUsY0FBYztFQUNkLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsd0JBQXdCLEVBQUE7O0FBRzFCO0VBQ0UsZUFBZSxFQUFBOztBQUdqQjtFQUNFLFdBQVcsRUFBQTs7QUFLYjttRkMvTCtFO0FEa00vRTs7TUMvTEU7QURtTUY7O0VBRUUscUJBQXFCLEVBQUE7O0FBR3ZCOztNQ2pNRTtBRHFNRjtFQUNFLGFBQWE7RUFDYixTQUFTLEVBQUE7O0FBR1g7O01Dbk1FO0FEdU1GO0VBQ0Usa0JBQWtCLEVBQUE7O0FBR3BCOztNQ3JNRTtBRHlNRjtFQUNFLGdCQUFnQixFQUFBOztBQUtsQjttRkMxTStFO0FENk0vRTs7O01Dek1FO0FEOE1GOzs7OztFQUtFLHVCQUFnRTtFQUFHLE1BQUE7RUFDbkUsZUFBZTtFQUFFLE1BQUE7RUFLZixpQkFBaUI7RUFBRSxNQUFBO0VBRXJCLFNBQVM7RUFBRSxNQUFBLEVBQU87O0FBR3BCOztNQzdNRTtBRGlORjtFQUNFLGlCQUFpQixFQUFBOztBQUduQjs7O01DOU1FO0FEbU5GOztFQUNTLE1BQUE7RUFDUCxvQkFBb0IsRUFBQTs7QUFHdEI7Ozs7TUM5TUU7QURvTkY7Ozs7RUFJRSwwQkFBMEI7RUFBRSxNQUFBLEVBQU87O0FBR3JDOzs7O0VBS0U7O1FDbE5FO0VEMk5GOztRQ3hORSxFRDBOQztFQWhCTDs7OztJQVVJLGtCQUFrQjtJQUNsQixVQUFVLEVBQUE7RUFYZDs7OztJQW1CSSw4QkFBOEIsRUFBQTs7QUFJbEM7O01DbE5FO0FEc05GO0VBQ0UsaUJBQWlCLEVBQUE7O0FBR25COzs7TUNuTkU7QUFDTjs7RUR5Tk0sc0JBQXNCO0VBQUUsTUFBQTtFQUN4QixVQUFVO0VBQUUsTUFBQSxFQUFPOztBQUdyQjs7TUNwTkU7QUFDTjs7RUR5Tk0sWUFBWSxFQUFBOztBQUdkOzs7TUNyTkU7QUFDTjtFRDBOTSw2QkFBNkI7RUFBRSxNQUFBO0VBQy9CLG9CQUFvQjtFQUFFLE1BQUE7RUFFdEI7O1FDdE5FLEVEd05DO0VDdk5QO0lEMk5NLHdCQUF3QixFQUFBOztBQUk1Qjs7O01Dek5FO0FEOE5GO0VBQ0UsMEJBQTBCO0VBQUUsTUFBQTtFQUM1QixhQUFhO0VBQUUsTUFBQSxFQUFPOztBQUd4Qjs7TUMxTkU7QUQ4TkY7RUFDRSw4QkFBOEIsRUFBQTs7QUFHaEM7Ozs7O01Dek5FO0FEZ09GO0VBQ0Usc0JBQXNCO0VBQUUsTUFBQTtFQUN4QixjQUFjO0VBQUUsTUFBQTtFQUNoQixlQUFlO0VBQUUsTUFBQTtFQUNqQixVQUFVO0VBQUUsTUFBQTtFQUNaLGNBQWM7RUFBRSxNQUFBO0VBQ2hCLG1CQUFtQjtFQUFFLE1BQUEsRUFBTzs7QUFHOUI7OztNQ3ZORTtBRDRORjtFQUNFLHFCQUFxQjtFQUFFLE1BQUE7RUFDdkIsd0JBQXdCO0VBQUUsTUFBQSxFQUFPOztBQUduQzs7TUN4TkU7QUQ0TkY7RUFDRSxjQUFjLEVBQUE7O0FBS2hCO21GQzdOK0U7QURnTy9FOztNQzdORTtBRGlPRjtFQUNFLGNBQWMsRUFBQTs7QUFHaEI7O01DL05FO0FEbU9GO0VBQ0Usa0JBQWtCLEVBQUE7O0FBR3BCOztNQ2pPRTtBRHFPRjtFQUNFLGNBQWMsRUFBQTs7QUF5QmhCO21GQzFQK0U7QUQ2UC9FOztNQzFQRTtBRDhQRjtFQUNFLHFCQUFxQixFQUFBOztBQUd2Qjs7TUM1UEU7QURnUUY7RUFDRSxhQUFhLEVBQUE7O0FBS2Y7bUZDalErRTtBRG9RL0U7O01DalFFO0FBQ047RURxUU0sYUFBYSxFQUFBOztBSTFvQm5COzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NIMlpDO0FJdmFEO0VBQ0k7SUFDSSwrQ0FBc0M7WUFBdEMsdUNBQXNDLEVBQUE7RUFHMUM7SUFDSSxnRUFBdUQ7WUFBdkQsd0RBQXVELEVBQUE7RUFHM0Q7SUFDSSw2REFBb0Q7WUFBcEQscURBQW9ELEVBQUEsRUFBQTtBQVY1RDtFQUNJO0lBQ0ksK0NBQXNDO1lBQXRDLHVDQUFzQyxFQUFBO0VBRzFDO0lBQ0ksZ0VBQXVEO1lBQXZELHdEQUF1RCxFQUFBO0VBRzNEO0lBQ0ksNkRBQW9EO1lBQXBELHFEQUFvRCxFQUFBLEVBQUE7O0FBSzVEO0VBQ0k7SUFDSSwrQ0FBc0M7WUFBdEMsdUNBQXNDLEVBQUE7RUFHMUM7SUFDSSxpRUFBd0Q7WUFBeEQseURBQXdELEVBQUE7RUFHNUQ7SUFDSSw2REFBb0Q7WUFBcEQscURBQW9ELEVBQUEsRUFBQTs7QUFWNUQ7RUFDSTtJQUNJLCtDQUFzQztZQUF0Qyx1Q0FBc0MsRUFBQTtFQUcxQztJQUNJLGlFQUF3RDtZQUF4RCx5REFBd0QsRUFBQTtFQUc1RDtJQUNJLDZEQUFvRDtZQUFwRCxxREFBb0QsRUFBQSxFQUFBOztBQ3pCNUQ7OztFQUdJLFNBQVM7RUFDVCxVQUFVO0VBQ1YsbUJBQW1CLEVBQUE7O0FOa0RuQjtFTTdDQSxnQkFBZ0IsRUFBQTtFRnlDWjtJSklKO01NMUNJLGlCQUFpQixFQUFBLEVBWXhCO0VGcUJPO0lKU0o7TU10Q0ksY0FBYyxFQUFBLEVBUXJCOztBTjJERztFTXhEQSxzQkFBc0I7RUFDdEIseUJBQXlCLEVBQUE7O0FBRzdCO0VBQ0kseUJDakJtQjtFRGtCbkIsV0NoQ2MsRUFBQTs7QUQ4QmxCO0VBQ0kseUJDakJtQjtFRGtCbkIsV0NoQ2MsRUFBQTs7QURtQ2xCOzs7RUFHSSxxQkFBcUI7RUFDckIsV0N2Q2MsRUFBQTtFRG1DbEI7OztJQU9RLDBCQUEwQixFQUFBO0lBUGxDOzs7TUFVWSxjQzFCYSxFQUFBOztBUDJMckI7RU0zSkEsU0FBUyxFQUFBOztBTitCVDtFUW5GQSxvQ0FBb0M7RUFDcEMsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixjRENnQixFQUFBOztBRUhwQjtFQUNJLGdCQUFnQixFQUFBOztBQUdwQjtFQUNJLGdCQUFnQixFQUFBOztBQUdwQjtFQUNJLGdCQUFnQixFQUFBOztBQUdwQjtFQUNJLHlCQUFrQyxFQUFBOztBQU10QztFQUNJLHlCQUF5QixFQUFBOztBQUU3QjtFQUNJLHlCRmpCa0IsRUFBQTs7QUVvQnRCO0VBQ0kseUJBQThCO1VBQTlCLDhCQUE4QixFQUFBOztBTE8xQjtFS0FKO0lBRVEsd0JBQXVCLEVBQUEsRUFFOUI7O0FMTUc7RUtMSjtJQUVRLHdCQUF1QixFQUFBLEVBRTlCOztBTE1HO0VLTEo7SUFFUSx3QkFBdUIsRUFBQSxFQUU5Qjs7QUxNRztFS0xKO0lBRVEsd0JBQXVCLEVBQUEsRUFFOUI7O0FDdkRMO0VBQ0ksa0JBQWtCLEVBQUE7RUFEdEI7SUFHUSxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLFVBQVU7SUFDViw4QkFBOEIsRUFBQTtFQUVqQztJQUVHLFVBQVU7SUFDVixVQUFVLEVBQUE7RUFIYjtJQU1PLDRCQUFxRCxFQUFBO0VBTjVEO0lBU08sNEJIS3NDLEVBQUE7RUdGN0M7SUFFTyxhQUFhO0lBQ2IsVUFBVSxFQUFBO0VBSGpCO0lBTU8sc0JIeEJNO0lHeUJOLHdCSHpCTSxFQUFBO0VHNEJkO0lBQ0kseUJBQWtELEVBQUE7RUFFdEQ7SUFDSSx5QkhaMEMsRUFBQTtFR2M5QztJQUNJLHNCSG5DVSxFQUFBOztBSUZsQjtFQUVJLGNKSXNCO0VJSHRCLDRCQUEyQixFQUFBO0VQRjNCO0lBQ0ksV0FBVztJQUNYLGNBQWM7SUFDZCxXQUFXLEVBQUE7RU9BZjtJQUVJLFdBQVcsRUFBQTtFQUVmO0lBQ0ksOEJBQThCO0lBQzlCLGtCQUFrQjtJQUNsQixrQkFBa0IsRUFBQTtFQUd0QjtJQUNJLFVBQVUsRUFBQTtFQUtkO0lBRUksb0JBQW9CLEVBQUE7SVByQnhCO01BQ0ksV0FBVztNQUNYLGNBQWM7TUFDZCxXQUFXLEVBQUE7SU9nQmQ7TUFJTyxXQUFXLEVBQUE7SUFKbEI7TUFPRyxlQUFlLEVBQUE7SUFQbEI7TUFVRyxnQ0psQmMsRUFBQTtFSXVCbEI7SUFFSSxrQkFBa0I7SUFDbEIsZ0JBQWdCLEVBQUE7SUFIbkI7TUFLTyxrQkFBa0I7TUFDbEIsb0JBQWE7TUFBYixhQUFhO01BQ2IseUJBQW1CO2NBQW5CLG1CQUFtQjtNQUNuQix3QkFBdUI7Y0FBdkIsdUJBQXVCO01BQ3ZCLDRCQUFzQjtNQUF0Qiw2QkFBc0I7Y0FBdEIsc0JBQXNCO01BQ3RCLGFBQWE7TUFDYixjQUFjLEVBQUE7SUFYckI7TUFjTyxtQkFBbUIsRUFBQTtJQUV2QjtNQUNJLHlCSjNDVTtNSTRDVixvQ0FBc0QsRUFBQTtNQUN0RDtRQUNJLGVBQWUsRUFBQTtNQUVuQjtRQUNJLGVBQWU7UUFDZixnQkFBZ0IsRUFBQTtJQUd4QjtNQUNJLHlCSnhEVTtNSXlEVixvQ0FBc0QsRUFBQTtNQUZ6RDtRQUlPLFdKaEVFO1FJaUVGLGVBQWU7UUFDZixtQkFBbUIsRUFBQTtFQUkvQjtJQUNJLFVBQVU7SUFDVixpQkFBaUIsRUFBQTtFQUVyQjtJQUNJLFdBQVc7SUFDWCxpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUVsQixtQkFBbUIsRUFBQTtFQUV2QjtJQUNJLGNKckVlO0lJc0VmLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsZUFBZSxFQUFBO0lBSmxCO01BTU8sY0pyRWEsRUFBQTtFSXdFckI7OztJQU1JLGNKOUVpQixFQUFBO0VJZ0ZyQjtJQUNJLHdCQUF3QixFQUFBO0lBRDNCO01BR08sMkJBQW1CO01BQW5CLG1CQUFtQixFQUFBO0lBSDFCO01BTU8sY0ozRlcsRUFBQTtJSXFGbEI7TUFTTyx3QkFBd0I7TUFDeEIsY0ovRlcsRUFBQTtFSXNHbkI7SUFDSSxtQkFBbUI7SUFDbkIsZ0JBQWdCLEVBQUE7RUFFbkI7SUFFTywwQkFBMEIsRUFBQTtFQUZqQztJQUtPLGdCQUFnQjtJQUNoQixpQkFBaUIsRUFBQTs7QUNoSTdCO0VBQ0ksNEJBQW9CO0VBQXBCLG9CQUFvQjtFQUNwQixrQkFBa0I7RUFDbEIsbUNBQTJCO1VBQTNCLDJCQUEyQjtFQUMzQixVQUFVO0VBQ1YsZUFBZTtFQUNmLHFCQUFxQjtFQUNyQixrQkx3QmlCLEVBQUE7RUtyQmpCO0lBQ0ksb0JBQW9CO0lBQ3BCLGVBQWUsRUFBQTtJQUNmO01BQ0kseUJBQXlCO01BQ3pCLGdCQUFnQixFQUFBO0lBRXBCO01BQ0kscUJBQXFCO01BQ3JCLGdCQUFnQjtNQUNoQixXTGxCTSxFQUFBO01LZVQ7UUFLTyxlQUFlO1FBQ2YsV0xyQkUsRUFBQTtRS2VUO1VBU1csa0JBQWtCLEVBQUE7SUFoQmpDO01Bc0JPLHlCTHhCVSxFQUFBO01LRWpCO1FBd0JXLHlCQUErQztRQUMvQyxtRkFBOEYsRUFBQTtJQXpCekc7O01BNkJPLHlCTGxCYSxFQUFBO01LWHBCOztRQStCVyx5QkFBK0M7UUFDL0MsbUZBQThGLEVBQUE7SUFoQ3pHO01Bb0NPLHlCTDlCVyxFQUFBO01LTmxCO1FBc0NXLHlCQUE2QztRQUM3QyxvRkFBNEYsRUFBQTtFQVN2RztJQUtXLHlCQUFrRDtJQUNsRCxvRkFBNEYsRUFBQTtFQU52RztJQVVXLHlCTC9DUztJS2dEVCxrRkFBOEYsRUFBQTtFQVh6Rzs7OztJQW1CVyx5Qkx4RFM7SUt5RFQsbUZBQThGLEVBQUE7RUE5RTlHO0lBc0ZRLG1DQUEyQjtZQUEzQiwyQkFBMkIsRUFBQTtFQXRGbkM7SUF5RlEsK0NBQXNDO1lBQXRDLHVDQUFzQztJQUN0Qyx5Q0x2RlUsRUFBQTs7QU1EZDtFQUNJLG9CQUFhO0VBQWIsYUFBYTtFQUNiLHlCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsV0FBVyxFQUFBO0VBQ1g7SUFDSSxxQkFBcUIsRUFBQTtFQUV6QjtJQUNJLFdBQVc7SUFDWCxjQUFjO0lBQ2QsV0FBVztJQUNYLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLGtCQUFrQixFQUFBO0lBUHJCO01BU08sV0FBVztNQUNYLFdBQVc7TUFDWCxZQUFZO01BQ1osa0JBQWtCO01BQ2xCLHlCQUF5QjtNQUN6QixrQkFBa0I7TUFDbEIsUUFBUTtNQUNSLG1DQUEyQjtjQUEzQiwyQkFBMkI7TUFDM0IsT0FBTyxFQUFBO0lUb0JmO01TckNBO1FBcUJRLGNBQWMsRUFBQSxFQUtyQjtJVENEO01TM0JBO1FBd0JRLGFBQWEsRUFBQSxFQUVwQjs7QUNuQ1Q7RUFJSSxrQkFBa0IsRUFBQTtFVnFDZDtJVXpDUjtNQUVRLGFBQWEsRUFBQSxFQWtEcEI7RUEvQ0c7SUFDSSxrQkFBa0I7SUFDbEIsU0FBUztJQUNULE9BQU87SUFDUCxlQUFlO0lBQ2YsYUFBYTtJQUViLDJCQUFtQjtJQUFuQixtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLFVBQVU7SUFDVixrQkFBa0IsRUFBQTtFQUV0QjtJQUNHLGNBQWMsRUFBQTtFQUtqQjtJQUNJLHlCUEhpQjtJT0lqQixjQUFjO0lBQ2QsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLGtCQUFrQixFQUFBO0lBUHJCO01BVU8seUJQakJXLEVBQUE7RU91QmxCO0lBRU8saUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixVQUFVLEVBQUE7RUFKakI7SUFPTyxtQkFBbUIsRUFBQTtFQVAxQjtJQVVPLGtDQUEwQjtZQUExQiwwQkFBMEIsRUFBQTs7QUNoRHRDO0VBRUksc0JBQXNCLEVBQUE7RVhGdEI7SUFDSSxXQUFXO0lBQ1gsY0FBYztJQUNkLFdBQVcsRUFBQTtFV0huQjtJQUlRLFdBQVcsRUFBQTtFQUpuQjtJQU9RLFlBQVksRUFBQTs7QUFJcEI7RUFDSSxpQkFBaUIsRUFBQTtFQUNqQjtJQUNJLGNSVGtCO0lRVWxCLGVBQWU7SUFDZixnQkFBZ0IsRUFBQTtFQUVwQjtJQUNJLGNSZlk7SVFnQlosaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixjQUFjLEVBQUE7O0FBSXRCO0VBQ0ksZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixjUlRxQjtFUVVyQixrQkFBa0I7RUFDbEIseUJBQXlCLEVBQUE7RUFDekI7SUFDSSxjUjdCWTtJUThCWixjQUFjO0lBQ2QsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixvQkFBb0IsRUFBQTtFWEZwQjtJV1RSO01BZVEsZUFBZSxFQUFBLEVBRXRCOztBQUVEO0VBQ0ksZ0JBQWdCO0VBQ2hCLGNSMUNzQjtFUTJDdEIsaUJBQWlCLEVBQUE7O0FBRXJCO0VBQ0ksZ0JBQWdCO0VBQ2hCLGVBQWUsRUFBQTtFQUZuQjtJQUlRLGdCQUFnQixFQUFBOztBQ3ZEeEI7RUFDSSxrQkFBa0I7RUFDbEIsZ0JBQWdCLEVBQUE7RUFDaEI7SUFDSSxZQUFZO0lBQ1osV0FBVztJQUNYLG9CQUFhO0lBQWIsYUFBYTtJQUNiLDZCQUE2QjtJQUM3Qiw0QkFBc0I7SUFBdEIsNkJBQXNCO1lBQXRCLHNCQUFzQjtJQUN0QixlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixPQUFPO0lBQ1AsMkJBQW1CO0lBQW5CLG1CQUFtQixFQUFBO0lBR25CO01BQ0ksMkNURFc7TVNFWCxvREFBNkQsRUFBQTtFQUdyRTtJQUNJLGtCQUFrQixFQUFBO0VBS3RCO0lBQ0ksd0JBQXVCO1lBQXZCLHVCQUF1QjtJQUN2Qix5QkFBbUI7WUFBbkIsbUJBQW1CLEVBQUE7O0FDN0IzQjtFQUNJLGlCQUFpQixFQUFBO0VBQ2pCO0lBQ1EsZ0JBQWdCLEVBQUE7SWJpQ3BCO01haENDO1FBR1csa0JBQWtCLEVBQUEsRUFDckI7RUFLYjtJQUNJLGNBQWM7SUFDZCxjQUFjO0lBQ2Qsa0JBQWtCLEVBQUE7RUFFdEI7SUFDSSxnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixjQUFjLEVBQUE7RUFJbEI7SUFDSSxnQkFBZ0I7SUFDaEIsa0NBQWtDO0lBQ2xDLGtCQUFrQjtJQUNsQixvQ0FBMkIsRUFBQTtJQUMzQjtNQUNJLGtCQUFrQixFQUFBO0lBR3RCO01BQ0ksZ0JBQWdCO01BQ2hCLGlCQUFpQjtNQUNqQixjVmpDUTtNVWtDUixjQUFjO01BQ2Qsa0JBQWtCO01BQ2xCLGtCQUFrQjtNQUNsQixVQUFVO01BQ1YsY1YzQlcsRUFBQTtFSDhCZjtJYTlDUjtNQWlEWSwrQkFBd0I7TUFBeEIsd0JBQXdCO01BQ3hCLDBCQUEwQjtNQUMxQix3QkFBdUI7Y0FBdkIsdUJBQXVCLEVBQUE7SUFuRG5DO01BdURZLHVDQUFvQjtjQUFwQixvQkFBb0I7TUFDcEIsbUJBQWE7Y0FBYixhQUFhO01BQ2IsbUJBQW1CO01BQ25CLDJCQUEwQjtNQUMxQiwwQkFBMEIsRUFBQTtJQTNEdEM7TUE4RFkscUJBQXFCLEVBQUEsRUFDeEI7O0FDL0RUO0VBQ0ksZ0JBQWdCLEVBQUE7O0FBR3BCO0VBQ0kscUJBQXFCO0VBQ3JCLGtCQUFrQixFQUFBO0VBRnRCO0lBSVEsa0JBQWtCLEVBQUE7RUFFckI7SUFFTyxnQkFBZ0I7SUFDaEIsa0NBQWtDO0lBQ2xDLGdCQUFnQjtJQUNoQixjWE1hLEVBQUE7RVdIcEI7SUFFTyxnQkFBZ0I7SUFDaEIsa0NBQWtDO0lBQ2xDLGdCQUFnQjtJQUNoQixjWFBXO0lXUVgsaUJBQWlCLEVBQUE7RUFHeEI7SUFFTyxnQkFBZ0I7SUFDaEIsa0NBQWtDO0lBQ2xDLGdCQUFnQjtJQUNoQixjWGhCVztJV2lCWCxpQkFBaUIsRUFBQTs7QUNoQ3pCO0VBQ0ksaUJBQWlCLEVBQUE7RUFEcEI7SUFJTyxlQUFjLEVBQUE7O0FDSnRCO0VBQ0ksZ0JBQWdCLEVBQUE7O0FBR3BCO0VBQ0ksV2JKVTtFYUtWLHlCYkRrQjtFYUVsQixpQkFBaUI7RUFDakIsbUJBQW1CO0VBQ25CLHlCQUF5QjtFQUN6QixnQkFBZ0I7RUFDaEIsb0NBQW9DO0VBQ3BDLFlBQVk7RUFDWixlQUFlO0VBQ2YsbUNBQTJCO1VBQTNCLDJCQUEyQjtFQUMzQixrQkFBa0I7RUFDbEIsMkJBQW1CO0VBQW5CLG1CQUFtQjtFQUNuQixxREFBZ0U7RUFDNUQsa0JBQWtCLEVBQUE7RUFkekI7SUFnQk8sb0JBQW9CLEVBQUE7RUFoQjNCO0lBbUJPLG1DQUEyQjtZQUEzQiwyQkFBMkI7SUFDM0IsbUZBQXlGO0lBQ3pGLHlCYkxhLEVBQUE7RWFoQnBCO0lBd0JPLCtDQUFzQztZQUF0Qyx1Q0FBc0MsRUFBQTtFQXhCN0M7SUEyQk8sb0JBQW9CLEVBQUE7O0FBSTVCO0VBQ0ksV0FBVztFQUNYLGNBQWM7RUFFZCxrQkFBa0I7RUFDbEIsOEJBQXFCO1VBQXJCLHNCQUFxQjtFQUNyQiwyQkFBbUI7RUFBbkIsbUJBQW1CLEVBQUE7O0FBR3ZCO0VBQ0ksbUJBQW1CLEVBQUE7RUFEdEI7SUFHTyx1QkFBdUI7SUFDdkIsbUJBQW1CO0lBQ25CLGlCQUFpQjtJQUVqQixrQkFBa0I7SUFDbEIscUJBQXFCO0lBQ3JCLFdBQVc7SUFDWCw4Q2JqRGM7SWFrRGQsK0NibERjO0lhbURkLGdEYm5EYztJYW9EZCxrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLHFGQUEwRixFQUFBO0lBZmpHO01Ba0JXLG9CQUFhO01BQWIsYUFBYTtNQUNiLDhCQUFtQjtNQUFuQiw2QkFBbUI7Y0FBbkIsbUJBQW1CLEVBQUE7SUFuQjlCO01Bc0JXLGlCQUFpQjtNQUNqQixXYmxFRTtNYW1FRix5QkFBNEM7TUFDNUMsV0FBVztNQUNYLFlBQVk7TUFDWixrQkFBa0I7TUFDbEIsb0JBQWE7TUFBYixhQUFhO01BQ2IseUJBQW1CO2NBQW5CLG1CQUFtQjtNQUNuQiwyQkFBbUI7TUFBbkIsbUJBQW1CO01BQ25CLHdCQUF1QjtjQUF2Qix1QkFBdUI7TUFDdkIsMkNiMUVFLEVBQUE7TWEwQ2I7UUFrQ2Usa0JBQWtCLEVBQUE7TUFsQ2pDO1FBcUNlLHlCYjdESztRYThETCxtQ0FBMkI7Z0JBQTNCLDJCQUEyQixFQUFBO0lBdEMxQztNQTBDVyxXYnJGRTtNYXNGRixpQkFBaUI7TUFDakIsZ0JBQWdCLEVBQUE7SUE1QzNCO01BaURXLFNBQVMsRUFBQTtJQWpEcEI7TUFvRFcsMkJBQW1CO2NBQW5CLG1CQUFtQixFQUFBOztBQWtCbkM7RUFDSSx5QkFBeUI7RUFDekIsa0RBQXNELEVBQUE7RUFGMUQ7SUFJUSx5QkFBeUI7SUFDekIsa0ZBQStFLEVBQUE7RUFMdkY7SUFRUSxpRkFBK0UsRUFBQTs7QUMzSHZGO0VBQ0ksb0JBQWE7RUFBYixhQUFhO0VBQ2IsV0FBVztFQUNYLHlCQUE4QjtVQUE5Qiw4QkFBOEI7RUFDOUIsc0JBQXFCO1VBQXJCLHFCQUFxQixFQUFBO0VBQ3JCO0lBQ0ksb0JBQWE7SUFBYixhQUFhLEVBQUE7RUFFakI7SUFDSSxpQkFBaUI7SUFDakIseUJBQXlCO0lBQ3pCLG9CQUFvQixFQUFBO0lBSHZCO01BS08sbUJBQW1CLEVBQUE7SUFMMUI7TUFRTyxrQkFBa0I7TUFDbEIsVUFBVTtNQUNWLGlCQUFpQjtNQUNqQiwyQkFBbUI7TUFBbkIsbUJBQW1CLEVBQUE7RUFHM0I7SUFDSSxxQkFBcUI7SUFDckIscUJBQXFCO0lBQ3JCLGtCQUFrQixFQUFBOztBQUt0QjtFQUNJLGFBQWEsRUFBQTs7QUFFakI7RUFDSSxhQUFhO0VBQ2IsWUFBWTtFQUNaLFdkbENVO0VjbUNWLGVBQWU7RUFDZixlQUFlO0VBQ2YsVUFBVTtFQUNWLFdBQVc7RUFDWCx5Q2RwQmlCO0VjcUJqQixjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLFdBQVcsRUFBQTtFakJIWDtJaUJSSjtNQWFRLGNBQWMsRUFBQSxFQUVyQjs7QUFDRDtFQUNJLGtCQUFrQjtFQUNsQixTQUFTO0VBQ1QsUUFBUTtFQUNSLHdDQUErQjtVQUEvQixnQ0FBK0IsRUFBQTtFQUpsQztJQVFPLFdBQVc7SUFDWCxhQUFhO0lBQ2Isc0JkekRNO0ljMEROLHFCQUFxQixFQUFBO0VBWDVCO0lBZU8sV0FBVztJQUNYLGtCQUFrQjtJQUNsQixPQUFPO0lBQ1AsMkJBQW1CO0lBQW5CLG1CQUFtQixFQUFBO0VBbEIxQjtJQXFCTyxXQUFXLEVBQUE7RUFyQmxCO0lBeUJPLFVBQVUsRUFBQTtFQUlkO0lBQ0ksVUFBVTtJQUNWLGtCQUFrQjtJQUNsQix5Q0FBeUI7SUFBekIsaUNBQXlCO0lBQXpCLHlCQUF5QjtJQUF6QixnREFBeUI7SUFDekIsaUJBQWlCO0lBQ2pCLHlDQUFnQztZQUFoQyxpQ0FBZ0MsRUFBQTs7QUFHeEM7RUFDSSx5QmRsRWlCLEVBQUE7O0FjcUVyQjtFQUNJLDZCQUE2QixFQUFBOztBQUVqQztFQUNJLE1BQU07RUFDTixpQ0FBeUI7VUFBekIseUJBQXlCLEVBQUE7O0FBRTdCO0VBQ0ksTUFBTTtFQUNOLGtDQUEwQjtVQUExQiwwQkFBMEIsRUFBQTs7QUFFOUI7RUFDSSxxQkFBcUI7RUFDckIseUNBQWdDO1VBQWhDLGlDQUFnQztFQUNoQyxVQUFVO0VBQ1YsbUJBQW1CLEVBQUE7O0FBSzNCO0VBQ0ksVUFBVTtFQUNWLG1CQUFtQjtFQUNuQixVQUFVLEVBQUE7O0FBR2Q7RUFDSSw2QkFBNkI7RUFDN0IsZ0JBQWdCLEVBQUE7O0FBRXBCO0VBQ0ksa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixZQUFZLEVBQUE7O0FBS2hCO0VBQ0ksV0FBVyxFQUFBOztBakJ4RlA7RWlCekNSO0lBd0lRLDRCQUFzQjtJQUF0Qiw2QkFBc0I7WUFBdEIsc0JBQXNCO0lBQ3RCLGVBQWU7SUFDZixrQkFBa0I7SUFDbEIsVUFBVTtJQUNWLFFBQVE7SUFDUixhQUFhO0lBQ2IsZUFBZTtJQUNmLE1BQU07SUFDTixPQUFPO0lBQ1AsMkNkakllO0lja0lmLFdBQVc7SUFDWCx3QkFBdUI7WUFBdkIsdUJBQXVCO0lBQ3ZCLHlCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsMkJBQW1CO0lBQW5CLG1CQUFtQjtJQUNuQixvQkFBb0I7SUFDcEIsZ0RkdElzQztJY3VJdEMsK0NBQTRDLEVBQUE7SUFuSmhEO01BcUpRLDRCQUFzQjtNQUF0Qiw2QkFBc0I7Y0FBdEIsc0JBQXNCO01BQ3RCLFdBQVcsRUFBQTtJQW5KbkI7TUF3SlEsU0FBUyxFQUFBO01BeEpoQjtRQTJKVyxhQUFhLEVBQUE7RUFXekI7SUFDSSxlQUFlO0lBQ2YsUUFBUTtJQUNSLCtCQUF1QjtJQUF2Qix1QkFBdUI7SUFDdkIsYUFBYTtJQUNiLE1BQU07SUFDTixPQUFPO0lBQ1AsV0FBVztJQUNYLDJDZHBMVSxFQUFBLEVjc0xiOztBQ3ZMRDtFQUNJLGtCQUFrQjtFQUNsQiwyQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLGdDQUF3QjtFQUF4Qix3QkFBd0I7RUFDeEIsbUNBQTJCO1VBQTNCLDJCQUEyQjtFQUMzQixlQUFlLEVBQUE7RUFMbEI7SUFPTyxnQkFBZ0I7SUFDaEIsd0JBQXdCO0lBQ3hCLDJDZk1XO0llTFgsV0FBVztJQUNYLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsT0FBTztJQUNQLE1BQU07SUFDTixvQkFBYTtJQUFiLGFBQWE7SUFDYix3QkFBdUI7WUFBdkIsdUJBQXVCO0lBQ3ZCLHlCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLDJCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIseUNBQXlCO0lBQXpCLGlDQUF5QjtJQUF6Qix5QkFBeUI7SUFBekIsZ0RBQXlCO0lBQ3pCLG1DQUEyQjtZQUEzQiwyQkFBMkI7SUFDM0IsZUFBZSxFQUFBO0VBdEJ0QjtJQXlCTyw4QkFBc0I7WUFBdEIsc0JBQXNCLEVBQUE7RUF6QjdCO0lBNEJPLDJCQUFtQjtZQUFuQixtQkFBbUIsRUFBQTs7QUM3Qi9CO0VBQ0ksa0JBQWtCLEVBQUE7RUFDbEI7SUFFSSxzQkFBc0I7SUFDdEIsYUFBYTtJQUNiLDRCQUE0QjtJQUM1QiwyQkFBMkIsRUFBQTtJQUUzQjtNQUNJLCtDQUErQyxFQUFBO0lBRW5EO01BQ0ksK0NBQStDLEVBQUE7SUFFbkQ7TUFDSSwrQ0FBK0MsRUFBQTtFQUd2RDtJQUNJLGtCQUFrQjtJQUNsQixTQUFTO0lBQ1QsUUFBUTtJQUNSLHdDQUFnQztZQUFoQyxnQ0FBZ0M7SUFDaEMsa0JBQWtCO0lBQ2xCLFdoQnZCVSxFQUFBO0VnQnlCZDtJQUNJLG1CaEJQaUI7SWdCUWpCLGVBQWU7SUFDZixxQkFBcUI7SUFDckIseUJBQXlCO0lBQ3pCLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLHFCQUFxQixFQUFBO0VBRXpCO0lBQ0ksb0NBQXNDO0lBQ3RDLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGtCQUFrQixFQUFBO0VBMUMxQjs7SUFnRFksa0JBQWtCO0lBQ2xCLFFBQVE7SUFDUixtQ0FBMkI7WUFBM0IsMkJBQTJCO0lBRTNCLFdBQVc7SUFDWCxZQUFZO0lBQ1osV0FBVyxFQUFBO0lBdER2Qjs7TUF3RGdCLFdBQVc7TUFDWCxpQkFBaUI7TUFDakIsa0NBQWtDO01BQ2xDLGdCQUFnQjtNQUNoQix5QmhCdkNTO01nQndDVCxjQUFjO01BQ2QsV0FBVztNQUNYLFlBQVk7TUFDWixrQkFBa0I7TUFDbEIsa0JBQWtCO01BQ2xCLE9BQU87TUFDUCxNQUFNO01BQ04sMkJBQW1CO01BQW5CLG1CQUFtQjtNQUNuQixVQUFVLEVBQUE7SUFyRTFCOztNQXdFZ0IseUJBQStDO01BQy9DLG1GQUErRixFQUFBO0VBekUvRztJQTZFWSxPQUFPO0lBQ1AsMEJoQnBEcUIsRUFBQTtJZ0IxQmpDO01BZ0ZnQiwwQmhCdERpQixFQUFBO0lnQjFCakM7TUFtRmdCLGdCQUFnQjtNQUNoQiwwQmhCMURpQixFQUFBO0lnQjFCakM7TUF3RmdCLGlDQUF5QjtjQUF6Qix5QkFBeUI7TUFDekIsK0JBQXVCO2NBQXZCLHVCQUF1QjtNQUN2QiwwQ0FBa0M7Y0FBbEMsa0NBQWtDO01BQ2xDLG9DQUE0QjtjQUE1Qiw0QkFBNEI7TUFDNUIsNkNoQnpGRSxFQUFBO0lnQkhsQjtNQWdHZ0IsK0NBQXNDO2NBQXRDLHVDQUFzQyxFQUFBO0VBaEd0RDtJQW9HWSxRQUFRO0lBQ1IsMEJoQjFFb0IsRUFBQTtJZ0IzQmhDO01BdUdnQiwwQmhCNUVnQixFQUFBO0lnQjNCaEM7TUEwR2dCLGdCQUFnQjtNQUNoQiwwQmhCaEZnQixFQUFBO0lnQjNCaEM7TUE4R2dCLGdDQUF3QjtjQUF4Qix3QkFBd0I7TUFDeEIsK0JBQXVCO2NBQXZCLHVCQUF1QjtNQUN2QiwwQ0FBa0M7Y0FBbEMsa0NBQWtDO01BQ2xDLG9DQUE0QjtjQUE1Qiw0QkFBNEI7TUFDNUIsNkNoQi9HRSxFQUFBO0lnQkhsQjtNQXNIZ0IsK0NBQXNDO2NBQXRDLHVDQUFzQyxFQUFBO0VBdEh0RDtJQTBIWSxrQkFBa0I7SUFDbEIsU0FBUztJQUVULGVBQWU7SUFDZixtQ0FBMkI7WUFBM0IsMkJBQTJCLEVBQUE7SW5CN0huQztNQUNJLFdBQVc7TUFDWCxjQUFjO01BQ2QsV0FBVyxFQUFBO0VtQkpuQjtJQWlJWSxXQUFXO0lBQ1gsV0FBVztJQUNYLHlCaEIzSFU7SWdCNEhWLFdBQVcsRUFBQTtJQXBJdkI7TUFzSWdCLGtCQUFrQixFQUFBO0lBdElsQztNQXlJZ0IseUJoQnBIUyxFQUFBOztBZ0IySHpCO0VBTUksZ0JBQWdCLEVBQUE7RW5CbEhaO0ltQjRHUjtNQUdRLGFBQWEsRUFBQSxFQTRGcEI7RUF4Rkc7SUFDSSxnRGhCdEpVO0lnQnVKViwwQ2hCdkpVO0lnQndKVixhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLDJCQUEyQjtJQUMzQiw0QkFBNEI7SUFDNUIsb0JBQW9CO0lBQ3BCLDBDaEIxSlk7SWdCMkpaLGVBQWUsRUFBQTtJQVRsQjtNQVdPLHNCQUFzQixFQUFBO0lBRTFCO01BQ0ksNkNBQTZDLEVBQUE7SUFFakQ7TUFDSSwwQ0FBMEMsRUFBQTtJQUc5QztNQUNJLGdEQUFnRDtNQUNoRCxvQkFBb0IsRUFBQTtJQUV4QjtNQUNJLDJDQUEyQztNQUMzQyxvQkFBb0IsRUFBQTtJQUV4QjtNQUNJLDBDQUEwQyxFQUFBO0lBRTlDO01BQ0ksNkNBQTZDLEVBQUE7SUFFakQ7TUFDSSw0Q0FBNEMsRUFBQTtFQTFDeEQ7SUE4Q1Esa0JBQWtCO0lBQ2xCLFFBQVE7SUFDUixVQUFVO0lBQ1YsYUFBYTtJQUNiLG9CQUFhO0lBQWIsYUFBYSxFQUFBO0VBbERyQjs7SUFzRFEsa0JBQWtCO0lBQ2xCLFVBQVU7SUFDVixrQkFBa0IsRUFBQTtJQXhEMUI7O01BMERZLG1CQUFtQjtNQUNuQixxQkFBcUI7TUFDckIsa0NBQWtDO01BQ2xDLGdCQUFnQjtNQUNoQixpQkFBaUI7TUFDakIsYUFBYTtNQUNiLGNBQWM7TUFDZCxZQUFZO01BQ1osa0JBQWtCO01BQ2xCLGtCQUFrQjtNQUNsQixrQkFBa0I7TUFDbEIsZ0JBQWdCO01BQ2hCLFVBQVU7TUFDViw0QkFBb0I7TUFBcEIsb0JBQW9CLEVBQUE7SUF2RWhDOztNQTBFWSxvQkFBb0IsRUFBQTtJQTFFaEM7O01BNkVZLHlCaEJ4TWE7TWdCeU1iLG1GQUErRjtNQUMvRixtQ0FBMkI7Y0FBM0IsMkJBQTJCLEVBQUE7RUEvRXZDO0lBb0ZZLGdCQUFnQjtJQUNoQixPQUFPO0lBQ1Asb0JBQW9CLEVBQUE7RUF0RmhDO0lBMkZZLGdCQUFnQjtJQUNoQixRQUFRLEVBQUE7O0FDNU9wQjtFQUNJLGdCQUFnQjtFQUNoQixzQmpCQWM7RWlCQ2Qsa0JBQWtCO0VBQ2xCLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIsa0JBQWtCO0VBQ2xCLDJCQUFtQjtFQUFuQixtQkFBbUI7RUFDbkIscUZBQXFGLEVBQUE7RUFSekY7SUFVUSx5QmpCTWU7SWlCTGYsV2pCVFU7SWlCVVYsb0ZBQXVGLEVBQUE7RUFaL0Y7O0lBZ0JRLHlCakJLaUI7SWlCSmpCLGtGQUF3RixFQUFBO0VBRTVGO0lBRUkseUJqQmZrQjtJaUJnQmxCLGlCQUFpQjtJQUNqQixXakJyQlU7SWlCc0JWLG9CQUFvQjtJQUNwQixrQkFBa0I7SUFDbEIsVUFBVTtJQUNWLDJCQUFtQjtJQUFuQixtQkFBbUIsRUFBQTtFQUV2QjtJQUNJLGVBQWU7SUFDZix5QkFBeUI7SUFLekIsTUFBTTtJQUNOLFNBQVM7SUFDVCx3Q0FBK0I7WUFBL0IsZ0NBQStCLEVBQUE7SUFUbEM7TUFJTyx3Q0FBK0I7Y0FBL0IsZ0NBQStCLEVBQUE7RUFZdkM7SUFDSSxjQUFjO0lBQ2Qsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixpRGpCNUNZO0lpQjZDWixpQkFBaUIsRUFBQTtFQUdyQjtJQUNJLFNBQVM7SUFDVCxTQUFTO0lBQ1QsdUNBQThCO1lBQTlCLCtCQUE4QjtJQUM5QixtRkFBMEYsRUFBQTtJQUo3RjtNQU1PLHVDQUE4QjtjQUE5QiwrQkFBOEI7TUFDOUIseUJqQnZDYTtNaUJ3Q2IseUNBQWdDLEVBQUE7O0FDN0Q1QztFQUNJLGtCQUFrQixFQUFBO0VBRHRCO0lBSVEsY0FBYztJQUNkLFdBQVcsRUFBQTtFQUVkO0lBRUcsV0FBVztJQUNYLGlEQUFpRDtJQUNqRCxrQkFBa0I7SUFDbEIsTUFBTSxFQUFBOztBQ1pkO0VBRUksa0JBQWtCLEVBQUE7RUFDbEI7SUFDSSxxQkFBcUI7SUFDckIsb0JBQW9CO0lBQ3BCLGtCQUFrQjtJQUNsQixpQkFBaUIsRUFBQTtFQU1yQjtJQUVJLGFBQWEsRUFBQTtFQUVqQjtJQUNJLGtCQUFrQjtJQUNsQixRQUFRO0lBQ1IsV0FBVztJQUNYLDJCbkJBaUI7SW1CQ2pCLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YsMkJBQW1CO0lBQW5CLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbEIsYUFBYTtJQUNiLFlBQVksRUFBQTtJdEJjWjtNc0J4Qko7UUFhUSxPQUFPO1FBQ1AsV0FBVztRQUNYLDJCbkJYYSxFQUFBLEVtQmNwQjtFQUNEO0lBQ0ksbUJBQW1CO0lBQ25CLFVBQVUsRUFBQTs7QUN0Q2xCO0VBQ0ksa0JBQWtCO0VBQ2xCLHlCcEJPa0I7RW9CTmxCLG9DQUFvQztFQUNwQyxrQkFBa0I7RUFDbEIsa0JwQjBCaUI7RW9CekJqQixlQUFlO0VBQ2YsMkJBQW1CO0VBQW5CLG1CQUFtQjtFQUNuQiwyQ3BCSGdCO0VvQkloQixrREFBd0MsRUFBQTtFdkIyQnBDO0l1QnBDUjtNQVlRLDhCQUE4QjtNQUM5QixVQUFVO01BQ1YsY0FBYyxFQUFBLEVBMERyQjtFQXZERztJQUNJLGVBQWU7SUFDZixjcEJIZTtJb0JJZiw2QkFBcUI7SUFBckIscUJBQXFCLEVBQUE7SXZCZ0JyQjtNdUJuQko7UUFLUSxpQkFBaUIsRUFBQSxFQUV4QjtFQUNEO0lBQ0kscUJBQXFCO0lBQ3JCLHlCQUF5QixFQUFBO0VBRTdCO0lBQ0ksa0JBQWtCO0lBQ2xCLFNBQVM7SUFDVCxpREFBeUM7WUFBekMseUNBQXlDO0lBQ3pDLFVBQVU7SUFDVixxQkFBcUI7SUFDckIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsV0FBVztJQUNYLGVBQWU7SUFDZiw0QkFBb0I7SUFBcEIsb0JBQW9CLEVBQUE7SUFYdkI7TUFjTyxvREFBNEM7Y0FBNUMsNENBQTRDLEVBQUE7SUFkbkQ7TUFpQk8sZ0VBQXVEO2NBQXZELHdEQUF1RCxFQUFBO0VBRy9EO0lBQ0ksaUJBQWlCO0lBQ2pCLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIscUJBQXFCLEVBQUE7RUFyRDdCO0lBMkRRLHNCQUFzQjtJQUN0QixxQkFBcUIsRUFBQTtJQTVEN0I7TUE4RFksY3BCekNhLEVBQUE7SW9CckJ6QjtNQWlFZ0IseUJwQjVDUyxFQUFBO01vQnJCekI7UUFtRW9CLG1GQUE4RjtRQUM5RixrRUFBMEQ7Z0JBQTFELDBEQUEwRCxFQUFBOztBQ3BFOUU7RUFDSSxVQUFVO0VBQ1Ysb0JBQWE7RUFBYixhQUFhO0VBQ2Isa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCx3QkFBd0IsRUFBQTtFeEJ5Q3BCO0l3QjlDUjtNQVFRLFVBQVUsRUFBQSxFQThFakI7RUEzRUc7SUFDSSxtQnJCRmM7SXFCR2QsaUJBQWlCO0lBQ2pCLGlDQUFpQztJQUNqQyxxQkFBcUI7SUFDckIsbUJBQW1CO0lBQ25CLFVBQVU7SUFDViwyQkFBbUI7SUFBbkIsbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQixvQ0FBMkI7SUFDM0IsbUNBQTJCO1lBQTNCLDJCQUEyQixFQUFBO0lBVjlCO01BWU8sNkJBQXFCO2NBQXJCLHFCQUFxQjtNQUNyQixXQUFXO01BQ1gsbUJBQXFDO01BQ3JDLG1EQUF1QyxFQUFBO0lBRzNDO01BSU8sNEJBQVE7Y0FBUixRQUFRLEVBQUE7TUFKZDtRQUVPLDJCQUFtQjtnQkFBbkIsbUJBQW1CLEVBQUE7SUFLM0I7TUFDSSw0QkFBUTtjQUFSLFFBQVEsRUFBQTtNQURYO1FBR08sMkJBQW1CO2dCQUFuQixtQkFBbUIsRUFBQTtJQUkzQjtNQUNHLFVBQVU7TUFDViw4QkFBc0I7Y0FBdEIsc0JBQXNCO01BQ3RCLDRCQUFRO2NBQVIsUUFBUSxFQUFBO0VBSWY7SUFDSSxXQUFXO0lBQ1gsbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQixjQUFjLEVBQUE7RUFJbEI7SUFDSSxrQkFBa0I7SUFDbEIsVUFBVTtJQUNWLFdBQVcsRUFBQTtJQUNYO01BQ0ksV0FBVztNQUNYLFlBQVk7TUFDWixrQkFBa0I7TUFDbEIsc0JyQmhFTTtNcUJpRU4scUJBQXFCO01BQ3JCLG1CQUFtQixFQUFBO01BTnRCO1FBU08saUJBQWlCLEVBQUE7SUFJekI7TUFDSSxhQUFhO01BQ2IsYUFBYTtNQUNiLHNCckI1RU07TXFCNkVOLGtCQUFrQjtNQUNsQixxQkFBcUI7TUFDckIsa0JBQWtCO01BQ2xCLGFBQWE7TUFDYixVQUFVLEVBQUE7O0FDbkZ0QjtFQUNJLGtCQUFrQjtFQUNsQixjQUFjLEVBQUE7RUFGbEI7SUFNUSxTQUFTLEVBQUE7O0FBR2pCO0VBQ0ksY0FBYztFQUNkLGlCQUFpQjtFQUNqQixZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsV3RCZGM7RXNCZWQseUJ0QkRtQjtFc0JFbkIsb0ZBQXVGLEVBQUE7RUFDdEY7SUFHTyxrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLGlCQUFpQixFQUFBO0VBSXpCO0lBQ0ksMkJBQW1CO0lBQW5CLG1CQUFtQjtJQUNuQiw2QkFBcUI7WUFBckIscUJBQXFCLEVBQUE7RUFyQjdCO0lBd0JRLDJCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIseUJBQWlCO1lBQWpCLGlCQUFpQixFQUFBO0VBRXJCO0lBQ0ksb0JBQWE7SUFBYixhQUFhO0lBQ2IsNkJBQTZCLEVBQUE7SUFFN0I7TUFHSSxpQkFBaUI7TUFDakIseUJBQTRDO01BQzVDLFdBQVc7TUFDWCxZQUFZO01BQ1osbUJBQW1CO01BQ25CLG9CQUFhO01BQWIsYUFBYTtNQUNiLHlCQUFtQjtjQUFuQixtQkFBbUI7TUFDbkIsd0JBQXVCO2NBQXZCLHVCQUF1QjtNQUN2QiwyQkFBbUI7TUFBbkIsbUJBQW1CLEVBQUE7TUFYdEI7UUFhTyxtQkFBbUIsRUFBQTtNQWIxQjtRQWdCTyx5QnRCbkNTO1FzQm9DVCxtQ0FBMkI7Z0JBQTNCLDJCQUEyQjtRQUMzQixrRnRCdkRFLEVBQUE7TXNCcUNUO1FBcUJPLGtGdEIxREU7UXNCMkRGLDhCQUFxQjtnQkFBckIsc0JBQXFCLEVBQUE7RUFLakM7SUFDSSxpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsU0FBUztJQUNULG1DQUEyQjtZQUEzQiwyQkFBMkI7SUFDM0Isa0ZBQTBGLEVBQUE7SUFQN0Y7TUFTTyxvQ0FBNkMsRUFBQTtJQVRwRDtNQVlPLHdDQUFnQztjQUFoQyxnQ0FBZ0MsRUFBQTtJQVp2QztNQWVPLG9EQUEyQztjQUEzQyw0Q0FBMkM7TUFDM0MsaUZBQTBGLEVBQUE7O0FDbkZ0RztFQUNJLGlCdkJtQ2U7RXVCbENmLG9CQUFhO0VBQWIsYUFBYTtFQUNiLGNBQWM7RUFDZCx5QkFBbUI7VUFBbkIsbUJBQW1CLEVBQUE7RTFCK0NmO0kwQm5EUjtNQU9RLGlCQUFpQixFQUFBLEVBUXhCO0UxQitCTztJMEI5Q1I7TUFVUSwwQkFBMEIsRUFBQSxFQUtqQzs7QUNmRDtFQUNJLFd4QkNjLEVBQUE7RUhrQ1Y7STJCcENSO01BR1EseUJ4QmFlLEVBQUEsRXdCa0t0QjtFQWxMRDtJQU1RLFlBQVk7SUFDWixXQUFXLEVBQUE7RUFFZjtJQUNJLHlCeEJNZTtJd0JMZixpQkFBaUI7SUFDakIsc0JBQXNCLEVBQUE7STNCa0N0QjtNMkJyQ0g7UUFRVyxxQkFBb0IsRUFBQSxFQUN2QjtJM0JrQkw7TTJCM0JKO1FBWVEsVUFBVTtRQUNWLGNBQWMsRUFBQTtRQWJyQjtVQWVXLHNCQUFxQixFQUFBLEVBQ3hCO0lBS0w7TUFDSSxtQkFBbUIsRUFBQTtJQUV2QjtNQUNJLG1CQUFtQixFQUFBO01BRHRCO1FBR08sV0FBVyxFQUFBO01BSGxCO1FBTU8sWUFBWTtRQUNaLG9CQUFvQixFQUFBO01BRXhCO1FBQ0ksZUFBZTtRQUNmLGNBQWMsRUFBQTtNQUVsQjtRQUNJLG9CQUFvQjtRQUNwQixvQkFBb0IsRUFBQTtNQUV4QjtRQUNJLG9CQUFvQjtRQUNwQixjQUFjLEVBQUE7UUFGakI7VUFJTyxxQkFBcUIsRUFBQTtNQUc3QjtRQUNJLHFCQUFxQjtRQUNyQiw0QkFBb0I7UUFBcEIsb0JBQW9CO1FBQ3BCLG9DQUFvQztRQUNwQyxtQ0FBMkI7Z0JBQTNCLDJCQUEyQjtRQUMzQixnQ0FBd0I7Z0JBQXhCLHdCQUF3QjtRQUN4QixrQkFBa0IsRUFBQTtRQU5yQjtVQVFPLGdCQUFnQjtVQUNoQixrQ0FBa0M7VUFDbEMsZ0JBQWdCO1VBQ2hCLGVBQWU7VUFDZixZQUFZO1VBQ1osa0JBQWtCO1VBQ2xCLFdBQVc7VUFDWCxVQUFVO1VBQ1YsMENBQTBCO1VBQTFCLGtDQUEwQjtVQUExQiwwQkFBMEI7VUFBMUIsa0RBQTBCLEVBQUE7UUFoQmpDO1VBbUJPLGN4QnZESztVd0J3REwsK0NBQXVDO2tCQUF2Qyx1Q0FBdUM7VUFDdkMsZ0N4QnpESyxFQUFBO1F3Qm9DWjtVQXdCTyxZQUFZO1VBQ1osVUFBVTtVQUNWLFdBQVc7VUFDWCxpQ0FBeUI7a0JBQXpCLHlCQUF5QjtVQUN6QixjeEJoRUssRUFBQTtJd0JvRWpCO01BQ0ksVUFBVTtNQUNWLGtCQUFrQjtNQUNsQixtQkFBbUIsRUFBQTtNM0J4RHZCO1EyQnFEQTtVQUtRLFdBQVc7VUFDWCxTQUFTO1VBQ1QsVUFBVSxFQUFBLEVBK0NqQjtNQTdDRztRQUNJLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIscUJBQXFCLEVBQUE7UUFIeEI7VUFLTyxnQkFBZ0I7VUFDaEIseUJBQXlCO1VBQ3pCLGtCQUFrQjtVQUNsQixrQkFBa0IsRUFBQTtNQUcxQjtRQUVJLHFCQUFxQixFQUFBO1EzQjlHakM7VUFDSSxXQUFXO1VBQ1gsY0FBYztVQUNkLFdBQVcsRUFBQTtRMkJ5R047VUFJTyxxQkFBcUIsRUFBQTtVM0I3RWpDO1kyQnlFSztjQU9XLG1CQUFtQixFQUFBLEVBRTFCO01BRUw7UUFDSSxXQUFXO1FBQ1gsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixrQkFBa0I7UUFDbEIscUJBQXFCO1FBQ3JCLGdCQUFnQjtRQUNoQixXQUFXO1FBQ1gsa0JBQWtCLEVBQUE7UUFSckI7VUFXTyxXQUFXO1VBQ1gsY0FBYyxFQUFBO01BR3RCO1FBQ0ksZ0JBQWdCO1FBQ2hCLHFCQUFxQixFQUFBO01BRXpCO1FBQ0ksY0FBYztRQUNkLGdCQUFnQixFQUFBO0lBR3hCO01BQ0ksZ0JBQWdCLEVBQUE7TUFEbkI7UUFHTyxlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGtCQUFrQjtRQUNsQixtQkFBbUIsRUFBQTtFQUkvQjtJQUNJLHlCQUE0QztJQUU1QyxpQkFBaUIsRUFBQTtJM0I1SnJCO01BQ0ksV0FBVztNQUNYLGNBQWM7TUFDZCxXQUFXLEVBQUE7STJCMEpYO01BQ0ksV0FBVztNQUNYLGlCQUFpQixFQUFBO0lBRXJCO01BQ0ksWUFBWTtNQUNaLGlCQUFpQixFQUFBO01BRnBCO1FBS08sZ0N4QnJLRTtRd0JzS0YsMkJBQW1CO1FBQW5CLG1CQUFtQixFQUFBO1FBTjFCO1VBUVcsV3hCeEtGLEVBQUE7TXdCZ0tUO1FBWU8sb0JBQW9CLEVBQUE7O0FDOUtwQztFQUNJLGlCekJtQ2U7RXlCakNmLGNBQWMsRUFBQTtFQUhsQjtJQU1RLG1CekIrQmMsRUFBQTtJSFNkO000QjlDUjtRQVFZLG1CekI4QmdCLEVBQUEsRXlCNUJ2QjtFNUJ5Q0c7STRCbkRSO01BY1EsaUJBQWlCLEVBQUEsRUF5RnBCO0U1QnRHRDtJQUNJLFdBQVc7SUFDWCxjQUFjO0lBQ2QsV0FBVyxFQUFBO0U0QkpuQjtJQTBCUSxXQUFXLEVBQUE7SUExQm5CO01BNEJZLGtCekJZWSxFQUFBO01ITWhCO1E0QjlDUjtVQThCZ0IsZUFBZTtVQUNmLG1CekJPWSxFQUFBLEV5QkxuQjtJNUJhRDtNNEI5Q1I7UUFvQ1ksc0JBQXNCLEVBQUEsRUFHN0I7RTVCT0c7STRCOUNSO01BNkNnQixrQnpCTFEsRUFBQSxFeUJPZjtFNUJYRDtJNEJwQ1I7TUFpRFksc0JBQXNCLEVBQUEsRUFHN0I7RUFwREw7SUF1RFEsOEJBQStDLEVBQUE7RUF2RHZEO0lBMkRRLGtDQUFtRCxFQUFBO0VBM0QzRDtJQThEUSwrQ0FBaUYsRUFBQTtFQTlEekY7SUFpRVEsa0NBQW1ELEVBQUE7RUFqRTNEO0lBb0VRLCtDQUFpRixFQUFBO0VBcEV6RjtJQXVFUSxtREFBcUYsRUFBQTtFNUJ6QnJGO0k0QjlDUjtNQThFWSx5Q0FBMEQsRUFBQSxFQUtqRTtFNUIvQ0c7STRCcENSO01BaUZZLHNCQUFxQixFQUFBLEVBRTVCO0U1QnJDRztJNEI5Q1I7TUF1RlksNkNBQThELEVBQUEsRUFFckU7RTVCM0NHO0k0QjlDUjtNQTRGWSwwREFBMkYsRUFBQSxFQUVsRztFNUIxREc7STRCcENSO01BbUdZLGFBQWEsRUFBQSxFQUVwQjs7QUNyR0w7RUFDSSwyRDFCZW1CO0UwQmRuQixlQUFlO0VBQ2YsVzFCRGM7RTBCRWQsNkMxQkRjO0UwQkVkLG9CQUFvQixFQUFBO0U3QjhDaEI7STZCbkRSO01BVVEsZUFBZSxFQUFBO01BVnZCO1FBUVksNEJBQXNCO1FBQXRCLDZCQUFzQjtnQkFBdEIsc0JBQXNCLEVBQUEsRUFDekI7RUFHTDtJQUNHLHFCQUFxQjtJQUNyQixtQkFBbUIsRUFBQTtJN0JxQ2xCO002QnZDSjtRQUtPLGtCQUFrQixFQUFBLEVBRXhCO0VBR0Q7SUFDQSxxQkFBcUI7SUFDckIsaUJBQWlCLEVBQUE7STdCMkJiO002QjdCSjtRQUlJLFNBQVMsRUFBQSxFQUtaO0k3QlVHO002Qm5CSjtRQU9JLGdCQUFnQixFQUFBLEVBRW5COztBN0I5QkQ7RUFDSSxXQUFXO0VBQ1gsY0FBYztFQUNkLFdBQVcsRUFBQTs7QThCRmQ7RUFLVywwQkFBMEIsRUFBQTs7QTlCTnRDO0VBQ0ksV0FBVztFQUNYLGNBQWM7RUFDZCxXQUFXLEVBQUE7O0E4QlFkO0VBSVcsMEJBQTBCLEVBQUE7O0E5QmZ0QztFQUNJLFdBQVc7RUFDWCxjQUFjO0VBQ2QsV0FBVyxFQUFBOztBOEJnQmQ7RUFJVywwQkFBMEIsRUFBQTs7QUN4QjFDO0VBRUkseUI1QlNrQjtFNEJSbEIsbUJBQW1CO0VBQ25CLGM1QkVzQjtFNEJEdEIsa0JBQWtCO0VBQ2xCLDZCQUE2QixFQUFBO0VBTmpDO0lBUVEseUJBQThCO1lBQTlCLDhCQUE4QixFQUFBO0VBRWxDO0lBQ0kseUJBQXlCO0lBQ3pCLGVBQWU7SUFDZixnQkFBZ0IsRUFBQTtFQUloQjtJQUNJLFdBQVc7SUFJWCxpQkFBaUIsRUFBQTtJQUxwQjtNQUdPLGVBQWUsRUFBQTtFQXBCL0I7SUEwQlEsU0FBUztJQUNULFNBQVM7SUFDVCx5QkFBeUI7SUFDekIsWUFBWTtJQUNaLFNBQVM7SUFDVCxRQUFRO0lBQ1Isa0JBQWtCO0lBQ2xCLG9CQUFvQixFQUFBO0VBakM1QjtJQXFDUSxvQ0FBb0M7SUFDcEMseUJBQXlCO0lBQ3pCLGtCQUFrQjtJQUNsQixrQkFBa0IsRUFBQTtFQXhDMUI7SUEyQ1EsOEJBQThCO0lBQzlCLDZCQUE2QjtJQUM3QixrQkFBa0I7SUFDbEIsa0JBQWtCLEVBQUE7O0FDOUMxQjtFQUNJLGM3Qm9CcUI7RTZCbkJyQixlQUFlLEVBQUE7RUFGbkI7SUFJUSxjQUFjLEVBQUE7RUFKdEI7SUFPUSxtQkFBbUIsRUFBQTtFQUV2QjtJQUNJLGVBQWUsRUFBQTtFQUVuQjtJQUNJLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIseUJBQXlCO0lBQ3pCLGM3QlZrQjtJNkJXbEIscUJBQXFCLEVBQUE7RUFHckI7SUFDSSxjQUFjLEVBQUE7SUFEakI7TUFHTyxvQkFBb0IsRUFBQTtFQUc1QjtJQUNJLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIseUJBQXlCO0lBQ3pCLGlCQUFpQixFQUFBO0lBSnBCO01BTU8sYzdCaEJPO002QmlCUCwwQkFBMEIsRUFBQTtFQUlyQztJQUVPLFVBQVUsRUFBQTtFQUVkO0lBQ0ksY0FBYztJQUNkLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGdDN0JwQ1UsRUFBQTtJNkIrQmI7TUFVTyxjQUFjO01BQ2QsaUJBQWlCO01BQ2pCLGM3QjlDTTtNNkIrQ04sZ0JBQWdCLEVBQUE7TUFidkI7UUFlVyxxQkFBcUIsRUFBQTtFQUloQztJQUVPLDBCQUEwQjtJQUMxQixjN0IvQ08sRUFBQTtFNkJvRGY7SUFDSSxxQkFBcUI7SUFDckIsb0JBQW9CO0lBQ3BCLHlCN0JoRVU7STZCaUVWLHNCQUE4QjtJQUM5QixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYiwyQkFBbUI7SUFBbkIsbUJBQW1CLEVBQUE7SUFSdEI7TUFVTyx5QjdCekRTLEVBQUE7RTZCOERqQjtJQUNJLGVBQWUsRUFBQTtFQUVuQjtJQUNJLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2QsbUJBQW1CLEVBQUE7SUFIdEI7TUFLTyxjN0JwRk0sRUFBQTtJNkIrRWI7TUFRTyxpQkFBaUI7TUFDakIsaUJBQWlCLEVBQUE7TUFUeEI7UUFXVyxjN0JqRkc7UTZCa0ZILDBCQUEwQixFQUFBO0VBS3pDO0lBR08sY0FBYztJQUNkLGlCQUFpQjtJQUNqQixtQkFBbUIsRUFBQTtFQUwxQjtJQVFPLGFBQWE7SUFDYixxQkFBcUI7SUFDckIsa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYiwyQkFBMkI7SUFDM0IsaUJBQWlCLEVBQUE7RUFieEI7SUFpQk8saUJBQWlCO0lBQ2pCLFdBQVc7SUFDWCxZQUFZO0lBQ1osYUFBYSxFQUFBOztBQzNIekI7RUFDSSxlQUFlLEVBQUE7RUFFZjtJQUVJLG1CQUFtQjtJQUNuQixjQUFjLEVBQUE7O0FBSXRCO0VBQ0kseUI5QkFrQjtFOEJDbEIsbUJBQW1CLEVBQUE7RUFGdkI7SUFLUSxZQUFZLEVBQUE7O0FBR3BCO0VBQ0ksd0JBQXdCLEVBQUE7RWpDaUJwQjtJaUNsQlI7TUFNZ0IscUJBQXFCO01BQ3pCLGtCQUFrQjtNQUNsQixVQUFVLEVBQUE7SUFSdEI7TUFXWSxtQkFBbUIsRUFBQTtJQVgvQjtNQWVZLHFCQUFxQixFQUFBO0lBZmpDO01BcUJZLG1CQUFhO2NBQWIsYUFBYSxFQUFBLEVBQ2hCOztBQ3hDVDtFQUNJLGVBQWUsRUFBQTtFQURuQjtJQUdRLGdCQUFnQjtJQUNoQixvQkFBb0IsRUFBQTs7QUFJNUI7RUFDSSxlQUFlO0VBQ2YseUIvQkNrQixFQUFBO0UrQkh0QjtJQUtRLFlBQVksRUFBQTs7QUFJcEI7RUFDSSxlQUFlLEVBQUE7RUFEbkI7SUFHUSxnQkFBZ0IsRUFBQTs7QUNwQnhCO0VBSUksZUFBZTtFQUNmLHlCaENNa0IsRUFBQTtFZ0NYdEI7SUFFUSxZQUFZLEVBQUEiLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHRoZSBub3JtYWxpemUoKSBtaXhpbi5cbkBmdW5jdGlvbiBfbm9ybWFsaXplLWluY2x1ZGUoJHNlY3Rpb24sICRleGNsdWRlOiBudWxsKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGdsb2JhbCB2YXJpYWJsZXMgbmVlZGVkIGJ5IHRoaXMgZnVuY3Rpb24uXG4gIEBpZiBub3QgZ2xvYmFsX3ZhcmlhYmxlX2V4aXN0cyhfbm9ybWFsaXplLWluY2x1ZGUpIHtcbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiAoKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6ICgpICFnbG9iYWw7XG4gIH1cbiAgLy8gU2luY2Ugd2UgYXJlIGdpdmVuIDIgcGFyYW1ldGVycywgc2V0IHRoZSBnbG9iYWwgdmFyaWFibGVzLlxuICBAaWYgJGV4Y2x1ZGUgIT0gbnVsbCB7XG4gICAgJGluY2x1ZGU6ICRzZWN0aW9uO1xuICAgIC8vIFNhc3MgZG9lc24ndCBoYXZlIHN0YXRpYyB2YXJpYWJsZXMsIHNvIHRoZSB3b3JrLWFyb3VuZCBpcyB0byBzdHVmZiB0aGVzZVxuICAgIC8vIHZhbHVlcyBpbnRvIGdsb2JhbCB2YXJpYWJsZXMgc28gd2UgY2FuIGFjY2VzcyB0aGVtIGluIGZ1dHVyZSBjYWxscy5cbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiBpZih0eXBlLW9mKCRpbmNsdWRlKSA9PSAnbGlzdCcsICRpbmNsdWRlLCAoJGluY2x1ZGUpKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6IGlmKHR5cGUtb2YoJGV4Y2x1ZGUpID09ICdsaXN0JywgJGV4Y2x1ZGUsICgkZXhjbHVkZSkpICFnbG9iYWw7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHNlY3Rpb24gaXMgaW4gdGhlICRpbmNsdWRlIGxpc3QuXG4gIEBpZiBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCAkc2VjdGlvbikge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZiAkaW5jbHVkZSBpcyBzZXQgdG8gKGFsbCksIG1ha2Ugc3VyZSAkc2VjdGlvbiBpcyBub3QgaW4gJGV4Y2x1ZGUuXG4gIEBlbHNlIGlmIG5vdCBpbmRleCgkX25vcm1hbGl6ZS1leGNsdWRlLCAkc2VjdGlvbikgYW5kIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsIGFsbCkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplKCRpbmNsdWRlOiAoYWxsKSwgJGV4Y2x1ZGU6ICgpKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGhlbHBlciBmdW5jdGlvbiBieSBwYXNzaW5nIGl0IHRoaXMgbWl4aW4ncyBwYXJhbWV0ZXJzLlxuICAkaW5pdDogX25vcm1hbGl6ZS1pbmNsdWRlKCRpbmNsdWRlLCAkZXhjbHVkZSk7XG5cbiAgLy8gSWYgd2UndmUgY3VzdG9taXplZCBhbnkgZm9udCB2YXJpYWJsZXMsIHdlJ2xsIG5lZWQgZXh0cmEgcHJvcGVydGllcy5cbiAgQGlmICRiYXNlLWxpbmUtaGVpZ2h0ICE9IDI0cHhcbiAgICBvciAkYmFzZS11bml0ICE9ICdlbSdcbiAgICBvciAkaDItZm9udC1zaXplICE9IDEuNSAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDMtZm9udC1zaXplICE9IDEuMTcgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDQtZm9udC1zaXplICE9IDEgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDUtZm9udC1zaXplICE9IDAuODMgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDYtZm9udC1zaXplICE9IDAuNjcgKiAkYmFzZS1mb250LXNpemUge1xuICAgICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICAvKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZG9jdW1lbnQpIHtcbiAgICAvKiBEb2N1bWVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cblxuICAgIGh0bWwge1xuICAgICAgQGlmICRiYXNlLWZvbnQtZmFtaWx5IHtcbiAgICAgICAgLyogQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLiAqL1xuICAgICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG4gICAgICB9XG4gICAgICBAaWYgJGJhc2UtZm9udC1zaXplICE9IDE2cHggb3IgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvLyBDb3JyZWN0IG9sZCBicm93c2VyIGJ1ZyB0aGF0IHByZXZlbnRlZCBhY2Nlc3NpYmxlIHJlc2l6aW5nIG9mIHRleHRcbiAgICAgICAgLy8gd2hlbiByb290IGZvbnQtc2l6ZSBpcyBzZXQgd2l0aCBweCBvciBlbS5cbiAgICAgICAgZm9udC1zaXplOiAoJGJhc2UtZm9udC1zaXplIC8gMTZweCkgKiAxMDAlO1xuICAgICAgfVxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gICAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNlY3Rpb25zKSB7XG4gICAgLyogU2VjdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBib2R5IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGFydGljbGUsXG4gICAgYXNpZGUsXG4gICAgZm9vdGVyLFxuICAgIGhlYWRlcixcbiAgICBuYXYsXG4gICAgc2VjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGgxIHtcbiAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiAqL1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMC42N2VtIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgyLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgzLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg0LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg1IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg1LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg2IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg2LWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShncm91cGluZykge1xuICAgIC8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cblxuICAgICAgZGwsXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICovXG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBvbCxcbiAgICAgICAgdWwge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBkZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGZpZ2NhcHRpb24sXG4gICAgZmlndXJlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAgICAgKi9cblxuICAgIGZpZ3VyZSB7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDFlbSAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuXG4gICAgaHIge1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgICAgIGhlaWdodDogMDsgLyogMSAqL1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIG1haW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBwLFxuICAgICAgcHJlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgcHJlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGxpbmtzKSB7XG4gICAgLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cblxuICAgIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHRleHQpIHtcbiAgICAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LSBhbmQgRmlyZWZveCAzOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGFiYnJbdGl0bGVdIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgY29kZSxcbiAgICBrYmQsXG4gICAgc2FtcCB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuXG4gICAgZGZuIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtYXJrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1YixcbiAgICBzdXAge1xuICAgICAgZm9udC1zaXplOiA3NSU7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICBzdWIge1xuICAgICAgYm90dG9tOiAtMC4yNWVtO1xuICAgIH1cblxuICAgIHN1cCB7XG4gICAgICB0b3A6IC0wLjVlbTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGVtYmVkZGVkKSB7XG4gICAgLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGF1ZGlvLFxuICAgIHZpZGVvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICAgICAqL1xuXG4gICAgYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgc3ZnOm5vdCg6cm9vdCkge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGZvcm1zKSB7XG4gICAgLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaW5wdXQsXG4gICAgb3B0Z3JvdXAsXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBpZigkYmFzZS1mb250LWZhbWlseSwgJGJhc2UtZm9udC1mYW1pbHksIHNhbnMtc2VyaWYpOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAxICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gICAgICB9XG4gICAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbiB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgc2VsZWN0IHsgLyogMSAqL1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICB9XG5cbiAgICBidXR0b24sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuXG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqL1xuXG4gICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5cbiAgICBpbnB1dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqL1xuXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBmaWVsZHNldCB7XG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cblxuICAgIHByb2dyZXNzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaW50ZXJhY3RpdmUpIHtcbiAgICAvKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGRldGFpbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLypcbiAgICAgICAgICogMS4gU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAgICogMi4gU2V0IGNvbnNpc3RlbnQgc3BhY2UgZm9yIHRoZSBsaXN0IHN0eWxlIGltYWdlLlxuICAgICAgICAgKi9cblxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7IC8qIDEgKi9cbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7IC8qIDIgKi9cblxuICAgICAgICAvKipcbiAgICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgICAqL1xuXG4gICAgICAgIG1lbnUgJixcbiAgICAgICAgb2wgJixcbiAgICAgICAgdWwgJiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzY3JpcHRpbmcpIHtcbiAgICAvKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBjYW52YXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgdGVtcGxhdGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGhpZGRlbikge1xuICAgIC8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cbi8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmZpZ2NhcHRpb24sXG5maWd1cmUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovIH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny0gYW5kIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICAgICAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qKlxuICAgICAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gICAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICAgICAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqLyB9XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG4gIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovIH1cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gICAgICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAgICAgKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovXG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqLyB9XG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLCBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICovXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLypcclxuMCAtIDYwMHB4OiAgICAgICBQaG9uZVxyXG42MDAgLSA5MDBweDogICAgIFRhYmxldCBwb3J0cmFpdFxyXG45MDAgLSAxMjAwcHg6ICAgIFRhYmxldCBMYW5kc2NhcGVcclxuWzEyMDAgLSAxODAwcHhdICBpcyB3aGVyZSBvdXIgbm9ybWFsIHN0eWxlcyBhcHBseVxyXG4xODAwcHggKyA6ICAgICAgIEJpZyBkZXNrdG9wXHJcblxyXG5cclxuICRicmVha3BvaW50IGFyZ3VtZW50IGNob2ljZXM6XHJcblxyXG4gICAgLSBwaG9uZVxyXG4gICAgLSB0YWItcG9ydFxyXG4gICAgLSB0YWItbGFuZFxyXG4gICAgLSBiaWctZGVza3RvcFxyXG5cclxuXHJcbk9SREVSOiBCYXNlICsgdHlwb2dyYXBoeSA+IGdlbmVyYWwgbGF5b3V0ICsgZ3JpZCA+IHBhZ2UgbGF5b3V0ID4gY29tcG9uZW50c1xyXG5cclxuICAgIDFlbSA9IDE2cHg7XHJcbiovXG5Aa2V5ZnJhbWVzIGp1bXBSaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTcpIHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTcpIHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgxNXB4KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTcpIHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgwKTsgfSB9XG5cbkBrZXlmcmFtZXMganVtcExlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk3KSB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk3KSB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTE1cHgpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NykgdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDApOyB9IH1cblxuKixcbio6OmFmdGVyLFxuKjo6YmVmb3JlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmh0bWwge1xuICBmb250LXNpemU6IDYyLjUlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NWVtKSB7XG4gICAgaHRtbCB7XG4gICAgICBmb250LXNpemU6IDU2LjI1JTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1Ni4yNWVtKSB7XG4gICAgaHRtbCB7XG4gICAgICBmb250LXNpemU6IDUwJTsgfSB9XG5cbmJvZHkge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjJGMkYyOyB9XG5cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc1QzZCRjtcbiAgY29sb3I6ICNmZmY7IH1cblxuYSxcbmE6bGluayxcbmE6dmlzaXRlZCB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICNmZmY7IH1cbiAgYS5yZWZlcmFsLWxpbmssXG4gIGE6bGluay5yZWZlcmFsLWxpbmssXG4gIGE6dmlzaXRlZC5yZWZlcmFsLWxpbmsge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgYS5yZWZlcmFsLWxpbms6aG92ZXIsXG4gICAgYTpsaW5rLnJlZmVyYWwtbGluazpob3ZlcixcbiAgICBhOnZpc2l0ZWQucmVmZXJhbC1saW5rOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjRTE1MjRBOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMS43O1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzc3Nzc3NzsgfVxuXG4udS1mb250dy1iaWcge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi51LWZvbnR3LW1lZCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnUtZm9udHctbm9ybSB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLnUtY29sb3ItLWdyYXkge1xuICBjb2xvcjogIzdGOEM4QyAhaW1wb3J0YW50OyB9XG5cbi51LWJnLS1ncmF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VCRUJFQjsgfVxuXG4udS1iZy0tZ3JheTEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQUZCN0I4OyB9XG5cbi51LWZsZXgtLXNwYWNlLWIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDM3LjVlbSkge1xuICAudS1oaWRkZW4tLXhzIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTYuMjVlbSkge1xuICAudS1oaWRkZW4tLXMge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NWVtKSB7XG4gIC51LWhpZGRlbi0tbSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLnUtaGlkZGVuLS1sIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uYXJyb3ctY2xvdWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmFycm93LWNsb3VkOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgYm9yZGVyOiBzb2xpZCAxMHB4IHRyYW5zcGFyZW50OyB9XG4gIC5hcnJvdy1jbG91ZC0tdG9wOjpiZWZvcmUge1xuICAgIHRvcDogLTIwcHg7XG4gICAgbGVmdDogMTJweDsgfVxuICAuYXJyb3ctY2xvdWQtLXRvcC5hcnJvdy1jbG91ZC0tZ3JlZW46OmJlZm9yZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzQ2YTlhMDsgfVxuICAuYXJyb3ctY2xvdWQtLXRvcC5hcnJvdy1jbG91ZC0tcmVkOjpiZWZvcmUge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNkZDNkMzQ7IH1cbiAgLmFycm93LWNsb3VkLS1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAtMjBweDtcbiAgICBsZWZ0OiAyMHB4OyB9XG4gIC5hcnJvdy1jbG91ZC0tYm90dG9tLmFycm93LWNsb3VkLS13aGl0ZTo6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogI2ZmZjsgfVxuICAuYXJyb3ctY2xvdWQtLWdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDZhOWEwOyB9XG4gIC5hcnJvdy1jbG91ZC0tcmVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGQzZDM0OyB9XG4gIC5hcnJvdy1jbG91ZC0td2hpdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuLmJsb2cge1xuICBjb2xvcjogIzdGOEM4QztcbiAgbWFyZ2luOiA0cmVtIGF1dG8gIWltcG9ydGFudDsgfVxuICAuYmxvZzphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYmxvZ19fY29udGFpbmVyLCAuYmxvZ19fc2lkZWJhciB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmJsb2dfX2NvbnRhaW5lciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIxJSAtIDNyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogM3JlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmJsb2dfX3NpZGViYXIge1xuICAgIHdpZHRoOiAyMSU7IH1cbiAgLmJsb2dfX3Bvc3Qge1xuICAgIHBhZGRpbmctYm90dG9tOiA0cmVtOyB9XG4gICAgLmJsb2dfX3Bvc3Q6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuYmxvZ19fcG9zdCA+ICoge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAuYmxvZ19fcG9zdDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBwYWRkaW5nOiA0cmVtIDA7IH1cbiAgICAuYmxvZ19fcG9zdDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjRTRFNUU1OyB9XG4gIC5ibG9nX19pY29ucyB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgICAuYmxvZ19faWNvbnMgPiAqIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgd2lkdGg6IDcuNXJlbTtcbiAgICAgIGhlaWdodDogNy41cmVtOyB9XG4gICAgLmJsb2dfX2ljb25zID4gKjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAuYmxvZ19faWNvbnMtLWRhdGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y3RjdGNztcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAtNHB4IDAgI2QxZDFkMTsgfVxuICAgICAgLmJsb2dfX2ljb25zLS1kYXRlLW1vbnRoIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtOyB9XG4gICAgICAuYmxvZ19faWNvbnMtLWRhdGUtZGF5IHtcbiAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICBmb250LXdlaWdodDogODAwOyB9XG4gICAgLmJsb2dfX2ljb25zLS1jYXRlZ29yeSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN0Y4QjhCO1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IC00cHggMCAjNWE2MzYzOyB9XG4gICAgICAuYmxvZ19faWNvbnMtLWNhdGVnb3J5IGkge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC1zaXplOiA0cmVtO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIC5ibG9nX19tYWluIHtcbiAgICB3aWR0aDogODUlO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gIC5ibG9nX19pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMzMwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAuYmxvZ19faGVhZGxpbmUge1xuICAgIGNvbG9yOiAjNzVDNkJGO1xuICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmJsb2dfX2hlYWRsaW5lOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjRTE1MjRBOyB9XG4gIC5ibG9nX19pbmZvIGEsXG4gIC5ibG9nX19pbmZvIGE6bGluayxcbiAgLmJsb2dfX2luZm8gYTp2aXNpdGVkLCAuYmxvZ19fcmVhZCwgLmJsb2dfX3JlYWQ6bGluaywgLmJsb2dfX3JlYWQ6dmlzaXRlZCB7XG4gICAgY29sb3I6ICNFMTUyNEE7IH1cbiAgLmJsb2dfX2luZm8ge1xuICAgIG1hcmdpbjogLjVyZW0gMCAxLjVyZW0gMDsgfVxuICAgIC5ibG9nX19pbmZvIGEge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC4zczsgfVxuICAgIC5ibG9nX19pbmZvIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICM3NUM2QkY7IH1cbiAgICAuYmxvZ19faW5mbyBhID4gaSB7XG4gICAgICBtYXJnaW46IDAgLjdyZW0gMCAxLjRyZW07XG4gICAgICBjb2xvcjogIzc1QzZCRjsgfVxuICAuYmxvZ19fcGFyYWdyYXBoIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgLmJsb2dfX3JlYWQ6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5ibG9nX19yZWFkIGkge1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLmJ0biB7XG4gIHRyYW5zaXRpb246IGFsbCAuMTVzO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuICAuYnRuX19tYWluIHtcbiAgICBwYWRkaW5nOiAxLjJyZW0gNXJlbTtcbiAgICBmb250LXNpemU6IDJyZW07IH1cbiAgICAuYnRuX19tYWluLS1jYXBzIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLmJ0bl9fbWFpbi0tc21hbGwge1xuICAgICAgcGFkZGluZzogLjhyZW0gMS40cmVtO1xuICAgICAgZm9udC1zaXplOiB1bnNldDtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuYnRuX19tYWluLS1zbWFsbCA+IGkge1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgIC5idG5fX21haW4tLXNtYWxsID4gaTpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMnJlbTsgfVxuICAgIC5idG5fX21haW4uYnRuLS1ncmF5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNBRkI3Qjg7IH1cbiAgICAgIC5idG5fX21haW4uYnRuLS1ncmF5OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UyNWE1MztcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtNHB4IDBweCByZ2JhKDE5MSwgNDAsIDMyLCAwLjgpLCAwIDRweCAxMXB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cbiAgICAuYnRuX19tYWluLmJ0bi0tcmVkLCAub3dsLWNhcm91c2VsLm93bC1jYXJvdXNlbC1zcGxhc2ggLmJ0bl9fbWFpbi5vd2wtcHJldixcbiAgICAub3dsLWNhcm91c2VsLm93bC1jYXJvdXNlbC1zcGxhc2ggLmJ0bl9fbWFpbi5vd2wtbmV4dCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTE1MjRBOyB9XG4gICAgICAuYnRuX19tYWluLmJ0bi0tcmVkOmhvdmVyLCAub3dsLWNhcm91c2VsLm93bC1jYXJvdXNlbC1zcGxhc2ggLmJ0bl9fbWFpbi5vd2wtcHJldjpob3ZlcixcbiAgICAgIC5vd2wtY2Fyb3VzZWwub3dsLWNhcm91c2VsLXNwbGFzaCAuYnRuX19tYWluLm93bC1uZXh0OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UyNWE1MztcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtNHB4IDBweCByZ2JhKDE5MSwgNDAsIDMyLCAwLjgpLCAwIDRweCAxMXB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cbiAgICAuYnRuX19tYWluLmJ0bi0tZ3JlZW4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc1QzZCRjsgfVxuICAgICAgLmJ0bl9fbWFpbi5idG4tLWdyZWVuOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzdjYzljMjtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtNHB4IDBweCByZ2JhKDcwLCAxNjksIDE2MCwgMC44KSwgMCA0cHggMTFweCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG4gIC5idG5fX3NwZWMuYnRuLS1ncmVlbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ2YTlhMDtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC00cHggMHB4IHJnYmEoNjIsIDE1MSwgMTQzLCAwLjgpLCAwIDRweCAxMXB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cbiAgLmJ0bl9fc3BlYy5idG4tLWdyZWVuOmFjdGl2ZSwgLmJ0bl9fc3BlYy5idG4tLWdyZWVuOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTE1MjRBO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTRweCAwcHggcmdiYSgxOTEsIDQwLCAzMiwgMC44KSwgMCAycHggMTFweCByZ2JhKDAsIDAsIDAsIDAuOCk7IH1cbiAgLmJ0bl9fc3BlYy5idG4tLXJlZDpob3ZlciwgLm93bC1jYXJvdXNlbC5vd2wtY2Fyb3VzZWwtc3BsYXNoIC5idG5fX3NwZWMub3dsLXByZXY6aG92ZXIsXG4gIC5vd2wtY2Fyb3VzZWwub3dsLWNhcm91c2VsLXNwbGFzaCAuYnRuX19zcGVjLm93bC1uZXh0OmhvdmVyLCAuYnRuX19zcGVjLmJ0bi0tcmVkOmFjdGl2ZSwgLm93bC1jYXJvdXNlbC5vd2wtY2Fyb3VzZWwtc3BsYXNoIC5idG5fX3NwZWMub3dsLXByZXY6YWN0aXZlLFxuICAub3dsLWNhcm91c2VsLm93bC1jYXJvdXNlbC1zcGxhc2ggLmJ0bl9fc3BlYy5vd2wtbmV4dDphY3RpdmUsIC5idG5fX3NwZWMuYnRuLS1yZWQ6Zm9jdXMsIC5vd2wtY2Fyb3VzZWwub3dsLWNhcm91c2VsLXNwbGFzaCAuYnRuX19zcGVjLm93bC1wcmV2OmZvY3VzLFxuICAub3dsLWNhcm91c2VsLm93bC1jYXJvdXNlbC1zcGxhc2ggLmJ0bl9fc3BlYy5vd2wtbmV4dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0UxNTI0QTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC00cHggMHB4IHJnYmEoMTkxLCA0MCwgMzIsIDAuOCksIDAgNHB4IDExcHggcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuICAuYnRuOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7IH1cbiAgLmJ0bjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NykgdHJhbnNsYXRlWSgtMnB4KTtcbiAgICBib3gtc2hhZG93OiAwIDJweCAxcmVtIHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuXG4uY2xpZW50c19faGVhZGxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTsgfVxuICAuY2xpZW50c19faGVhZGxpbmUtLWhlYWRpbmcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuY2xpZW50c19faGVhZGxpbmUtLWxpbmUge1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1heC13aWR0aDogNzAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiA0cmVtO1xuICAgIGJhY2tncm91bmQ6ICNFMEUxRTE7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jbGllbnRzX19oZWFkbGluZS0tbGluZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFMEUxRTE7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTYuMjVlbSkge1xuICAgICAgLmNsaWVudHNfX2hlYWRsaW5lLS1saW5lIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2MCU7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgIC5jbGllbnRzX19oZWFkbGluZS0tbGluZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ1LjI1ZW0pIHtcbiAgICAuZHJvcGRvd24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5kcm9wZG93bl9fbWVudSB7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIHRvcDogNjBweDtcbiAgICBsZWZ0OiAwO1xuICAgIG1pbi13aWR0aDogMTcwJTtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XG4gICAgei1pbmRleDogOTk5O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5kcm9wZG93bl9fbGlzdCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRyb3Bkb3duX19saW5rIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTE1MjRBO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBwYWRkaW5nOiAuM3JlbSAycmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgIC5kcm9wZG93bl9fbGluazpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzVDNkJGOyB9XG4gIC5kcm9wZG93bi0tc2hvd24gLmRyb3Bkb3duX19tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiAyNXJlbTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5kcm9wZG93bi0tc2hvd24gLmRyb3Bkb3duX19saW5rIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5kcm9wZG93bi0tc2hvd24gaSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7IH1cblxuLmhlYWRpbmctZmxvYXRlZCB7XG4gIHBhZGRpbmc6IDEuN3JlbSAyLjJyZW07IH1cbiAgLmhlYWRpbmctZmxvYXRlZDphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuaGVhZGluZy1mbG9hdGVkID4gZGl2IHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAuaGVhZGluZy1mbG9hdGVkID4gYSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5oZWFkaW5nLXByaW1hcnkge1xuICBsaW5lLWhlaWdodDogMS40NTsgfVxuICAuaGVhZGluZy1wcmltYXJ5LS1tYWluIHtcbiAgICBjb2xvcjogIzdGOEM4QztcbiAgICBmb250LXNpemU6IDNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuaGVhZGluZy1wcmltYXJ5LS1zdWIge1xuICAgIGNvbG9yOiAjNzc3Nzc3O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmhlYWRpbmctc2Vjb25kYXJ5IHtcbiAgZm9udC1zaXplOiA0cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogI0UxNTI0QTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5oZWFkaW5nLXNlY29uZGFyeV9fc3ViIHtcbiAgICBjb2xvcjogIzc3Nzc3NztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAzNy41ZW0pIHtcbiAgICAuaGVhZGluZy1zZWNvbmRhcnkge1xuICAgICAgZm9udC1zaXplOiAzcmVtOyB9IH1cblxuLmhlYWRpbmctdGVydGlhcnkge1xuICBmb250LXdlaWdodDogODAwO1xuICBjb2xvcjogIzdGOEM4QztcbiAgZm9udC1zaXplOiAxLjZyZW07IH1cblxuLmhlYWRpbmctYWJvdXQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXNpemU6IDNyZW07IH1cbiAgLmhlYWRpbmctYWJvdXQgLmhlYWRpbmctc2Vjb25kYXJ5X19zdWIge1xuICAgIG1hcmdpbi10b3A6IDFyZW07IH1cblxuLmhvdmVyLXBvcHVwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5ob3Zlci1wb3B1cF9fb3ZlcmxheSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAwIDJyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzOyB9XG4gICAgLmhvdmVyLXBvcHVwX19vdmVybGF5LS1jb2xvci1wcmltYXJ5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTE3LCAxOTgsIDE5MSwgMC44NSk7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIC00cHggMHB4IHJnYmEoNjIsIDE1MSwgMTQzLCAwLjgpOyB9XG4gIC5ob3Zlci1wb3B1cF9fY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmhvdmVyLXBvcHVwX19jZW50ZXJlZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uaW5mby1ibG9jayB7XG4gIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gIC5pbmZvLWJsb2NrX19saXN0IHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDM3LjVlbSkge1xuICAgICAgLmluZm8tYmxvY2tfX2xpc3QtLWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogM3JlbTsgfSB9XG4gIC5pbmZvLWJsb2NrX19wYXJhZ3JhcGgge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuaW5mby1ibG9ja19faW1hZ2Uge1xuICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5pbmZvLWJsb2NrX190ZXN0aW1vbmlhbCB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICBwYWRkaW5nOiAxLjVyZW0gMXJlbSAxLjVyZW0gMi4ycmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgICAuaW5mby1ibG9ja19fdGVzdGltb25pYWwtLXBhcmFncmFwaCB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICAuaW5mby1ibG9ja19fdGVzdGltb25pYWwtLW5hbWUge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgY29sb3I6ICM3Nzc3Nzc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG1hcmdpbi10b3A6IDIuMnJlbTtcbiAgICAgIGxlZnQ6IDVyZW07XG4gICAgICBjb2xvcjogIzc1QzZCRjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTYuMjVlbSkge1xuICAgIC5pbmZvLWJsb2NrIC5yb3cge1xuICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5pbmZvLWJsb2NrIC5mbGV4LTIge1xuICAgICAgb3JkZXI6IC0xICFpbXBvcnRhbnQ7XG4gICAgICBmbGV4OiAwIDAgNzUlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gICAgLmluZm8tYmxvY2sgLmZsZXgtMSB7XG4gICAgICB3aWR0aDogNDIlICFpbXBvcnRhbnQ7IH0gfVxuXG5saSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmxpc3Qtc3R5bGVfX2Fycm93IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmxpc3Qtc3R5bGVfX2Fycm93OjpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAubGlzdC1zdHlsZV9fYXJyb3ctLWZsYXQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNjFcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBjb2xvcjogI0UxNTI0QTsgfVxuICAubGlzdC1zdHlsZV9fYXJyb3ctLWNpcmNsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjBhOVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIGNvbG9yOiAjNzVDNkJGO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gIC5saXN0LXN0eWxlX19hcnJvdy0tYW5nbGUtcmlnaHQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYxMDVcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBjb2xvcjogIzc1QzZCRjtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuXG4ubWFpbi1sb2dvX19pdGVtIHtcbiAgZm9udC1zaXplOiAyLjVyZW07IH1cbiAgLm1haW4tbG9nb19faXRlbSBzcGFuIHtcbiAgICBmb250LXNpemU6IDNyZW07IH1cblxuLm1peGl0dXBfX2NvbnRyb2xzIHtcbiAgbWFyZ2luOiA0LjVyZW0gMDsgfVxuXG4ubWl4aXR1cF9fYnV0dG9uIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3RjhDOEM7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBwYWRkaW5nOiAuOHJlbSAycmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtNHB4IDBweCByZ2JhKDEwMiwgMTE0LCAxMTQsIDAuOCk7XG4gIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuICAubWl4aXR1cF9fYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtOyB9XG4gIC5taXhpdHVwX19idXR0b246aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC00cHggMHB4IHJnYmEoMjEzLCA0NSwgMzUsIDAuOCksIDAgNHB4IDExcHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTE1MjRBOyB9XG4gIC5taXhpdHVwX19idXR0b246YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCkgc2NhbGUoMC45Nyk7IH1cbiAgLm1peGl0dXBfX2J1dHRvbjpmb2N1cyB7XG4gICAgb3V0bGluZTogdHJhbnNwYXJlbnQ7IH1cblxuLm1peGl0dXBfX2ltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45Nik7XG4gIHRyYW5zaXRpb246IGFsbCAuM3M7IH1cblxuLm1peGl0dXBfX2dhbGxlcnkge1xuICBtYXJnaW4tYm90dG9tOiA1cmVtOyB9XG4gIC5taXhpdHVwX19nYWxsZXJ5IC5taXgge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgbWF4LWhlaWdodDogMzExcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIG1hcmdpbjogMCAxLjVyZW0gM3JlbTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMjcsIDE0MCwgMTQwLCAwLjQpO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgxMjcsIDE0MCwgMTQwLCAwLjQpO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMTI3LCAxNDAsIDE0MCwgMC40KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC00cHggMHB4IHJnYmEoMTAyLCAxMTQsIDExNCwgMC4zKSwgMCA0cHggMTFweCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG4gICAgLm1peGl0dXBfX2dhbGxlcnkgLm1peF9fbGlua3Mge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWl4aXR1cF9fZ2FsbGVyeSAubWl4X19saW5rcy1pdGVtcyB7XG4gICAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ2YTlhMDtcbiAgICAgIHdpZHRoOiA1cmVtO1xuICAgICAgaGVpZ2h0OiA1cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBib3gtc2hhZG93OiAwcHggMXB4IDRyZW0gcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG4gICAgICAubWl4aXR1cF9fZ2FsbGVyeSAubWl4X19saW5rcy1pdGVtczpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtOyB9XG4gICAgICAubWl4aXR1cF9fZ2FsbGVyeSAubWl4X19saW5rcy1pdGVtczpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFMTUyNEE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsgfVxuICAgIC5taXhpdHVwX19nYWxsZXJ5IC5taXhfX3BhcmFncmFwaCB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgbWFyZ2luLXRvcDogM3JlbTsgfVxuICAgIC5taXhpdHVwX19nYWxsZXJ5IC5taXg6aG92ZXIgPiAuaG92ZXItcG9wdXBfX292ZXJsYXkge1xuICAgICAgYm90dG9tOiAwOyB9XG4gICAgLm1peGl0dXBfX2dhbGxlcnkgLm1peDpob3ZlciAubWl4aXR1cF9faW1hZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuXG4ubWl4aXR1cC1jb250cm9sLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NmE5YTA7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTRweCAwcHggcmdiYSg0MCwgOTcsIDkyLCAwLjgpOyB9XG4gIC5taXhpdHVwLWNvbnRyb2wtYWN0aXZlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDZhOWEwO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTVweCAwcHggcmdiYSg0MCwgOTcsIDkyLCAwLjgpLCAwIDRweCAxMXB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cbiAgLm1peGl0dXAtY29udHJvbC1hY3RpdmU6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMHB4IHJnYmEoNDAsIDk3LCA5MiwgMC44KSwgMCAycHggMTFweCByZ2JhKDAsIDAsIDAsIDAuOCk7IH1cblxuLm1haW4tbmF2aWdhdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICAubWFpbi1uYXZpZ2F0aW9uX19saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tYWluLW5hdmlnYXRpb25fX2l0ZW0ge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC42cHg7IH1cbiAgICAubWFpbi1uYXZpZ2F0aW9uX19pdGVtOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC42cmVtOyB9XG4gICAgLm1haW4tbmF2aWdhdGlvbl9faXRlbSBpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxlZnQ6IC05cHg7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7IH1cbiAgLm1haW4tbmF2aWdhdGlvbl9fbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IC44cmVtIDIuMnJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cblxuLm5hdi1tb2JpbGVfX2lucHV0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubmF2LW1vYmlsZV9fYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogMTAwO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAycmVtO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDNyZW07XG4gIHRvcDogMi42cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyNSwgODIsIDc0LCAwLjY1KTtcbiAgaGVpZ2h0OiAzLjhyZW07XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgd2lkdGg6IDRyZW07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ1LjI1ZW0pIHtcbiAgICAubmF2LW1vYmlsZV9fYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLm5hdi1tb2JpbGVfX2ljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gIC5uYXYtbW9iaWxlX19pY29uLCAubmF2LW1vYmlsZV9faWNvbjo6YmVmb3JlLCAubmF2LW1vYmlsZV9faWNvbjo6YWZ0ZXIge1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMi4xcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLm5hdi1tb2JpbGVfX2ljb246OmJlZm9yZSwgLm5hdi1tb2JpbGVfX2ljb246OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnM7IH1cbiAgLm5hdi1tb2JpbGVfX2ljb246OmJlZm9yZSB7XG4gICAgdG9wOiAtLjhyZW07IH1cbiAgLm5hdi1tb2JpbGVfX2ljb246OmFmdGVyIHtcbiAgICB0b3A6IC44cmVtOyB9XG4gIC5uYXYtbW9iaWxlX19pY29uLXRleHQge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnM7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMy41cHgsIDIwcHgpOyB9XG5cbi5uYXYtbW9iaWxlX19pbnB1dDpjaGVja2VkICsgLm5hdi1tb2JpbGVfX2J1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFMTUyNEE7IH1cblxuLm5hdi1tb2JpbGVfX2lucHV0OmNoZWNrZWQgKyAubmF2LW1vYmlsZV9fYnV0dG9uIC5uYXYtbW9iaWxlX19pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLm5hdi1tb2JpbGVfX2lucHV0OmNoZWNrZWQgKyAubmF2LW1vYmlsZV9fYnV0dG9uIC5uYXYtbW9iaWxlX19pY29uOmJlZm9yZSB7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTsgfVxuXG4ubmF2LW1vYmlsZV9faW5wdXQ6Y2hlY2tlZCArIC5uYXYtbW9iaWxlX19idXR0b24gLm5hdi1tb2JpbGVfX2ljb246YWZ0ZXIge1xuICB0b3A6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpOyB9XG5cbi5uYXYtbW9iaWxlX19pbnB1dDpjaGVja2VkICsgLm5hdi1tb2JpbGVfX2J1dHRvbiAubmF2LW1vYmlsZV9faWNvbi10ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzLjVweCwgLTZweCk7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLm5hdi1tb2JpbGVfX2lucHV0OmNoZWNrZWQgfiAuaGVhZGVyX19uYXZpZ2F0aW9uIHtcbiAgd2lkdGg6IDU1JTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTsgfVxuXG4ubmF2LW1vYmlsZV9faW5wdXQ6Y2hlY2tlZCB+IC5oZWFkZXJfX25hdmlnYXRpb24gLnNlYXJjaF9fYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLm5hdi1tb2JpbGVfX2lucHV0OmNoZWNrZWQgfiAuaGVhZGVyX19uYXZpZ2F0aW9uIC5oZWFkZXJfX3NlYXJjaCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMnJlbTtcbiAgYm90dG9tOiA3cmVtOyB9XG5cbi5uYXYtbW9iaWxlX19pbnB1dDpjaGVja2VkIH4gLmJhY2tncm91bmQge1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDUuMjVlbSkge1xuICAubWFpbi1uYXZpZ2F0aW9uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDExNywgMTk4LCAxOTEsIDAuOTUpO1xuICAgIHotaW5kZXg6IDUwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCByZ2JhKDk5LCAxOTEsIDE4MywgMC44NSk7XG4gICAgYm94LXNoYWRvdzogMnB4IDBweCA5cHggMHB4IHJnYmEoMCwgMCwgMCwgMC41OCk7IH1cbiAgICAubWFpbi1uYXZpZ2F0aW9uX19saXN0IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tYWluLW5hdmlnYXRpb25fX2l0ZW0ge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAubWFpbi1uYXZpZ2F0aW9uX19pdGVtIGkge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5iYWNrZ3JvdW5kIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4xcyAuMnM7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiA0NTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpOyB9IH1cblxuLm92ZXJsYXlfX2xpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb246IGFsbCAuMTVzIC4xcztcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm92ZXJsYXlfX2xpbms6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcZjBjMVwiO1xuICAgIGZvbnQtZmFtaWx5OiBmb250QXdlc29tZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDExNywgMTk4LCAxOTEsIDAuNDUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS44NXJlbTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnM7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAub3ZlcmxheV9fbGluazpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KTsgfVxuICAub3ZlcmxheV9fbGluazpob3Zlcjo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cblxuLm93bC1jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAub3dsLWNhcm91c2VsX19pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGhlaWdodDogNTByZW07XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cbiAgICAub3dsLWNhcm91c2VsX19pdGVtLS0xIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9zcGxhc2gtMS0xeC5qcGdcIik7IH1cbiAgICAub3dsLWNhcm91c2VsX19pdGVtLS0yIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9zcGxhc2gtMi0xeC5qcGdcIik7IH1cbiAgICAub3dsLWNhcm91c2VsX19pdGVtLS0zIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9zcGxhc2gtMy0xeC5qcGdcIik7IH1cbiAgLm93bC1jYXJvdXNlbF9fdGV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLm93bC1jYXJvdXNlbC0tbWFpbiB7XG4gICAgYmFja2dyb3VuZDogI0UxNTI0QTtcbiAgICBmb250LXNpemU6IDVyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICAub3dsLWNhcm91c2VsLS1zdWIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogLjZyZW0gM3JlbTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtY2Fyb3VzZWwtc3BsYXNoIC5vd2wtcHJldixcbiAgLm93bC1jYXJvdXNlbC5vd2wtY2Fyb3VzZWwtc3BsYXNoIC5vd2wtbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB3aWR0aDogNXJlbTtcbiAgICBoZWlnaHQ6IDZyZW07XG4gICAgei1pbmRleDogMTA7IH1cbiAgICAub3dsLWNhcm91c2VsLm93bC1jYXJvdXNlbC1zcGxhc2ggLm93bC1wcmV2OjphZnRlcixcbiAgICAub3dsLWNhcm91c2VsLm93bC1jYXJvdXNlbC1zcGxhc2ggLm93bC1uZXh0OjphZnRlciB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMy41cmVtO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFMTUyNEE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiA1cmVtO1xuICAgICAgaGVpZ2h0OiA2cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XG4gICAgICB6LWluZGV4OiA5OyB9XG4gICAgLm93bC1jYXJvdXNlbC5vd2wtY2Fyb3VzZWwtc3BsYXNoIC5vd2wtcHJldjpob3Zlcjo6YWZ0ZXIsXG4gICAgLm93bC1jYXJvdXNlbC5vd2wtY2Fyb3VzZWwtc3BsYXNoIC5vd2wtbmV4dDpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U1Njc2MDtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTRweCAwcHggcmdiYSgxNjksIDM1LCAyOCwgMC44KSwgMCA0cHggMTFweCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLWNhcm91c2VsLXNwbGFzaCAub3dsLXByZXYge1xuICAgIGxlZnQ6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMCA4cHggOHB4IDA7IH1cbiAgICAub3dsLWNhcm91c2VsLm93bC1jYXJvdXNlbC1zcGxhc2ggLm93bC1wcmV2OjpiZWZvcmUge1xuICAgICAgYm9yZGVyLXJhZGl1czogMCA4cHggOHB4IDA7IH1cbiAgICAub3dsLWNhcm91c2VsLm93bC1jYXJvdXNlbC1zcGxhc2ggLm93bC1wcmV2OjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlxcZjEwNFwiO1xuICAgICAgYm9yZGVyLXJhZGl1czogMCA4cHggOHB4IDA7IH1cbiAgICAub3dsLWNhcm91c2VsLm93bC1jYXJvdXNlbC1zcGxhc2ggLm93bC1wcmV2OmhvdmVyIHtcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiBqdW1wUmlnaHQ7XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IC43cztcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAzO1xuICAgICAgYm94LXNoYWRvdzogMnB4IDRweCAyLjVyZW0gcmdiYSgwLCAwLCAwLCAwLjgpOyB9XG4gICAgLm93bC1jYXJvdXNlbC5vd2wtY2Fyb3VzZWwtc3BsYXNoIC5vd2wtcHJldjphY3RpdmUge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KSB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLWNhcm91c2VsLXNwbGFzaCAub3dsLW5leHQge1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweCAwIDAgOHB4OyB9XG4gICAgLm93bC1jYXJvdXNlbC5vd2wtY2Fyb3VzZWwtc3BsYXNoIC5vd2wtbmV4dDo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweCAwIDAgOHB4OyB9XG4gICAgLm93bC1jYXJvdXNlbC5vd2wtY2Fyb3VzZWwtc3BsYXNoIC5vd2wtbmV4dDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcXGYxMDVcIjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweCAwIDAgOHB4OyB9XG4gICAgLm93bC1jYXJvdXNlbC5vd2wtY2Fyb3VzZWwtc3BsYXNoIC5vd2wtbmV4dDpob3ZlciB7XG4gICAgICBhbmltYXRpb24tbmFtZToganVtcExlZnQ7XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IC43cztcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAzO1xuICAgICAgYm94LXNoYWRvdzogMnB4IDRweCAyLjVyZW0gcmdiYSgwLCAwLCAwLCAwLjgpOyB9XG4gICAgLm93bC1jYXJvdXNlbC5vd2wtY2Fyb3VzZWwtc3BsYXNoIC5vd2wtbmV4dDphY3RpdmUge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KSB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLWNhcm91c2VsLXNwbGFzaCAub3dsLWRvdHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm90dG9tOiAtMi41cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAgIC5vd2wtY2Fyb3VzZWwub3dsLWNhcm91c2VsLXNwbGFzaCAub3dsLWRvdHM6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtY2Fyb3VzZWwtc3BsYXNoIC5vd2wtZG90IHtcbiAgICB3aWR0aDogNXJlbTtcbiAgICBoZWlnaHQ6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQUZCN0I4O1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLm93bC1jYXJvdXNlbC5vd2wtY2Fyb3VzZWwtc3BsYXNoIC5vd2wtZG90Om5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJyZW07IH1cbiAgICAub3dsLWNhcm91c2VsLm93bC1jYXJvdXNlbC1zcGxhc2ggLm93bC1kb3QuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFMTUyNEE7IH1cblxuLm93bC1jYXJvdXNlbC1sb2dvcyB7XG4gIG1hcmdpbjogMy41cmVtIDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDM3LjVlbSkge1xuICAgIC5vd2wtY2Fyb3VzZWwtbG9nb3Mge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5vd2wtY2Fyb3VzZWwtbG9nb3MtLWl0ZW0ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9qcXVlcnkucG5nXCIpLCAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICBoZWlnaHQ6IDE1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDQ1JTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDExOSwgMTE5LCAxMTksIDAuMSk7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLm93bC1jYXJvdXNlbC1sb2dvcy0taXRlbTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgLm93bC1jYXJvdXNlbC1sb2dvcy0taXRlbS0xIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9maXN0X2xvZ28ucG5nXCIpOyB9XG4gICAgLm93bC1jYXJvdXNlbC1sb2dvcy0taXRlbS0yIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9zaGFkZXMucG5nXCIpOyB9XG4gICAgLm93bC1jYXJvdXNlbC1sb2dvcy0taXRlbS0zIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9uYXR1cmVpc2xhbmQucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA2MCU7IH1cbiAgICAub3dsLWNhcm91c2VsLWxvZ29zLS1pdGVtLTQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ZlYXRoZXIucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA2MCU7IH1cbiAgICAub3dsLWNhcm91c2VsLWxvZ29zLS1pdGVtLTUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2NvZmZlZS5wbmdcIik7IH1cbiAgICAub3dsLWNhcm91c2VsLWxvZ29zLS1pdGVtLTYge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL25pY2V3cml0ZS5wbmdcIik7IH1cbiAgICAub3dsLWNhcm91c2VsLWxvZ29zLS1pdGVtLTcge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2JhYnloZXJvLnBuZ1wiKTsgfVxuICAub3dsLWNhcm91c2VsLWxvZ29zIC5vd2wtbmF2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAtNnJlbTtcbiAgICByaWdodDogMy41cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm93bC1jYXJvdXNlbC1sb2dvcyAub3dsLXByZXYsXG4gIC5vd2wtY2Fyb3VzZWwtbG9nb3MgLm93bC1uZXh0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogOTtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAub3dsLWNhcm91c2VsLWxvZ29zIC5vd2wtcHJldjo6YWZ0ZXIsXG4gICAgLm93bC1jYXJvdXNlbC1sb2dvcyAub3dsLW5leHQ6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICM3RjhDOEM7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICB3aWR0aDogMi41cmVtO1xuICAgICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuMTVzOyB9XG4gICAgLm93bC1jYXJvdXNlbC1sb2dvcyAub3dsLXByZXY6bm90KDpsYXN0LW9mLXR5cGUpLFxuICAgIC5vd2wtY2Fyb3VzZWwtbG9nb3MgLm93bC1uZXh0Om5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuNHJlbTsgfVxuICAgIC5vd2wtY2Fyb3VzZWwtbG9nb3MgLm93bC1wcmV2OmhvdmVyOjphZnRlcixcbiAgICAub3dsLWNhcm91c2VsLWxvZ29zIC5vd2wtbmV4dDpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0UxNTI0QTtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTJweCAwcHggcmdiYSgxOTEsIDQwLCAzMiwgMC44KSwgMCA0cHggMTFweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpOyB9XG4gIC5vd2wtY2Fyb3VzZWwtbG9nb3MgLm93bC1wcmV2OjphZnRlciB7XG4gICAgY29udGVudDogXCJcXGYxMDRcIjtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMS40cmVtOyB9XG4gIC5vd2wtY2Fyb3VzZWwtbG9nb3MgLm93bC1uZXh0OjphZnRlciB7XG4gICAgY29udGVudDogXCJcXGYxMDVcIjtcbiAgICByaWdodDogMDsgfVxuXG4ucHJpY2luZy10YWJsZSB7XG4gIG1hcmdpbi10b3A6IDdyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogOHJlbSAzcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtNHB4IDBweCByZ2JhKDIxNywgMjE3LCAyMTcsIDAuOCksIDAgNHB4IDExcHggcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuICAucHJpY2luZy10YWJsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc1QzZCRjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC00cHggMHB4IHJnYmEoNzAsIDE2OSwgMTYwLCAwLjgpLCAwIDRweCAxMXB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cbiAgLnByaWNpbmctdGFibGU6aG92ZXIgPiAucHJpY2luZy10YWJsZV9fdGl0bGUsXG4gIC5wcmljaW5nLXRhYmxlOmhvdmVyID4gLnByaWNpbmctdGFibGVfX2N0YSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0UxNTI0QTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC00cHggMHB4IHJnYmEoMTkxLCA0MCwgMzIsIDAuOCksIDAgM3B4IDFyZW0gcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gIC5wcmljaW5nLXRhYmxlX190aXRsZSwgLnByaWNpbmctdGFibGVfX2N0YSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzdGOEM4QztcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAxLjVyZW0gNHJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDgwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzOyB9XG4gIC5wcmljaW5nLXRhYmxlX190aXRsZSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgIC5wcmljaW5nLXRhYmxlX190aXRsZTpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAucHJpY2luZy10YWJsZV9fbGlzdC1pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMXJlbSAycmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDExOSwgMTE5LCAxMTksIDAuMyk7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgLnByaWNpbmctdGFibGVfX2N0YSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MCUpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTRweCAwcHggcmdiYSg5MCwgMTAwLCAxMDAsIDAuOCksIDAgM3B4IDFyZW0gcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gICAgLnByaWNpbmctdGFibGVfX2N0YTpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA0NiUpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0UxNTI0QTtcbiAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDFyZW0gcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG5cbi5ydWxlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucnVsZXI6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnJ1bGVyLS10b3A6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvcnVsZXIyLnBuZ1wiKSByZXBlYXQteCB0b3A7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDsgfVxuXG4uc2VhcmNoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zZWFyY2hfX2J1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDFyZW0gMS41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuICAuc2VhcmNoX19kdW1teSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2VhcmNoX19pbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNS41cmVtO1xuICAgIGJvcmRlcjogNC41cHggc29saWQgI0UxNTI0QTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIHotaW5kZXg6IDk5OTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0NS4yNWVtKSB7XG4gICAgICAuc2VhcmNoX19pbnB1dCB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDQuNXB4IHNvbGlkICNFMTUyNEE7IH0gfVxuICAuc2VhcmNoX19kdW1teTpjaGVja2VkIH4gLnNlYXJjaF9faW5wdXQge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4uc2VydmljZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGN0Y3Rjc7XG4gIHBhZGRpbmc6IDMuNzVyZW0gMS4ycmVtIDEwcmVtIDEuMnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMTksIDExOSwgMTE5LCAwLjE1KTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMHB4IC00cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDM3LjVlbSkge1xuICAgIC5zZXJ2aWNlcyB7XG4gICAgICBwYWRkaW5nOiAxLjVyZW0gM3JlbSA1cmVtIDNyZW07XG4gICAgICB3aWR0aDogODUlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAuc2VydmljZXNfX2ljb24ge1xuICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICBjb2xvcjogIzc1QzZCRjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuNHM7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMzcuNWVtKSB7XG4gICAgICAuc2VydmljZXNfX2ljb24ge1xuICAgICAgICBmb250LXNpemU6IDMuNXJlbTsgfSB9XG4gIC5zZXJ2aWNlc19faGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi40cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnNlcnZpY2VzX19idG4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZVgoMGRlZyk7XG4gICAgd2lkdGg6IDY1JTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBib3R0b206IC0yLjNyZW07XG4gICAgei1pbmRleDogMTA7XG4gICAgcGFkZGluZzogMS41cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMTVzOyB9XG4gICAgLnNlcnZpY2VzX19idG46aG92ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTJweCk7IH1cbiAgICAuc2VydmljZXNfX2J0bjphY3RpdmUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTJweCkgc2NhbGUoMC45Nyk7IH1cbiAgLnNlcnZpY2VzX19wYXJhZ3JhcGgge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGNvbG9yOiAjNzc3O1xuICAgIHBhZGRpbmc6IDAgLjJyZW07XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkOyB9XG4gIC5zZXJ2aWNlczpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItY29sb3I6ICNmMmYyZjI7IH1cbiAgICAuc2VydmljZXM6aG92ZXIgPiAuc2VydmljZXNfX2ljb24ge1xuICAgICAgY29sb3I6ICNFMTUyNEE7IH1cbiAgICAuc2VydmljZXM6aG92ZXIgPiAuc2VydmljZXNfX2J0bi5idG5fX21haW4uYnRuLS1ncmVlbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTE1MjRBOyB9XG4gICAgICAuc2VydmljZXM6aG92ZXIgPiAuc2VydmljZXNfX2J0bi5idG5fX21haW4uYnRuLS1ncmVlbjpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTRweCAwcHggcmdiYSgxOTEsIDQwLCAzMiwgMC44KSwgMCA0cHggMTFweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCkgdHJhbnNsYXRlWCgtNTAlKSByb3RhdGVYKDBkZWcpOyB9XG5cbi5zaG93Y2FzZSB7XG4gIHdpZHRoOiA4NSU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA1cmVtO1xuICBtYXJnaW46IDRyZW0gYXV0byAwIGF1dG87IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU2LjI1ZW0pIHtcbiAgICAuc2hvd2Nhc2Uge1xuICAgICAgd2lkdGg6IDk1JTsgfSB9XG4gIC5zaG93Y2FzZV9faXRlbSB7XG4gICAgYmFja2dyb3VuZDogI0MxQzdDODtcbiAgICBtYXgtd2lkdGg6IDMzLjMzJTtcbiAgICBwYWRkaW5nOiAzLjVyZW0gLjNyZW0gLjVyZW0gLjNyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgei1pbmRleDogMTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgLnNob3djYXNlX19pdGVtOmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS40KTtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgYmFja2dyb3VuZDogI2Q0ZDhkOTtcbiAgICAgIGJveC1zaGFkb3c6IDAuMnJlbSAwLjNyZW0gMC44cmVtIHJnYmEoMCwgMCwgMCwgMC40KTsgfVxuICAgIC5zaG93Y2FzZV9faXRlbS0tMSB7XG4gICAgICBvcmRlcjogMTsgfVxuICAgICAgLnNob3djYXNlX19pdGVtLS0xOmhvdmVyIH4gLnNob3djYXNlX19pdGVtLS0zIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgIC5zaG93Y2FzZV9faXRlbS0tMiB7XG4gICAgICBvcmRlcjogMzsgfVxuICAgICAgLnNob3djYXNlX19pdGVtLS0yOmhvdmVyIH4gLnNob3djYXNlX19pdGVtLS0zIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgIC5zaG93Y2FzZV9faXRlbS0tMyB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjI1KTtcbiAgICAgIG9yZGVyOiAyOyB9XG4gIC5zaG93Y2FzZV9faW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNob3djYXNlX19kZWNvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLjdyZW07XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuc2hvd2Nhc2VfX2RlY29yLS1jaXJjbGUge1xuICAgICAgd2lkdGg6IDFyZW07XG4gICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAuMnJlbTsgfVxuICAgICAgLnNob3djYXNlX19kZWNvci0tY2lyY2xlOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAuc2hvd2Nhc2VfX2RlY29yLS1jaXJjbGUtMSB7XG4gICAgICBoZWlnaHQ6IC44cmVtO1xuICAgICAgd2lkdGg6IDEuNHJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiAzMiU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMS43cmVtO1xuICAgICAgdG9wOiAuN3JlbTsgfVxuXG4udGVhbS1jb21wb3NpdGlvbi1ob2xkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogNnJlbSAwOyB9XG4gIC50ZWFtLWNvbXBvc2l0aW9uLWhvbGRlcjpob3ZlciA+IC5ob3Zlci1wb3B1cCAuaG92ZXItcG9wdXBfX292ZXJsYXkge1xuICAgIGJvdHRvbTogMDsgfVxuXG4udGVhbS1jb21wb3NpdGlvbiB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtaGVpZ2h0OiAzMTBweDtcbiAgd2lkdGg6IDI3MHB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NUM2QkY7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTRweCAwcHggcmdiYSg4MSwgMTgzLCAxNzQsIDAuOCksIDAgNHB4IDExcHggcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuICAudGVhbS1jb21wb3NpdGlvbl9fb3ZlcmxheSBwIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDEuMnJlbTsgfVxuICAudGVhbS1jb21wb3NpdGlvbl9fcGhvdG8ge1xuICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG4gIC50ZWFtLWNvbXBvc2l0aW9uOmhvdmVyIC50ZWFtLWNvbXBvc2l0aW9uX19waG90byB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBmaWx0ZXI6IGJsdXIoMnB4KTsgfVxuICAudGVhbS1jb21wb3NpdGlvbl9fc29jaWFsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gICAgLnRlYW0tY29tcG9zaXRpb25fX3NvY2lhbC1pdGVtLCAudGVhbS1jb21wb3NpdGlvbl9fc29jaWFsLWl0ZW06bGluaywgLnRlYW0tY29tcG9zaXRpb25fX3NvY2lhbC12aXNpdGVkIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM3ODU3ZTtcbiAgICAgIHdpZHRoOiA0cmVtO1xuICAgICAgaGVpZ2h0OiA0cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzOyB9XG4gICAgICAudGVhbS1jb21wb3NpdGlvbl9fc29jaWFsLWl0ZW06bm90KDpsYXN0LWNoaWxkKSwgLnRlYW0tY29tcG9zaXRpb25fX3NvY2lhbC1pdGVtOmxpbms6bm90KDpsYXN0LWNoaWxkKSwgLnRlYW0tY29tcG9zaXRpb25fX3NvY2lhbC12aXNpdGVkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtOyB9XG4gICAgICAudGVhbS1jb21wb3NpdGlvbl9fc29jaWFsLWl0ZW06aG92ZXIsIC50ZWFtLWNvbXBvc2l0aW9uX19zb2NpYWwtaXRlbTpsaW5rOmhvdmVyLCAudGVhbS1jb21wb3NpdGlvbl9fc29jaWFsLXZpc2l0ZWQ6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTE1MjRBO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTRweCAwcHggcmdiYSgxMjUsIDI2LCAyMSwgMC44KSwgMCAxcHggMnJlbSByZ2JhKDAsIDAsIDAsIDAuOCk7IH1cbiAgICAgIC50ZWFtLWNvbXBvc2l0aW9uX19zb2NpYWwtaXRlbTphY3RpdmUsIC50ZWFtLWNvbXBvc2l0aW9uX19zb2NpYWwtaXRlbTpsaW5rOmFjdGl2ZSwgLnRlYW0tY29tcG9zaXRpb25fX3NvY2lhbC12aXNpdGVkOmFjdGl2ZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTRweCAwcHggcmdiYSgxMjUsIDI2LCAyMSwgMC44KSwgMCAxcHggMXJlbSByZ2JhKDAsIDAsIDAsIDAuOSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7IH1cbiAgLnRlYW0tY29tcG9zaXRpb25fX2J0biB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgcGFkZGluZzogMXJlbSAycmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0yNXB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAtNHB4IDBweCByZ2JhKDc4LCA4NywgODcsIDAuOCksIDAgNHB4IDExcHggcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuICAgIC50ZWFtLWNvbXBvc2l0aW9uX19idG46bm90KDpob3Zlcikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzdGOEM4QyAhaW1wb3J0YW50OyB9XG4gICAgLnRlYW0tY29tcG9zaXRpb25fX2J0bjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtM3B4KTsgfVxuICAgIC50ZWFtLWNvbXBvc2l0aW9uX19idG46YWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0xcHgpIHNjYWxlKDAuOTcpO1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtNHB4IDBweCByZ2JhKDc4LCA4NywgODcsIDAuOCksIDAgMXB4IDExcHggcmdiYSgwLCAwLCAwLCAwLjkpOyB9XG5cbi5mbGV4LWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTE3cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzVlbSkge1xuICAgIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwIDEuNXJlbTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1Ni4yNWVtKSB7XG4gICAgLmZsZXgtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9IH1cblxuLmZvb3RlciB7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAzNy41ZW0pIHtcbiAgICAuZm9vdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3NUM2QkY7IH0gfVxuICAuZm9vdGVyOjpiZWZvcmUge1xuICAgIGhlaWdodDogMnJlbTtcbiAgICBvcGFjaXR5OiAuMjsgfVxuICAuZm9vdGVyLWluZm8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3NUM2QkY7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgcGFkZGluZzogM3JlbSAwIDRyZW0gMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1Ni4yNWVtKSB7XG4gICAgICAuZm9vdGVyLWluZm8gLnJvdyAuY29sLW1kLWhhbGYge1xuICAgICAgICB3aWR0aDogNDglICFpbXBvcnRhbnQ7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgIC5mb290ZXItaW5mbyB7XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgICAgIC5mb290ZXItaW5mbyAucm93IC5jb2wtbWQtaGFsZiB7XG4gICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfSB9XG4gICAgLmZvb3Rlci1pbmZvX19sb2dvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgICAuZm9vdGVyLWluZm9fX25hdiB7XG4gICAgICBwYWRkaW5nLXRvcDogMS4zcmVtOyB9XG4gICAgICAuZm9vdGVyLWluZm9fX25hdjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAuZm9vdGVyLWluZm9fX25hdjpsYXN0LWNoaWxkIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuNXJlbTsgfVxuICAgICAgLmZvb3Rlci1pbmZvX19uYXYtLWhlYWRpbmcge1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGNvbG9yOiAjM0I2MzYwOyB9XG4gICAgICAuZm9vdGVyLWluZm9fX25hdi0tbGlzdCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyLjIycmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuMnJlbTsgfVxuICAgICAgLmZvb3Rlci1pbmZvX19uYXYtLWl0ZW0ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuM3JlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLmZvb3Rlci1pbmZvX19uYXYtLWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjU1cmVtOyB9XG4gICAgICAuZm9vdGVyLWluZm9fX25hdi0tbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4yNXM7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAuZm9vdGVyLWluZm9fX25hdi0tbGluazpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA1XCI7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogLTEycHg7XG4gICAgICAgICAgdG9wOiAyLjVweDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjE1czsgfVxuICAgICAgICAuZm9vdGVyLWluZm9fX25hdi0tbGluazpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNFMTUyNEE7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpIHNjYWxlKDEuMDMpO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTE1MjRBOyB9XG4gICAgICAgIC5mb290ZXItaW5mb19fbmF2LS1saW5rOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgcmlnaHQ6IC0xMnB4O1xuICAgICAgICAgIHRvcDogNS41cHg7XG4gICAgICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICBjb2xvcjogI0UxNTI0QTsgfVxuICAgIC5mb290ZXItaW5mb19fYmxvZyB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuICAgICAgcGFkZGluZy10b3A6IDEuM3JlbTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDM3LjVlbSkge1xuICAgICAgICAuZm9vdGVyLWluZm9fX2Jsb2cge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAgIC5mb290ZXItaW5mb19fYmxvZy0taGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH1cbiAgICAgICAgLmZvb3Rlci1pbmZvX19ibG9nLS1oZWFkaW5nID4gc3BhbiB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLjVyZW07IH1cbiAgICAgIC5mb290ZXItaW5mb19fYmxvZy0td3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgICAuZm9vdGVyLWluZm9fX2Jsb2ctLXdyYXBwZXI6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgLmZvb3Rlci1pbmZvX19ibG9nLS13cmFwcGVyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMuNXJlbTsgfVxuICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgICAgICAgIC5mb290ZXItaW5mb19fYmxvZy0td3JhcHBlcjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfSB9XG4gICAgICAuZm9vdGVyLWluZm9fX2Jsb2ctLWltYWdlIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDcwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtOyB9XG4gICAgICAgIC5mb290ZXItaW5mb19fYmxvZy0taW1hZ2UgPiBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuZm9vdGVyLWluZm9fX2Jsb2ctLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjM1cmVtOyB9XG4gICAgICAuZm9vdGVyLWluZm9fX2Jsb2ctLWRhdGUge1xuICAgICAgICBjb2xvcjogIzNCNjM2MDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5mb290ZXItaW5mby0tY29udGFjdCB7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtOyB9XG4gICAgICAuZm9vdGVyLWluZm8tLWNvbnRhY3QgcCA+IHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuOXJlbTsgfVxuICAuZm9vdGVyX19jcmVkZW50aWFscyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNlOTc4ZjtcbiAgICBwYWRkaW5nOiAxLjVyZW0gMDsgfVxuICAgIC5mb290ZXJfX2NyZWRlbnRpYWxzOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmZvb3Rlcl9fY3JlZGVudGlhbHMtLWluZm8ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5mb290ZXJfX2NyZWRlbnRpYWxzLS1zb2NpYWwge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgZm9udC1zaXplOiAyLjJyZW07IH1cbiAgICAgIC5mb290ZXJfX2NyZWRlbnRpYWxzLS1zb2NpYWwgPiBhIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42NSk7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnM7IH1cbiAgICAgICAgLmZvb3Rlcl9fY3JlZGVudGlhbHMtLXNvY2lhbCA+IGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuZm9vdGVyX19jcmVkZW50aWFscy0tc29jaWFsID4gYTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07IH1cblxuLnJvdyB7XG4gIG1heC13aWR0aDogMTE3cmVtO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICAucm93Om5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDhyZW07IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTYuMjVlbSkge1xuICAgICAgLnJvdzpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnJlbTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NWVtKSB7XG4gICAgLnJvdyB7XG4gICAgICBwYWRkaW5nOiAwIDEuNXJlbTsgfSB9XG4gIC5yb3c6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnJvdyBbY2xhc3NePVwiY29sLVwiXSB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAucm93IFtjbGFzc149XCJjb2wtXCJdOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzcmVtOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNTYuMjVlbSkge1xuICAgICAgICAucm93IFtjbGFzc149XCJjb2wtXCJdOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTYuMjVlbSkge1xuICAgICAgLnJvdyBbY2xhc3NePVwiY29sLVwiXSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTYuMjVlbSkge1xuICAgIC5yb3cgW2NsYXNzKj1cImNvbC1tZFwiXTpudGgtb2YtdHlwZShldmVuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDNyZW07IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogMzcuNWVtKSB7XG4gICAgLnJvdyBbY2xhc3MqPVwiY29sLW1kXCJdIHtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH0gfVxuICAucm93IC5jb2wtMS1vZi0yIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAtIDNyZW0pIC8gMik7IH1cbiAgLnJvdyAuY29sLTEtb2YtMyB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAzcmVtICogMikgLyAzKTsgfVxuICAucm93IC5jb2wtMi1vZi0zIHtcbiAgICB3aWR0aDogY2FsYyggMiogKCgxMDAlIC0gM3JlbSAqIDIpIC8gMykgKyAzcmVtKTsgfVxuICAucm93IC5jb2wtMS1vZi00IHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAtIDNyZW0gKiAzKSAvIDQpOyB9XG4gIC5yb3cgLmNvbC0yLW9mLTQge1xuICAgIHdpZHRoOiBjYWxjKCAyICooKDEwMCUgLSAzcmVtICogMykgLyA0KSArIDNyZW0pOyB9XG4gIC5yb3cgLmNvbC0zLW9mLTQge1xuICAgIHdpZHRoOiBjYWxjKCAzICooKDEwMCUgLSAzcmVtICogMykgLyA0KSArIDNyZW0gKiAyKTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTYuMjVlbSkge1xuICAgIC5yb3cgLmNvbC1tZC0xLW9mLTIge1xuICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAzcmVtKSAvIDIpICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogMzcuNWVtKSB7XG4gICAgLnJvdyAuY29sLW1kLTEtb2YtMiB7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU2LjI1ZW0pIHtcbiAgICAucm93IC5jb2wtbWQtMS1vZi00IHtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gM3JlbSAqIDMpIC8gNCkgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1Ni4yNWVtKSB7XG4gICAgLnJvdyAuY29sLW1kLTItb2YtNCB7XG4gICAgICB3aWR0aDogY2FsYyggMiAqKCgxMDAlIC0gM3JlbSAqIDMpIC8gNCkgKyAzcmVtKSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDM3LjVlbSkge1xuICAgIC5yb3cgLmNvbC1oaWRlLW0ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvcnVsZXIucG5nXCIpIHJlcGVhdC14IGJvdHRvbSAjNzVDNkJGO1xuICBwYWRkaW5nOiAzcmVtIDA7XG4gIGNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwcHggMXB4IDAuN3JlbSByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIG1hcmdpbi1ib3R0b206IC4zcmVtOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NWVtKSB7XG4gICAgLmhlYWRlciB7XG4gICAgICBwYWRkaW5nOiAycmVtIDA7IH1cbiAgICAgIC5oZWFkZXIgLmZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5oZWFkZXJfX2xvZ28ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5oZWFkZXJfX2xvZ28ge1xuICAgICAgICBtYXJnaW46IDAgMCAxcmVtIDA7IH0gfVxuICAuaGVhZGVyX19zZWFyY2gge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NWVtKSB7XG4gICAgICAuaGVhZGVyX19zZWFyY2gge1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0NS4yNWVtKSB7XG4gICAgICAuaGVhZGVyX19zZWFyY2gge1xuICAgICAgICBtYXJnaW4tdG9wOiAzcmVtOyB9IH1cblxuLm1peGl0dXAtbGF5b3V0X18yY29sIC5taXhpdHVwID4gLm1peGl0dXBfX2dhbGxlcnk6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLm1peGl0dXAtbGF5b3V0X18yY29sIC5taXhpdHVwID4gLm1peGl0dXBfX2dhbGxlcnkgLm1peCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUvMiAtIDNyZW0pOyB9XG5cbi5taXhpdHVwLWxheW91dF9fM2NvbCAubWl4aXR1cCA+IC5taXhpdHVwX19nYWxsZXJ5OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5taXhpdHVwLWxheW91dF9fM2NvbCAubWl4aXR1cCA+IC5taXhpdHVwX19nYWxsZXJ5IC5taXgge1xuICB3aWR0aDogY2FsYygxMDAlLzMgLSAzcmVtKTsgfVxuXG4ubWl4aXR1cC1sYXlvdXRfXzRjb2wgLm1peGl0dXAgPiAubWl4aXR1cF9fZ2FsbGVyeTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDsgfVxuXG4ubWl4aXR1cC1sYXlvdXRfXzRjb2wgLm1peGl0dXAgPiAubWl4aXR1cF9fZ2FsbGVyeSAubWl4IHtcbiAgd2lkdGg6IGNhbGMoMTAwJS80IC0gM3JlbSk7IH1cblxuLnBhZ2UtdGl0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUJFQkVCO1xuICBwYWRkaW5nOiAycmVtIC41cmVtO1xuICBjb2xvcjogIzdGOEM4QztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAucGFnZS10aXRsZSAuZmxleC1jb250YWluZXIge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAucGFnZS10aXRsZV9faGVhZGluZyB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAucGFnZS10aXRsZV9fYnJlYWRjcnVtYnMtaXRlbXMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9XG4gICAgLnBhZ2UtdGl0bGVfX2JyZWFkY3J1bWJzLWl0ZW1zIHNwYW4ge1xuICAgICAgbWFyZ2luOiAwIC43cmVtOyB9XG4gIC5wYWdlLXRpdGxlOmFmdGVyLCAucGFnZS10aXRsZTpiZWZvcmUge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5wYWdlLXRpdGxlOmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjM1LCAyMzUsIDIzNSwgMCk7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI0VCRUJFQjtcbiAgICBib3JkZXItd2lkdGg6IDI1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0yNXB4OyB9XG4gIC5wYWdlLXRpdGxlOmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci13aWR0aDogMzZweDtcbiAgICBtYXJnaW4tbGVmdDogLTM2cHg7IH1cblxuLnNpZGViYXIge1xuICBjb2xvcjogI0UxNTI0QTtcbiAgcGFkZGluZzogMCAxcmVtOyB9XG4gIC5zaWRlYmFyIGEge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5zaWRlYmFyID4gKjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtOyB9XG4gIC5zaWRlYmFyX19saXN0IHtcbiAgICBwYWRkaW5nOiAwIDJyZW07IH1cbiAgLnNpZGViYXJfX2hlYWRsaW5lIHtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM3RjhDOEM7XG4gICAgbWFyZ2luLWJvdHRvbTogMi4ycmVtOyB9XG4gIC5zaWRlYmFyX19jYXRlZ29yaWVzLS1pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5zaWRlYmFyX19jYXRlZ29yaWVzLS1pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLjdyZW07IH1cbiAgLnNpZGViYXJfX2NhdGVnb3JpZXMtLWxpbmsge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAgIC5zaWRlYmFyX19jYXRlZ29yaWVzLS1saW5rOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNzVDNkJGO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLnNpZGViYXJfX3JlY2VudCAuc2lkZWJhcl9fbGlzdCB7XG4gICAgcGFkZGluZzogMDsgfVxuICAuc2lkZWJhcl9fcmVjZW50LS1pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIHBhZGRpbmc6IDEuNXJlbSAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQzFDN0M4OyB9XG4gICAgLnNpZGViYXJfX3JlY2VudC0taXRlbSBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBjb2xvcjogIzdGOEI4QjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgIC5zaWRlYmFyX19yZWNlbnQtLWl0ZW0gc3Bhbjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuc2lkZWJhcl9fcmVjZW50LS1wb3N0OmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBjb2xvcjogIzc1QzZCRjsgfVxuICAuc2lkZWJhcl9fdGFncy0taXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IC4zcmVtIC43cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3RjhCOEI7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgbWFyZ2luOiAuM3JlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzOyB9XG4gICAgLnNpZGViYXJfX3RhZ3MtLWl0ZW06aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0UxNTI0QTsgfVxuICAuc2lkZWJhcl9fYXJjaGl2ZV9fbGlzdCB7XG4gICAgcGFkZGluZzogMCAycmVtOyB9XG4gIC5zaWRlYmFyX19hcmNoaXZlLS1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAgIC5zaWRlYmFyX19hcmNoaXZlLS1pdGVtOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICM3RjhCOEI7IH1cbiAgICAuc2lkZWJhcl9fYXJjaGl2ZS0taXRlbSBhIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07IH1cbiAgICAgIC5zaWRlYmFyX19hcmNoaXZlLS1pdGVtIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzc1QzZCRjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLnNpZGViYXJfX25ld3NsZXR0ZXIgbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLnNpZGViYXJfX25ld3NsZXR0ZXIgaW5wdXRbdHlwZT0nZW1haWwnXSB7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgbGlnaHRncmF5O1xuICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gIC5zaWRlYmFyX19uZXdzbGV0dGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lOyB9XG5cbi5zZWN0aW9uLXNlcnZpY2VzIHtcbiAgcGFkZGluZzogNXJlbSAwOyB9XG4gIC5zZWN0aW9uLXNlcnZpY2VzX19oZWFkaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyOyB9XG5cbi5zZWN0aW9uLXNob3djYXNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VCRUJFQjtcbiAgcGFkZGluZy10b3A6IDUuNXJlbTsgfVxuICAuc2VjdGlvbi1zaG93Y2FzZTo6YmVmb3JlIHtcbiAgICBoZWlnaHQ6IDJyZW07IH1cblxuLnNlY3Rpb24tdGVzdGltb25pYWxzIHtcbiAgcGFkZGluZzogMTVyZW0gMCAxMHJlbSAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAzNy41ZW0pIHtcbiAgICAuc2VjdGlvbi10ZXN0aW1vbmlhbHMgLmZsZXgtMSB7XG4gICAgICB3aWR0aDogOTAlICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnNlY3Rpb24tdGVzdGltb25pYWxzIC5mbGV4LTIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfVxuICAgIC5zZWN0aW9uLXRlc3RpbW9uaWFscyAuZmxleC0xOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuICAgIC5zZWN0aW9uLXRlc3RpbW9uaWFscyAuZmxleC0yIHtcbiAgICAgIGZsZXg6IDAgMCA4NSU7IH0gfVxuXG4uc2VjdGlvbi1hYm91dC11cyB7XG4gIHBhZGRpbmc6IDRyZW0gMDsgfVxuICAuc2VjdGlvbi1hYm91dC11cyAuaGVhZGluZy1zZWNvbmRhcnkge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLnNlY3Rpb24tdGVhbSB7XG4gIHBhZGRpbmc6IDVyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VCRUJFQjsgfVxuICAuc2VjdGlvbi10ZWFtOjpiZWZvcmUge1xuICAgIGhlaWdodDogMnJlbTsgfVxuXG4uc29sdXRpb24ge1xuICBwYWRkaW5nOiA1cmVtIDA7IH1cbiAgLnNvbHV0aW9uIC5oZWFkaW5nLXNlY29uZGFyeSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uc2VjdGlvbi1wcmljZXMge1xuICBwYWRkaW5nOiA4cmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFQkVCRUI7IH1cbiAgLnNlY3Rpb24tcHJpY2VzOjpiZWZvcmUge1xuICAgIGhlaWdodDogMnJlbTsgfVxuIiwiLy9cbi8vIFZlcnRpY2FsIFJoeXRobVxuLy9cbi8vIFRoaXMgaXMgdGhlIG1pbmltYWwgYW1vdW50IG9mIGNvZGUgbmVlZGVkIHRvIGNyZWF0ZSB2ZXJ0aWNhbCByaHl0aG0gaW4gb3VyXG4vLyBDU1MuIElmIHlvdSBhcmUgbG9va2luZyBmb3IgYSByb2J1c3Qgc29sdXRpb24sIGxvb2sgYXQgdGhlIGV4Y2VsbGVudCBUeXBleVxuLy8gbGlicmFyeS4gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vanB0YXJhbnRvL3R5cGV5XG5cbkBmdW5jdGlvbiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUsICR1bml0OiAkYmFzZS11bml0KSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gcHgge1xuICAgIEBlcnJvciBcIlRoZSBub3JtYWxpemUgdmVydGljYWwtcmh5dGhtIG1vZHVsZSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIEBpZiAkdW5pdCA9PSByZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxcmVtO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09IGVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkcmVsYXRpdmUtdG8pICogMWVtO1xuICB9XG4gIEBlbHNlIHsgLy8gJHVuaXQgPT0gcHhcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxufVxuXG5AbWl4aW4gbm9ybWFsaXplLWZvbnQtc2l6ZSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3B4JyB7XG4gICAgQGVycm9yIFwibm9ybWFsaXplLWZvbnQtc2l6ZSgpIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1yaHl0aG0oJHByb3BlcnR5LCAkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAkdmFsdWUtbGlzdDogJHZhbHVlcztcbiAgJHNlcDogc3BhY2U7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdsaXN0JyB7XG4gICAgJHNlcDogbGlzdC1zZXBhcmF0b3IoJHZhbHVlcyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWx1ZS1saXN0OiBhcHBlbmQoKCksICR2YWx1ZXMpO1xuICB9XG5cbiAgJG5vcm1hbGl6ZWQtdmFsdWVzOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZS1saXN0IHtcbiAgICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgJHZhbHVlICE9IDAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiBub3JtYWxpemUtcmh5dGhtKCRiYXNlLWxpbmUtaGVpZ2h0LCAkcmVsYXRpdmUtdG8pO1xuICAgIH1cbiAgICAkbm9ybWFsaXplZC12YWx1ZXM6IGFwcGVuZCgkbm9ybWFsaXplZC12YWx1ZXMsICR2YWx1ZSwgJHNlcCk7XG4gIH1cbiAgI3skcHJvcGVydHl9OiAkbm9ybWFsaXplZC12YWx1ZXM7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbWFyZ2luKCR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obWFyZ2luLCAkdmFsdWVzLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRtaW4tbGluZS1wYWRkaW5nOiAycHgpIHtcbiAgJGxpbmVzOiBjZWlsKCRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCk7XG4gIC8vIElmIGxpbmVzIGFyZSBjcmFtcGVkIGluY2x1ZGUgc29tZSBleHRyYSBsZWFkaW5nLlxuICBAaWYgKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSkgPCAoJG1pbi1saW5lLXBhZGRpbmcgKiAyKSB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyAxO1xuICB9XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obGluZS1oZWlnaHQsICRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG4iLCIvL1xuLy8gVmFyaWFibGVzXG4vL1xuLy8gWW91IGNhbiBvdmVycmlkZSB0aGUgZGVmYXVsdCB2YWx1ZXMgYnkgc2V0dGluZyB0aGUgdmFyaWFibGVzIGluIHlvdXIgU2Fzc1xuLy8gYmVmb3JlIGltcG9ydGluZyB0aGUgbm9ybWFsaXplLXNjc3MgbGlicmFyeS5cblxuLy8gVGhlIGZvbnQgc2l6ZSBzZXQgb24gdGhlIHJvb3QgaHRtbCBlbGVtZW50LlxuJGJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgYmFzZSBsaW5lIGhlaWdodCBkZXRlcm1pbmVzIHRoZSBiYXNpYyB1bml0IG9mIHZlcnRpY2FsIHJoeXRobS5cbiRiYXNlLWxpbmUtaGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgbGVuZ3RoIHVuaXQgaW4gd2hpY2ggdG8gb3V0cHV0IHZlcnRpY2FsIHJoeXRobSB2YWx1ZXMuXG4vLyBTdXBwb3J0ZWQgdmFsdWVzOiBweCwgZW0sIHJlbS5cbiRiYXNlLXVuaXQ6ICdlbScgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5LlxuJGJhc2UtZm9udC1mYW1pbHk6IG51bGwgIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb250IHNpemVzIGZvciBoMS1oNi5cbiRoMS1mb250LXNpemU6IDIgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAxLjUgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogMS4xNyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6IDEgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAwLjgzICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogMC42NyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8gVGhlIGFtb3VudCBsaXN0cyBhbmQgYmxvY2txdW90ZXMgYXJlIGluZGVudGVkLlxuJGluZGVudC1hbW91bnQ6IDQwcHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb2xsb3dpbmcgdmFyaWFibGUgY29udHJvbHMgd2hldGhlciBub3JtYWxpemUtc2NzcyB3aWxsIG91dHB1dFxuLy8gZm9udC1zaXplcywgbGluZS1oZWlnaHRzIGFuZCBibG9jay1sZXZlbCB0b3AvYm90dG9tIG1hcmdpbnMgdGhhdCBmb3JtIGEgYmFzaWNcbi8vIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgcGFnZSwgd2hpY2ggZGlmZmVycyBmcm9tIHRoZSBvcmlnaW5hbCBOb3JtYWxpemUuY3NzLlxuLy8gSG93ZXZlciwgY2hhbmdpbmcgYW55IG9mIHRoZSB2YXJpYWJsZXMgYWJvdmUgd2lsbCBjYXVzZVxuLy8gJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gdG8gYmUgYXV0b21hdGljYWxseSBzZXQgdG8gdHJ1ZS5cbiRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiBmYWxzZSAhZGVmYXVsdDtcbiIsIkBtaXhpbiBjbGVhcmZpeCB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcbkBtaXhpbiBmbGV4LWNlbnRlci0tdmVydGljYWwge1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLy8gTUVESUEgUVVFUlkgTUFOQUdFUlxyXG4vKlxyXG4wIC0gNjAwcHg6ICAgICAgIFBob25lXHJcbjYwMCAtIDkwMHB4OiAgICAgVGFibGV0IHBvcnRyYWl0XHJcbjkwMCAtIDEyMDBweDogICAgVGFibGV0IExhbmRzY2FwZVxyXG5bMTIwMCAtIDE4MDBweF0gIGlzIHdoZXJlIG91ciBub3JtYWwgc3R5bGVzIGFwcGx5XHJcbjE4MDBweCArIDogICAgICAgQmlnIGRlc2t0b3BcclxuXHJcblxyXG4gJGJyZWFrcG9pbnQgYXJndW1lbnQgY2hvaWNlczpcclxuXHJcbiAgICAtIHBob25lXHJcbiAgICAtIHRhYi1wb3J0XHJcbiAgICAtIHRhYi1sYW5kXHJcbiAgICAtIGJpZy1kZXNrdG9wXHJcblxyXG5cclxuT1JERVI6IEJhc2UgKyB0eXBvZ3JhcGh5ID4gZ2VuZXJhbCBsYXlvdXQgKyBncmlkID4gcGFnZSBsYXlvdXQgPiBjb21wb25lbnRzXHJcblxyXG4gICAgMWVtID0gMTZweDtcclxuKi9cclxuXHJcblxyXG5AbWl4aW4gcmVzcG9uZCgkYnJlYWtwb2ludCl7XHJcbiAgICBAaWYgJGJyZWFrcG9pbnQgPT0gcGhvbmUge1xyXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzNy41ZW0peyAgIC8vIDYwMHB4XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpZiAkYnJlYWtwb2ludCA9PSBtb2ItbmF2IHtcclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDo0NS4yNWVtKSB7ICAvLyA3MjRweFxyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaWYgJGJyZWFrcG9pbnQgPT0gdGFiLXBvcnQge1xyXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1Ni4yNWVtKXsgICAgLy8gOTAwcHhcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGlmICRicmVha3BvaW50ID09IHRhYi1sYW5kIHtcclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzVlbSl7ICAgLy8gMTIwMHB4XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpZiAkYnJlYWtwb2ludCA9PSBiaWctZGVza3RvcCB7XHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDExMi41ZW0peyAgIC8vIDE4MDBweFxyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJAa2V5ZnJhbWVzIGp1bXBSaWdodCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguOTcpIHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB9XHJcblxyXG4gICAgNzUlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC45NykgdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDE1cHgpO1xyXG4gICAgfVxyXG4gICBcclxuICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjk3KSB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5Aa2V5ZnJhbWVzIGp1bXBMZWZ0IHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC45NykgdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuXHJcbiAgICA3NSUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjk3KSB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTE1cHgpO1xyXG4gICAgfVxyXG4gICBcclxuICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjk3KSB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB9XHJcbn0iLCIqLFxyXG4qOjphZnRlcixcclxuKjo6YmVmb3JlIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xyXG59XHJcblxyXG5odG1sIHtcclxuICAgIC8vIHRoaXMgZGVmaW5lcyB3aGF0IDFyZW0gaXNcclxuICAgIGZvbnQtc2l6ZTogNjIuNSU7ICAvLyAxIHJlbSA9IDEwcHg7XHJcblxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZCh0YWItbGFuZCl7XHJcbiAgICAgICAgZm9udC1zaXplOiA1Ni4yNSU7IC8vIDFyZW0gPSA5cHgsIDkvMTYgPSA1Ni4yNSVcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSByZXNwb25kKHRhYi1wb3J0KXtcclxuICAgICAgICBmb250LXNpemU6IDUwJTsgLy8gMSByZW0gPSA4cHgsIDgvMTYgPSA1MCVcclxuICAgIH1cclxuXHJcbiAgICBcclxuXHJcbiAgICBAaW5jbHVkZSByZXNwb25kKGJpZy1kZXNrdG9wKXtcclxuICAgICAgICAvL2ZvbnQtc2l6ZTogNzUlOyAgIC8vIDFyZW0gPSAxMiwgMTIvNlxyXG4gICAgfVxyXG59XHJcblxyXG5ib2R5IHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjJGMkYyO1xyXG59XHJcblxyXG46OnNlbGVjdGlvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbn1cclxuXHJcbmEsXHJcbmE6bGluayxcclxuYTp2aXNpdGVkIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcblxyXG4gICAgJi5yZWZlcmFsLWxpbmsge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5maWd1cmUge1xyXG4gICAgbWFyZ2luOiAwO1xyXG59IiwiLy8gQ09MT1JTXHJcblxyXG4kY29sb3Itd2hpdGU6ICNmZmY7XHJcbiRjb2xvci1ibGFjazogIzAwMDtcclxuXHJcbiRjb2xvci1ncmF5OiAjNzc3Nzc3O1xyXG4kY29sb3ItZ3JheS1saWdodDogIzdGOEM4QztcclxuJGNvbG9yLWdyYXktNjogIzdGOEI4QjtcclxuJGNvbG9yLWdyYXktMjogI0FGQjdCODtcclxuJGNvbG9yLWdyYXktMzogI0Y3RjdGNztcclxuJGNvbG9yLWdyYXktNDogI0MxQzdDODtcclxuJGNvbG9yLWdyYXktNTogI0VCRUJFQjtcclxuJGNvbG9yLWdyYXktNzogI0U0RTVFNTtcclxuLy8kY29sb3ItZ3JheS00OiAjRUNFQ0VDO1xyXG5cclxuXHJcbiRjb2xvci1wcmltYXJ5OiAjNzVDNkJGO1xyXG4kY29sb3ItcHJpbWFyeS1kYXJrOiBkYXJrZW4oJGNvbG9yLXByaW1hcnksNSUpO1xyXG5cclxuXHJcblxyXG4kY29sb3Itc2Vjb25kYXJ5OiAjRTE1MjRBO1xyXG4kY29sb3Itc2Vjb25kYXJ5LWRhcms6IGRhcmtlbigkY29sb3Itc2Vjb25kYXJ5LDUlKTtcclxuXHJcbi8vIEJPUkRFUlMgXHJcblxyXG4kYm9yZGVyLXJhZGl1cy1yaWdodDogMCA4cHggOHB4IDA7XHJcbiRib3JkZXItcmFkaXVzLWxlZnQ6IDhweCAwIDAgOHB4O1xyXG5cclxuLy8gRGVmYXVsdCBib3JkZXIgOlxyXG5cclxuJGJvcmRlci1wcmltYXJ5IDogNnB4O1xyXG5cclxuXHJcbi8vIEdSSURcclxuXHJcbiRncmlkLXdpZHRoOiAxMTdyZW07XHJcbiRndXR0ZXItdmVydGljYWw6IDhyZW07XHJcbiRndXR0ZXItdmVydGljYWwtc21hbGw6IDZyZW07XHJcbiRndXR0ZXItdmVydGljYWwtdGlueTogNHJlbTtcclxuJGd1dHRlci1ob3Jpem9udGFsOiAzcmVtOyIsImJvZHkge1xyXG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNztcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdyYXk7XHJcbiAgICAvL2ZvbnQtc2l6ZTogMS40cmVtO1xyXG59IiwiLy8gRm9udCB3ZWlnaHRzIFxyXG5cclxuLnUtZm9udHctYmlnIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbn0gXHJcblxyXG4udS1mb250dy1tZWQge1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxufSBcclxuXHJcbi51LWZvbnR3LW5vcm0ge1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxufSBcclxuXHJcbi51LWNvbG9yLS1ncmF5IHtcclxuICAgIGNvbG9yOiAkY29sb3ItZ3JheS1saWdodCFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG4vLyBCYWNrZ3JvdW5kcyBcclxuXHJcbi51LWJnLS1ncmF5IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFQkVCRUI7XHJcbn1cclxuLnUtYmctLWdyYXkxIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5LTI7XHJcbn1cclxuXHJcbi51LWZsZXgtLXNwYWNlLWIge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcblxyXG5cclxuLy8gQ2xhc3NlcyBmb3IgaGlkaW5nIG9uIGRpZmZlcmVudCBzaXplcyBcclxuXHJcbi51LWhpZGRlbiB7XHJcbiAgICAmLS14cyB7XHJcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZChwaG9uZSl7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYtLXMge1xyXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQodGFiLXBvcnQpe1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLS1tIHtcclxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKHRhYi1sYW5kKXtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfSAgIFxyXG4gICAgJi0tbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZChiaWctZGVza3RvcCl7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuIiwiLmFycm93LWNsb3VkIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICBib3JkZXI6IHNvbGlkIDEwcHggdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcbiAgICAmLS10b3Age1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgdG9wOiAtMjBweDtcclxuICAgICAgICBsZWZ0OiAxMnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFycm93LWNsb3VkLS1ncmVlbjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogZGFya2VuKCRjb2xvci1wcmltYXJ5LWRhcmssIDEwJSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYXJyb3ctY2xvdWQtLXJlZDo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yLXNlY29uZGFyeS1kYXJrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYtLWJvdHRvbSB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm90dG9tOiAtMjBweDtcclxuICAgICAgICAgICAgbGVmdDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICYuYXJyb3ctY2xvdWQtLXdoaXRlOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYtLWdyZWVuIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLXByaW1hcnktZGFyaywgMTAlKTtcclxuICAgIH1cclxuICAgICYtLXJlZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlY29uZGFyeS1kYXJrO1xyXG4gICAgfVxyXG4gICAgJi0td2hpdGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgIH1cclxuXHJcbn0iLCIuYmxvZyB7XHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgIGNvbG9yOiAkY29sb3ItZ3JheS1saWdodDtcclxuICAgIG1hcmdpbjogNHJlbSBhdXRvIWltcG9ydGFudDtcclxuICAgICZfX2NvbnRhaW5lcixcclxuICAgICZfX3NpZGViYXIge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgfVxyXG4gICAgJl9fY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjElIC0gM3JlbSk7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcmVtO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH0gLy8gTGluZSBhdCB0aGUgYm90dG9tXHJcbiAgICBcclxuICAgICZfX3NpZGViYXIge1xyXG4gICAgICAgIHdpZHRoOiAyMSU7XHJcblxyXG4gICAgfSAvL2xlZnQgc2lkZSBvZiB0aGUgYmxvZyBsaXN0aW5nXHJcblxyXG4gICAgLy8gSW5kaXZpZHVhbCBibG9nXHJcbiAgICAmX19wb3N0IHtcclxuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcclxuICAgICAgICAmPioge1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgICBwYWRkaW5nOiA0cmVtIDA7XHJcbiAgICB9XHJcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCl7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRjb2xvci1ncmF5LTc7XHJcbiAgICB9XHJcbiAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICAmX19pY29ucyB7XHJcbiAgICAgICAgLy8gc3BhY2UgYmV0d2VlbiBpY29ucyBhbmQgbWFpbiBjb250ZW50XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cmVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgICAgJj4qIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgd2lkdGg6IDcuNXJlbTtcclxuICAgICAgICAgICAgaGVpZ2h0OiA3LjVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY+Kjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi0tZGF0ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5LTM7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAtNHB4IDAgZGFya2VuKCRjb2xvci1ncmF5LTMsMTUlKTtcclxuICAgICAgICAgICAgJi1tb250aCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi1kYXkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzcmVtO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLS1jYXRlZ29yeSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5LTY7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAtNHB4IDAgZGFya2VuKCRjb2xvci1ncmF5LTYsMTUlKTtcclxuICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0cmVtO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0gLy9yaWdodCBzaWRlIG9mIHRoZSBibG9nIGxpc3RpbmdcclxuICAgICZfX21haW4ge1xyXG4gICAgICAgIHdpZHRoOiA4NSU7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICB9XHJcbiAgICAmX19pbWFnZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMzMwcHg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG4gICAgfVxyXG4gICAgJl9faGVhZGxpbmUge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICBmb250LXNpemU6IDIuNHJlbTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9faW5mbyBhLFxyXG4gICAgJl9faW5mbyBhOmxpbmssXHJcbiAgICAmX19pbmZvIGE6dmlzaXRlZCxcclxuICAgICZfX3JlYWQsXHJcbiAgICAmX19yZWFkOmxpbmssXHJcbiAgICAmX19yZWFkOnZpc2l0ZWQge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5O1xyXG4gICAgfVxyXG4gICAgJl9faW5mbyB7XHJcbiAgICAgICAgbWFyZ2luOiAuNXJlbSAwIDEuNXJlbSAwO1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgICAgICBhPmkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgLjdyZW0gMCAxLjRyZW07XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi0tdXNlciB7fVxyXG4gICAgICAgICYtLWNhdGVnb3J5IHt9XHJcbiAgICAgICAgJi0tcGxhdGZvcm0ge31cclxuICAgICAgICAmLS1jb21tZW50cyB7fVxyXG4gICAgfVxyXG4gICAgJl9fcGFyYWdyYXBoIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICB9XHJcbiAgICAmX19yZWFkIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGkge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogODAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIuYnRuIHtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuMTVzO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgei1pbmRleDogOTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcHJpbWFyeTtcclxuXHJcbiAgICAvLyBTdHlsZXMgZm9yIHRoZSBtYWluIGJ1dHRvblxyXG4gICAgJl9fbWFpbiB7XHJcbiAgICAgICAgcGFkZGluZzogMS4ycmVtIDVyZW07XHJcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgICAgICYtLWNhcHMge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwOyBcclxuICAgICAgICB9IFxyXG4gICAgICAgICYtLXNtYWxsIHtcclxuICAgICAgICAgICAgcGFkZGluZzogLjhyZW0gMS40cmVtO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHVuc2V0O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgICAgICAmID4gaSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG5cclxuICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMnJlbTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5idG4tLWdyYXkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JheS0yO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLXNlY29uZGFyeSwgMiUpO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtNHB4IDBweCByZ2JhKGRhcmtlbigkY29sb3Itc2Vjb25kYXJ5LWRhcmssIDEwJSksLjgpLCAwIDRweCAxMXB4IHJnYmEoIzAwMCwgLjI1KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmJ0bi0tcmVkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvci1zZWNvbmRhcnksIDIlKTtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTRweCAwcHggcmdiYShkYXJrZW4oJGNvbG9yLXNlY29uZGFyeS1kYXJrLCAxMCUpLC44KSwgMCA0cHggMTFweCByZ2JhKCMwMDAsIC4yNSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5idG4tLWdyZWVuIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY29sb3ItcHJpbWFyeSwgMiUpO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtNHB4IDBweCByZ2JhKGRhcmtlbigkY29sb3ItcHJpbWFyeS1kYXJrLCAxMCUpLC44KSwgMCA0cHggMTFweCByZ2JhKCMwMDAsIC4yNSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLy8gU3R5bGVzIGZvciB0aGUgYnV0dG9uIHdpdGggdGhlIGFycm93c1xyXG5cclxuXHJcbiAgICAmX19zcGVjIHtcclxuICAgICAgICAvLyBGVU5DVElPTkFMSVRZXHJcbiAgICAgICAgLy8gU3BlY2lhbCArIGdyZWVuXHJcbiAgICAgICAgJi5idG4tLWdyZWVuIHtcclxuICAgICAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3ItcHJpbWFyeS1kYXJrLCAxMCUpO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtNHB4IDBweCByZ2JhKGRhcmtlbigkY29sb3ItcHJpbWFyeS1kYXJrLCAxNSUpLC44KSwgMCA0cHggMTFweCByZ2JhKCMwMDAsIC4yNSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUsXHJcbiAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTRweCAwcHggcmdiYShkYXJrZW4oJGNvbG9yLXNlY29uZGFyeS1kYXJrLCAxMCUpLC44KSwgMCAycHggMTFweCByZ2JhKCMwMDAsIC44KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gLy8gU3BlY2lhbCArIHJlZFxyXG4gICAgICAgICYuYnRuLS1yZWQge1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgJjphY3RpdmUsXHJcbiAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTRweCAwcHggcmdiYShkYXJrZW4oJGNvbG9yLXNlY29uZGFyeS1kYXJrLCAxMCUpLC44KSwgMCA0cHggMTFweCByZ2JhKCMwMDAsIC4yNSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLS1ncmVlbiB7fVxyXG4gICAgJi0tcmVkIHt9XHJcbiAgICAmOmhvdmVyXHJcbiAgICB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpO1xyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjk3KSB0cmFuc2xhdGVZKC0ycHgpO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDFyZW0gcmdiYSgkY29sb3ItYmxhY2ssLjgpO1xyXG4gICAgfVxyXG59IiwiLmNsaWVudHMge1xyXG5cclxuICAgICZfX2hlYWRsaW5lIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgJi0taGVhZGluZyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgJi0tbGluZSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDcwJTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0cmVtO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRTBFMUUxO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFMEUxRTE7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQodGFiLXBvcnQpe1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZChwaG9uZSl7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLmRyb3Bkb3duIHtcclxuICAgIEBpbmNsdWRlIHJlc3BvbmQobW9iLW5hdil7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICZfX21lbnUge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgICB0b3A6IDYwcHg7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBtaW4td2lkdGg6IDE3MCU7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgICAvL292ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcclxuICAgICAgICB6LWluZGV4OiA5OTk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB9XHJcbiAgICAmX19saXN0IHtcclxuICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAmX19saW5rIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogNXB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgICBwYWRkaW5nOiAuM3JlbSAycmVtO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLy8gRlVOQ1RJT05BTElUWSBcclxuICAgICYtLXNob3duIHtcclxuICAgICAgICAuZHJvcGRvd25fX21lbnUge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAyNXJlbTtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kcm9wZG93bl9fbGluayB7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGkge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvLyBIZWFkaW5nIHdpdGggZmxvYXRzXHJcbi5oZWFkaW5nLWZsb2F0ZWQge1xyXG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICBwYWRkaW5nOiAxLjdyZW0gMi4ycmVtO1xyXG4gICAgICYgPiBkaXYge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgfVxyXG4gICAgJiA+IGEge1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgIH1cclxufVxyXG5cclxuLmhlYWRpbmctcHJpbWFyeSB7XHJcbiAgICBsaW5lLWhlaWdodDogMS40NTtcclxuICAgICYtLW1haW4ge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheS1saWdodDtcclxuICAgICAgICBmb250LXNpemU6IDNyZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuICAgICYtLXN1YiB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmF5O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5oZWFkaW5nLXNlY29uZGFyeSB7XHJcbiAgICBmb250LXNpemU6IDRyZW07XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgJl9fc3ViIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWdyYXk7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSByZXNwb25kKHBob25lKXtcclxuICAgICAgICBmb250LXNpemU6IDNyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi5oZWFkaW5nLXRlcnRpYXJ5IHtcclxuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdyYXktbGlnaHQ7XHJcbiAgICBmb250LXNpemU6IDEuNnJlbTtcclxufVxyXG4uaGVhZGluZy1hYm91dCB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgZm9udC1zaXplOiAzcmVtO1xyXG4gICAgLmhlYWRpbmctc2Vjb25kYXJ5X19zdWIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XHJcbiAgICB9XHJcbn0iLCIuaG92ZXItcG9wdXAge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICZfX292ZXJsYXkge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgcGFkZGluZzogMCAycmVtO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBib3R0b206IC0xMDAlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuXHJcbiAgICAgICAgLy8gQmFja2dyb3VuZCBjb2xvcnNcclxuICAgICAgICAmLS1jb2xvci1wcmltYXJ5IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3ItcHJpbWFyeSwgLjg1KTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtNHB4IDBweCByZ2JhKGRhcmtlbigkY29sb3ItcHJpbWFyeSwgMjAlKSwuOCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fY29udGFpbmVyIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ2VudGVyaW5nXHJcblxyXG4gICAgJl9fY2VudGVyZWQge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG5cclxuIFxyXG59IiwiLmluZm8tYmxvY2sge1xyXG4gICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICAmX19saXN0IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcclxuICAgICAgICAmLS1pdGVtIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZChwaG9uZSl7XHJcbiAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogM3JlbTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19wYXJhZ3JhcGgge1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuICAgICZfX2ltYWdlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA0cmVtO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIFxyXG4gICAgfVxyXG5cclxuICAgICZfX3Rlc3RpbW9uaWFsIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xyXG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbSAxcmVtIDEuNXJlbSAyLjJyZW07XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoIzAwMCwuMTApO1xyXG4gICAgICAgICYtLXBhcmFncmFwaCB7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLW5hbWUge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmF5O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyLjJyZW07XHJcbiAgICAgICAgICAgIGxlZnQ6IDVyZW07XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZCh0YWItcG9ydCl7XHJcbiAgICAgICAgLnJvdyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmZsZXgtMiB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAtMSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBmbGV4OiAwIDAgNzUlO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mbGV4LTEge1xyXG4gICAgICAgICAgICB3aWR0aDogNDIlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwibGkge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG5cclxuLmxpc3Qtc3R5bGVfX2Fycm93IHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG4gICAgfVxyXG4gICAgJi0tZmxhdCB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcXGYwNjFcIjtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLS1jaXJjbGUge1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMGE5XCI7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5OyAvL2JhY2tncm91bmQtY29sb3I6JGNvbG9yLXdoaXRlO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLS1hbmdsZS1yaWdodCB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcXGYxMDVcIjtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7IC8vYmFja2dyb3VuZC1jb2xvcjokY29sb3Itd2hpdGU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5tYWluLWxvZ28ge1xyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XHJcblxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6M3JlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLm1peGl0dXAge1xyXG4gICAgJl9fY29udHJvbHMge1xyXG4gICAgICAgIG1hcmdpbjogNC41cmVtIDA7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fYnV0dG9uIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5LWxpZ2h0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgICAgIHBhZGRpbmc6IC44cmVtIDJyZW07XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycztcclxuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIC00cHggMHB4IHJnYmEoZGFya2VuKCRjb2xvci1ncmF5LWxpZ2h0LCAxMCUpLC44KTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKXtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTRweCAwcHggcmdiYShkYXJrZW4oJGNvbG9yLXNlY29uZGFyeSwgMTAlKSwuOCksIDAgNHB4IDExcHggcmdiYSgjMDAwLCAuMjUpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KSBzY2FsZSguOTcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgb3V0bGluZTogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2ltYWdlIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAvL2JvcmRlcjogMnB4IHNvbGlkIHJnYmEoJGNvbG9yLWdyYXktbGlnaHQsLjMpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC45Nik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICAgIH1cclxuXHJcbiAgICAmX19nYWxsZXJ5IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xyXG4gICAgICAgIC5taXgge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMzExcHg7XHJcbiAgICAgICAgICAgIC8vcGFkZGluZzogMS43cmVtO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAxLjVyZW0gM3JlbTtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKCRjb2xvci1ncmF5LWxpZ2h0LC40KTtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKCRjb2xvci1ncmF5LWxpZ2h0LC40KTtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgkY29sb3ItZ3JheS1saWdodCwuNCk7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtNHB4IDBweCByZ2JhKGRhcmtlbigkY29sb3ItZ3JheS1saWdodCwgMTAlKSwuMyksIDAgNHB4IDExcHggcmdiYSgjMDAwLCAuMjUpO1xyXG4gICAgICAgICAgICAvLyBPdmVybGF5IGZ1bmN0aW9uYWxpdHkgXHJcbiAgICAgICAgICAgICZfX2xpbmtzIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICZfX2xpbmtzLWl0ZW1zIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi40cmVtO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3ItcHJpbWFyeSwxNSUpO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDVyZW07XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDVyZW07XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAxcHggNHJlbSByZ2JhKCRjb2xvci1ibGFjaywuMik7XHJcbiAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCl7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJl9fcGFyYWdyYXBoIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDNyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciA+IC5ob3Zlci1wb3B1cF9fb3ZlcmxheSB7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciAubWl4aXR1cF9faW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLndlYi1kZXNpZ24ge1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgLnBob3RvZ3JhcGh5IHtcclxuICAgICAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiBvcmFuZ2VyZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC53b3JkcHJlc3Mge1xyXG4gICAgICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6IHB1cnBsZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgXHJcbn1cclxuXHJcbi5taXhpdHVwLWNvbnRyb2wtYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0NmE5YTA7XHJcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC00cHggMHB4IHJnYmEoZGFya2VuKCM0NmE5YTAsIDIwJSksLjgpO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ2YTlhMDtcclxuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIC01cHggMHB4IHJnYmEoZGFya2VuKCM0NmE5YTAsIDIwJSksLjgpLDAgNHB4IDExcHggcmdiYSgjMDAwLCAuMjUpO1xyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCAwcHggcmdiYShkYXJrZW4oIzQ2YTlhMCwgMjAlKSwuOCksMCAycHggMTFweCByZ2JhKCMwMDAsIC44KTtcclxuICAgIH1cclxufSIsIi5tYWluLW5hdmlnYXRpb24ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgJl9fbGlzdCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC42cHg7XHJcbiAgICAgICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC42cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBsZWZ0OiAtOXB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19saW5rIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZzogLjhyZW0gMi4ycmVtO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIH1cclxufVxyXG5cclxuLm5hdi1tb2JpbGUge1xyXG4gICAgJl9faW5wdXQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAmX19idXR0b24ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgei1pbmRleDogMTAwO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICBsZWZ0OiAzcmVtO1xyXG4gICAgICAgIHRvcDogMi42cmVtO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLXNlY29uZGFyeSwgLjY1KTtcclxuICAgICAgICBoZWlnaHQ6IDMuOHJlbTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAgICAgd2lkdGg6IDRyZW07XHJcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZChtb2ItbmF2KXtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9faWNvbiB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xyXG4gICAgICAgICYsXHJcbiAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDJyZW07XHJcbiAgICAgICAgICAgIGhlaWdodDogMi4xcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHRvcDogLS44cmVtO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICB0b3A6IC44cmVtO1xyXG4gICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi10ZXh0IHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMy41cHgsMjBweCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9faW5wdXQ6Y2hlY2tlZCArICZfX2J1dHRvbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcclxuICAgIH1cclxuXHJcbiAgICAmX19pbnB1dDpjaGVja2VkICsgJl9fYnV0dG9uICZfX2ljb24ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG4gICAgJl9faW5wdXQ6Y2hlY2tlZCArICZfX2J1dHRvbiAmX19pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XHJcbiAgICB9XHJcbiAgICAmX19pbnB1dDpjaGVja2VkICsgJl9fYnV0dG9uICZfX2ljb246YWZ0ZXIge1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcclxuICAgIH1cclxuICAgICZfX2lucHV0OmNoZWNrZWQgKyAmX19idXR0b24gJl9faWNvbi10ZXh0IHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMy41cHgsLTZweCk7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuXHJcbi5uYXYtbW9iaWxlX19pbnB1dDpjaGVja2Vkfi5oZWFkZXJfX25hdmlnYXRpb24ge1xyXG4gICAgd2lkdGg6IDU1JTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4ubmF2LW1vYmlsZV9faW5wdXQ6Y2hlY2tlZCB+LmhlYWRlcl9fbmF2aWdhdGlvbiAuc2VhcmNoX19idXR0b24ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG59XHJcbi5uYXYtbW9iaWxlX19pbnB1dDpjaGVja2VkIH4uaGVhZGVyX19uYXZpZ2F0aW9uIC5oZWFkZXJfX3NlYXJjaCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAycmVtO1xyXG4gICAgYm90dG9tOiA3cmVtO1xyXG59XHJcblxyXG5cclxuXHJcbi5uYXYtbW9iaWxlX19pbnB1dDpjaGVja2Vkfi5iYWNrZ3JvdW5kIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgXHJcbn1cclxuXHJcbkBpbmNsdWRlIHJlc3BvbmQobW9iLW5hdikge1xyXG4gICAgLy8gUmVzcG9uc2l2ZSBkcm9wLWxlZnQgbWVudVxyXG4gICAgLm1haW4tbmF2aWdhdGlvbiB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3ItcHJpbWFyeSwuOTUpO1xyXG4gICAgICAgIHotaW5kZXg6IDUwO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCByZ2JhKCRjb2xvci1wcmltYXJ5LWRhcmssLjg1KTtcclxuICAgICAgICBib3gtc2hhZG93OiAycHggMHB4IDlweCAwcHggcmdiYSgwLDAsMCwwLjU4KTtcclxuICAgICAgICAmX19saXN0IHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIC8vcGFkZGluZy1sZWZ0OiAxcmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19saW5rIHtcclxuICAgICAgICAgICAgLy93aWR0aDogMzUlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc2VhcmNoX19idXR0b24ge1xyXG4gICAgICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLmJhY2tncm91bmQge1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjFzIC4ycztcclxuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHotaW5kZXg6IDQ1O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLXdoaXRlLC44NSk7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbn0iLCIub3ZlcmxheSB7XHJcbiAgICAmX19saW5rIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjE1cyAuMXM7XHJcbiAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMGMxXCI7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBmb250QXdlc29tZTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3ItcHJpbWFyeSwgLjQ1KTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuODVyZW07XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnM7XHJcbiAgICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3Zlcjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5vd2wtY2Fyb3VzZWwge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICBcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIGhlaWdodDogNTByZW07XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICYtLTEge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9zcGxhc2gtMS0xeC5qcGcnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi0tMiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3NwbGFzaC0yLTF4LmpwZycpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLS0zIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvc3BsYXNoLTMtMXguanBnJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfSAvLyBURVhUIC8gSEVBRExJTkUgXHJcbiAgICAmX190ZXh0IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyAvL2Rpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgIH1cclxuICAgICYtLW1haW4ge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1zZWNvbmRhcnk7XHJcbiAgICAgICAgZm9udC1zaXplOiA1cmVtO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbiAgICAgICAgcGFkZGluZzogMCAxcmVtO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcbiAgICB9XHJcbiAgICAmLS1zdWIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yOiAjMDAwMDAwLCAkYWxwaGE6IC43KTtcclxuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogLjZyZW0gM3JlbTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICB9IC8vIEZVTEwgV0lEVEggQ0FST1VTRUxcclxuICAgICYub3dsLWNhcm91c2VsLXNwbGFzaCB7XHJcbiAgICAgICAgLy8gQVJST1dTXHJcbiAgICAgICAgLm93bC1wcmV2LFxyXG4gICAgICAgIC5vd2wtbmV4dCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAgICAgQGV4dGVuZCAuYnRuLS1yZWQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1cmVtO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDZyZW07XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMy41cmVtO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1cmVtO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA2cmVtO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXI6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLXNlY29uZGFyeSwgNSUpO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtNHB4IDBweCByZ2JhKGRhcmtlbigkY29sb3Itc2Vjb25kYXJ5LWRhcmssIDE1JSksIC44KSwgMCA0cHggMTFweCByZ2JhKCMwMDAsIC4yNSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm93bC1wcmV2IHtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtcmlnaHQ7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1yaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwNFwiO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtcmlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGp1bXBSaWdodDtcclxuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjdzO1xyXG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDM7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAycHggNHB4IDIuNXJlbSByZ2JhKCRjb2xvci1ibGFjaywgLjgpO1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC45NSkgdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAub3dsLW5leHQge1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGVmdDtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYxMDVcIjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tbmFtZToganVtcExlZnQ7XHJcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IC43cztcclxuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICAgICAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAzO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMnB4IDRweCAyLjVyZW0gcmdiYSgkY29sb3ItYmxhY2ssIC44KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguOTUpIHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IC8vIFBBR0lOQVRJT04gXHJcbiAgICAgICAgLm93bC1kb3RzIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgICAgICBib3R0b206IC0yLjVyZW07XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm93bC1kb3Qge1xyXG4gICAgICAgICAgICB3aWR0aDogNXJlbTtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5LTI7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gTG9nbyByZWVsXHJcbi5vd2wtY2Fyb3VzZWwtbG9nb3Mge1xyXG5cclxuICAgIEBpbmNsdWRlIHJlc3BvbmQocGhvbmUpe1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgbWFyZ2luOiAzLjVyZW0gMDtcclxuICAgICYtLWl0ZW0ge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9qcXVlcnkucG5nXCIpLCAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3Itd2hpdGUsLjIpO1xyXG4gICAgICAgIGhlaWdodDogMTVyZW07XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNDUlO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGNvbG9yLWdyYXksLjEpO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi0xIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2Zpc3RfbG9nby5wbmdcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtMiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9zaGFkZXMucG5nXCIpO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJi0zIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL25hdHVyZWlzbGFuZC5wbmdcIik7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNjAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLTQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvZmVhdGhlci5wbmdcIik7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNjAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLTUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvY29mZmVlLnBuZ1wiKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi02IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL25pY2V3cml0ZS5wbmdcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtNyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9iYWJ5aGVyby5wbmdcIik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm93bC1uYXYge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0b3A6IC02cmVtO1xyXG4gICAgICAgIHJpZ2h0OiAzLjVyZW07XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuICAgIC5vd2wtcHJldixcclxuICAgIC5vd2wtbmV4dCB7IFxyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiA5O1xyXG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM3RjhDOEM7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgICAgICAgICAgd2lkdGg6IDIuNXJlbTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyLjVyZW07XHJcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4xNXM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjRyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXI6OmFmdGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMnB4IDBweCByZ2JhKGRhcmtlbigkY29sb3Itc2Vjb25kYXJ5LWRhcmssIDEwJSksIC44KSwgMCA0cHggMTFweCByZ2JhKCMwMDAsIC4yNSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAub3dsLXByZXYge1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcXGYxMDRcIjtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjRyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm93bC1uZXh0IHtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA1XCI7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5wcmljaW5nLXRhYmxlIHtcclxuICAgIG1hcmdpbi10b3A6IDdyZW07XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiA4cmVtIDNyZW07XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAtNHB4IDBweCByZ2JhKGRhcmtlbigkY29sb3Itd2hpdGUsIDE1JSksLjgpLCAwIDRweCAxMXB4IHJnYmEoIzAwMCwgLjI1KTtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtNHB4IDBweCByZ2JhKGRhcmtlbigkY29sb3ItcHJpbWFyeSwgMTUlKSwuOCksIDAgNHB4IDExcHggcmdiYSgjMDAwLCAuMjUpO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciA+ICZfX3RpdGxlLFxyXG4gICAgJjpob3ZlciA+ICZfX2N0YXtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTRweCAwcHggcmdiYShkYXJrZW4oJGNvbG9yLXNlY29uZGFyeSwgMTUlKSwuOCksMCAzcHggMXJlbSByZ2JhKCMwMDAsIC41KSA7XHJcbiAgICB9XHJcbiAgICAmX190aXRsZSxcclxuICAgICZfX2N0YSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXktbGlnaHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICBwYWRkaW5nOiAxLjVyZW0gNHJlbTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgd2lkdGg6IDgwJTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgfVxyXG4gICAgJl9fdGl0bGUge1xyXG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbGlzdCB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgICZfX2xpc3QtaXRlbSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMnJlbTtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgkY29sb3ItZ3JheSwuMyk7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY3RhIHtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsNTAlKTtcclxuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIC00cHggMHB4IHJnYmEoZGFya2VuKCRjb2xvci1ncmF5LWxpZ2h0LCAxNSUpLC44KSwgMCAzcHggMXJlbSByZ2JhKCMwMDAsIC41KTtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSw0NiUpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDVweCAxcmVtIHJnYmEoIzAwMCwgLjUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5ydWxlciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgICYtLXRvcCB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9ydWxlcjIucG5nXCIpIHJlcGVhdC14IHRvcDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5zZWFyY2gge1xyXG4gICAgXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAmX19idXR0b24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZChtb2ItbmF2KXtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9faWNvbiB7fVxyXG4gICAgJl9fZHVtbXkge1xyXG5cclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgJl9faW5wdXQge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0b3A6IDUuNXJlbTtcclxuICAgICAgICBib3JkZXI6IDQuNXB4IHNvbGlkICRjb2xvci1zZWNvbmRhcnk7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgcGFkZGluZzogMXJlbTtcclxuICAgICAgICB6LWluZGV4OiA5OTk7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQobW9iLW5hdil7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBib3JkZXI6IDQuNXB4IHNvbGlkICRjb2xvci1zZWNvbmRhcnk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgJl9fZHVtbXk6Y2hlY2tlZCB+ICZfX2lucHV0IHtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcblxyXG4gICAgfVxyXG59IiwiLnNlcnZpY2VzIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5LTM7XHJcbiAgICBwYWRkaW5nOiAzLjc1cmVtIDEuMnJlbSAxMHJlbSAxLjJyZW07XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXByaW1hcnk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkY29sb3ItZ3JheSwuMTUpO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IC00cHggMHB4IHJnYmEoIzAwMCwuMTUpO1xyXG5cclxuICAgIEBpbmNsdWRlIHJlc3BvbmQocGhvbmUpe1xyXG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbSAzcmVtIDVyZW0gM3JlbTtcclxuICAgICAgICB3aWR0aDogODUlO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmX19pY29uIHtcclxuICAgICAgICBmb250LXNpemU6IDVyZW07XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIC40cztcclxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKHBob25lKXtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzLjVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9faGVhZGluZyB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi40cmVtO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcbiAgICAmX19idG4ge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZVgoMGRlZyk7XHJcbiAgICAgICAgd2lkdGg6IDY1JTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBib3R0b206IC0yLjNyZW07XHJcbiAgICAgICAgei1pbmRleDogMTA7XHJcbiAgICAgICAgcGFkZGluZzogMS41cmVtO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuMTVzO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTJweCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTJweCkgc2NhbGUoLjk3KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19wYXJhZ3JhcGgge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgICAgIGNvbG9yOiAjNzc3O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgLjJyZW07XHJcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEhvdmVyIFxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZjJmMmYyO1xyXG4gICAgICAgICYgPiAuc2VydmljZXNfX2ljb24ge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJiA+IC5zZXJ2aWNlc19fYnRuLmJ0bl9fbWFpbi5idG4tLWdyZWVuIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIC00cHggMHB4IHJnYmEoZGFya2VuKCRjb2xvci1zZWNvbmRhcnktZGFyaywgMTAlKSwuOCksIDAgNHB4IDExcHggcmdiYSgjMDAwLCAuMjUpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KSB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZVgoMGRlZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLnNob3djYXNlIHtcclxuICAgIHdpZHRoOiA4NSU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiA1cmVtO1xyXG4gICAgbWFyZ2luOiA0cmVtIGF1dG8gMCBhdXRvO1xyXG4gICAgXHJcbiAgICBAaW5jbHVkZSByZXNwb25kKHRhYi1wb3J0KXtcclxuICAgICAgICB3aWR0aDogOTUlO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmF5LTQ7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAzMy4zMyU7XHJcbiAgICAgICAgcGFkZGluZzogMy41cmVtIC4zcmVtIC41cmVtIC4zcmVtO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgjMDAwLC4xMCk7XHJcbiAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNCk7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRjb2xvci1ncmF5LTQsNyUpO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAuMnJlbSAuM3JlbSAuOHJlbSByZ2JhKCMwMDAsLjQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tMSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIgfiAuc2hvd2Nhc2VfX2l0ZW0tLTMge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLTIge1xyXG4gICAgICAgICAgICBvcmRlcjogMztcclxuICAgICAgICAgICAgJjpob3ZlciB+IC5zaG93Y2FzZV9faXRlbS0tMyB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS0zIHtcclxuICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yNSk7XHJcbiAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2ltZyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMXJlbTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIC8vdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2RlY29yIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAuN3JlbTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAmLS1jaXJjbGUge1xyXG4gICAgICAgICAgICB3aWR0aDogMXJlbTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxcmVtO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtO1xyXG5cclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tY2lyY2xlLTEge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IC44cmVtO1xyXG4gICAgICAgICAgICB3aWR0aDogMS40cmVtO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDMyJTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAxLjdyZW07XHJcbiAgICAgICAgICAgIHRvcDogLjdyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLnRlYW0tY29tcG9zaXRpb24taG9sZGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbjogNnJlbSAwO1xyXG5cclxuICAgIC8vIFBvcHVwIGhvdmVyIGZ1bmN0aW9uYWxpdHlcclxuICAgICY6aG92ZXIgPiAuaG92ZXItcG9wdXAgLmhvdmVyLXBvcHVwX19vdmVybGF5IHtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICB9XHJcbn1cclxuLnRlYW0tY29tcG9zaXRpb24ge1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBtYXgtaGVpZ2h0OiAzMTBweDtcclxuICAgIHdpZHRoOiAyNzBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC00cHggMHB4IHJnYmEoZGFya2VuKCRjb2xvci1wcmltYXJ5LCAxMCUpLC44KSwgMCA0cHggMTFweCByZ2JhKCMwMDAsIC4yNSk7XHJcbiAgICAmX19vdmVybGF5IHtcclxuXHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmX19waG90byB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyICZfX3Bob3RvIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIGZpbHRlcjogYmx1cigycHgpO1xyXG4gICAgfVxyXG4gICAgJl9fc29jaWFsIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgICAgIFxyXG4gICAgICAgICYtaXRlbSxcclxuICAgICAgICAmLWl0ZW06bGluayxcclxuICAgICAgICAmLXZpc2l0ZWQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvci1wcmltYXJ5LDI1JSk7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0cmVtO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDRyZW07XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCl7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC4ycmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTRweCAwcHggcmdiYShkYXJrZW4oJGNvbG9yLXNlY29uZGFyeSwzMCUpLC44KSwwIDFweCAycmVtIHJnYmEoJGNvbG9yLWJsYWNrLCAuOCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdyA6aW5zZXQgMCAtNHB4IDBweCByZ2JhKGRhcmtlbigkY29sb3Itc2Vjb25kYXJ5LDMwJSksLjgpLDAgMXB4IDFyZW0gcmdiYSgkY29sb3ItYmxhY2ssIC45KTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjk1KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19idG4ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMnJlbTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYm90dG9tOiAtMjVweDtcclxuICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTRweCAwcHggcmdiYShkYXJrZW4oJGNvbG9yLWdyYXktbGlnaHQsIDIwJSksLjgpLCAwIDRweCAxMXB4IHJnYmEoIzAwMCwgLjI1KTtcclxuICAgICAgICAmOm5vdCg6aG92ZXIpe1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JheS1saWdodCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtM3B4KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMXB4KSBzY2FsZSguOTcpO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIC00cHggMHB4IHJnYmEoZGFya2VuKCRjb2xvci1ncmF5LWxpZ2h0LCAyMCUpLC44KSwgMCAxcHggMTFweCByZ2JhKCMwMDAsIC45KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59IiwiLmZsZXgtY29udGFpbmVyIHtcclxuICAgIG1heC13aWR0aDogJGdyaWQtd2lkdGg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgIEBpbmNsdWRlIHJlc3BvbmQodGFiLWxhbmQpe1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMS41cmVtO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZCAodGFiLXBvcnQpe1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIFxyXG59IiwiLmZvb3RlciB7XHJcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgQGluY2x1ZGUgcmVzcG9uZChwaG9uZSl7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICB9XHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGhlaWdodDogMnJlbTtcclxuICAgICAgICBvcGFjaXR5OiAuMjtcclxuICAgIH1cclxuICAgICYtaW5mbyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICAgICAgcGFkZGluZzogM3JlbSAwIDRyZW0gMDtcclxuXHJcbiAgICAgICAgXHJcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCh0YWItcG9ydCl7XHJcbiAgICAgICAgICAgICYgLnJvdyAuY29sLW1kLWhhbGYge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ4JSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZChwaG9uZSl7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAmIC5yb3cgLmNvbC1tZC1oYWxmIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19hYm91dCB7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICAmX19sb2dvIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fbmF2IHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEuM3JlbTtcclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7IFxyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMi41cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtLWhlYWRpbmcge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICMzQjYzNjA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi0tbGlzdCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMi4yMnJlbTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMi4ycmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtLWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjNyZW07XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjU1cmVtO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtLWxpbmsge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4yNXM7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYxMDVcIjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMTJweDtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDIuNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMTVzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpIHNjYWxlKDEuMDMpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3Itc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlcjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTJweDtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDUuNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IHVuc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fYmxvZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA5MCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEuM3JlbTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZChwaG9uZSl7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi0taGVhZGluZyB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XHJcbiAgICAgICAgICAgICAgICAmPnNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC41cmVtO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtLXdyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCl7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMy41cmVtO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kKHBob25lKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi0taW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNzBweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMnJlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAmID4gaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjM1cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYtLWRhdGUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICMzQjYzNjA7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtLWNvbnRhY3Qge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xyXG4gICAgICAgICAgICAmIHA+c3BhbiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEuOXJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2NyZWRlbnRpYWxzIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLXByaW1hcnksMjAlKTtcclxuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICBwYWRkaW5nOiAxLjVyZW0gMDtcclxuICAgICAgICAmLS1pbmZvIHtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLS1zb2NpYWwge1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJiA+IGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoJGNvbG9yLXdoaXRlLC42NSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmPmE6bm90KDpsYXN0LWNoaWxkKXtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMS41cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLnJvdyB7XHJcbiAgICBtYXgtd2lkdGg6ICRncmlkLXdpZHRoO1xyXG4gICAgIFxyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBcclxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlci12ZXJ0aWNhbDtcclxuICAgICAgICBAaW5jbHVkZSByZXNwb25kICh0YWItcG9ydCl7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXItdmVydGljYWwtc21hbGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBcclxuICAgIEBpbmNsdWRlIHJlc3BvbmQgKHRhYi1sYW5kKXtcclxuICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cclxuICAgIFxyXG5cclxuICAgIFxyXG5cclxuXHJcbiAgICBcclxuICAgIFtjbGFzc149XCJjb2wtXCJdIHsgICAvLyBEZWZhdWx0IGNvbCBjb25maWd1cmF0aW9uXHJcblxyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGd1dHRlci1ob3Jpem9udGFsO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kICh0YWItcG9ydCl7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyLXZlcnRpY2FsLXNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCAodGFiLXBvcnQpe1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIFxyXG4gICAgfVxyXG5cclxuICAgIFtjbGFzcyo9XCJjb2wtbWRcIl0geyAvLyBNQVggV0lEVEggOTAwIFBYXHJcblxyXG4gICAgICAgICY6bnRoLW9mLXR5cGUoZXZlbil7ICAgIC8vIFNlbGVjdCBvbmx5IGZpcnN0IGNvbCBpbiBhIDIgY29sIHJvd1xyXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kKHRhYi1wb3J0KXtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGd1dHRlci1ob3Jpem9udGFsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQocGhvbmUpe1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICAuY29sLTEtb2YtMiB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAjeyRndXR0ZXItaG9yaXpvbnRhbH0pIC8gMik7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAuY29sLTEtb2YtMyB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAjeyRndXR0ZXItaG9yaXpvbnRhbH0gKiAyKSAvIDMpO1xyXG4gICAgfVxyXG4gICAgLmNvbC0yLW9mLTMge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKCAyKiAoKDEwMCUgLSAjeyRndXR0ZXItaG9yaXpvbnRhbH0gKiAyKSAvIDMpICsgI3skZ3V0dGVyLWhvcml6b250YWx9KTtcclxuICAgIH1cclxuICAgIC5jb2wtMS1vZi00IHtcclxuICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtICN7JGd1dHRlci1ob3Jpem9udGFsfSAqIDMpIC8gNCk7XHJcbiAgICB9XHJcbiAgICAuY29sLTItb2YtNCB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoIDIgKigoMTAwJSAtICN7JGd1dHRlci1ob3Jpem9udGFsfSAqIDMpIC8gNCkgKyAjeyRndXR0ZXItaG9yaXpvbnRhbH0pO1xyXG4gICAgfVxyXG4gICAgLmNvbC0zLW9mLTQge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKCAzICooKDEwMCUgLSAjeyRndXR0ZXItaG9yaXpvbnRhbH0gKiAzKSAvIDQpICsgI3skZ3V0dGVyLWhvcml6b250YWx9ICogMik7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gbWF4LXdpZHRoOiA5MDBweDsgXHJcbiAgICBcclxuICAgIC5jb2wtbWQtMS1vZi0yIHtcclxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKHRhYi1wb3J0KXtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAjeyRndXR0ZXItaG9yaXpvbnRhbH0pIC8gMikgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZChwaG9uZSl7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbC1tZC0xLW9mLTQge1xyXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQodGFiLXBvcnQpe1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtICN7JGd1dHRlci1ob3Jpem9udGFsfSAqIDMpIC8gNCkgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29sLW1kLTItb2YtNCB7XHJcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCh0YWItcG9ydCl7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCAyICooKDEwMCUgLSAjeyRndXR0ZXItaG9yaXpvbnRhbH0gKiAzKSAvIDQpICsgI3skZ3V0dGVyLWhvcml6b250YWx9KSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAuY29sLWhpZGUtbSB7XHJcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZChwaG9uZSl7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICB9XHJcbiAgICBcclxuICAgICIsIi5oZWFkZXIge1xyXG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL3J1bGVyLnBuZ1wiKSByZXBlYXQteCBib3R0b20gJGNvbG9yLXByaW1hcnk7XHJcbiAgICBwYWRkaW5nOiAzcmVtIDA7XHJcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDFweCAuN3JlbSByZ2JhKCRjb2xvci1ibGFjaywgLjUpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogLjNyZW07XHJcbiAgICBAaW5jbHVkZSByZXNwb25kKHRhYi1sYW5kKXtcclxuICAgICAgICAmIC5mbGV4LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHBhZGRpbmc6IDJyZW0gMDtcclxuICAgIH1cclxuICAgICZfX2xvZ28ge1xyXG4gICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgbWFyZ2luLXJpZ2h0OiAxMHJlbTtcclxuXHJcbiAgICAgICBAaW5jbHVkZSByZXNwb25kKHRhYi1sYW5kKXtcclxuICAgICAgICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XHJcbiAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuXHJcbiAgICAmX19zZWFyY2gge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBAaW5jbHVkZSByZXNwb25kKHRhYi1sYW5kKXtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSByZXNwb25kKG1vYi1uYXYpe1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDNyZW07XHJcbiAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIFxyXG59IiwiLm1peGl0dXAtbGF5b3V0IHtcclxuXHJcbiAgICAmX18yY29sIHtcclxuICAgICAgICBcclxuICAgICAgICAubWl4aXR1cCA+IC5taXhpdHVwX19nYWxsZXJ5IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICAgICAgICAgIC5taXgge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJS8yIC0gM3JlbSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgJl9fM2NvbCB7XHJcbiAgICAgICAgLm1peGl0dXAgPiAubWl4aXR1cF9fZ2FsbGVyeSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgICAgICAubWl4IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUvMyAtIDNyZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fNGNvbCB7XHJcbiAgICAgICAgLm1peGl0dXAgPiAubWl4aXR1cF9fZ2FsbGVyeSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgICAgICAgICAubWl4IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUvNCAtIDNyZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLnBhZ2UtdGl0bGUge1xyXG4gICAgXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JheS01O1xyXG4gICAgcGFkZGluZzogMnJlbSAuNXJlbTtcclxuICAgIGNvbG9yOiAkY29sb3ItZ3JheS1saWdodDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgLmZsZXgtY29udGFpbmVyIHsgLy8gb3ZlcnJpZGluZyBkZWZhdWx0XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgfVxyXG4gICAgJl9faGVhZGluZyB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuICAgICZfX2JyZWFkY3J1bWJzIHtcclxuXHJcbiAgICAgICAgJi1pdGVtcyB7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAuN3JlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyLCAmOmJlZm9yZSB7XHJcbiAgICAgICAgdG9wOiAxMDAlO1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMzUsIDIzNSwgMjM1LCAwKTtcclxuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjRUJFQkVCO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMjVweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTI1cHg7XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xyXG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMzZweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTM2cHg7XHJcbiAgICB9XHJcbn0iLCIuc2lkZWJhciB7XHJcbiAgICBjb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcclxuICAgIHBhZGRpbmc6IDAgMXJlbTtcclxuICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgfVxyXG4gICAgJj4qOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XHJcbiAgICB9XHJcbiAgICAmX19saXN0IHtcclxuICAgICAgICBwYWRkaW5nOiAwIDJyZW07XHJcbiAgICB9XHJcbiAgICAmX19oZWFkbGluZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheS1saWdodDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjJyZW07XHJcbiAgICB9XHJcbiAgICAmX19jYXRlZ29yaWVzIHtcclxuICAgICAgICAmLS1pdGVtIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuN3JlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLS1saW5rIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fcmVjZW50IHtcclxuICAgICAgICAuc2lkZWJhcl9fbGlzdCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtLWl0ZW0ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNXJlbSAwO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyYXktNDtcclxuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgIC8vbWFyZ2luLWJvdHRvbTogMS40cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheS02O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLS1wb3N0IHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX3RhZ3Mge1xyXG4gICAgICAgICYtLWl0ZW0ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IC4zcmVtIC43cmVtO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JheS02O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogLjNyZW07XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2FyY2hpdmUge1xyXG4gICAgICAgICZfX2xpc3Qge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDJyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtLWl0ZW0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmF5LTY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fbmV3c2xldHRlciB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlucHV0W3R5cGU9J2VtYWlsJ10ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbGlnaHRncmF5O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl17XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5zZWN0aW9uLXNlcnZpY2VzIHtcclxuICAgIHBhZGRpbmc6IDVyZW0gMDtcclxuXHJcbiAgICAmX19oZWFkaW5nIHtcclxuXHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnJlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjtcclxuICAgIH1cclxufVxyXG5cclxuLnNlY3Rpb24tc2hvd2Nhc2Uge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXktNTsgXHJcbiAgICBwYWRkaW5nLXRvcDogNS41cmVtO1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAvLyBIZWlnaHQgZm9yIHRoZSBydWxlclxyXG4gICAgICAgIGhlaWdodDogMnJlbTtcclxuICAgIH1cclxufVxyXG4uc2VjdGlvbi10ZXN0aW1vbmlhbHMge1xyXG4gICAgcGFkZGluZzogMTVyZW0gMCAxMHJlbSAwOyBcclxuXHJcbiAgICBcclxuXHJcbiAgICBAaW5jbHVkZSByZXNwb25kKHBob25lKXtcclxuICAgICAgICAuZmxleC0xe3dpZHRoOiA5MCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZmxleC0yIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmZsZXgtMTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIC8vZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5mbGV4LTIge1xyXG5cclxuICAgICAgICAgICAgZmxleDogMCAwIDg1JTsgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLnNlY3Rpb24tYWJvdXQtdXMge1xyXG4gICAgcGFkZGluZzogNHJlbSAwO1xyXG4gICAgLmhlYWRpbmctc2Vjb25kYXJ5IHtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2VjdGlvbi10ZWFtIHtcclxuICAgIHBhZGRpbmc6IDVyZW0gMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5LTU7XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBoZWlnaHQ6IDJyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zb2x1dGlvbiB7XHJcbiAgICBwYWRkaW5nOiA1cmVtIDA7XHJcbiAgICAuaGVhZGluZy1zZWNvbmRhcnkge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4iLCIuc2VjdGlvbi1wcmljZXMge1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBoZWlnaHQ6IDJyZW07XHJcbiAgICB9XHJcbiAgICBwYWRkaW5nOiA4cmVtIDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JheS01O1xyXG59Il19 */
