/*
 0   -  600 : Phone 400/16 < 37.5em
 600 -  900 : Tablet 600/16 < 56.25em
 900 - 1200 : Tablet landscape 600/16 < 75em
1200 -      : Desktop 1200/16 > 75em

*/
:root {
  --vh100: calc(100vh);
  --vh100-once: calc(100vh);
  --scrollbar-width: 0;
  --header-height: 3.75rem;
  --site-padding: 1.25rem;
  --menu-fonts: 1.3125rem;
  --font-34: 2.0625rem;
  --font-22: 1.3125rem;
  --font-16: 0.9375rem;
  --col-8-100: 100% * 157 / 1400;
  --gap-8-100: 100% * 20 / 1400;
  --gap-8-rem: 1.25rem;
  --menu-col: 100% * 157 / 512;
  --menu-gap: 100% * 20 / 512; }
  @media (max-width: 1010px) {
    :root {
      --menu-fonts: 1.125rem;
      --font-34: 1.75rem;
      --font-22: 1.125rem; } }

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.2;
  -webkit-text-size-adjust: 100%; }

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

/**
 * Render the `main` element consistently in IE.
 */
main {
  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
	 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  height: 1px;
  width: 100%;
  border: none;
  overflow: visible; }

/**
 * 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;
  font-size: 1em; }

/* Text-level semantics
	 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

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

/**
 * 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;
  font-size: 1em; }

/**
 * 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
	 ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

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

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  overflow: visible; }

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

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * 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;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal; }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

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

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

/**
 * 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;
  outline-offset: -2px; }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[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;
  font: inherit; }

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

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

/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

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

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

html {
  box-sizing: border-box; }

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

ul li {
  list-style-type: none; }

h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: normal;
  margin: 0; }

button {
  background-color: transparent;
  outline: none;
  border: none;
  cursor: pointer; }

@font-face {
  font-family: 'Serifbabe';
  src: url("../fonts/SerifbabeALPHA-Regular.woff2") format("woff2"), url("../fonts/SerifbabeALPHA-Regular.woff.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Serifbabe';
  src: url("../fonts/SerifbabeALPHA-RegularItalic.woff2") format("woff2"), url("../fonts/SerifbabeALPHA-RegularItalic.woff") format("woff");
  font-weight: normal;
  font-style: italic;
  font-display: swap; }

@font-face {
  font-family: 'Serifbabe SIGMA';
  src: url("../fonts/SerifbabeSIGMA-Regular.woff2") format("woff2"), url("../fonts/SerifbabeSIGMA-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }

html {
  font-family: "Serifbabe";
  font-size: 16px; }

* {
  color: #FFF; }
  *::-moz-selection {
    /* Code for Firefox */
    color: white;
    background: black; }
  *::selection {
    color: white;
    background: black; }

body {
  background-color: #000;
  opacity: 0;
  transition: opacity .3s ease-in-out; }
  body.ready {
    opacity: 1; }
  body .site-main {
    min-height: calc( var(--vh100) - var(--header-height)); }

.italic {
  font-style: italic; }

.upper {
  text-transform: uppercase; }

.lower {
  text-transform: lowercase; }

.cap {
  text-transform: capitalize; }

.underline {
  text-decoration: underline; }

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

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

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

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

.m0-auto {
  margin: 0 auto; }

.flex {
  display: flex; }

.flex-center {
  display: flex;
  align-items: center; }

.flex-between {
  display: flex;
  justify-content: space-between; }

.flex-between-center {
  display: flex;
  justify-content: space-between;
  align-items: center; }

.flex-center-center {
  display: flex;
  justify-content: center;
  align-items: center; }

.flex-col {
  display: flex;
  flex-direction: column; }

.flex-col-center {
  display: flex;
  flex-direction: column;
  align-items: center; }

.flex-col-between-center {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center; }

.flex-break {
  flex: 1 0 100%;
  height: 0; }

.grid {
  display: grid; }

.grid-12 {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-column-gap: var(--col-gap); }

.overlay-fadein {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
  pointer-events: none;
  z-index: 0; }

.overlay-left {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  transform: translateX(-100%);
  transition: transform 0.3s ease-out;
  pointer-events: none;
  z-index: 5; }
  .overlay-left.transform-x0 {
    transform: translateX(0); }

@media only screen and (max-width: 62.5em) {
  .overlay-right {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transform: translateX(100%);
    transition: transform 0.3s ease-out;
    pointer-events: none;
    z-index: 5; } }

.overlay-fadein.show {
  opacity: 1;
  z-index: 10; }

.transform-x0 {
  transform: translateX(0); }

.transformed-y {
  transform: translateY(150px);
  transition: transform .7s ease-in-out, opacity .7s ease-in; }
  .transformed-y.unrevealed {
    transition: transform .7s ease-in-out, opacity .7s ease-in; }
  .transformed-y.transform-0 {
    transform: translateY(0); }

.sequential > div {
  transform: translateY(150px);
  opacity: 0;
  transition: transform .7s ease-in-out, opacity .7s ease-in; }
  .sequential > div.show.transform-0 {
    transform: translateY(0);
    opacity: 1; }

.events-none {
  pointer-events: none; }

.events-auto {
  pointer-events: auto; }

.overflowY-hidden {
  overflow-y: hidden; }

.events-none.overflowY-hidden {
  overflow-y: auto; }
  @media only screen and (max-width: 62.5em) {
    .events-none.overflowY-hidden {
      pointer-events: none;
      overflow: hidden; } }

.scroll-cont {
  overflow: unset;
  height: auto; }
  @media only screen and (min-width: 37.5em) {
    .scroll-cont {
      overflow: hidden;
      height: var(--vh100); } }
  @media only screen and (min-width: 62.5em) {
    .scroll-cont {
      overflow: hidden;
      width: 100%; } }

.scroll-inner {
  padding-right: var(--scrollbar-width);
  overflow-y: scroll;
  height: var(--vh100);
  display: flex;
  flex-direction: column;
  width: calc(100% + var(--scrollbar-width)); }

.scrollbar-measure {
  width: 100px;
  height: 100px;
  overflow: scroll;
  position: absolute;
  top: -9999px; }

.sticky {
  position: sticky; }

.hidden-title {
  opacity: 0;
  height: 0;
  margin: 0; }

.invisible {
  visibility: hidden; }

.nodisplay {
  display: none; }

.hidden {
  opacity: 0; }

.show {
  opacity: 1; }

.unrevealed {
  opacity: 0;
  transition: opacity .5s ease-in; }
  .unrevealed.show {
    opacity: 1; }

@media only screen and (max-width: 37.5em) {
  .mobile-hidden {
    display: none; } }

@media only screen and (max-width: 62.5em) {
  .tablet-hidden {
    display: none !important; } }

@media only screen and (max-width: 75em) {
  .tablet-land-hidden {
    display: none !important; } }

.mobile-only {
  display: none; }
  @media only screen and (max-width: 37.5em) {
    .mobile-only {
      display: block; } }

.tablet-only {
  display: none; }
  @media only screen and (max-width: 62.5em) {
    .tablet-only {
      display: block; } }

.tablet-land-only {
  display: none; }
  @media only screen and (max-width: 75em) {
    .tablet-land-only {
      display: block; } }

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

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

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

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

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

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

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

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

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

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

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

.slick-slide img {
  display: block; }

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

.slick-slide.dragging img {
  pointer-events: none; }

.slick-initialized .slick-slide {
  display: block; }

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

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent; }

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

.slick-slider.hover .city-multicard-cont {
  opacity: .5; }
  .slick-slider.hover .city-multicard-cont.over {
    opacity: 1; }

.slick-slide {
  outline: none;
  height: inherit; }

.slick-disabled {
  display: none !important; }

.slick-track {
  margin-left: calc(var(--main-pad-lr) - 1rem);
  display: flex; }

@media only screen and (max-width: 62.5em) {
  .slick-track {
    margin-left: calc(var(--main-pad-lr) - .8rem); } }

@media only screen and (max-width: 37.5em) {
  .slick-track {
    margin-left: unset; } }

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  padding: 16px 14px;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; }
  .hamburger.is-active .hamburger-inner,
  .hamburger.is-active .hamburger-inner::before,
  .hamburger.is-active .hamburger-inner::after {
    background-color: #FFF; }

.hamburger-box {
  width: 20px;
  height: 15px;
  display: inline-block;
  position: relative; }

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -0.5px; }
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 20px;
    height: 1px;
    background-color: #FFF;
    border-radius: 4px;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease; }
  .hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block; }
  .hamburger-inner::before {
    top: -7px; }
  .hamburger-inner::after {
    bottom: -7px; }

/*
   * 3DXY
   */
.hamburger--3dxy .hamburger-box {
  perspective: 40px; }

.hamburger--3dxy .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dxy .hamburger-inner::before, .hamburger--3dxy .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dxy.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateX(180deg) rotateY(180deg); }
  .hamburger--3dxy.is-active .hamburger-inner::before {
    transform: translate3d(0, 7px, 0) rotate(45deg); }
  .hamburger--3dxy.is-active .hamburger-inner::after {
    transform: translate3d(0, -7px, 0) rotate(-45deg); }

.site-header {
  height: var(--header-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 var(--site-padding);
  color: #FFF;
  z-index: 10;
  position: fixed;
  top: 0;
  left: 0;
  right: 0; }
  .site-header .site-branding {
    font-size: var(--menu-fonts); }
  .site-header .mobile-menu-btn {
    display: none;
    font-size: var(--menu-fonts);
    padding: var(--site-padding);
    position: absolute;
    right: 0; }
    @media (max-width: 1010px) {
      .site-header .mobile-menu-btn {
        display: block; } }
  .site-header .nav-cnt {
    width: calc(3* var(--col-8-100) + 2* var(--gap-8-100)); }
  .site-header .main-navigation .menu {
    display: flex;
    font-size: var(--menu-fonts);
    justify-content: end; }
    .site-header .main-navigation .menu li {
      margin-right: 7.3125rem; }
      @media (hover: hover) {
        .site-header .main-navigation .menu li:hover {
          text-decoration-thickness: 0.0625rem;
          text-decoration-line: underline;
          text-underline-offset: 0.30rem; } }
      .site-header .main-navigation .menu li:last-child {
        margin-right: 0; }
        @media (max-width: 600px) {
          .site-header .main-navigation .menu li:last-child {
            margin-right: 0.3125rem; } }
      .site-header .main-navigation .menu li.current-menu-item {
        text-decoration-thickness: 0.0625rem;
        text-decoration-line: underline;
        text-underline-offset: 0.30rem; }
        @media (max-width: 1010px) {
          .site-header .main-navigation .menu li.current-menu-item {
            text-decoration-thickness: 0rem;
            text-decoration-line: none;
            text-underline-offset: 0; }
            .site-header .main-navigation .menu li.current-menu-item a {
              text-decoration-thickness: 0.0625rem;
              text-decoration-line: underline;
              text-underline-offset: 0.30rem; }
            .site-header .main-navigation .menu li.current-menu-item.menu-item-has-children a {
              text-decoration-thickness: 0rem;
              text-decoration-line: none;
              text-underline-offset: 0; } }
      .site-header .main-navigation .menu li .sub-menu li a {
        text-decoration-thickness: 0rem;
        text-decoration-line: none;
        text-underline-offset: 0; }
      .site-header .main-navigation .menu li .sub-menu li.current-menu-item a {
        text-decoration-thickness: 0rem;
        text-decoration-line: none;
        text-underline-offset: 0; }
      .site-header .main-navigation .menu li .sub-menu li.current-menu-item span {
        text-decoration-thickness: 0.0625rem !important;
        text-decoration-line: underline !important;
        text-underline-offset: 0.1rem !important; }
      .site-header .main-navigation .menu li.current-menu-parent a span {
        text-decoration-thickness: 0.0625rem;
        text-decoration-line: underline;
        text-underline-offset: 0.1rem; }
      .site-header .main-navigation .menu li.current-menu-parent .sub-menu a span {
        text-decoration-thickness: 0rem;
        text-decoration-line: none;
        text-underline-offset: 0; }
    .site-header .main-navigation .menu .sub-menu {
      display: none;
      font-size: var(--menu-fonts);
      flex-flow: wrap;
      align-items: center;
      justify-content: center;
      width: auto;
      padding-bottom: 2rem;
      padding-top: 0.9375rem; }
      @media (max-width: 1010px) {
        .site-header .main-navigation .menu .sub-menu {
          display: flex;
          line-height: 1.2em; }
          .site-header .main-navigation .menu .sub-menu li {
            border-top: none;
            padding-top: 0;
            padding-bottom: 0;
            margin-right: 0.3125rem;
            margin-left: 0.3125rem;
            font-size: 1.0625rem; } }
    @media (max-width: 1010px) {
      .site-header .main-navigation .menu {
        flex-flow: column;
        padding-top: calc(var(--header-height));
        padding-left: var(--site-padding);
        font-size: var(--font-34);
        padding-right: var(--site-padding); }
        .site-header .main-navigation .menu li {
          margin-right: 0;
          border-top: 1px solid #FFF;
          padding-top: .5rem;
          padding-bottom: 2rem; }
          .site-header .main-navigation .menu li.menu-item-has-children {
            padding-bottom: 0; } }
  @media (max-width: 1010px) {
    .site-header .main-navigation {
      background: #000;
      position: fixed;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      opacity: 0;
      pointer-events: none;
      transition: opacity .2s ease-in-out; }
      .site-header .main-navigation.active {
        opacity: 1;
        pointer-events: auto;
        z-index: -1; } }

.home-main .video-main-cnt .video {
  height: 100%;
  position: fixed;
  top: 0;
  left: 50%;
  bottom: 0;
  right: 0;
  width: 1000%;
  padding-top: 56.25%;
  transform: translate(-50%, 0%);
  display: flex;
  align-items: center;
  justify-content: center; }
  @media (max-width: 600px) {
    .home-main .video-main-cnt .video.desktop {
      display: none; } }
  .home-main .video-main-cnt .video.mobile {
    display: none; }
    @media (max-width: 600px) {
      .home-main .video-main-cnt .video.mobile {
        display: flex; } }
  .home-main .video-main-cnt .video iframe {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%; }

.home-main .caption-cnt {
  position: absolute;
  left: var(--site-padding);
  font-size: var(--font-22);
  bottom: var(--site-padding); }

.about-main {
  margin-top: var(--header-height);
  padding: 0 var(--site-padding);
  padding-top: 1.9rem;
  padding-bottom: 4.8rem; }
  .about-main .about-cnt-content {
    display: flex;
    justify-content: space-between; }
    @media (max-width: 600px) {
      .about-main .about-cnt-content {
        display: block; } }
  .about-main .img-cnt {
    width: calc(38% - 1.25rem);
    border-top: 1px solid #FFF;
    margin-right: 1.25rem;
    font-size: var(--font-34);
    padding-top: 1.9375rem;
    line-height: 1.07em; }
    @media (max-width: 600px) {
      .about-main .img-cnt {
        margin-right: 0;
        width: 100%;
        padding-bottom: 3rem; } }
    .about-main .img-cnt img {
      width: 65.43%;
      height: auto;
      display: block; }
      @media (max-width: 600px) {
        .about-main .img-cnt img {
          width: 100%; } }
  .about-main .content-cnt {
    width: 62%;
    border-top: 1px solid #FFF;
    padding-top: 1.75rem;
    font-size: var(--font-22);
    line-height: 1.25em; }
    @media (max-width: 600px) {
      .about-main .content-cnt {
        width: 100%; } }
    .about-main .content-cnt p {
      margin-bottom: 1rem; }
  .about-main .information-cnt {
    display: flex;
    padding-top: 4.2rem; }
    @media (max-width: 600px) {
      .about-main .information-cnt {
        display: block; } }
    .about-main .information-cnt .contact-info {
      margin-right: 4.8rem; }
      @media (max-width: 600px) {
        .about-main .information-cnt .contact-info {
          margin-right: 0; } }

.post-type-archive-projects .site-header .nav-cnt .menu, .tax-types .site-header .nav-cnt .menu {
  padding-top: calc(var(--header-height)); }

.work-main {
  margin-top: var(--header-height);
  padding: 0 var(--site-padding) 6.375rem; }
  .work-main .filter-cnt {
    padding-top: 1.56rem;
    padding-bottom: 0.9375rem; }
    @media (max-width: 600px) {
      .work-main .filter-cnt {
        padding-bottom: 2.3rem;
        padding-top: 3.6rem; } }
    .work-main .filter-cnt ul {
      display: flex;
      justify-content: center;
      font-size: var(--font-22);
      line-height: 1.2em; }
      @media (max-width: 1010px) {
        .work-main .filter-cnt ul {
          flex-flow: wrap; } }
      .work-main .filter-cnt ul li {
        margin-right: 1.3125rem; }
        @media (max-width: 600px) {
          .work-main .filter-cnt ul li {
            margin-right: 0.3125rem;
            margin-left: 0.3125rem;
            font-size: 1.0625rem; } }
        .work-main .filter-cnt ul li:last-child {
          margin-right: 0; }
          @media (max-width: 600px) {
            .work-main .filter-cnt ul li:last-child {
              margin-right: 0.3125rem; } }
        @media (hover: hover) {
          .work-main .filter-cnt ul li a:hover span {
            text-decoration-thickness: 0.0625rem;
            text-decoration-line: underline;
            text-underline-offset: 0.1rem; } }
        .work-main .filter-cnt ul li a.active span {
          text-decoration-thickness: 0.0625rem;
          text-decoration-line: underline;
          text-underline-offset: 0.1rem; }
  .work-main .projects-main-cnt {
    display: flex;
    flex-wrap: wrap;
    gap: 3.875rem var(--site-padding); }
    .work-main .projects-main-cnt .project-cnt {
      width: calc(50% - var(--site-padding)/2); }
      @media (max-width: 600px) {
        .work-main .projects-main-cnt .project-cnt {
          width: 100%; } }
      .work-main .projects-main-cnt .project-cnt a {
        display: block; }
      .work-main .projects-main-cnt .project-cnt .img-cnt {
        position: relative;
        padding-top: 56.25%; }
        @media (max-width: 600px) {
          .work-main .projects-main-cnt .project-cnt .img-cnt {
            padding-top: 60.25%; } }
        .work-main .projects-main-cnt .project-cnt .img-cnt .img-link {
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0; }
      .work-main .projects-main-cnt .project-cnt img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover; }
        .work-main .projects-main-cnt .project-cnt img.hover {
          display: none; }
      .work-main .projects-main-cnt .project-cnt .title-cnt {
        font-size: var(--font-22);
        display: block;
        border-bottom: 1px solid #FFF;
        padding-top: .2rem;
        padding-bottom: .4rem; }
      .work-main .projects-main-cnt .project-cnt:hover img {
        width: 100%;
        height: 100%;
        display: block; }
        .work-main .projects-main-cnt .project-cnt:hover img.preview {
          display: none; }
        .work-main .projects-main-cnt .project-cnt:hover img.hover {
          display: block; }

.news-main {
  margin-top: var(--header-height);
  padding: 0 var(--site-padding);
  padding-top: 1.9rem;
  padding-bottom: 4.8rem; }
  .news-main .content-main-cnt {
    display: flex;
    justify-content: space-between; }
    @media (max-width: 600px) {
      .news-main .content-main-cnt {
        display: block; }
        .news-main .content-main-cnt:last-child .title-cnt {
          margin-top: 4rem; } }
  .news-main .title-cnt {
    width: calc(38% - 1.25rem);
    border-top: 1px solid #FFF;
    margin-right: 1.25rem;
    font-size: var(--font-34);
    padding-top: 9px;
    line-height: 1.07em; }
    @media (max-width: 600px) {
      .news-main .title-cnt {
        margin-right: 0;
        width: 100%;
        margin-bottom: 4rem; } }
  .news-main .posts-main-cnt {
    width: 62%;
    border-top: 1px solid #FFF;
    padding-top: 9px; }
    @media (max-width: 600px) {
      .news-main .posts-main-cnt {
        width: 100%; } }
    .news-main .posts-main-cnt .post-cnt {
      border-bottom: 1px solid;
      padding-bottom: 1.9rem;
      margin-bottom: .95rem; }
      .news-main .posts-main-cnt .post-cnt:last-child {
        border-bottom: none; }
      .news-main .posts-main-cnt .post-cnt a {
        display: inline-block; }
      .news-main .posts-main-cnt .post-cnt .post-title {
        font-size: var(--font-34);
        line-height: 1.07em; }
      .news-main .posts-main-cnt .post-cnt .date {
        font-size: var(--font-34);
        line-height: 1.07em; }
      .news-main .posts-main-cnt .post-cnt .caption {
        font-size: var(--font-22);
        line-height: 1.25em; }

.single-project-main {
  padding: 0 var(--site-padding) 10rem;
  margin-top: var(--header-height);
  padding-top: 1.3rem; }
  .single-project-main .title-cnt {
    border-top: 1px solid #FFF;
    padding-top: 0.3rem;
    font-size: var(--font-34);
    padding-bottom: .7rem; }
  .single-project-main .hero-image-main {
    padding-bottom: 1.25rem; }
    .single-project-main .hero-image-main .img-cnt img {
      width: 100%;
      height: 100%;
      display: block;
      max-height: var(--vh100); }
    .single-project-main .hero-image-main .caption {
      margin-top: 0.4375rem;
      font-size: var(--font-16);
      text-align: center; }
  .single-project-main .main-content-cnt {
    display: flex;
    justify-content: space-between;
    padding-bottom: 4rem; }
    @media (max-width: 600px) {
      .single-project-main .main-content-cnt {
        display: block; } }
    .single-project-main .main-content-cnt .text-info {
      width: 62%;
      border-top: 1px solid #FFF;
      padding-top: 1.75rem;
      font-size: var(--font-22);
      line-height: 1.25em;
      margin-right: 1.25rem; }
      @media (max-width: 600px) {
        .single-project-main .main-content-cnt .text-info {
          width: 100%;
          margin-right: 0; } }
      .single-project-main .main-content-cnt .text-info p {
        margin-bottom: 1rem; }
    .single-project-main .main-content-cnt .project-information {
      width: calc(38% - 1.25rem);
      border-top: 1px solid #FFF;
      padding-top: 2.1rem;
      font-size: var(--font-16);
      line-height: 1.4em; }
      @media (max-width: 600px) {
        .single-project-main .main-content-cnt .project-information {
          width: 100%; } }
      .single-project-main .main-content-cnt .project-information .info-cnt {
        margin-bottom: 1.33rem; }
        .single-project-main .main-content-cnt .project-information .info-cnt:last-child {
          margin-bottom: 0; }
  .single-project-main .gallery-bellow-outer .double-images {
    display: flex;
    gap: 1.125rem;
    padding-top: 1.2rem;
    padding-bottom: 1.2rem; }
    @media (max-width: 600px) {
      .single-project-main .gallery-bellow-outer .double-images {
        display: block; } }
    .single-project-main .gallery-bellow-outer .double-images .img-cnt {
      width: 50%;
      height: 100%; }
      @media (max-width: 600px) {
        .single-project-main .gallery-bellow-outer .double-images .img-cnt {
          width: 100%; }
          .single-project-main .gallery-bellow-outer .double-images .img-cnt:first-child {
            margin-bottom: .4rem; } }
      .single-project-main .gallery-bellow-outer .double-images .img-cnt img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
      .single-project-main .gallery-bellow-outer .double-images .img-cnt .img-caption {
        text-align: center;
        font-size: var(--font-16); }
  .single-project-main .gallery-bellow-outer .single-img-cnt {
    padding-top: 1.2rem;
    padding-bottom: 1.2rem; }
    .single-project-main .gallery-bellow-outer .single-img-cnt .img-cnt {
      width: 60%;
      height: 100%; }
      @media (max-width: 600px) {
        .single-project-main .gallery-bellow-outer .single-img-cnt .img-cnt {
          width: 100%; } }
      .single-project-main .gallery-bellow-outer .single-img-cnt .img-cnt img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
      .single-project-main .gallery-bellow-outer .single-img-cnt .img-cnt .img-caption {
        text-align: center;
        font-size: var(--font-16); }
    .single-project-main .gallery-bellow-outer .single-img-cnt.single-right .img-cnt {
      margin-left: auto; }
    .single-project-main .gallery-bellow-outer .single-img-cnt.single-center .img-cnt {
      width: 75%;
      margin: auto; }
      @media (max-width: 600px) {
        .single-project-main .gallery-bellow-outer .single-img-cnt.single-center .img-cnt {
          width: 100%; } }
    .single-project-main .gallery-bellow-outer .single-img-cnt.single-center.portrait .img-cnt {
      width: 49%;
      margin: auto; }
      @media (max-width: 600px) {
        .single-project-main .gallery-bellow-outer .single-img-cnt.single-center.portrait .img-cnt {
          width: 100%; } }
  .single-project-main .gallery-bellow-outer .double-videos {
    display: flex;
    gap: 1.125rem;
    padding-top: 1.2rem;
    padding-bottom: 1.2rem; }
    @media (max-width: 600px) {
      .single-project-main .gallery-bellow-outer .double-videos {
        display: block; } }
    .single-project-main .gallery-bellow-outer .double-videos .video-cnt {
      width: 50%;
      height: 100%;
      padding-top: 28%;
      position: relative; }
      @media (max-width: 600px) {
        .single-project-main .gallery-bellow-outer .double-videos .video-cnt {
          width: 100%;
          padding-top: 56.25%; }
          .single-project-main .gallery-bellow-outer .double-videos .video-cnt:first-child {
            margin-bottom: .5rem; } }
      .single-project-main .gallery-bellow-outer .double-videos .video-cnt iframe {
        width: 100%;
        height: 100%;
        position: absolute;
        inset: 0; }
      .single-project-main .gallery-bellow-outer .double-videos .video-cnt .video-caption {
        text-align: center;
        font-size: var(--font-16); }
  .single-project-main .gallery-bellow-outer .single-video-cnt {
    padding-top: 1.2rem;
    padding-bottom: 1.2rem; }
    .single-project-main .gallery-bellow-outer .single-video-cnt .video-cnt {
      width: 60%;
      height: 100%;
      position: relative;
      padding-top: 34.25%; }
      @media (max-width: 600px) {
        .single-project-main .gallery-bellow-outer .single-video-cnt .video-cnt {
          width: 100%;
          padding-top: 56.25%; } }
      .single-project-main .gallery-bellow-outer .single-video-cnt .video-cnt iframe {
        width: 100%;
        height: 100%;
        position: absolute;
        inset: 0; }
      .single-project-main .gallery-bellow-outer .single-video-cnt .video-cnt .video-caption {
        text-align: center;
        font-size: var(--font-16); }
    .single-project-main .gallery-bellow-outer .single-video-cnt.single-right .video-cnt {
      margin-left: auto; }
    .single-project-main .gallery-bellow-outer .single-video-cnt.single-center .video-cnt {
      width: 75%;
      margin: auto;
      position: relative;
      padding-top: 42.25%; }
      @media (max-width: 600px) {
        .single-project-main .gallery-bellow-outer .single-video-cnt.single-center .video-cnt {
          width: 100%;
          padding-top: 56.25%; } }
  .single-project-main .gallery-bellow-outer .custom-controls-cnt {
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.65);
    z-index: 5;
    transition: background-color .2s ease-in-out; }
    .single-project-main .gallery-bellow-outer .custom-controls-cnt .control {
      position: absolute;
      font-size: var(--font-22);
      padding: var(--site-padding);
      cursor: pointer;
      transition: opacity .2s ease-in-out; }
      .single-project-main .gallery-bellow-outer .custom-controls-cnt .control.play {
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%); }
      .single-project-main .gallery-bellow-outer .custom-controls-cnt .control.sound {
        position: absolute;
        right: 0;
        bottom: 0; }
    .single-project-main .gallery-bellow-outer .custom-controls-cnt.hide {
      background-color: transparent; }
      .single-project-main .gallery-bellow-outer .custom-controls-cnt.hide .control {
        opacity: 0;
        pointer-events: none; }
    .single-project-main .gallery-bellow-outer .custom-controls-cnt.show-controls {
      background-color: rgba(0, 0, 0, 0.65); }
      .single-project-main .gallery-bellow-outer .custom-controls-cnt.show-controls .control {
        opacity: 1;
        pointer-events: auto; }
  .single-project-main .gallery-bellow-outer .text-info-cnt {
    border-top: 1px solid #FFF;
    margin-top: 1.2rem;
    padding-top: 1.1rem;
    padding-bottom: 1.2rem; }
    .single-project-main .gallery-bellow-outer .text-info-cnt .text-cnt {
      display: flex;
      width: calc( 4 * var(--col-8-100) + 3 * var(--gap-8-100));
      justify-content: space-between; }
      @media (max-width: 600px) {
        .single-project-main .gallery-bellow-outer .text-info-cnt .text-cnt {
          display: block;
          width: 100%; } }
      .single-project-main .gallery-bellow-outer .text-info-cnt .text-cnt .title-cnt {
        padding-top: 0rem; }
        .single-project-main .gallery-bellow-outer .text-info-cnt .text-cnt .title-cnt.half-width {
          width: calc(50% - var(--gap-8-100));
          padding-bottom: 0;
          border-top: none; }
        @media (max-width: 600px) {
          .single-project-main .gallery-bellow-outer .text-info-cnt .text-cnt .title-cnt {
            margin-bottom: 1.2rem; }
            .single-project-main .gallery-bellow-outer .text-info-cnt .text-cnt .title-cnt.half-width {
              width: 100%; } }
      .single-project-main .gallery-bellow-outer .text-info-cnt .text-cnt .text-content {
        width: calc(50% - var(--gap-8-100));
        font-size: var(--font-22);
        line-height: 1.25em; }
        @media (max-width: 600px) {
          .single-project-main .gallery-bellow-outer .text-info-cnt .text-cnt .text-content {
            width: 100%; } }
    .single-project-main .gallery-bellow-outer .text-info-cnt.center .text-cnt {
      margin-left: auto;
      margin-right: auto; }
    .single-project-main .gallery-bellow-outer .text-info-cnt.offset-right .text-cnt {
      margin-left: calc( 3 * var(--col-8-100) + 3 * var(--gap-8-100)); }
      @media (max-width: 600px) {
        .single-project-main .gallery-bellow-outer .text-info-cnt.offset-right .text-cnt {
          margin-left: unset; } }
    .single-project-main .gallery-bellow-outer .text-info-cnt.right .text-cnt {
      margin-left: auto; }
  .single-project-main .slider-outer {
    padding-top: 1.2rem;
    padding-bottom: 1.2rem; }
  .single-project-main .slider-cnt .slick-arrow {
    position: absolute;
    top: calc(50% - 1rem/2);
    transform: translateY(-50%);
    z-index: 1;
    padding: var(--site-padding); }
    @media (max-width: 600px) {
      .single-project-main .slider-cnt .slick-arrow {
        top: 93%; }
        .single-project-main .slider-cnt .slick-arrow svg {
          width: 37px;
          height: 13px; } }
    .single-project-main .slider-cnt .slick-arrow.slick-prev {
      left: 0; }
      @media (max-width: 600px) {
        .single-project-main .slider-cnt .slick-arrow.slick-prev {
          left: 0; } }
    .single-project-main .slider-cnt .slick-arrow.slick-next {
      right: 0; }
      @media (max-width: 600px) {
        .single-project-main .slider-cnt .slick-arrow.slick-next {
          right: 0; } }
  .single-project-main .slider-cnt .img-cnt {
    height: calc(var(--vh100) - var(--header-height) - 4rem);
    min-height: 400px;
    padding-bottom: 1.6rem; }
    @media (max-width: 600px) {
      .single-project-main .slider-cnt .img-cnt {
        height: 250px;
        min-height: 250px;
        padding-bottom: 2.6rem; } }
    .single-project-main .slider-cnt .img-cnt img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
    .single-project-main .slider-cnt .img-cnt .slide-caption {
      margin-top: 0.4375rem;
      font-size: var(--font-16);
      text-align: center; }
      @media (max-width: 600px) {
        .single-project-main .slider-cnt .img-cnt .slide-caption {
          font-size: 0.75rem;
          max-width: 66%;
          margin-left: auto;
          margin-right: auto;
          min-height: 1.78rem;
          display: flex;
          align-items: center;
          justify-content: center; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YXN0eWxlLmNzcyIsInNvdXJjZXMiOlsibWV0YXN0eWxlLnNjc3MiLCJhYnN0cmFjdHMvX21peGlucy5zY3NzIiwiYWJzdHJhY3RzL192YXJpYWJsZXMuc2NzcyIsImJhc2UvX25vcm1hbGl6ZS5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiYmFzZS9fYmFzZS5zY3NzIiwiYmFzZS9fbW9kdWxlcy5zY3NzIiwiYmFzZS9fdXRpbGl0aWVzLnNjc3MiLCJjb21wb25lbnRzL3NsaWNrL19zbGljay5zY3NzIiwiY29tcG9uZW50cy9oYW1idXJnZXJzL2hhbWJ1cmdlcnMuc2NzcyIsImNvbXBvbmVudHMvaGFtYnVyZ2Vycy9fYmFzZS5zY3NzIiwiY29tcG9uZW50cy9oYW1idXJnZXJzL3R5cGVzL18zZHh5LnNjc3MiLCJsYXlvdXQvX2hlYWRlci5zY3NzIiwibGF5b3V0L19mb290ZXIuc2NzcyIsImxheW91dC9fZnJvbnQtcGFnZS5zY3NzIiwibGF5b3V0L19hYm91dC5zY3NzIiwibGF5b3V0L19jb250YWN0LnNjc3MiLCJsYXlvdXQvX3BvbGljeS5zY3NzIiwibGF5b3V0L19lcnJvci5zY3NzIiwibGF5b3V0L19wcm9qZWN0cy5zY3NzIiwibGF5b3V0L19uZXdzLnNjc3MiLCJsYXlvdXQvX3NpbmdsZS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJ2Fic3RyYWN0cy9taXhpbnMnO1xuQGltcG9ydCAnYWJzdHJhY3RzL3ZhcmlhYmxlcyc7XG5cbi8vQkFTRVxuQGltcG9ydCAnYmFzZS9ub3JtYWxpemUnO1xuQGltcG9ydCAnYmFzZS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Jhc2UvYmFzZSc7XG5AaW1wb3J0ICdiYXNlL21vZHVsZXMnO1xuXG4vL1VUSUxTXG5AaW1wb3J0ICdiYXNlL3V0aWxpdGllcyc7XG5cbi8vQ09NUE9ORU5UU1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGljay9zbGljayc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2hhbWJ1cmdlcnMvaGFtYnVyZ2Vycyc7XG4vLyBAaW1wb3J0IFwiY29tcG9uZW50cy9oYW1idXJnZXJzL2Jhc2VcIjtcbi8vIEBpbXBvcnQgXCJjb21wb25lbnRzL2hhbWJ1cmdlcnMvdHlwZXMvM2R4eVwiO1xuXG4vL0xBWU9VVFxuQGltcG9ydCAnbGF5b3V0L2hlYWRlcic7XG5AaW1wb3J0ICdsYXlvdXQvZm9vdGVyJztcbkBpbXBvcnQgJ2xheW91dC9mcm9udC1wYWdlJztcbkBpbXBvcnQgJ2xheW91dC9hYm91dCc7XG5AaW1wb3J0ICdsYXlvdXQvY29udGFjdCc7XG5AaW1wb3J0ICdsYXlvdXQvcG9saWN5JztcbkBpbXBvcnQgJ2xheW91dC9lcnJvcic7XG5AaW1wb3J0ICdsYXlvdXQvcHJvamVjdHMnO1xuQGltcG9ydCAnbGF5b3V0L25ld3MnO1xuQGltcG9ydCAnbGF5b3V0L3NpbmdsZSc7XG4iLCIvLyBNRURJQSBRVUVSWSBNQU5BR0VSXG4vKlxuIDAgICAtICA2MDAgOiBQaG9uZSA0MDAvMTYgPCAzNy41ZW1cbiA2MDAgLSAgOTAwIDogVGFibGV0IDYwMC8xNiA8IDU2LjI1ZW1cbiA5MDAgLSAxMjAwIDogVGFibGV0IGxhbmRzY2FwZSA2MDAvMTYgPCA3NWVtXG4xMjAwIC0gICAgICA6IERlc2t0b3AgMTIwMC8xNiA+IDc1ZW1cblxuKi9cblxuQG1peGluIG1pbigkYnJlYWtwb2ludCkge1xuICAgIEBpZiAkYnJlYWtwb2ludD09NDAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNWVtKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYnJlYWtwb2ludD09NjAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRicmVha3BvaW50PT04MDAge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRicmVha3BvaW50PT0xMDAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2Mi41ZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRicmVha3BvaW50PT0xMTAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYnJlYWtwb2ludD09MTIwMCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGJyZWFrcG9pbnQ9PTEzMDAge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRicmVha3BvaW50PT0xNjAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vbWF4IChkZXNrdG9wIGZpcnN0KVxuQG1peGluIG1heCgkYnJlYWtwb2ludCkge1xuICAgIEBpZiAkYnJlYWtwb2ludD09NDAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyNWVtKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYnJlYWtwb2ludD09NjAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRicmVha3BvaW50PT1tb2JpbGUge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3LjVlbSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGJyZWFrcG9pbnQ9PTcwMCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDMuNzVlbSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGJyZWFrcG9pbnQ9PTgwMCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTBlbSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGJyZWFrcG9pbnQ9PTkwMCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTYuMjVlbSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIEBpZiAkYnJlYWtwb2ludD09OTAwbGFuZCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTYuMjVlbSkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRicmVha3BvaW50PT0xMDAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2Mi41ZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIEBpZiAkYnJlYWtwb2ludD09dGFibGV0IHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2Mi41ZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRicmVha3BvaW50PT0xMTAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2OC43NWVtKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYnJlYWtwb2ludD09MTIwMCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzVlbSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGJyZWFrcG9pbnQ9PXRhYmxhbmQge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRicmVha3BvaW50PT0xMzAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYnJlYWtwb2ludD09MTQwMCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODcuNWVtKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYnJlYWtwb2ludD09MTYwMCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRicmVha3BvaW50PT0xODAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9iZXR3ZWVuIChzcGVjaWFsIG9jY2FzaW9ucylcbkBtaXhpbiBiZXR3ZWVuKCRicG1pbiwgJGJwbWF4KSB7XG4gICAgQGlmICRicG1pbj09NjAwIGFuZCAkYnBtYXg9PTgwMCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzcuNWVtKSBhbmQgKG1heC13aWR0aDogNTBlbSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGJwbWluPT02MDAgYW5kICRicG1heD09OTAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIGFuZCAobWF4LXdpZHRoOiA1Ni4yNWVtKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYnBtaW49PTYwMCBhbmQgJGJwbWF4PT0xMDAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIGFuZCAobWF4LXdpZHRoOiA2Mi41ZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRicG1pbj09ODAwIGFuZCAkYnBtYXg9PTEwMDAge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIGFuZCAobWF4LXdpZHRoOiA2Mi41ZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vL3dpZHRoICYgaGVpZ2h0IHF1ZXJpZXNcbkBtaXhpbiBtaW5XbWF4SCgkd21pbiwgJGhtYXgpIHtcbiAgICBAaWYgJHdtaW49PTEwMDAgYW5kICRobWF4ID09IDgwMCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjIuNWVtKSBhbmQgKG1heC1oZWlnaHQ6IDUwZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gbGFuZHNjYXBlKCRobWF4KSB7XG4gICAgQGlmICRobWF4PT02MDAge1xuICAgICAgICBAbWVkaWEgKG1heC1oZWlnaHQ6IDM3LjVlbSkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSAge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuQG1peGluIGZvci1zbWFsbC1tb2JpbGUge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzNTFweCkgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gZm9yLW1vYmlsZSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7IEBjb250ZW50OyB9XG59XG5cbkBtaXhpbiBmb3ItbW9iaWxlLWxhbmRzY2FwZSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGZvci10YWJsZXQtcG9ydHJhaXQge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDEwcHgpIHsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGZvci10YWJsZXQtbGFuZHNjYXBlIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7IEBjb250ZW50OyB9XG59XG5cbkBtaXhpbiBmb3ItZGVza3RvcCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDE4MDBweCkgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gZm9yLWJpZy1kZXNrdG9wIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTgwMXB4KSB7IEBjb250ZW50OyB9XG59XG4iLCIvL1JPT1QgVkFSSUFCTEVTXG46cm9vdCB7XG4gICAgLS12aDEwMDogY2FsYygxMDB2aCk7XG4gICAgLS12aDEwMC1vbmNlOiBjYWxjKDEwMHZoKTtcbiAgICAtLXNjcm9sbGJhci13aWR0aDogMDtcblxuICAgIC0taGVhZGVyLWhlaWdodDogMy43NXJlbTtcbiAgICAtLXNpdGUtcGFkZGluZzogMS4yNXJlbTtcblxuICAgIC8vLS1tZW51LWZvbnRzOiAxLjM3NXJlbTtcblxuICAgIC0tbWVudS1mb250czogMS4zMTI1cmVtO1xuXG5cbiAgICAvLyAtLWZvbnQtMzQ6IDIuMTI1cmVtO1xuICAgIC8vIC0tZm9udC0yMjogMS4zNzVyZW07XG4gICAgLy8gLS1mb250LTE2OiAxcmVtO1xuICAgIC8vbWludXMgMXB4IGFsbCBzaXplcyBcbiAgICAtLWZvbnQtMzQ6IDIuMDYyNXJlbTsgXG4gICAgLS1mb250LTIyOiAxLjMxMjVyZW07XG4gICAgLS1mb250LTE2OiAwLjkzNzVyZW07XG5cbiAgICAtLWNvbC04LTEwMDogMTAwJSAqIDE1NyAvIDE0MDA7XG4gICAgLS1nYXAtOC0xMDA6IDEwMCUgKiAyMCAvIDE0MDA7XG4gICAgLS1nYXAtOC1yZW06IDEuMjVyZW07XG5cbiAgICAtLW1lbnUtY29sOiAxMDAlICogMTU3IC8gNTEyO1xuICAgIC0tbWVudS1nYXA6IDEwMCUgKiAyMCAvIDUxMjtcblxuICAgIEBpbmNsdWRlIGZvci10YWJsZXQtcG9ydHJhaXQge1xuXG4gICAgICAgIC0tbWVudS1mb250czogMS4xMjVyZW07XG5cbiAgICAgICAgLS1mb250LTM0OiAxLjc1cmVtO1xuICAgICAgICAtLWZvbnQtMjI6IDEuMTI1cmVtO1xuICAgIH1cbn1cblxuLy9mb250c1xuJHNlcmliYWJlOiAnU2VyaWZiYWJlJztcblxuXG4vL0NPTE9SU1xuJGJsYWNrOiAjMDAwO1xuJHdoaXRlOiAjRkZGO1xuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbn1cblxuLyogU2VjdGlvbnNcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gICAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgICBmb250LXNpemU6IDFlbTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuW3R5cGU9J2J1dHRvbiddLFxuW3R5cGU9J3Jlc2V0J10sXG5bdHlwZT0nc3VibWl0J10ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9J2J1dHRvbiddOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9J3Jlc2V0J106Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT0nc3VibWl0J106Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT0nYnV0dG9uJ106LW1vei1mb2N1c3JpbmcsXG5bdHlwZT0ncmVzZXQnXTotbW96LWZvY3VzcmluZyxcblt0eXBlPSdzdWJtaXQnXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKlx0XHRgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxudGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPSdjaGVja2JveCddLFxuW3R5cGU9J3JhZGlvJ10ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9J251bWJlciddOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9J251bWJlciddOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT0nc2VhcmNoJ10ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT0nc2VhcmNoJ106Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAgIGZvbnQ6IGluaGVyaXQ7XG59XG5cbi8qIEludGVyYWN0aXZlXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2Ncblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vL0NVU1RPTSBOT1JNQUxJWkVcbiosXG4qOjphZnRlcixcbio6OmJlZm9yZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuYSxcbmE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0O1xufVxuXG51bCBsaSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW46IDA7XG59XG5cbmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuIiwiLy8gLy8gVFlQT0dSQVBIWVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdTZXJpZmJhYmUnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9TZXJpZmJhYmVBTFBIQS1SZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NlcmlmYmFiZUFMUEhBLVJlZ3VsYXIud29mZi53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1NlcmlmYmFiZSc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1NlcmlmYmFiZUFMUEhBLVJlZ3VsYXJJdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvU2VyaWZiYWJlQUxQSEEtUmVndWxhckl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1NlcmlmYmFiZSBTSUdNQSc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1NlcmlmYmFiZVNJR01BLVJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvU2VyaWZiYWJlU0lHTUEtUmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuIiwiaHRtbCB7XHJcbiAgICBmb250LWZhbWlseTogJHNlcmliYWJlO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG59XHJcblxyXG4qIHtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICBcclxuICAgICY6Oi1tb3otc2VsZWN0aW9uIHsgLyogQ29kZSBmb3IgRmlyZWZveCAqL1xyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBibGFjaztcclxuICAgIH1cclxuICAgICAgICBcclxuICAgICY6OnNlbGVjdGlvbiB7XHJcbiAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGJsYWNrO1xyXG4gICAgfVxyXG59XHJcblxyXG5ib2R5IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlLWluLW91dDtcclxuXHJcbiAgICAmLnJlYWR5IHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaXRlLW1haW4ge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoIHZhcigtLXZoMTAwKSAtIHZhcigtLWhlYWRlci1oZWlnaHQpICk7XHJcbiAgICB9XHJcbn1cclxuIiwiIiwiLy9VVElMSVRJRVNcbi8vdGV4dCBvcHRpb25zXG4uaXRhbGljIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi51cHBlciB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmxvd2VyIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xufVxuXG4uY2FwIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cblxuLnVuZGVybGluZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi50ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xufVxuXG4udGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cblxuLy9sYXlvdXQgb3B0aW9uc1xuLm0wLWF1dG8ge1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4vLyAuaGFsZi1wYWdlIHtcbi8vICAgICBAaW5jbHVkZSBtaW4oMTAwMCkge1xuLy8gICAgICAgICB3aWR0aDogY2FsYyg1MCUpO1xuLy8gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAgICAgICAgIHRvcDogMS40cmVtO1xuLy8gICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIC8vIHJpZ2h0OiAkbWFpbi1wYWRkaW5nLUxSLW07XG4vLyAgICAgfVxuLy8gfVxuXG4uZmxleCB7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLmZsZXgtY2VudGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5mbGV4LWJldHdlZW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uZmxleC1iZXR3ZWVuLWNlbnRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmZsZXgtY2VudGVyLWNlbnRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZmxleC1jb2wge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmZsZXgtY29sLWNlbnRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5mbGV4LWNvbC1iZXR3ZWVuLWNlbnRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZmxleC1icmVhayB7XG4gICAgZmxleDogMSAwIDEwMCU7XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4uZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbn1cblxuLmdyaWQtMTIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTIsIDFmcik7XG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1jb2wtZ2FwKTtcbn1cblxuLy9vdmVybGF5c1xuLm92ZXJsYXktZmFkZWluIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwIDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogMDtcbn1cblxuLm92ZXJsYXktbGVmdCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDsgLy8kaGVhZGVyLWhlaWdodC1zbTtcbiAgICBsZWZ0OiAwO1xuICAgIC8vIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IDU7XG5cbiAgICAmLnRyYW5zZm9ybS14MCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cblxuLm92ZXJsYXktcmlnaHQge1xuXG4gICAgQGluY2x1ZGUgbWF4KDEwMDApIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7IC8vJGhlYWRlci1oZWlnaHQtc207XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgIH1cbn1cblxuLm92ZXJsYXktZmFkZWluLnNob3cge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgei1pbmRleDogMTA7XG59XG5cbi50cmFuc2Zvcm0teDAge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLnRyYW5zZm9ybWVkLXkge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNTBweCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC43cyBlYXNlLWluLW91dCwgb3BhY2l0eSAuN3MgZWFzZS1pbjtcbiAgICBcbiAgICAmLnVucmV2ZWFsZWQge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjdzIGVhc2UtaW4tb3V0LCBvcGFjaXR5IC43cyBlYXNlLWluO1xuICAgIH1cbiAgICAmLnRyYW5zZm9ybS0wIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLnNlcXVlbnRpYWwgPiBkaXYge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNTBweCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjdzIGVhc2UtaW4tb3V0LCBvcGFjaXR5IC43cyBlYXNlLWluO1xuXG4gICAgJi5zaG93LnRyYW5zZm9ybS0wIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLmV2ZW50cyB7XG4gICAgJi1ub25lIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgJi1hdXRvIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgfVxufVxuXG4ub3ZlcmZsb3dZLWhpZGRlbiB7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xufVxuXG4uZXZlbnRzLW5vbmUub3ZlcmZsb3dZLWhpZGRlbiB7XG4gICAgLy8gcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBpbmNsdWRlIG1heCgxMDAwKSB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbn1cblxuLy9zY3JvbGxzXG4uc2Nyb2xsIHtcbiAgICAmLWNvbnQge1xuICAgICAgICBvdmVyZmxvdzogdW5zZXQ7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1pbig2MDApIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBoZWlnaHQ6IHZhcigtLXZoMTAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1pbigxMDAwKSB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWlubmVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tc2Nyb2xsYmFyLXdpZHRoKTtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLXZoMTAwKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIHZhcigtLXNjcm9sbGJhci13aWR0aCkpO1xuICAgIH1cbn1cblxuLnNjcm9sbGJhci1tZWFzdXJlIHtcblx0d2lkdGg6IDEwMHB4O1xuXHRoZWlnaHQ6IDEwMHB4O1xuXHRvdmVyZmxvdzogc2Nyb2xsO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogLTk5OTlweDtcbn1cblxuLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAvLyB0b3A6ICRoZWFkZXItaGVpZ2h0LWw7XG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuXG4gICAgLy8gQGluY2x1ZGUgbWF4KDYwMCkge1xuICAgIC8vICAgICBwb3NpdGlvbjogdW5zZXQ7XG4gICAgLy8gfVxufVxuXG5cbi8vdmlzaWJpbGl0eVxuLmhpZGRlbi10aXRsZSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5ub2Rpc3BsYXkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5oaWRkZW4ge1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbi5zaG93IHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4udW5yZXZlYWxlZCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cyBlYXNlLWluO1xuXG4gICAgJi5zaG93IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi8vbWVkaWEgcXVlcmllZCBzdHlsZXNcbi5tb2JpbGUtaGlkZGVuIHtcbiAgICBAaW5jbHVkZSBtYXgoNjAwKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4udGFibGV0LWhpZGRlbiB7XG4gICAgQGluY2x1ZGUgbWF4KDEwMDApIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLnRhYmxldC1sYW5kLWhpZGRlbiB7XG4gICAgQGluY2x1ZGUgbWF4KDEyMDApIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLm1vYmlsZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgbWF4KDYwMCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbi50YWJsZXQtb25seSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1heCgxMDAwKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cbi50YWJsZXQtbGFuZC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgbWF4KDEyMDApIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufSIsIi8vU0xJQ0sgQ1NTIGZpbGVcbi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlclxue1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAgICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uc2xpY2stbGlzdFxue1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cbi5zbGljay1saXN0OmZvY3VzXG57XG4gICAgb3V0bGluZTogbm9uZTtcbn1cbi5zbGljay1saXN0LmRyYWdnaW5nXG57XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogaGFuZDtcbn1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0XG57XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrXG57XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLnNsaWNrLXRyYWNrOmJlZm9yZSxcbi5zbGljay10cmFjazphZnRlclxue1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuXG4gICAgY29udGVudDogJyc7XG59XG4uc2xpY2stdHJhY2s6YWZ0ZXJcbntcbiAgICBjbGVhcjogYm90aDtcbn1cbi5zbGljay1sb2FkaW5nIC5zbGljay10cmFja1xue1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWNrLXNsaWRlXG57XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG59XG5bZGlyPSdydGwnXSAuc2xpY2stc2xpZGVcbntcbiAgICBmbG9hdDogcmlnaHQ7XG59XG4uc2xpY2stc2xpZGUgaW1nXG57XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4uc2xpY2stc2xpZGUuc2xpY2stbG9hZGluZyBpbWdcbntcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLnNsaWNrLXNsaWRlLmRyYWdnaW5nIGltZ1xue1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1zbGlkZVxue1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXNsaWRlXG57XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZVxue1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5cblxuLy9TTElDSyBPVkVSUklERVNcbi5zbGljayB7XG4gICAgXG4gICAgJi1zbGlkZXIuaG92ZXIgLmNpdHktbXVsdGljYXJkLWNvbnQge1xuICAgICAgICBvcGFjaXR5OiAuNTtcblxuICAgICAgICAmLm92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLXNsaWRlIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgICYtZGlzYWJsZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgICYtdHJhY2sge1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1tYWluLXBhZC1scikgLSAxcmVtKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtYXgodGFibGV0KSB7XG4gICAgICAgICYtdHJhY2sge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tbWFpbi1wYWQtbHIpIC0gLjhyZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWF4KG1vYmlsZSkge1xuICAgICAgICAmLXRyYWNrIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiB1bnNldDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG4vKiFcbiAqIEhhbWJ1cmdlcnNcbiAqIEBkZXNjcmlwdGlvbiBUYXN0eSBDU1MtYW5pbWF0ZWQgaGFtYnVyZ2Vyc1xuICogQGF1dGhvciBKb25hdGhhbiBTdWggQGpvbnN1aFxuICogQHNpdGUgaHR0cHM6Ly9qb25zdWguY29tL2hhbWJ1cmdlcnNcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9qb25zdWgvaGFtYnVyZ2Vyc1xuICovXG5cbi8vIFNldHRpbmdzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGhhbWJ1cmdlci1wYWRkaW5nLXggICAgICAgICAgIDogMTRweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItcGFkZGluZy15ICAgICAgICAgICA6IDE2cHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLXdpZHRoICAgICAgICAgOiAyMHB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgICAgICAgIDogMXB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICAgICAgIDogNnB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci1jb2xvciAgICAgICAgIDogJHdoaXRlICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci1ib3JkZXItcmFkaXVzIDogNHB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1ob3Zlci1vcGFjaXR5ICAgICAgIDogMC43ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1hY3RpdmUtbGF5ZXItY29sb3IgIDogJGhhbWJ1cmdlci1sYXllci1jb2xvciAhZGVmYXVsdDtcbiRoYW1idXJnZXItYWN0aXZlLWhvdmVyLW9wYWNpdHk6ICRoYW1idXJnZXItaG92ZXItb3BhY2l0eSAhZGVmYXVsdDtcblxuXG4vLyBUbyB1c2UgQ1NTIGZpbHRlcnMgYXMgdGhlIGhvdmVyIGVmZmVjdCBpbnN0ZWFkIG9mIG9wYWNpdHksXG4vLyBzZXQgJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyIGFzIHRydWUgYW5kXG4vLyBjaGFuZ2UgdGhlIHZhbHVlIG9mICRoYW1idXJnZXItaG92ZXItZmlsdGVyIGFjY29yZGluZ2x5LlxuJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRoYW1idXJnZXItaG92ZXItZmlsdGVyICAgICAgIDogb3BhY2l0eSg1MCUpICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1hY3RpdmUtaG92ZXItZmlsdGVyOiAkaGFtYnVyZ2VyLWhvdmVyLWZpbHRlciAhZGVmYXVsdDtcblxuLy8gVHlwZXMgKFJlbW92ZSBvciBjb21tZW50IG91dCB3aGF0IHlvdSBkb27igJl0IG5lZWQpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGhhbWJ1cmdlci10eXBlczogKFxuICAzZHgsXG4gIDNkeC1yLFxuICAzZHksXG4gIDNkeS1yLFxuICAzZHh5LFxuICAzZHh5LXIsXG4gIGFycm93LFxuICBhcnJvdy1yLFxuICBhcnJvd2FsdCxcbiAgYXJyb3dhbHQtcixcbiAgYXJyb3d0dXJuLFxuICBhcnJvd3R1cm4tcixcbiAgYm9yaW5nLFxuICBjb2xsYXBzZSxcbiAgY29sbGFwc2UtcixcbiAgZWxhc3RpYyxcbiAgZWxhc3RpYy1yLFxuICBlbXBoYXRpYyxcbiAgZW1waGF0aWMtcixcbiAgbWludXMsXG4gIHNsaWRlcixcbiAgc2xpZGVyLXIsXG4gIHNwaW4sXG4gIHNwaW4tcixcbiAgc3ByaW5nLFxuICBzcHJpbmctcixcbiAgc3RhbmQsXG4gIHN0YW5kLXIsXG4gIHNxdWVlemUsXG4gIHZvcnRleCxcbiAgdm9ydGV4LXJcbikgIWRlZmF1bHQ7XG5cbi8vIEJhc2UgSGFtYnVyZ2VyIChXZSBuZWVkIHRoaXMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQGltcG9ydCBcImJhc2VcIjtcblxuLy8gSGFtYnVyZ2VyIHR5cGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQGltcG9ydCBcInR5cGVzLzNkeFwiO1xuLy8gQGltcG9ydCBcInR5cGVzLzNkeC1yXCI7XG4vLyBAaW1wb3J0IFwidHlwZXMvM2R5XCI7XG4vLyBAaW1wb3J0IFwidHlwZXMvM2R5LXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy8zZHh5XCI7XG4vLyBAaW1wb3J0IFwidHlwZXMvM2R4eS1yXCI7XG4vLyBAaW1wb3J0IFwidHlwZXMvYXJyb3dcIjtcbi8vIEBpbXBvcnQgXCJ0eXBlcy9hcnJvdy1yXCI7XG4vLyBAaW1wb3J0IFwidHlwZXMvYXJyb3dhbHRcIjtcbi8vIEBpbXBvcnQgXCJ0eXBlcy9hcnJvd2FsdC1yXCI7XG4vLyBAaW1wb3J0IFwidHlwZXMvYXJyb3d0dXJuXCI7XG4vLyBAaW1wb3J0IFwidHlwZXMvYXJyb3d0dXJuLXJcIjtcbi8vIEBpbXBvcnQgXCJ0eXBlcy9ib3JpbmdcIjtcbi8vIEBpbXBvcnQgXCJ0eXBlcy9jb2xsYXBzZVwiO1xuLy8gQGltcG9ydCBcInR5cGVzL2NvbGxhcHNlLXJcIjtcbi8vIEBpbXBvcnQgXCJ0eXBlcy9lbGFzdGljXCI7XG4vLyBAaW1wb3J0IFwidHlwZXMvZWxhc3RpYy1yXCI7XG4vLyBAaW1wb3J0IFwidHlwZXMvZW1waGF0aWNcIjtcbi8vIEBpbXBvcnQgXCJ0eXBlcy9lbXBoYXRpYy1yXCI7XG4vLyBAaW1wb3J0IFwidHlwZXMvbWludXNcIjtcbi8vIEBpbXBvcnQgXCJ0eXBlcy9zbGlkZXJcIjtcbi8vIEBpbXBvcnQgXCJ0eXBlcy9zbGlkZXItclwiO1xuLy8gQGltcG9ydCBcInR5cGVzL3NwaW5cIjtcbi8vIEBpbXBvcnQgXCJ0eXBlcy9zcGluLXJcIjtcbi8vIEBpbXBvcnQgXCJ0eXBlcy9zcHJpbmdcIjtcbi8vIEBpbXBvcnQgXCJ0eXBlcy9zcHJpbmctclwiO1xuLy8gQGltcG9ydCBcInR5cGVzL3N0YW5kXCI7XG4vLyBAaW1wb3J0IFwidHlwZXMvc3RhbmQtclwiO1xuLy8gQGltcG9ydCBcInR5cGVzL3NxdWVlemVcIjtcbi8vIEBpbXBvcnQgXCJ0eXBlcy92b3J0ZXhcIjtcbi8vIEBpbXBvcnQgXCJ0eXBlcy92b3J0ZXgtclwiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ29va2luZyB1cCBhZGRpdGlvbmFsIHR5cGVzOlxuLy9cbi8vIFRoZSBTYXNzIGZvciBlYWNoIGhhbWJ1cmdlciB0eXBlIHNob3VsZCBiZSBuZXN0ZWRcbi8vIGluc2lkZSBhbiBAaWYgZGlyZWN0aXZlIHRvIGNoZWNrIHdoZXRoZXIgb3Igbm90XG4vLyBpdCBleGlzdHMgaW4gJGhhbWJ1cmdlci10eXBlcyBzbyBvbmx5IHRoZSBDU1MgZm9yXG4vLyBpbmNsdWRlZCB0eXBlcyBhcmUgZ2VuZXJhdGVkLlxuLy9cbi8vIGUuZy4gaGFtYnVyZ2Vycy90eXBlcy9fbmV3LXR5cGUuc2Nzc1xuLy9cbi8vIEBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBuZXctdHlwZSkge1xuLy8gICAuaGFtYnVyZ2VyLS1uZXctdHlwZSB7XG4vLyAgICAgLi4uXG4vLyAgIH1cbi8vIH1cbiIsIi8vIEhhbWJ1cmdlclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5oYW1idXJnZXIge1xuICBwYWRkaW5nOiAkaGFtYnVyZ2VyLXBhZGRpbmcteSAkaGFtYnVyZ2VyLXBhZGRpbmcteDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgZmlsdGVyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcblxuICAvLyBOb3JtYWxpemUgKDxidXR0b24+KVxuICBmb250OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgLy8gJjpob3ZlciB7XG4gIC8vICAgQGlmICRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlciA9PSB0cnVlIHtcbiAgLy8gICAgIGZpbHRlcjogJGhhbWJ1cmdlci1ob3Zlci1maWx0ZXI7XG4gIC8vICAgfVxuICAvLyAgIEBlbHNlIHtcbiAgLy8gICAgIG9wYWNpdHk6ICRoYW1idXJnZXItaG92ZXItb3BhY2l0eTtcbiAgLy8gICB9XG4gIC8vIH1cblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgLy8gJjpob3ZlciB7XG4gICAgLy8gICBAaWYgJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyID09IHRydWUge1xuICAgIC8vICAgICBmaWx0ZXI6ICRoYW1idXJnZXItYWN0aXZlLWhvdmVyLWZpbHRlcjtcbiAgICAvLyAgIH1cbiAgICAvLyAgIEBlbHNlIHtcbiAgICAvLyAgICAgb3BhY2l0eTogJGhhbWJ1cmdlci1hY3RpdmUtaG92ZXItb3BhY2l0eTtcbiAgICAvLyAgIH1cbiAgICAvLyB9XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyLFxuICAgIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSxcbiAgICAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGFtYnVyZ2VyLWFjdGl2ZS1sYXllci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmhhbWJ1cmdlci1ib3gge1xuICB3aWR0aDogJGhhbWJ1cmdlci1sYXllci13aWR0aDtcbiAgaGVpZ2h0OiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDMgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmhhbWJ1cmdlci1pbm5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgLyAtMjtcblxuICAmLFxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICB3aWR0aDogJGhhbWJ1cmdlci1sYXllci13aWR0aDtcbiAgICBoZWlnaHQ6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoYW1idXJnZXItbGF5ZXItY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogJGhhbWJ1cmdlci1sYXllci1ib3JkZXItcmFkaXVzO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gIH1cblxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMTtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBib3R0b206ICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMTtcbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIDNkeHkpIHtcbiAgLypcbiAgICogM0RYWVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tM2R4eSB7XG4gICAgLmhhbWJ1cmdlci1ib3gge1xuICAgICAgcGVyc3BlY3RpdmU6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyO1xuICAgIH1cblxuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKSByb3RhdGVZKDE4MGRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nLCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nKSAqIC0xLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnNpdGUtaGVhZGVyIHtcclxuICAgIGhlaWdodDogdmFyKC0taGVhZGVyLWhlaWdodCk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIHBhZGRpbmc6IDAgdmFyKC0tc2l0ZS1wYWRkaW5nKTtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB6LWluZGV4OiAxMDtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuXHJcbiAgICAuc2l0ZS1icmFuZGluZyB7XHJcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1tZW51LWZvbnRzKTtcclxuICAgIH1cclxuXHJcbiAgICAubW9iaWxlLW1lbnUtYnRuIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tbWVudS1mb250cyk7XHJcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc2l0ZS1wYWRkaW5nKTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGZvci10YWJsZXQtcG9ydHJhaXQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdi1jbnQge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDMqIHZhcigtLWNvbC04LTEwMCkgKyAyKiB2YXIoLS1nYXAtOC0xMDApKTtcclxuICAgIH1cclxuXHJcbiAgICAubWFpbi1uYXZpZ2F0aW9uIHtcclxuXHJcbiAgICAgICAgLm1lbnUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHZhcigtLW1lbnUtZm9udHMpO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcclxuXHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNy4zMTI1cmVtO1xyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYShob3Zlcjpob3Zlcikge1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAwLjA2MjVyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4zMHJlbTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJi5jdXJyZW50LW1lbnUtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMC4wNjI1cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjMwcmVtO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb3ItdGFibGV0LXBvcnRyYWl0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMHJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMC4wNjI1cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4zMHJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHsgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAwcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAuc3ViLW1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAwcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYuY3VycmVudC1tZW51LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMHJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMC4wNjI1cmVtIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuMXJlbSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJi5jdXJyZW50LW1lbnUtcGFyZW50IHtcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAwLjA2MjVyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5zdWItbWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMHJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5zdWItbWVudSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1tZW51LWZvbnRzKTtcclxuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogd3JhcDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvci10YWJsZXQtcG9ydHJhaXQge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjMxMjVyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9yLXRhYmxldC1wb3J0cmFpdCB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgIC8vIHBhZGRpbmctdG9wOiA4cmVtO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0taGVhZGVyLWhlaWdodCkpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zaXRlLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LTM0KTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNpdGUtcGFkZGluZyk7XHJcblxyXG4gICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAuNXJlbTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBmb3ItdGFibGV0LXBvcnRyYWl0IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0O1xyXG5cclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiIiwiXHJcbi5ob21lLW1haW4ge1xyXG4gICAgLnZpZGVvLW1haW4tY250IHtcclxuICAgICAgICAudmlkZW8ge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAwJTtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDU2LjI1JTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIFxyXG4gICAgICAgICAgICAmLmRlc2t0b3Age1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgICAgXHJcbiAgICAgICAgICAgICAgICB9ICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAgICAgJi5tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDsgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgICAgICBpZnJhbWUge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNhcHRpb24tY250IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogdmFyKC0tc2l0ZS1wYWRkaW5nKTtcclxuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtMjIpO1xyXG4gICAgICAgIGJvdHRvbTogdmFyKC0tc2l0ZS1wYWRkaW5nKTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4iLCIuYWJvdXQtbWFpbiB7XHJcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcclxuICAgIHBhZGRpbmc6IDAgdmFyKC0tc2l0ZS1wYWRkaW5nKTtcclxuICAgIHBhZGRpbmctdG9wOiAxLjlyZW07XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNC44cmVtO1xyXG5cclxuICAgIC5hYm91dC1jbnQtY29udGVudCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9IFxyXG5cclxuICAgIC5pbWctY250IHtcclxuICAgICAgICB3aWR0aDogY2FsYygzOCUgLSAxLjI1cmVtKTtcclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHdoaXRlO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMS4yNXJlbTtcclxuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtMzQpO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjkzNzVyZW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMDdlbTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDY1LjQzJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRlbnQtY250IHtcclxuICAgICAgICB3aWR0aDogNjIlO1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkd2hpdGU7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDEuNzVyZW07XHJcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LTIyKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yNWVtO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmluZm9ybWF0aW9uLWNudCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNC4ycmVtO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY29udGFjdC1pbmZvIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0LjhyZW07XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIiIsIiIsIiIsIi5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9qZWN0cywgLnRheC10eXBlcyB7XHJcbiAgICAuc2l0ZS1oZWFkZXIge1xyXG4gICAgICAgIC5uYXYtY250IHtcclxuICAgICAgICAgICAgLm1lbnUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0taGVhZGVyLWhlaWdodCkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ud29yay1tYWluIHtcclxuICAgIG1hcmdpbi10b3A6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xyXG4gICAgcGFkZGluZzogMCB2YXIoLS1zaXRlLXBhZGRpbmcpIDYuMzc1cmVtO1xyXG5cclxuICAgIC5maWx0ZXItY250IHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMS41NnJlbTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIuM3JlbTtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDMuNnJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC0yMik7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvci10YWJsZXQtcG9ydHJhaXQge1xyXG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiB3cmFwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMzEyNXJlbTtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYShob3Zlcjpob3Zlcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDAuMDYyNXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4xcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMC4wNjI1cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4xcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAucHJvamVjdHMtbWFpbi1jbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGdhcDogMy44NzVyZW0gdmFyKC0tc2l0ZS1wYWRkaW5nKTtcclxuXHJcbiAgICAgICAgLnByb2plY3QtY250IHtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gdmFyKC0tc2l0ZS1wYWRkaW5nKS8yICk7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuaW1nLWNudCB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNTYuMjUlO1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA2MC4yNSU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLmltZy1saW5rIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcblxyXG4gICAgICAgICAgICAgICAgJi5ob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnRpdGxlLWNudCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtMjIpO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IC4ycmVtO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IC40cmVtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmLnByZXZpZXcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICYuaG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9ICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJcclxuLm5ld3MtbWFpbiB7XHJcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcclxuICAgIHBhZGRpbmc6IDAgdmFyKC0tc2l0ZS1wYWRkaW5nKTtcclxuICAgIHBhZGRpbmctdG9wOiAxLjlyZW07XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNC44cmVtO1xyXG5cclxuICAgIC5jb250ZW50LW1haW4tY250IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIC50aXRsZS1jbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDRyZW07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRpdGxlLWNudCB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMzglIC0gMS4yNXJlbSk7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR3aGl0ZTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XHJcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LTM0KTtcclxuICAgICAgICBwYWRkaW5nLXRvcDogOXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjA3ZW07XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucG9zdHMtbWFpbi1jbnQge1xyXG4gICAgICAgIHdpZHRoOiA2MiU7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR3aGl0ZTtcclxuICAgICAgICBwYWRkaW5nLXRvcDogOXB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucG9zdC1jbnQge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjlyZW07XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC45NXJlbTtcclxuXHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnBvc3QtdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LTM0KTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjA3ZW07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5kYXRlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC0zNCk7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4wN2VtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuY2FwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtMjIpO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5zaW5nbGUtcHJvamVjdC1tYWluIHtcclxuICAgIHBhZGRpbmc6IDAgdmFyKC0tc2l0ZS1wYWRkaW5nKSAxMHJlbTtcclxuICAgIG1hcmdpbi10b3A6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xyXG4gICAgcGFkZGluZy10b3A6IDEuM3JlbTtcclxuXHJcbiAgICAudGl0bGUtY250IHtcclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHdoaXRlO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjNyZW07XHJcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LTM0KTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjdyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmhlcm8taW1hZ2UtbWFpbiB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XHJcblxyXG4gICAgICAgIC5pbWctY250IHtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiB2YXIoLS12aDEwMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jYXB0aW9uIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC40Mzc1cmVtO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtMTYpO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAubWFpbi1jb250ZW50LWNudCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDRyZW07XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAudGV4dC1pbmZvIHtcclxuICAgICAgICAgICAgd2lkdGg6IDYyJTtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR3aGl0ZTtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEuNzVyZW07XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC0yMik7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1ZW07XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMS4yNXJlbTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5wcm9qZWN0LWluZm9ybWF0aW9uIHtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMzglIC0gMS4yNXJlbSk7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkd2hpdGU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyLjFyZW07XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC0xNik7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5pbmZvLWNudCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjMzcmVtO1xyXG5cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLmdhbGxlcnktYmVsbG93LW91dGVyIHtcclxuICAgICAgICAuZG91YmxlLWltYWdlcyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGdhcDogMS4xMjVyZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxLjJyZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjJyZW07XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuaW1nLWNudCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjRyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5pbWctY2FwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC0xNik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zaW5nbGUtaW1nLWNudCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxLjJyZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjJyZW07XHJcblxyXG4gICAgICAgICAgICAuaW1nLWNudCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNjAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5pbWctY2FwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC0xNik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYuc2luZ2xlLXJpZ2h0IHtcclxuICAgICAgICAgICAgICAgIC5pbWctY250IHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5zaW5nbGUtY2VudGVyIHtcclxuICAgICAgICAgICAgICAgIC5pbWctY250IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzUlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLnBvcnRyYWl0IHtcclxuICAgICAgICAgICAgICAgICAgICAuaW1nLWNudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0OSU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZG91YmxlLXZpZGVvcyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGdhcDogMS4xMjVyZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxLjJyZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjJyZW07XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAudmlkZW8tY250IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMjglO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1Ni4yNSU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWZyYW1lIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGluc2V0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC52aWRlby1jYXB0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LTE2KTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zaW5nbGUtdmlkZW8tY250IHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEuMnJlbTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuMnJlbTtcclxuXHJcbiAgICAgICAgICAgIC52aWRlby1jbnQge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDYwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzNC4yNSU7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDU2LjI1JTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZnJhbWUge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5zZXQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLnZpZGVvLWNhcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtMTYpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYuc2luZ2xlLXJpZ2h0IHtcclxuICAgICAgICAgICAgICAgIC52aWRlby1jbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLnNpbmdsZS1jZW50ZXIge1xyXG4gICAgICAgICAgICAgICAgLnZpZGVvLWNudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDc1JTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0Mi4yNSU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDU2LjI1JTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY3VzdG9tLWNvbnRyb2xzLWNudCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgaW5zZXQ6IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjY1KTtcclxuICAgICAgICAgICAgei1pbmRleDogNTsgXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0O1xyXG5cclxuICAgICAgICAgICAgLmNvbnRyb2wge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LTIyKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLXNpdGUtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluLW91dDtcclxuXHJcbiAgICAgICAgICAgICAgICAmLnBsYXkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLnNvdW5kIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmhpZGUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgLmNvbnRyb2wge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYuc2hvdy1jb250cm9scyB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC42NSk7XHJcblxyXG4gICAgICAgICAgICAgICAgLmNvbnRyb2wge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG5cclxuXHJcblxyXG5cclxuICAgICAgICAudGV4dC1pbmZvLWNudCB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkd2hpdGU7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuMnJlbTtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEuMXJlbTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuMnJlbTtcclxuXHJcbiAgICAgICAgICAgIC50ZXh0LWNudCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoIDQgKiB2YXIoLS1jb2wtOC0xMDApICsgMyAqIHZhcigtLWdhcC04LTEwMCkgKTtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAudGl0bGUtY250IHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMHJlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi5oYWxmLXdpZHRoIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gdmFyKC0tZ2FwLTgtMTAwKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYuaGFsZi13aWR0aCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAudGV4dC1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSB2YXIoLS1nYXAtOC0xMDApKTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtMjIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1ZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYuY2VudGVyIHtcclxuICAgICAgICAgICAgICAgIC50ZXh0LWNudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLm9mZnNldC1yaWdodCB7XHJcbiAgICAgICAgICAgICAgICAudGV4dC1jbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAzICogdmFyKC0tY29sLTgtMTAwKSArIDMgKiB2YXIoLS1nYXAtOC0xMDApKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiB1bnNldDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmLnJpZ2h0IHtcclxuICAgICAgICAgICAgICAgIC50ZXh0LWNudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG5cclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIC5zbGlkZXItb3V0ZXIge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjJyZW07XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuMnJlbTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLnNsaWRlci1jbnQge1xyXG4gICAgICAgIC5zbGljay1hcnJvdyB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDFyZW0vMik7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tc2l0ZS1wYWRkaW5nKTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgdG9wOiA5MyU7XHJcblxyXG4gICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzdweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEzcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYuc2xpY2stcHJldiB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLnNsaWNrLW5leHQge1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaW1nLWNudCB7XHJcbiAgICAgICAgICAgIGhlaWdodDogY2FsYyh2YXIoLS12aDEwMCkgLSB2YXIoLS1oZWFkZXItaGVpZ2h0KSAtIDRyZW0pO1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0MDBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNnJlbTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNTBweDtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDI1MHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIuNnJlbTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5zbGlkZS1jYXB0aW9uIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNDM3NXJlbTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC0xNik7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjYlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxLjc4cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUNDQTs7Ozs7O0VBTUU7QUNORixBQUFBLEtBQUssQ0FBQztFQUNGLE9BQU8sQ0FBQSxZQUFDO0VBQ1IsWUFBWSxDQUFBLFlBQUM7RUFDYixpQkFBaUIsQ0FBQSxFQUFDO0VBRWxCLGVBQWUsQ0FBQSxRQUFDO0VBQ2hCLGNBQWMsQ0FBQSxRQUFDO0VBSWYsWUFBWSxDQUFBLFVBQUM7RUFPYixTQUFTLENBQUEsVUFBQztFQUNWLFNBQVMsQ0FBQSxVQUFDO0VBQ1YsU0FBUyxDQUFBLFVBQUM7RUFFVixXQUFXLENBQUEsa0JBQUM7RUFDWixXQUFXLENBQUEsaUJBQUM7RUFDWixXQUFXLENBQUEsUUFBQztFQUVaLFVBQVUsQ0FBQSxpQkFBQztFQUNYLFVBQVUsQ0FBQSxnQkFBQyxHQVNk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 */
