/*!******************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./node_modules/swiper/swiper.css ***!
  \******************************************************************************************************************************************************************************************************/
/**
 * Swiper 11.2.7
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: May 19, 2025
 */

/* FONT_START */
@font-face {
  font-family: 'swiper-icons';
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}
/* FONT_END */
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}
:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}
.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}
.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}
.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}
.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}
.swiper-horizontal {
  touch-action: pan-y;
}
.swiper-vertical {
  touch-action: pan-x;
}
.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}
.swiper-slide-invisible-blank {
  visibility: hidden;
}
/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}
.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}
.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}
.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}
.swiper-3d {
  perspective: 1200px;
}
.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}
/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}
.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}
.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: '';
  flex-shrink: 0;
  order: 9999;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  -webkit-margin-start: var(--swiper-centered-offset-before);
          margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  -webkit-margin-before: var(--swiper-centered-offset-before);
          margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}
/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}
.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}
.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}
@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */

/*!*******************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./node_modules/swiper/modules/effect-fade.css ***!
  \*******************************************************************************************************************************************************************************************************************/
.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}
.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}
.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-fade .swiper-slide-active {
  pointer-events: auto;
}
.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

/*!****************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/normalize.css/normalize.css ***!
  \****************************************************************************************************************************************************************************************************************/
/*! 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.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* 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; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* 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; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font 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; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

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

/**
 * 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; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding 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; /* 1 */
  font: inherit; /* 2 */
}

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

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/scss/app.scss ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
:root {
  --base-color:black;
  --base-font-size:1.125rem;
  --base-line-height:1.3;
  --base-font-family:"Proxima Nova", Arial, sans-serif;
  --headings-line-height:1.2;
  --headings-font-family:"Flexo W01", sans-serif;
  --header-animation:.5s ease;
  --link-color:#E4003A;
  --link-hover-color:#A10529;
  --h1-font-size:2.25rem;
  --h2-font-size:2rem;
  --h3-font-size:1.75rem;
  --h4-font-size:1.5rem;
  --blockquote-font-size:2.25rem;
  --preheader-font-size:1rem;
  --highlight-header-font-size:2.25rem;
  --highlight-text-font-size:1.4375rem;
  --subheadline-font-size:var(--highlight-text-font-size);
  --btn-font-size:1rem;
  --btn-sm-font-size:1rem;
  --btn-line-height:math.div(34,24);
  --btn-focus-outline-color:rgb(0, 95, 204);
  --height-preheader:40px;
  --height-header:64px;
  --meta-menu-font-size:1.3125rem;
  --mega-menu-font-size:1.2rem;
  --header-background:linear-gradient(0, rgba(0,0,0,0) 0%, rgba(0,0,0,.1) 20%, rgba(0,0,0,.8) 100%);
  --header-color:white;
  --header-link-hover-bg-color:#EEEEEE;
  --space-small:2rem;
  --space-medium:2.5rem;
  --space-large:3.75rem;
  --tab-padding:20px;
}
@media (min-width: 768px) {
  :root {
    --base-font-size:1.4375rem;
    --h1-font-size:3.5rem;
    --h2-font-size:3.75rem;
    --h3-font-size:2.5rem;
    --h4-font-size:1.875rem;
    --btn-font-size:1.5rem;
    --btn-sm-font-size:1.3125rem;
    --blockquote-font-size:3.5rem;
    --preheader-font-size:1.2rem;
    --highlight-header-font-size:4rem;
    --highlight-text-font-size:1.75rem;
    --subheadline-font-size:var(--highlight-text-font-size);
    --meta-menu-font-size:.75rem;
    --space-small:2.5rem;
    --space-medium:5rem;
    --space-large:6.25rem;
  }
}
@media (min-width: 1240px) {
  :root {
    --tab-padding:5rem;
    --height-preheader:45px;
    --height-header:64px;
    --blockquote-font-size:4.5rem;
    --highlight-header-font-size:6rem;
    --highlight-text-font-size:1.75rem;
  }
}
@media (min-width: 1920px) {
  :root {
    --space-medium:6.25rem;
    --space-large:9.375rem;
  }
}

@font-face {
  font-family: "Flexo W01";
  font-weight: 400;
  src: url(/wp-content/themes/zapf/build/fonts/5433731e-c968-4f84-9ee9-38f49d68163e.9df7e2ee.woff2) format("woff2");
}
@font-face {
  font-family: "Flexo W01";
  font-weight: 700;
  src: url(/wp-content/themes/zapf/build/fonts/c5e0a041-7acd-4ad8-a865-fedadc617775.7aefe931.woff2) format("woff2");
}
@font-face {
  font-family: "Proxima Nova";
  font-weight: 400;
  src: url(/wp-content/themes/zapf/build/fonts/ProximaNova-Regular.e72a8869.woff2) format("woff2");
}
@font-face {
  font-family: "Proxima Nova";
  font-weight: 700;
  src: url(/wp-content/themes/zapf/build/fonts/ProximaNova-Bold.ae239321.woff2) format("woff2");
}
body {
  color: var(--base-color);
  font-size: var(--base-font-size);
  line-height: var(--base-line-height);
  font-family: var(--base-font-family);
  font-weight: 400;
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4 {
  margin-top: 0;
  font-family: var(--headings-font-family);
  line-height: var(--headings-line-height);
  font-weight: 700;
}

h1, .h1 {
  font-size: var(--h1-font-size);
  margin-bottom: 1.75rem;
}

h2, .h2 {
  font-size: var(--h2-font-size);
  margin-bottom: 1.75rem;
}

h3, .h3 {
  font-size: var(--h3-font-size);
  margin-bottom: 1.75rem;
}

h4, .h4 {
  font-size: var(--h4-font-size);
  margin-bottom: 1.375rem;
}

blockquote {
  font-size: var(--blockquote-font-size);
  font-family: var(--headings-font-family);
  margin: 0 0 1.75rem;
}
blockquote > *:last-child {
  margin-bottom: 0;
}

p {
  margin-top: 0;
  margin-bottom: 1.25rem;
}

.highlight-header {
  font-size: var(--highlight-header-font-size);
  line-height: var(--headings-line-height);
  font-weight: 700;
}

.copy-highlight {
  font-size: var(--highlight-text-font-size);
  line-height: 1.3;
}

.mb-0 {
  margin-bottom: 0;
}

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

.preheader {
  text-transform: uppercase;
}

a {
  color: var(--link-color, --base-color);
  text-decoration: underline;
}
a:hover {
  color: var(--link-hover-color, --base-color);
  text-decoration: none;
}

.btn {
  display: inline-block;
  text-decoration: none;
  border: 2px solid var(--btn-border-color);
  border-radius: 4px;
  padding: 0.625rem 2rem;
  min-width: 250px;
  max-width: 100%;
  text-align: center;
  font-size: var(--btn-font-size);
  line-height: 1;
  color: var(--btn-color);
  background-color: var(--btn-background-color);
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
@media (min-width: 768px) {
  .btn {
    min-width: 360px;
  }
}

.vc_tta-panel-body .btn {
  min-width: 325px;
}
@media (min-width: 768px) {
  .vc_tta-panel-body .btn {
    min-width: 450px;
  }
}

button.btn:focus, a.btn:focus,
input:focus + span.btn {
  outline: 2px solid var(--btn-focus-outline-color, #000);
}

.btn--sm {
  font-size: var(--btn-sm-font-size);
  min-width: 240px;
}

.btn--red {
  --btn-border-color: #E4003A;
  --btn-color: #E4003A;
  --btn-background-color: transparent;
}
input:checked + .btn--red {
  --btn-background-color: #E4003A;
  --btn-color: white;
}
.btn--red:hover {
  --btn-border-color: #A10529;
  --btn-color: #A10529;
}

.btn--black {
  --btn-border-color: #000;
  --btn-color: #000;
  --btn-background-color: transparent;
}
.btn--black:hover {
  --btn-border-color: #A10529;
  --btn-color: #A10529;
  --btn-background-color: #fff;
}

.header-onscroll-effekt .btn--red,
.image-onscroll-effekt .btn--red,
.teaser-configuration .btn--red,
.teaser-configuration__boxed .btn--red,
.bg-black .btn--red {
  --btn-border-color: #fff;
  --btn-color: #000;
  --btn-background-color: #fff;
}
.header-onscroll-effekt .btn--red:hover,
.image-onscroll-effekt .btn--red:hover,
.teaser-configuration .btn--red:hover,
.teaser-configuration__boxed .btn--red:hover,
.bg-black .btn--red:hover {
  --btn-border-color: #A10529;
  --btn-color: #A10529;
  --btn-background-color: #fff;
}
.header-onscroll-effekt .btn--black,
.image-onscroll-effekt .btn--black,
.teaser-configuration .btn--black,
.teaser-configuration__boxed .btn--black,
.bg-black .btn--black {
  --btn-border-color: white;
  --btn-color: white;
  --btn-background-color: transparent;
}
.header-onscroll-effekt .btn--black:hover,
.image-onscroll-effekt .btn--black:hover,
.teaser-configuration .btn--black:hover,
.teaser-configuration__boxed .btn--black:hover,
.bg-black .btn--black:hover {
  --btn-border-color: #A10529;
  --btn-color: #A10529;
  --btn-background-color: #fff;
}

.sr-only,
.sr-only-focusable:not(:focus):not(:focus-within) {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.sr-only:not(caption),
.sr-only-focusable:not(:focus):not(:focus-within):not(caption) {
  position: absolute !important;
}
.sr-only *,
.sr-only-focusable:not(:focus):not(:focus-within) * {
  overflow: hidden !important;
}

.btn-check input {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}

.d-none {
  display: none !important;
}

.header-onscroll-effekt {
  width: calc(100 * var(--vw, 1vw));
  transform: translateX(-50%);
  left: 50%;
  z-index: 0;
  position: relative;
  color: white;
  min-height: 100vh;
  overflow: hidden;
}

.header-onscroll-effekt__image,
.header-onscroll-effekt__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
  -o-object-fit: cover;
     object-fit: cover;
}

.header-onscroll-effekt__overlay {
  z-index: -1;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 100%) bottom left no-repeat;
  pointer-events: none;
  opacity: 0.7;
  height: 50%;
  bottom: 0;
  top: auto;
}

.header-onscroll-effekt__content {
  position: absolute;
  left: 0;
  width: 100%;
  bottom: 30%;
  transform: translateY(50%);
  text-align: center;
}
.header-onscroll-effekt__content .highlight-header {
  margin-bottom: 1.25rem;
}
.header-onscroll-effekt__content .price {
  font-weight: 700;
  font-size: var(--highlight-text-font-size);
}

.header-onscroll-effekt__textelements {
  display: none;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 1fr 1fr 80px;
  -moz-column-gap: 30px;
       column-gap: 30px;
  overflow: hidden;
  height: 0;
  opacity: 0;
}
.header-onscroll-effekt__textelements p {
  margin-bottom: 30px;
}
.header-onscroll-effekt__textelements p::nth-last-child(-n+2) {
  margin-bottom: 0;
}
.header-onscroll-effekt__textelements[data-items="1"] {
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 80px;
}

.header-onscroll-effekt__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  justify-content: center;
}

@media (min-width: 768px) {
  .header-onscroll-effekt__textelements {
    display: grid;
  }
  .header-onscroll-effekt__textelements .highlight-header {
    margin-bottom: 2.5rem;
  }
}
@media (min-width: 1240px) {
  .header-onscroll-effekt__textelements {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 1fr 80px;
  }
  .header-onscroll-effekt__textelements p {
    margin-bottom: 0 !important;
  }
}
.image-onscroll-effekt {
  width: calc(100 * var(--vw, 1vw));
  transform: translateX(-50%);
  left: 50%;
  z-index: 0;
  position: relative;
  color: white;
  min-height: calc(100vh - var(--height-header));
}

.image-onscroll-effekt__image,
.image-onscroll-effekt__video,
.image-onscroll-effekt__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
  -o-object-fit: cover;
     object-fit: cover;
}

.image-onscroll-effekt__video .ratio {
  position: static;
}
.image-onscroll-effekt__video .ratio::before {
  content: normal;
}

.image-onscroll-effekt__overlay {
  z-index: -1;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.7) 60%, rgb(0, 0, 0) 100%);
  pointer-events: none;
  opacity: 0.2;
}

.image-onscroll-effekt__content {
  position: absolute;
  left: 0;
  width: 100%;
  bottom: 20%;
  transform: translateY(50%);
  opacity: 0;
}
.image-onscroll-effekt__content .wysiwyg {
  width: calc(906px + 40px);
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.image-onscroll-effekt__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  justify-content: center;
  margin-top: 80px;
}

.image-onscroll-effekt__icons {
  display: flex;
  flex-wrap: wrap;
  gap: 70px;
  justify-content: center;
}
@media (min-width: 1240px) {
  .image-onscroll-effekt__icons {
    row-gap: 5rem;
    -moz-column-gap: 10rem;
         column-gap: 10rem;
  }
}

.image-onscroll-effekt__icons__item {
  display: flex;
  gap: 40px;
  align-items: center;
  justify-content: flex-start;
  flex: 0 0 100%;
  max-width: 100%;
}
.image-onscroll-effekt__icons__item img {
  flex: 0 0 140px;
  max-width: 140px;
  display: block;
  height: auto;
}
.image-onscroll-effekt__icons__item p {
  font-weight: normal;
  text-align: center;
  margin-bottom: 0;
  width: 100%;
}
@media (min-width: 768px) {
  .image-onscroll-effekt__icons__item {
    flex: 0 0 450px;
    max-width: 450px;
  }
}

.teaser-slider-item img {
  border-radius: 8px;
  margin-bottom: 40px;
}
.teaser-slider-item h2 {
  margin-top: 0;
  margin-bottom: 20px;
}
.teaser-slider-item p {
  margin-top: 0;
  margin-bottom: 40px;
}

.teaser-slider .swiper-wrapper {
  margin-bottom: 20px;
}
.teaser-slider .swiper-pagination-bullet {
  display: inline-block;
  border-radius: 100%;
  width: 20px;
  height: 20px;
  background: #000;
  opacity: 0.5;
  margin: 0 10px;
  cursor: pointer;
}
.teaser-slider .swiper-pagination-bullet-active {
  opacity: 1;
}
.teaser-slider .swiper-pagination {
  background-color: #EEEEEE;
  border-radius: 8px;
  height: 30px;
  margin: 0px 10px;
  display: flex;
  align-items: center;
}
.teaser-slider .swiper-controls {
  display: flex;
  width: 100%;
  justify-content: center;
}
.teaser-slider .swiper-button-prev,
.teaser-slider .swiper-button-next {
  border: 0;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  display: flex;
  justify-content: center;
  cursor: pointer;
  background-color: #EEEEEE;
}
.teaser-slider .swiper-button-prev img,
.teaser-slider .swiper-button-next img {
  width: 7px;
  align-self: center;
}

.teaser-slider--default {
  overflow: visible;
  padding-right: 120px;
}
.teaser-slider--default .swiper-controls {
  width: calc(100% + 120px);
}

.teaser-slider--2 {
  overflow: hidden;
}
.teaser-slider--2 .swiper-wrapper {
  margin-bottom: 80px;
}

.teaser-configuration {
  position: relative;
  width: calc(100 * var(--vw, 1vw));
  left: 50%;
  transform: translateX(-50%) scale(1.001);
  background-position: 50% 50%;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  z-index: 0;
  min-height: 150vw;
  background-size: 250%, 200% 200%;
  --start-color:transparent;
  --end-color:transparent;
  background-image: var(--background-image), linear-gradient(180deg, var(--start-color) 0%, var(--start-color) 50%, var(--end-color) 51%, var(--end-color) 100%);
}
.teaser-configuration .container {
  padding-top: 40px;
  padding-bottom: 40px;
}
.teaser-configuration .wysiwyg {
  color: #fff;
  max-width: 1135px;
}
@media (min-width: 768px) {
  .teaser-configuration {
    min-height: 90vw;
    background-size: 150%, 200% 200%;
  }
  .teaser-configuration .container {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
@media (min-width: 1240px) {
  .teaser-configuration {
    min-height: 60vw;
    background-size: 100%, 200% 200%;
  }
}
.teaser-configuration.white-white {
  --background-image: url(/wp-content/themes/zapf/build/images/zapf-garagen-konfigurator-hintergrund-weiss.d96bae50.jpg);
  --start-color:white;
  --end-color:white;
}
.teaser-configuration.black-black {
  --background-image: url(/wp-content/themes/zapf/build/images/zapf-garagen-konfigurator-hintergrund-schwarz-schwarz.fb1bf6c5.jpg);
  --start-color:black;
  --end-color:black;
}
.teaser-configuration.white-black {
  --background-image: url(/wp-content/themes/zapf/build/images/zapf-garagen-konfigurator-hintergrund-weiss-schwarz.4a0e249e.jpg);
  --start-color:white;
  --end-color:black;
}
.teaser-configuration.white-gray {
  --background-image: url(/wp-content/themes/zapf/build/images/zapf-garagen-konfigurator-hintergrund-grau.3615ef38.jpg);
  --start-color:white;
  --end-color: #EEEEEE;
}
.teaser-configuration.black-white {
  --background-image: url(/wp-content/themes/zapf/build/images/zapf-garagen-konfigurator-hintergrund-schwarz-weiss.b273c453.jpg);
  --start-color:black;
  --end-color:white;
}
.teaser-configuration.black-cut {
  --background-image: url(/wp-content/themes/zapf/build/images/zapf-garagen-konfigurator-hintergrund-schwarz-cut.0b57b99f.jpg);
  background-position: 50% 100%, 50% 50%;
  --start-color:black;
  --end-color:transparent;
  align-items: flex-end;
}

.quote {
  text-align: center;
}
.quote hr {
  width: 250px;
  height: 8px;
  background-color: currentColor;
  border: 0;
  margin-top: 5rem;
  margin-bottom: 5rem;
}
@media (min-width: 768px) {
  .quote hr {
    width: 467px;
  }
}
.quote > *:last-child {
  margin-bottom: 0;
}

.blogslider {
  overflow: visible;
}
.blogslider .swiper-wrapper {
  margin-bottom: 20px;
}
.blogslider .swiper-pagination {
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  padding-top: calc(56.25% + 40px);
  z-index: 1;
}
.blogslider .swiper-pagination-bullet {
  display: inline-block;
  border-radius: 100%;
  width: 20px;
  height: 20px;
  background: currentColor;
  opacity: 1;
  margin: 0 10px;
  cursor: pointer;
}
.blogslider .swiper-pagination-bullet:first-child {
  margin: 0 10px 0 0;
}
.blogslider .swiper-pagination-bullet:last-child {
  margin: 0 0 0 10px;
}
.blogslider .swiper-pagination-bullet-active {
  background: #E4003A;
}
.blogslider img {
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
  margin-bottom: 6.25rem;
}
.blogslider .date {
  margin-top: 0;
  line-height: 1;
  margin-bottom: 0.3125rem;
}
.blogslider .button-wrapper {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: start;
}
@media (min-width: 1240px) {
  .blogslider .button-wrapper {
    flex-direction: row;
  }
}
@media (min-width: 768px) {
  .blogslider .text-button,
  .blogslider .swiper-pagination {
    padding-left: 117px;
  }
}

.teaser-configuration__boxed {
  color: #fff;
  padding: 70px 30px;
  border-radius: 8px;
}
.teaser-configuration__boxed.box-bg--red {
  background-image: url(/wp-content/themes/zapf/build/images/zapf-garagen-konfigurator-hintergrund-weiss.d96bae50.jpg);
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: 400%;
}
.teaser-configuration__boxed.box-bg--black {
  background-color: #000;
}
@media (min-width: 768px) {
  .teaser-configuration__boxed {
    background-size: 250% !important;
  }
}
@media (min-width: 1240px) {
  .teaser-configuration__boxed {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 60px;
    padding: 80px;
    background-size: cover !important;
  }
}

.usp {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  gap: 60px;
}
.usp .wpb_content_element {
  position: relative;
  width: 100%;
}
.usp .wpb_content_element::after {
  content: "";
  border: 1px solid currentColor;
  width: 100px;
  display: inline-block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: calc(100% + 28px);
}
.usp .wpb_content_element:last-child:after {
  display: none;
}
@media (min-width: 768px) {
  .usp {
    flex-direction: row;
    gap: 0;
  }
  .usp .wpb_content_element::after {
    content: "";
    border: 1px solid currentColor;
    height: 80px;
    width: 1px;
    display: inline-block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    left: unset;
  }
}

.tile-teaser-container {
  display: grid;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .tile-teaser-container {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1240px) {
  .tile-teaser-container {
    grid-template-columns: repeat(3, 1fr);
  }
}

.tile-teaser-item::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #E4003A;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.tile-teaser-item:nth-child(even):after {
  background-color: #000;
}

.tile-teaser-item {
  position: relative;
}
.tile-teaser-item .text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 1;
  color: #fff;
}
.tile-teaser-item:hover::after, .tile-teaser-item:hover .text {
  opacity: 1;
}

@media (max-width: 1024px) {
  .tile-teaser-item:nth-child(5n-4):after,
  .tile-teaser-item:nth-child(5n-1):after,
  .tile-teaser-item:nth-child(5n):after {
    background-color: #E4003A;
  }
  .tile-teaser-item:nth-child(5n-3):after,
  .tile-teaser-item:nth-child(5n-2):after {
    background-color: #000;
  }
  .tile-teaser-item:nth-last-child(2):after {
    background-color: #000 !important;
  }
  .tile-teaser-item:last-child:after {
    background-color: #E4003A !important;
  }
}
.spacer {
  display: block;
  width: 100%;
  height: var(--space);
}

.spacer--small {
  --space:var(--space-small);
}

.spacer--large {
  --space:var(--space-large);
}

.spacer--medium {
  --space:var(--space-medium);
}

.image-onscroll-effekt--textoverlay .image-onscroll-effekt__content {
  opacity: 1;
  transform: none;
  text-align: center;
}
.image-onscroll-effekt--textoverlay .image-onscroll-effekt__buttons {
  margin-top: 40px;
}
.image-onscroll-effekt--textoverlay .image-onscroll-effekt__overlay {
  background: transparent;
  opacity: 1;
}
.image-onscroll-effekt--textoverlay .image-onscroll-effekt__overlay::before, .image-onscroll-effekt--textoverlay .image-onscroll-effekt__overlay::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 40%;
}
.image-onscroll-effekt--textoverlay .image-onscroll-effekt__overlay::before {
  background-image: linear-gradient(180deg, #FFFFFF 0%, rgba(255, 255, 255, 0.9215686275) 17%, rgba(255, 255, 255, 0) 100%);
}
.image-onscroll-effekt--textoverlay .image-onscroll-effekt__overlay::after {
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 100%);
  top: auto;
  bottom: 0;
  height: 55%;
}

.test_animation .box {
  width: 100px;
  height: 100px;
  background-color: #3498db;
  margin: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.test_animation .box-2 {
  background-color: #db9b34;
}

#main .vc_tta-tabs-container {
  margin: 0;
}
#main .vc_tta-tabs-list {
  margin: 0;
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
  overflow: auto;
}
#main .vc_tta-tabs-list .vc_tta-title-text {
  white-space: nowrap;
}
#main .vc_tta-panel-heading a,
#main .vc_tta-tab a {
  background: black;
  color: white;
  border-radius: 0.5rem;
  border: 0 none;
  transition: background-color 0.3s ease, color 0.3s ease, border-radius 0.3s ease, border-width 0.3s ease, margin-bottom 0.3s ease;
  margin-bottom: 5px;
}
#main .vc_active .vc_tta-panel-heading a,
#main .vc_tta-tab.vc_active a {
  background: #EEEEEE;
  color: black;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  border-bottom: 5px solid #EEEEEE;
  margin-bottom: 0;
}
#main .vc_tta-tab {
  margin: 0;
  flex-grow: 1;
}
#main .vc_tta-panel-heading {
  margin: 0;
  background-color: transparent;
  border: 0 none;
}
#main .vc_tta-panels {
  background: transparent;
  border: 0 none;
}
#main .vc_tta-panel {
  margin: 0;
}
#main .vc_tta-panel .vc_tta-panel-body {
  border: 0 none;
  padding: var(--tab-padding);
  border-radius: 0.5rem;
  background: #EEEEEE;
}
#main .vc_tta-panel .vc_tta-panel-body .btn--red {
  background-color: #E4003A;
  color: white;
}
#main .vc_tta-panel .vc_tta-panel-body .btn--red:hover {
  border-color: #E4003A;
}
@media (min-width: 768px) {
  #main .vc_tta-panel:first-child .vc_tta-panel-body {
    border-top-left-radius: 0;
  }
  #main .vc_tta-panel:last-child .vc_tta-panel-body {
    border-top-right-radius: 0;
  }
}
@media (max-width: 767px) {
  #main .vc_tta-panel:not(:last-child) {
    margin-bottom: 6px;
  }
  #main .vc_tta-panel .vc_tta-panel-body {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
  #main .vc_tta-panel .vc_tta-panel-title a {
    display: flex;
  }
  #main .vc_tta-panel .vc_tta-panel-title a .vc_tta-title-text {
    width: 100%;
  }
  #main .vc_tta-panel .vc_tta-panel-title a::after {
    content: url(/wp-content/themes/zapf/build/images/zapf-garagen-navigation-pfeil-eck-links-weiss.77327f2a.svg);
    display: flex;
    width: 24px;
    height: 24px;
    transform: rotate(-90deg);
    justify-content: center;
    align-items: center;
  }
  #main .vc_tta-panel.vc_active .vc_tta-panel-title a::after {
    content: url(/wp-content/themes/zapf/build/images/zapf-garagen-navigation-pfeil-eck-links-schwarz.ab9d7b84.svg);
  }
}

.text-image {
  --content-padding-x: 40px;
  --content-padding-y: 1.875rem;
}
@media (min-width: 1240px) {
  .text-image {
    --content-padding-y: 3rem;
  }
}

.text_image__text:not(:last-child) {
  margin-bottom: 40px;
}
.text_image__text h2, .text_image__text .h2 {
  margin-bottom: 2.5rem;
}
.text_image__text > *:last-child {
  margin-bottom: 0;
}

.text-image__content {
  padding-top: var(--content-padding-y);
  padding-bottom: var(--content-padding-y);
}

.text-image__buttons {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: start;
}

@media (min-width: 1240px) {
  .text-image {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
  }
  .text-image__content {
    grid-column: span 6;
  }
  .text-image__image {
    grid-column: span 6;
  }
  .text-image--66-33 .text-image__content {
    grid-column: span 4;
  }
  .text-image--66-33 .text-image__image {
    grid-column: span 8;
  }
  .text-image--60-40 {
    grid-template-columns: repeat(5, 1fr);
  }
  .text-image--60-40 .text-image__content {
    grid-column: span 2;
  }
  .text-image--60-40 .text-image__image {
    grid-column: span 3;
  }
  .text-image__content {
    display: flex;
    flex-direction: column;
  }
  .text-image--image-left .text-image__content {
    padding-left: var(--content-padding-x);
  }
  .text-image--image-right .text-image__content {
    padding-right: var(--content-padding-x);
  }
  .text-image--image-right .text-image__image {
    order: 1;
  }
}
.vc_tta-panel-body .text-image--tab-full.container {
  width: auto;
  max-width: none;
  margin-left: calc(-1 * var(--tab-padding));
  margin-right: calc(-1 * var(--tab-padding));
  padding: 0;
}
.vc_tta-panel-body .text-image--tab-full.container:first-child {
  margin-top: calc(-1 * var(--tab-padding));
}
.vc_tta-panel-body .text-image--tab-full.container .text-image__buttons {
  margin-top: auto;
}
@media (min-width: 2400px) {
  .vc_tta-panel-body .text-image--tab-full.container .text-image__buttons {
    margin-top: 0;
  }
}
.vc_tta-panel-body .text-image--tab-full.container .text-image__content {
  align-self: stretch;
}
@media (max-width: 1239px) {
  .vc_tta-panel-body .text-image--tab-full.container .text-image__content {
    padding-left: var(--tab-padding);
    padding-right: var(--tab-padding);
  }
}
.vc_tta-panel-body:has(.text-image--tab-full:last-child) {
  padding-bottom: 0 !important;
}
@media (min-width: 1240px) {
  .vc_tta-panel-body .text-image {
    --content-padding-y:0;
  }
  .vc_tta-panel-body .text-image--tab-text-center {
    --content-padding-x:9.25rem;
    align-items: center;
  }
  .vc_tta-panel-body .text-image--tab-full {
    --content-padding-x:100px;
    --content-padding-y: 80px;
  }
  .vc_tta-panel-body .text-image--image-right .text-image__content {
    padding-left: 40px;
  }
  .vc_tta-panel-body .text-image--image-left .text-image__content {
    padding-right: 40px;
  }
}

.ratio {
  position: relative;
  width: 100%;
  z-index: 0;
}
.ratio::before {
  display: block;
  padding-top: var(--bs-aspect-ratio);
  content: "";
}
.ratio > div, .ratio iframe, .ratio video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: cover;
}

.play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  background: url(/wp-content/themes/zapf/build/images/zapf-garagen-video-play.342b6ca8.svg) no-repeat top left transparent;
  background-size: 100% 100%;
  width: 4rem;
  height: 4rem;
  text-indent: 4rem;
  transform: translate(-50%, -50%);
  border-radius: 0.5rem;
  display: block;
  overflow: hidden;
  white-space: nowrap;
  border: 0 none;
  z-index: 1;
  cursor: pointer;
  padding: 0;
}
@media (min-width: 768px) {
  .play-button {
    width: 6rem;
    height: 6rem;
    text-indent: 6rem;
  }
}

.disable-interaction iframe {
  pointer-events: none;
}

.theme-video .uc-embedding-container {
  z-index: 1;
}

.portfolio-slider .portfolio-images {
  margin-bottom: 40px;
  padding-right: 30px;
  overflow: visible;
}
@media (min-width: 768px) {
  .portfolio-slider .portfolio-images {
    padding-right: 0px;
    overflow: hidden;
  }
}
.portfolio-slider .portfolio-text-elements {
  padding: 0;
  padding-right: 30px;
  overflow: visible;
}
@media (min-width: 768px) {
  .portfolio-slider .portfolio-text-elements {
    padding-right: 0px;
    overflow: hidden;
  }
}
.portfolio-slider .portfolio-text-elements .swiper-slide {
  border-top: 8px solid currentColor;
  padding-top: 65px;
}
.portfolio-slider .portfolio-text-elements .swiper-slide-thumb-active {
  border-top: 8px solid #E4003A;
}

.blog-news-filter {
  margin-bottom: 30px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 20px;
}
.blog-news-filter .btn {
  min-width: auto;
}

.blog-news-overview {
  display: grid;
  grid-template-columns: 1fr;
  -moz-column-gap: 30px;
       column-gap: 30px;
  row-gap: 80px;
}
@media (min-width: 768px) {
  .blog-news-overview {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1240px) {
  .blog-news-overview {
    grid-template-columns: repeat(3, 1fr);
  }
}
.blog-news-overview .blog-news-post {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.blog-news-overview .blog-news-post img {
  margin-bottom: 20px;
}

.blog-news-loader {
  text-align: center;
}
.blog-news-loader .btn {
  margin-top: 30px;
}

select.hs-input,
input[type=text].hs-input,
input[type=email].hs-input {
  border: 0 none;
  background: transparent;
  border-bottom: 2px solid black;
  width: 100% !important;
}

.hubspot-form form {
  font-size: var(--mega-menu-font-size);
}
.hubspot-form fieldset {
  width: 100%;
  max-width: unset !important;
  margin-bottom: 20px !important;
}
.hubspot-form fieldset input {
  margin-top: 10px;
  font-weight: 700;
}
.hubspot-form ul {
  padding: 0;
  margin: 0;
}
.hubspot-form li {
  list-style: none;
}
.hubspot-form li span {
  margin-left: 10px;
  font-size: 1rem;
}
.hubspot-form h2 {
  margin-top: 30px;
}
.hubspot-form textarea {
  width: 100% !important;
  border: 2px solid #000;
}
.hubspot-form select {
  padding: 0 15px;
  margin-top: 10px;
}
.hubspot-form select:invalid {
  color: #999;
}
.hubspot-form input[type=submit] {
  display: inline-block;
  border: 2px solid #000;
  border-radius: 4px;
  padding: 0.625rem 2rem;
  min-width: 250px;
  max-width: 100%;
  text-align: center;
  font-size: var(--btn-font-size);
  line-height: 1;
  color: var(--btn-color);
  background-color: var(--btn-background-color);
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  margin-top: 20px;
  cursor: pointer;
}
.hubspot-form input[type=submit]:hover {
  color: #fff;
  background-color: #E4003A;
  border-color: #E4003A;
}
.hubspot-form .hs_datenschutz,
.hubspot-form .hs_newsletter {
  font-size: 1rem;
}
@media (max-width: 480px) {
  .hubspot-form .form-columns-2 .field:last-child {
    margin-top: 40px !important;
  }
}

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

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

.container {
  max-width: 100%;
  width: calc(1374px + 40px);
  padding-left: 20px;
  padding-right: 20px;
  margin-left: auto;
  margin-right: auto;
}

.container-lg {
  width: calc(1760px + 40px);
}

.container--tabs,
.container--text-image,
.container--portfolio,
.container--teaser-configuration-boxed {
  max-width: none;
  position: relative;
  left: 50%;
  width: calc(100 * var(--vw, 1vw));
  padding-left: 20px;
  padding-right: 20px;
  transform: translateX(-50%);
}
@media (min-width: 1240px) {
  .container--tabs,
  .container--text-image,
  .container--portfolio,
  .container--teaser-configuration-boxed {
    padding-left: 40px;
    padding-right: 40px;
  }
}
.container--tabs .container,
.container--text-image .container,
.container--portfolio .container,
.container--teaser-configuration-boxed .container {
  position: static;
  transform: none;
  max-width: 100%;
  width: calc(1374px + 40px);
}

.container--tabs .container--portfolio {
  padding: 0;
  margin: 0;
  width: 100%;
}

#preheader {
  text-align: center;
  background: linear-gradient(108deg, rgb(228, 0, 58) 0%, rgb(161, 5, 41) 100%);
  color: #fff;
  height: var(--height-preheader);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--preheader-font-size);
  z-index: 9;
  position: relative;
  box-shadow: inset 0px -3px 8px 0px rgba(0, 0, 0, 0.1607843137);
}
#preheader a {
  color: #fff;
}

.menu-icon svg,
#head .wpml-ls-flag {
  height: 20px;
  -o-object-fit: contain;
     object-fit: contain;
  width: auto;
  display: block;
  margin: 0 auto 3px;
  fill: currentColor;
}

#head .wpml-ls-flag {
  width: 20px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 12px;
}

.wpml-ls-legacy-dropdown {
  width: 44px;
  position: relative;
  z-index: 0;
}
.wpml-ls-legacy-dropdown a.wpml-ls-item-toggle {
  border: 0 none;
  background-color: transparent;
  padding: 0;
}
.wpml-ls-legacy-dropdown a.wpml-ls-item-toggle::after {
  content: normal;
}
.wpml-ls-legacy-dropdown a.wpml-ls-link {
  background-color: white;
  border: 0 none;
}
.wpml-ls-legacy-dropdown .wpml-ls-current-language:hover > a {
  background-color: transparent;
}
.wpml-ls-legacy-dropdown .wpml-ls-sub-menu {
  border-top: 0 none;
  padding-top: 25px;
}
@media (max-width: 1239px) {
  .wpml-ls-legacy-dropdown {
    display: inline-block;
    vertical-align: middle;
    width: 30px;
  }
  .wpml-ls-legacy-dropdown .wpml-ls-flag {
    margin-left: 0 !important;
  }
  .wpml-ls-legacy-dropdown .wpml-ls-link {
    padding-left: 0;
  }
  .wpml-ls-legacy-dropdown .wpml-ls-current-language {
    min-width: 200px;
  }
}

.btn--close {
  --x-size: 16px;
  --x-thickness: 2px;
  position: relative;
  width: var(--x-size);
  height: var(--x-size);
  border: 0 none;
  background: transparent;
  padding: 0;
  overflow: hidden;
  text-indent: var(--x-size);
  white-space: nowrap;
  color: inherit;
}
.btn--close::before, .btn--close::after {
  content: "";
  position: absolute;
  width: 140%;
  /* Länger als die Box, damit es von Ecke zu Ecke geht */
  height: var(--x-thickness);
  background-color: currentColor;
  top: 50%;
  left: 50%;
}
.btn--close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.btn--close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.menu-toggle {
  border: 0 none;
  background: transparent;
  padding: 0;
  display: none;
  gap: 4px;
  flex-wrap: nowrap;
  align-items: center;
  color: inherit;
}

#head {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
  background: var(--header-background);
  color: var(--header-color);
  transition: background-color var(--header-animation), color var(--header-animation);
  font-family: var(--headings-font-family);
}
#head > .container {
  display: grid;
  grid-template-columns: 160px 1fr;
  height: var(--height-header);
  align-items: center;
  gap: 30px;
}
#head #head__logo {
  width: 80px;
  height: 43px;
  position: relative;
}
#head #head__logo img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: opacity var(--header-animation);
}
#head .logo--inverted {
  opacity: 0;
  pointer-events: none;
}
#head a {
  text-decoration: none;
  color: inherit;
}
#head ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}
#head .btn--menu {
  display: block;
  background: transparent;
  border: none;
  color: inherit;
}
#head .menu {
  display: flex;
  gap: 30px;
  padding: 0;
  margin: 0;
  flex-direction: column;
  justify-content: flex-start;
}
#head #mega-menu {
  font-size: var(--mega-menu-font-size);
}
#head #meta-menu {
  font-size: var(--meta-menu-font-size);
}
#head .menu-links {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 10px;
}
#head .menu-links a {
  text-decoration: underline;
  font-size: var(--preheader-font-size);
  color: #575656;
}
@media (max-width: 1239px) {
  #head #head__logo {
    align-self: center;
  }
  #head .btn--menu {
    align-self: center;
    justify-self: end;
  }
  #head #head__navigation {
    position: fixed;
    background-color: white;
    color: var(--base-color);
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    left: 0;
    top: 0;
    opacity: 0;
    pointer-events: none;
    padding: 7rem 40px 5rem;
    display: flex;
    flex-direction: column;
    z-index: 2;
    transition: opacity 0.3s ease;
  }
  #head #head__navigation .menu {
    gap: 40px;
  }
  #head #head__navigation .btn--close,
  #head #head__navigation .container > .menu-toggle {
    position: absolute;
    top: 40px;
    right: 40px;
  }
  #head .menu-item {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  #head .menu-item-has-children .menu-toggle {
    display: flex;
  }
  #head #mega-menu {
    font-size: 1.25rem;
  }
  #head #meta-menu {
    display: grid;
    grid-template-columns: 1fr;
    margin-top: 40px;
    gap: 40px;
  }
  #head #meta-menu .menu-icon {
    display: flex;
    flex-wrap: nowrap;
    justify-content: start;
    gap: 0.75rem;
    align-items: center;
  }
  #head #meta-menu .menu-icon svg {
    margin: 0;
  }
  #head .menu-item > a:has(img) {
    display: flex;
    flex-wrap: nowrap;
    gap: 1rem;
    align-items: start;
    font-weight: 700;
  }
  #head .menu-item > a:has(img) img {
    width: 120px;
    height: auto;
  }
  #head .sub-menu .sub-menu {
    width: 100%;
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid black;
  }
  #head #mega-menu .mega-menu {
    display: block;
    position: absolute;
    transform: translateX(100%);
    width: 100%;
    transition: transform 0.3s ease;
    background-color: white;
    padding: 0;
    left: 0;
    top: 0;
    height: 100%;
    overflow: auto;
    padding: 7rem 40px 5rem;
    z-index: 1;
  }
  #head #mega-menu .mega-menu li:not(:last-child) {
    margin-bottom: 40px;
  }
  #head #mega-menu .mega-menu .sub-menu li {
    position: relative;
  }
  #head #mega-menu .mega-menu .sub-menu li .menu-links {
    position: absolute;
    bottom: 15px;
    left: calc(120px + 1rem);
  }
  #head #mega-menu .mega-menu .sub-menu li:not(:last-child) {
    margin-bottom: 40px;
  }
  #head #mega-menu .mega-menu .container {
    padding-left: 0;
    padding-right: 0;
  }
  #head #mega-menu .menu-item.submenu-open .mega-menu {
    transform: translateX(0);
  }
}
@media (min-width: 1240px) {
  #head {
    --link-color:#000;
  }
  #head > .container {
    grid-template-columns: 233px 1fr;
  }
  #head .menu-toggle,
  #head .btn--close {
    display: none;
  }
  #head #meta-menu {
    justify-self: end;
    display: flex;
    gap: 1.5rem;
  }
  #head .menu > li > a {
    position: relative;
    z-index: 0;
  }
  #head .menu > li > a::before {
    position: absolute;
    content: "";
    display: block;
    z-index: -1;
    left: -9px;
    top: auto;
    width: calc(100% + 18px);
    height: calc(100% - 30px);
    border-radius: 4px;
    background-color: var(--header-link-hover-bg-color);
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  #head .menu > li:hover > a {
    color: white;
  }
  #head .menu > li:hover > a::before {
    opacity: 1;
  }
  #head .btn--menu {
    display: none;
  }
  #head #head__navigation {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 233px;
    height: 100%;
  }
  #head #head__navigation .menu {
    flex-direction: row;
    justify-content: center;
    height: 100%;
    align-items: center;
  }
  #head #head__navigation .menu > li,
  #head #head__navigation .menu > li > a {
    height: 100%;
    display: flex;
    align-items: center;
  }
  #head #mega-menu {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #head .menu-hauptmenue-container {
    height: 100%;
    display: flex;
    align-items: center;
  }
  #head .mega-menu {
    position: absolute;
    top: 100%;
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    padding: 10px 0;
    min-height: 300px;
    margin: 0;
    opacity: 0;
    pointer-events: none;
    display: flex;
    justify-content: space-between;
    box-shadow: 0px 8px 8px rgba(0, 0, 0, 0.1607843137);
    transition: opacity 0.3s ease;
  }
  #head .mega-menu img {
    width: 100%;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
    margin-bottom: 0.25rem;
  }
  #head .mega-menu > .container {
    position: relative;
  }
  #head .mega-menu > .container > .sub-menu {
    display: grid;
    width: calc(100% - 220px);
    max-width: 1136px;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
  }
  #head .mega-menu > .container > .sub-menu::after {
    content: "";
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    width: 100vw;
    height: 100vh;
    transform: translateX(-50%);
    -webkit-backdrop-filter: blur(4px);
            backdrop-filter: blur(4px);
    pointer-events: none;
  }
  #head .mega-menu > .container > .sub-menu > li {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  #head .mega-menu > .container > .sub-menu > li > a {
    font-weight: 700;
  }
  #head .mega-menu > .container > .sub-menu a:hover {
    text-decoration: underline;
  }
  #head .mega-menu .sub-menu {
    text-align: center;
  }
  #head .mega-menu > .container > .sub-menu:not(:has(.sub-menu)) {
    width: 400px;
    max-width: 100%;
    display: block;
    -moz-columns: 2;
         columns: 2;
    -moz-column-gap: 5rem;
         column-gap: 5rem;
    text-align: left;
    margin-left: auto;
    margin-right: auto;
    font-size: 1.125rem;
  }
  #head .mega-menu > .container > .sub-menu:not(:has(.sub-menu)) > li {
    -moz-column-break-inside: avoid;
         break-inside: avoid;
    margin-bottom: 7px;
  }
  #head .mega-menu .sub-menu .sub-menu {
    position: absolute;
    top: 0;
    right: 20px;
    width: 190px;
    border-left: 1px solid black;
    padding: 0.5rem 0 0.5rem 2.875rem;
    text-align: left;
    font-size: 1.125rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }
  #head .menu-item-has-children:hover .mega-menu {
    opacity: 1;
    pointer-events: all;
  }
}

.html--scrolled-down #head,
#head:hover,
.status--submenu-open #head,
body:not(.home) #head {
  --header-background: white;
  --header-color: black;
  --header-link-hover-bg-color:#E4003A;
}
.html--scrolled-down #head .logo--white,
#head:hover .logo--white,
.status--submenu-open #head .logo--white,
body:not(.home) #head .logo--white {
  opacity: 0;
  pointer-events: none;
}
.html--scrolled-down #head .logo--inverted,
#head:hover .logo--inverted,
.status--submenu-open #head .logo--inverted,
body:not(.home) #head .logo--inverted {
  opacity: 1;
  pointer-events: auto;
}

@media (max-width: 1239px) {
  .status--menu-open {
    overflow: hidden;
  }
  .status--menu-open #head {
    --header-background: white;
    --header-color: black;
    --header-link-hover-bg-color:#E4003A;
  }
  .status--menu-open #head__navigation {
    opacity: 1 !important;
    pointer-events: auto !important;
  }
}
#blur-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 5;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
}

#menu-hauptmenue > li:hover #blur-overlay {
  opacity: 1;
  pointer-events: auto;
}

#main {
  overflow: hidden;
}

body.home #main {
  margin-top: calc(-1 * var(--height-header));
}

#footer {
  background: #EEEEEE;
  padding-top: 30px;
  padding-bottom: 45px;
  text-align: center;
}
#footer > .container {
  display: grid;
  grid-template-columns: 1fr;
  align-items: end;
  gap: 45px;
  grid-template-areas: "logo" "text" "socials" "links" "copyright";
}
#footer .footer-certificate img {
  width: 125px;
}
#footer .footer-logo-address {
  grid-area: logo;
  font-size: var(--mega-menu-font-size);
}
#footer .footer-text-button {
  grid-area: text;
  font-size: var(--mega-menu-font-size);
}
#footer .copyright {
  grid-area: copyright;
  font-size: var(--mega-menu-font-size);
}
#footer .footer-menu {
  grid-area: links;
}
#footer .social-menu {
  grid-area: socials;
}
#footer #footer__logo {
  display: block;
  width: 123px;
}
@media (max-width: 1239px) {
  #footer #footer__logo {
    width: 80px;
  }
  #footer .footer-certificate {
    display: flex;
    justify-content: center;
  }
}
#footer li {
  list-style: none;
}
#footer a:not(.btn) {
  text-decoration: none;
  color: #000;
  font-size: var(--mega-menu-font-size);
}
#footer .menu {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 0;
  margin: 0;
}
#footer .footer-menu {
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  align-items: center;
}
#footer .social-menu {
  display: flex;
  gap: 30px;
  justify-content: center;
  flex-wrap: wrap;
}
#footer .social-menu img {
  height: 30px;
  width: auto;
}
#footer .footer-logo-address {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
}
@media (min-width: 1240px) {
  #footer > .container {
    grid-template-columns: 420px 1fr 420px;
    row-gap: 60px;
    text-align: left;
    grid-template-areas: "empty logo text" "copyright links socials";
  }
  #footer .menu {
    flex-direction: row;
  }
  #footer .footer-menu {
    flex-direction: row;
    gap: 0;
  }
  #footer .social-menu {
    justify-content: flex-start;
  }
  #footer .menu,
  #footer .footer-menu {
    gap: 30px;
  }
  #footer .footer-logo-address {
    grid-area: logo;
  }
  #footer .footer-text-button {
    grid-area: text;
  }
  #footer .copyright {
    grid-area: copyright;
  }
  #footer .footer-menu {
    grid-area: links;
  }
  #footer .social-menu {
    grid-area: socials;
  }
}

#main .wpb_button,
#main .wpb_content_element,
#main ul.wpb_thumbnails-fluid > li {
  margin-bottom: 0;
}

.vc_row {
  margin-bottom: 0;
}
.vc_row.bg-black {
  color: white;
  position: relative;
}
.vc_row.bg-black::before {
  position: absolute;
  display: block;
  z-index: -1;
  width: calc(100 * var(--vw, 1vw) + 2px);
  transform: translateX(-50%);
  top: 0;
  left: 50%;
  height: 100%;
  background-color: black;
}
.vc_row.bg-red {
  color: white;
  position: relative;
}
.vc_row.bg-red::before {
  position: absolute;
  display: block;
  z-index: -1;
  width: calc(100 * var(--vw, 1vw) + 2px);
  transform: translateX(-50%);
  top: 0;
  left: 50%;
  height: 100%;
  background-color: #E4003A;
}

.wpb_text_column h2:first-child:last-child {
  margin-bottom: 1.75rem;
}

.teaser-slider {
  margin-bottom: var(--space-large);
}

#main li {
  line-height: 2.375rem;
}

/* totop */
#totop {
  position: fixed;
  bottom: 0;
  width: 100%;
  height: 0px;
  z-index: 5;
}
#totop button {
  display: block;
  background: white;
  border: 2px solid #E4003A;
  border-radius: 4px;
  width: 40px;
  height: 40px;
  position: absolute;
  bottom: 10px;
  right: 10px;
  padding: 8px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  cursor: pointer;
}
#totop button::before {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  background: url(/wp-content/themes/zapf/build/images/zapf-garagen-navigation-pfeil-eck-links-rot.8cb0b4fa.svg) no-repeat 50% 50% transparent;
  background-size: contain;
  position: relative;
  transform: rotate(90deg);
}

.html--scrolled-down #totop button {
  opacity: 1;
  pointer-events: auto;
}

@media (min-width: 1240px) and (max-width: 1660px) {
  .footer-menu {
    flex-direction: column !important;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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Q0k7RUFDQTtBSGdHSjs7QUc5RkE7RUFDSTtFQUNBO0FIaUdKOztBRy9GQTtFQUNJO0VBQ0E7QUhrR0o7O0FHaEdBO0VBQ0k7RUFDQTtBSG1HSjs7QUdqR0E7RUFDSTtFQUNBO0VBQ0E7QUhvR0o7QUduR0k7RUFDSTtBSHFHUjs7QUdsR0E7RUFDSTtFQUNBO0FIcUdKOztBR25HQTtFQUNJO0VBQ0E7RUFDQTtBSHNHSjs7QUdwR0E7RUFDSTtFQUNBO0FIdUdKOztBR3JHQTtFQUNJO0FId0dKOztBR3RHQTtFQUNJO0FIeUdKOztBR3ZHQTtFQUNJO0FIMEdKOztBR3ZHQTtFQUNJO0VBQ0E7QUgwR0o7QUd6R0k7RUFDSTtFQUNBO0FIMkdSOztBR3RHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FIeUdKO0FHeEdJO0VBZEo7SUFlUTtFSDJHTjtBQUNGOztBR3hHQTtFQUNJO0FIMkdKO0FHMUdJO0VBRko7SUFHUTtFSDZHTjtBQUNGOztBRzNHQTs7RUFFSTtBSDhHSjs7QUczR0E7RUFDSTtFQUNBO0FIOEdKOztBRzVHQTtFQUNJO0VBQ0E7RUFDQTtBSCtHSjtBRzlHSTtFQUNJO0VBQ0E7QUhnSFI7QUc5R0k7RUFDSTtFQUNBO0FIZ0hSOztBRzdHQTtFQUNJO0VBQ0E7RUFDQTtBSGdISjtBRy9HSTtFQUNJO0VBQ0E7RUFDQTtBSGlIUjs7QUd4R0k7Ozs7O0VBQ0k7RUFDQTtFQUNBO0FIK0dSO0FHOUdROzs7OztFQUNJO0VBQ0E7RUFDQTtBSG9IWjtBR2pISTs7Ozs7RUFDSTtFQUNBO0VBQ0E7QUh1SFI7QUd0SFE7Ozs7O0VBQ0k7RUFDQTtFQUNBO0FINEhaOztBR3ZIQTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FIMEhKO0FHekhJOztFQUNJO0FINEhSO0FHMUhJOztFQUNJO0FINkhSOztBR3pISTtFQUNJO0VBQ0E7RUFDQTtBSDRIUjs7QUd6SEE7RUFDSTtBSDRISjs7QUlqVEE7RUFDSTtFQUNBO0VB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bkJ5NUJSO0FtQmw1Qkk7RUFDSTtFQUNBO0VBQ0E7QW5CbzVCUjtBbUJoNUJJO0VBQ0k7RUFDQTtBbkJrNUJSO0FtQi80Qkk7RUFDSTtBbkJpNUJSO0FtQi80QlE7RUFDSTtFQUNBO0VBQ0E7RUFDQSxtQmIzREM7QU40OEJiO0FtQi80Qlk7RUFDSSx5QmJwRVY7RWFxRVU7QW5CaTVCaEI7QW1CLzRCZ0I7RUFDSSxxQmJ4RWQ7QU55OUJOO0FtQjU0QlE7RUFDSTtJQUNJO0VuQjg0QmQ7RW1CMzRCVTtJQUNJO0VuQjY0QmQ7QUFDRjtBbUIxNEJRO0VBQ0k7SUFDSTtFbkI0NEJkO0VtQno0QlU7SUFDSTtJQUNBO0VuQjI0QmQ7RW1CeDRCVTtJQUNJO0VuQjA0QmQ7RW1CeDRCYztJQUNJO0VuQjA0QmxCO0VtQnQ0QlU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbkJ3NEJkO0VtQnI0QlU7SUFDSTtFbkJ1NEJkO0FBQ0Y7O0FvQjcvQkE7RUFDSTtFQUNBO0FwQmdnQ0o7QW9CLy9CSTtFQUhKO0lBSVE7RXBCa2dDTjtBQUNGOztBb0IvL0JJO0VBQ0k7QXBCa2dDUjtBb0JoZ0NJO0VBQ0k7QXBCa2dDUjtBb0JoZ0NJO0VBQ0k7QXBCa2dDUjs7QW9CLy9CQTtFQUNJO0VBQ0E7QXBCa2dDSjs7QW9CaGdDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FwQm1nQ0o7O0FvQmpnQ0E7RUFDSTtJQUNJO0lBQ0E7RXBCb2dDTjtFb0JsZ0NFO0lBQ0k7RXBCb2dDTjtFb0JsZ0NFO0lBQ0k7RXBCb2dDTjtFb0JqZ0NNO0lBQ0k7RXBCbWdDVjtFb0JqZ0NNO0lBQ0k7RXBCbWdDVjtFb0JoZ0NFO0lBQ0k7RXBCa2dDTjtFb0JqZ0NNO0lBQ0k7RXBCbWdDVjtFb0JqZ0NNO0lBQ0k7RXBCbWdDVjtFb0JoZ0NFO0lBRUk7SUFDQTtFcEJpZ0NOO0VvQjkvQk07SUFDSTtFcEJnZ0NWO0VvQjUvQk07SUFDSTtFcEI4L0JWO0VvQjUvQk07SUFDSTtFcEI4L0JWO0FBQ0Y7QW9Cei9CSTtFQUNJO0VBQ0E7RUFDQTtFQUNB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LGdFQUNJO0VBb3NDZDtFQWhzQ007SUFDSTtFQWtzQ1Y7RUEvckNNO0lBQ0k7SUFDQTtFQWlzQ1Y7RUE5ckNNO0lBQ0k7RUFnc0NWO0VBN3JDTTs7SUFFSTtFQStyQ1Y7RUE1ckNNO0lBQ0k7RUE4ckNWO0VBM3JDTTtJQUNJO0VBNnJDVjtFQTFyQ007SUFDSTtFQTRyQ1Y7RUF6ckNNO0lBQ0k7RUEyckNWO0VBeHJDTTtJQUNJO0VBMHJDVjtBQUNGOztBQW5yQ0k7OztFQUdJO0FBc3JDUjs7QUFsckNBO0VBQ0k7QUFxckNKO0FBbnJDSTtFQUNJO0VBQ0E7QUFxckNSO0FBbnJDUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXFyQ1o7QUFqckNJO0VBQ0k7RUFDQTtBQW1yQ1I7QUFqckNRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCTXY0Qk47QU4wakVOOztBQTdxQ0k7RUFDSTtBQWdyQ1I7O0FBMXFDQTtFQUNJO0FBNnFDSjs7QUF6cUNBO0VBQ0k7QUE0cUNKOztBQXpxQ0E7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUE0cUNKO0FBMXFDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUE0cUNSO0FBMXFDUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUE0cUNaOztBQXZxQ0E7RUFDSTtFQUNBO0FBMHFDSjs7QUF2cUNBO0VBQ0k7SUFDSTtFQTBxQ047QUFDRixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3N3aXBlci9zd2lwZXIuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9zd2lwZXIvbW9kdWxlcy9lZmZlY3QtZmFkZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL25vcm1hbGl6ZS5jc3Mvbm9ybWFsaXplLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy9hcHAuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy9fcm9vdC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL19mb250cy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL190eXBvZ3JhcGhpZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL3ZjX3RlbXBsYXRlcy9faGVhZGVyX29uc2Nyb2xsX2VmZmVrdC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL3ZjX3RlbXBsYXRlcy9faW1hZ2Vfb25zY3JvbGxfZWZmZWt0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL3ZjX3RlbXBsYXRlcy9fdGVhc2VyX3NsaWRlcl9pdGVtLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvdmNfdGVtcGxhdGVzL190ZWFzZXJfc2xpZGVyX2NvbnRhaW5lci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL3ZjX3RlbXBsYXRlcy9fdGVhc2VyX2NvbmZpZ3VyYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy92Y190ZW1wbGF0ZXMvX3F1b3RlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvdmNfdGVtcGxhdGVzL19ibG9nc2xpZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvdmNfdGVtcGxhdGVzL190ZWFzZXJfY29uZmlndXJhdGlvbl9ib3hlZC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL3ZjX3RlbXBsYXRlcy9fdXNwX2NvbnRhaW5lci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL3ZjX3RlbXBsYXRlcy9fdGlsZV90ZWFzZXJfY29udGFpbmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvdmNfdGVtcGxhdGVzL190aWxlX3RlYXNlcl9pdGVtLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvdmNfdGVtcGxhdGVzL19zcGFjZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy92Y190ZW1wbGF0ZXMvX2ltYWdlX3RleHRvdmVybGF5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvdmNfdGVtcGxhdGVzL190ZXN0X2FuaW1hdGlvbi5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL3ZjX3RlbXBsYXRlcy9fdGFicy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL3ZjX3RlbXBsYXRlcy9fdGV4dF9pbWFnZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL3ZjX3RlbXBsYXRlcy9fdmlkZW8uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy92Y190ZW1wbGF0ZXMvX3BvcnRmb2xpb19zbGlkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy92Y190ZW1wbGF0ZXMvX2Jsb2dfbmV3c19vdmVydmlldy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL19odWJzcG90LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTd2lwZXIgMTEuMi43XG4gKiBNb3N0IG1vZGVybiBtb2JpbGUgdG91Y2ggc2xpZGVyIGFuZCBmcmFtZXdvcmsgd2l0aCBoYXJkd2FyZSBhY2NlbGVyYXRlZCB0cmFuc2l0aW9uc1xuICogaHR0cHM6Ly9zd2lwZXJqcy5jb21cbiAqXG4gKiBDb3B5cmlnaHQgMjAxNC0yMDI1IFZsYWRpbWlyIEtoYXJsYW1waWRpXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlXG4gKlxuICogUmVsZWFzZWQgb246IE1heSAxOSwgMjAyNVxuICovXG5cbi8qIEZPTlRfU1RBUlQgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ3N3aXBlci1pY29ucyc7XG4gIHNyYzogdXJsKCdkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCwgZDA5R1JnQUJBQUFBQUFaZ0FCQUFBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJHUmxSTkFBQUdSQUFBQUJvQUFBQWNpNnFIa1VkRVJVWUFBQVdnQUFBQUl3QUFBQ1FBWUFCWFIxQlBVd0FBQmhRQUFBQXVBQUFBTnVBWTcreEhVMVZDQUFBRnhBQUFBRkFBQUFCbTJmUGN6VTlUTHpJQUFBSGNBQUFBU2dBQUFHQlA5VjVSWTIxaGNBQUFBa1FBQUFDSUFBQUJZdDZGMGNCamRuUWdBQUFDekFBQUFBUUFBQUFFQUJFQlJHZGhjM0FBQUFXWUFBQUFDQUFBQUFqLy93QURaMng1WmdBQUF5d0FBQURNQUFBRDJNSHRyeVZvWldGa0FBQUJiQUFBQURBQUFBQTJFMitlb1dob1pXRUFBQUdjQUFBQUh3QUFBQ1FDOWdEemFHMTBlQUFBQWlnQUFBQVpBQUFBcmdKa0FCRnNiMk5oQUFBQzBBQUFBRm9BQUFCYUZRQVVHRzFoZUhBQUFBRzhBQUFBSHdBQUFDQUFjQUJBYm1GdFpRQUFBL2dBQUFFNUFBQUNYdkZkQndsd2IzTjBBQUFGTkFBQUFHSUFBQUNFNXM3NGhYamFZMkJrWUdBQVlwZjVIdS9qK1cyK01uQXpNWURBemFYNlFqRDYvNC8vQnhqNUdBOEF1UndNWUdrQVB5d0wxM2phWTJCa1lHQTg4UDhBZ3g0aisvOGZRRFlmQTFBRUJXZ0RBSUIyQk9vQWVOcGpZR1JnWU5CaDRHZGdZZ0FCRU1uSUFCSnpZTkFEQ1FBQUNXZ0FzUUI0Mm1OZ1lmekNPSUdCbFlHQjBZY3hqWUdCd1IxS2YyV1FaR2hoWUdCaVlHVm1nQUZHQmlRUWtPYWF3dERBb01CUXhYamcvd0VHUGNZRERBNHdOVUEyQ0Nnd3NBQUFPNEVMNmdBQWVOcGoyTTBneUFBQ3F4Z0dOV0JrWjJENC93TUEreGtEZGdBQUFIamFZMkJnWUdhQVlCa0dSZ1lRaUFIeUdNRjhGZ1lISU0zRHdNSEFCR1FyTU9neVdETEVNMVQ5L3c4VUJmRU1nTHpFLy8vL1AvNS8vZi9WL3h2K3I0ZWFBQWVNYkF4d0lVWW1JTUhFZ0tZQVlqVWNzREF3c0xLeGMzQnljZlB3OGpFUUEvZ1pCQVNGaEVWRXhjUWxKS1drWldUbDVCVVVsWlJWVk5YVU5UUVpCZ01BQU1SK0UrZ0FFUUZFQUFBQUtnQXFBQ29BTkFBK0FFZ0FVZ0JjQUdZQWNBQjZBSVFBamdDWUFLSUFyQUMyQU1BQXlnRFVBTjRBNkFEeUFQd0JCZ0VRQVJvQkpBRXVBVGdCUWdGTUFWWUJZQUZxQVhRQmZnR0lBWklCbkFHbUFiSUJ6Z0hzQUFCNDJ1Mk5NUTZDVUF5R1c1Njh4OUFuZVlZZ200TUpiaEtGYUV4SU9BVlg4QXBld1N0NEJpYzRBZmVBaWQzVk9CaXhEeGZQWUV6YTVPK1hmaTA0WUFEZ2dpVUlVTEN1RUpLOFZoTzRiU3ZwZG5rdEhJNVFDWXRkaTJzbDhablhhSGxxVXJOS3pkS2NUOGNqbHErcndaU3ZJVmN6TmllenNmblAvdXpubWZQRkJOT0RNMks3TVRRNDVZRUFacUdQODFBbUdHY0YzaVBxT29wMHIxU1BUYVRiVmtmVWU0SFhqOTd3WUUreU53V1l4d1d1NHYxdWdXSGdvM1MxWGRaRVZxV003RVQwY2ZuTEd4V2ZrZ1I0Mm8yUHZXckRNQlNGai9JSExhRjB6S2pSZ2RpVk13U2NOUkFvV1VvSDc4WTJpY0IveUlZMDlBbjZBSDJCZHUvVUIreXhvcFlzaFFpRXZudnUwZFVSZ0R0OFFlQzhQRHc3RnBqaTNmRUE0ei9QRUo2WU9CNWhLaDRkajNFdlhoeFBxSC9TS1VZM3JKN3NyWjRGWm5oMVBNQXRQaHdQNmZsMlBNSk1QRGdlUTRyWThZVDZHemFvMGVBRUE0MDlEdWdnbVRuRm5PY1NDaUVpTE1neENpVEk2Q3E1RFpVZDNRbXAxMHZPMExhTFRkMmNqTjRmT3VtbGM3bFVZYlNRY1pGa3V0Ukc3ZzZKS1pLeTBSbWRMWTY4MENEbkVKK1VNa3BGRmUxUk43bnhkVnBYckM0YVR0bmF1ck9uWWVyY1pnMllWbUxOL2QvZ2N6ZkVpbXJFL2ZzL2JPdXEyOVptbjh0bG9PUmFYZ1pnR2E3OHlPOS9jblhtMkJwYUd2cTI1RHY5UzRFOSs1U0ljOVBxdXBKS2hZRlNTbDQ3K1FjcjFtWU5BQUFBZU5wdHcwY0t3a0FBQU1EWkpBOFE3T1VKdmtMc1BmWjZ6RlZFUlB5OHFIaDJZRVIrM2kvQlA4M3ZJQkxMeVNzb0tpbXJxS3FwYTJocDYranE2UnNZR2htYm1KcVpTeTBzcmF4dGJPM3NIUnlkbkVNVTR1UjZ5eDdKSlh2ZVA3V3JEeWNBQUFBQUFBSC8vd0FDZU5wallHUmdZT0FCWWhrZ1pnSkNaZ1pOQmtZR0xRWnRJSnNGTE1ZQUFBdzNBTGdBZU5vbGl6RUtnREFRQkNjaFJiQzJzRkVSMFlENnFWUWlCQ3YvSDllekdJNlo1WEJBdzhDQksvbTVpUVFWYXVWYlhMbk9yTVp2Mm9MZEtGYThQanVydTJoSnpHYWJtT1NMek5NenZ1dHBCM040Mm1OZ1pHQmc0R0tRWXpCaFlNeEpMTWxqNEdCZ0FZb3cvUC9QQUpKaExNNnNTb1dLZldDQUF3REFqZ2JSQUFCNDJtTmdZR0JrQUlJYkNabzVJUHJtVW4waEdBMEFPOEVGVFFBQScpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4vKiBGT05UX0VORCAqL1xuOnJvb3Qge1xuICAtLXN3aXBlci10aGVtZS1jb2xvcjogIzAwN2FmZjtcbiAgLypcbiAgLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpO1xuICAtLXN3aXBlci13cmFwcGVyLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBpbml0aWFsO1xuICAqL1xufVxuOmhvc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB6LWluZGV4OiAxO1xufVxuLnN3aXBlciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgLyogRml4IG9mIFdlYmtpdCBmbGlja2VyaW5nICovXG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnN3aXBlci12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uc3dpcGVyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLXN3aXBlci13cmFwcGVyLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLCBpbml0aWFsKTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG4uc3dpcGVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItaW9zIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLXdyYXBwZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG59XG4uc3dpcGVyLWhvcml6b250YWwge1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuLnN3aXBlci12ZXJ0aWNhbCB7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXg7XG59XG4uc3dpcGVyLXNsaWRlIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5zd2lwZXItc2xpZGUtaW52aXNpYmxlLWJsYW5rIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyogQXV0byBIZWlnaHQgKi9cbi5zd2lwZXItYXV0b2hlaWdodCxcbi5zd2lwZXItYXV0b2hlaWdodCAuc3dpcGVyLXNsaWRlIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLnN3aXBlci1hdXRvaGVpZ2h0IC5zd2lwZXItd3JhcHBlciB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcbn1cbi5zd2lwZXItYmFja2ZhY2UtaGlkZGVuIC5zd2lwZXItc2xpZGUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi8qIDNEIEVmZmVjdHMgKi9cbi5zd2lwZXItM2Quc3dpcGVyLWNzcy1tb2RlIC5zd2lwZXItd3JhcHBlciB7XG4gIHBlcnNwZWN0aXZlOiAxMjAwcHg7XG59XG4uc3dpcGVyLTNkIC5zd2lwZXItd3JhcHBlciB7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG59XG4uc3dpcGVyLTNkIHtcbiAgcGVyc3BlY3RpdmU6IDEyMDBweDtcbn1cbi5zd2lwZXItM2QgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItM2QgLnN3aXBlci1jdWJlLXNoYWRvdyB7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG59XG4vKiBDU1MgTW9kZSAqL1xuLnN3aXBlci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gIC8qIEZvciBGaXJlZm94ICovXG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbiAgLyogRm9yIEludGVybmV0IEV4cGxvcmVyIGFuZCBFZGdlICovXG59XG4uc3dpcGVyLWNzcy1tb2RlID4gLnN3aXBlci13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc3dpcGVyLWNzcy1tb2RlID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZSB7XG4gIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydCBzdGFydDtcbn1cbi5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLWhvcml6b250YWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTtcbn1cbi5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyIHtcbiAgc2Nyb2xsLXNuYXAtdHlwZTogeSBtYW5kYXRvcnk7XG59XG4uc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1mcmVlLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBzY3JvbGwtc25hcC10eXBlOiBub25lO1xufVxuLnN3aXBlci1jc3MtbW9kZS5zd2lwZXItZnJlZS1tb2RlID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZSB7XG4gIHNjcm9sbC1zbmFwLWFsaWduOiBub25lO1xufVxuLnN3aXBlci1jc3MtbW9kZS5zd2lwZXItY2VudGVyZWQgPiAuc3dpcGVyLXdyYXBwZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBmbGV4LXNocmluazogMDtcbiAgb3JkZXI6IDk5OTk7XG59XG4uc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1jZW50ZXJlZCA+IC5zd2lwZXItd3JhcHBlciA+IC5zd2lwZXItc2xpZGUge1xuICBzY3JvbGwtc25hcC1hbGlnbjogY2VudGVyIGNlbnRlcjtcbiAgc2Nyb2xsLXNuYXAtc3RvcDogYWx3YXlzO1xufVxuLnN3aXBlci1jc3MtbW9kZS5zd2lwZXItY2VudGVyZWQuc3dpcGVyLWhvcml6b250YWwgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1iZWZvcmUpO1xufVxuLnN3aXBlci1jc3MtbW9kZS5zd2lwZXItY2VudGVyZWQuc3dpcGVyLWhvcml6b250YWwgPiAuc3dpcGVyLXdyYXBwZXI6OmJlZm9yZSB7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4O1xuICB3aWR0aDogdmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1hZnRlcik7XG59XG4uc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1jZW50ZXJlZC5zd2lwZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWJlZm9yZSk7XG59XG4uc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1jZW50ZXJlZC5zd2lwZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXI6OmJlZm9yZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDFweDtcbiAgaGVpZ2h0OiB2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWFmdGVyKTtcbn1cbi8qIFNsaWRlIHN0eWxlcyBzdGFydCAqL1xuLyogM0QgU2hhZG93cyAqL1xuLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdyxcbi5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdyxcbi5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxMDtcbn1cbi5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3cge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG59XG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xufVxuLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xufVxuLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xufVxuLnN3aXBlci1sYXp5LXByZWxvYWRlciB7XG4gIHdpZHRoOiA0MnB4O1xuICBoZWlnaHQ6IDQycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0yMXB4O1xuICBtYXJnaW4tdG9wOiAtMjFweDtcbiAgei1pbmRleDogMTA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiA0cHggc29saWQgdmFyKC0tc3dpcGVyLXByZWxvYWRlci1jb2xvciwgdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc3dpcGVyOm5vdCguc3dpcGVyLXdhdGNoLXByb2dyZXNzKSAuc3dpcGVyLWxhenktcHJlbG9hZGVyLFxuLnN3aXBlci13YXRjaC1wcm9ncmVzcyAuc3dpcGVyLXNsaWRlLXZpc2libGUgLnN3aXBlci1sYXp5LXByZWxvYWRlciB7XG4gIGFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIGluZmluaXRlIGxpbmVhcjtcbn1cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXItd2hpdGUge1xuICAtLXN3aXBlci1wcmVsb2FkZXItY29sb3I6ICNmZmY7XG59XG4uc3dpcGVyLWxhenktcHJlbG9hZGVyLWJsYWNrIHtcbiAgLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiAjMDAwO1xufVxuQGtleWZyYW1lcyBzd2lwZXItcHJlbG9hZGVyLXNwaW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuLyogU2xpZGUgc3R5bGVzIGVuZCAqL1xuIiwiLnN3aXBlci1mYWRlLnN3aXBlci1mcmVlLW1vZGUgLnN3aXBlci1zbGlkZSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn1cbi5zd2lwZXItZmFkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG59XG4uc3dpcGVyLWZhZGUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uc3dpcGVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cbi5zd2lwZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xuQHVzZSBcInJvb3RcIjtcbkB1c2UgXCJmb250c1wiO1xuQHVzZSBcInR5cG9ncmFwaGllXCI7XG5AdXNlICdzYXNzOm1hdGgnO1xuXG5AdXNlIFwidmNfdGVtcGxhdGVzL2hlYWRlcl9vbnNjcm9sbF9lZmZla3RcIjtcbkB1c2UgXCJ2Y190ZW1wbGF0ZXMvaW1hZ2Vfb25zY3JvbGxfZWZmZWt0XCI7XG5AdXNlIFwidmNfdGVtcGxhdGVzL3RlYXNlcl9zbGlkZXJfaXRlbVwiO1xuQHVzZSBcInZjX3RlbXBsYXRlcy90ZWFzZXJfc2xpZGVyX2NvbnRhaW5lclwiO1xuQHVzZSBcInZjX3RlbXBsYXRlcy90ZWFzZXJfY29uZmlndXJhdGlvblwiO1xuQHVzZSBcInZjX3RlbXBsYXRlcy9xdW90ZVwiO1xuQHVzZSBcInZjX3RlbXBsYXRlcy9ibG9nc2xpZGVyXCI7XG5AdXNlIFwidmNfdGVtcGxhdGVzL3RlYXNlcl9jb25maWd1cmF0aW9uX2JveGVkXCI7XG5AdXNlIFwidmNfdGVtcGxhdGVzL3VzcF9jb250YWluZXJcIjtcbkB1c2UgXCJ2Y190ZW1wbGF0ZXMvdGlsZV90ZWFzZXJfY29udGFpbmVyXCI7XG5AdXNlIFwidmNfdGVtcGxhdGVzL3RpbGVfdGVhc2VyX2l0ZW1cIjtcbkB1c2UgXCJ2Y190ZW1wbGF0ZXMvc3BhY2VyXCI7XG5AdXNlIFwidmNfdGVtcGxhdGVzL2ltYWdlX3RleHRvdmVybGF5XCI7XG5AdXNlIFwidmNfdGVtcGxhdGVzL3Rlc3RfYW5pbWF0aW9uXCI7XG5AdXNlIFwidmNfdGVtcGxhdGVzL3RhYnNcIjtcbkB1c2UgXCJ2Y190ZW1wbGF0ZXMvdGV4dF9pbWFnZVwiO1xuQHVzZSBcInZjX3RlbXBsYXRlcy92aWRlb1wiO1xuQHVzZSBcInZjX3RlbXBsYXRlcy9wb3J0Zm9saW9fc2xpZGVyXCI7XG5AdXNlIFwidmNfdGVtcGxhdGVzL2Jsb2dfbmV3c19vdmVydmlld1wiO1xuXG5AdXNlIFwiaHVic3BvdC5zY3NzXCI7XG5cblxuQGltcG9ydCBcIn5ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3NcIjtcblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5pbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOmNhbGMoI3skY29udGFpbmVyLXdpZHRofSArICN7JGdyaWQtZ3V0dGVyLXdpZHRofSk7XG4gICAgcGFkZGluZy1sZWZ0OiBtYXRoLmRpdigkZ3JpZC1ndXR0ZXItd2lkdGgsIDIpO1xuICAgIHBhZGRpbmctcmlnaHQ6IG1hdGguZGl2KCRncmlkLWd1dHRlci13aWR0aCwgMik7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uY29udGFpbmVyLWxnIHtcbiAgICB3aWR0aDpjYWxjKDE3NjBweCArICN7JGdyaWQtZ3V0dGVyLXdpZHRofSk7XG59XG5cbi5jb250YWluZXItLXRhYnMsXG4uY29udGFpbmVyLS10ZXh0LWltYWdlLFxuLmNvbnRhaW5lci0tcG9ydGZvbGlvLFxuLmNvbnRhaW5lci0tdGVhc2VyLWNvbmZpZ3VyYXRpb24tYm94ZWQge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiBjYWxjKDEwMCAqIHZhcigtLXZ3LCAxdncpKTtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgIH1cblxuICAgIC5jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6Y2FsYygjeyRjb250YWluZXItd2lkdGh9ICsgI3skZ3JpZC1ndXR0ZXItd2lkdGh9KTtcbiAgICB9XG59XG5cbi5jb250YWluZXItLXRhYnMge1xuICAgIC5jb250YWluZXItLXBvcnRmb2xpbyB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG5cbi8vIHBhZ2UgbGF5b3V0XG4jcHJlaGVhZGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEwOGRlZywgcmdiYSgyMjgsIDAsIDU4LCAxKSAwJSwgcmdiYSgxNjEsIDUsIDQxLCAxKSAxMDAlKTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGhlaWdodDogdmFyKC0taGVpZ2h0LXByZWhlYWRlcik7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tcHJlaGVhZGVyLWZvbnQtc2l6ZSk7XG4gICAgei1pbmRleDogOTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IC0zcHggOHB4IDBweCAjMDAwMDAwMjk7XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG59XG5cbi8vIG1lbsO8IGljb25zXG4ubWVudS1pY29uIHN2ZyxcbiNoZWFkIC53cG1sLWxzLWZsYWcge1xuICAgIGhlaWdodDogMjBweDtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvIDNweDtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cbiNoZWFkIC53cG1sLWxzLWZsYWcge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG59XG5cbi53cG1sLWxzLWxlZ2FjeS1kcm9wZG93biB7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG5cbiAgICBhLndwbWwtbHMtaXRlbS10b2dnbGUge1xuICAgICAgICBib3JkZXI6IDAgbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogbm9ybWFsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYS53cG1sLWxzLWxpbmsge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgfVxuXG4gICAgLndwbWwtbHMtY3VycmVudC1sYW5ndWFnZTpob3Zlcj5hIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLndwbWwtbHMtc3ViLW1lbnUge1xuICAgICAgICBib3JkZXItdG9wOiAwIG5vbmU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuXG4gICAgICAgIC53cG1sLWxzLWZsYWcge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC53cG1sLWxzLWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLndwbWwtbHMtY3VycmVudC1sYW5ndWFnZSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8vIG1lbnUgYnV0dG9uc1xuLmJ0bi0tY2xvc2Uge1xuICAgIC0teC1zaXplOiAxNnB4O1xuICAgIC0teC10aGlja25lc3M6IDJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IHZhcigtLXgtc2l6ZSk7XG4gICAgaGVpZ2h0OiB2YXIoLS14LXNpemUpO1xuICAgIGJvcmRlcjogMCBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LWluZGVudDogdmFyKC0teC1zaXplKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTQwJTtcbiAgICAgICAgLyogTMOkbmdlciBhbHMgZGllIEJveCwgZGFtaXQgZXMgdm9uIEVja2UgenUgRWNrZSBnZWh0ICovXG4gICAgICAgIGhlaWdodDogdmFyKC0teC10aGlja25lc3MpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbn1cblxuLm1lbnUtdG9nZ2xlIHtcbiAgICBib3JkZXI6IDAgbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZ2FwOiA0cHg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogaW5oZXJpdDtcbn1cblxuI2hlYWQge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMTA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0taGVhZGVyLWJhY2tncm91bmQpO1xuICAgIGNvbG9yOiB2YXIoLS1oZWFkZXItY29sb3IpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0taGVhZGVyLWFuaW1hdGlvbiksIGNvbG9yIHZhcigtLWhlYWRlci1hbmltYXRpb24pO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1oZWFkaW5ncy1mb250LWZhbWlseSk7XG5cbiAgICA+LmNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTYwcHggMWZyO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLWhlaWdodC1oZWFkZXIpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDMwcHg7XG4gICAgfVxuXG4gICAgI2hlYWRfX2xvZ28ge1xuICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgaGVpZ2h0OiA0M3B4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0taGVhZGVyLWFuaW1hdGlvbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9nby0taW52ZXJ0ZWQge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuYnRuLS1tZW51IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgIC5tZW51IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAzMHB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAjbWVnYS1tZW51IHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1tZWdhLW1lbnUtZm9udC1zaXplKTtcbiAgICB9XG5cbiAgICAjbWV0YS1tZW51IHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1tZXRhLW1lbnUtZm9udC1zaXplKTtcbiAgICB9XG5cbiAgICAubWVudS1saW5rcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tcHJlaGVhZGVyLWZvbnQtc2l6ZSk7XG4gICAgICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgICAgICAjaGVhZF9fbG9nbyB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuYnRuLS1tZW51IHtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgI2hlYWRfX25hdmlnYXRpb24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYmFzZS1jb2xvcik7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogN3JlbSAkZ3JpZC1ndXR0ZXItd2lkdGggNXJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzIGVhc2U7XG5cbiAgICAgICAgICAgIC5tZW51IHtcbiAgICAgICAgICAgICAgICBnYXA6IDQwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idG4tLWNsb3NlLFxuICAgICAgICAgICAgLmNvbnRhaW5lcj4ubWVudS10b2dnbGUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6ICRncmlkLWd1dHRlci13aWR0aDtcbiAgICAgICAgICAgICAgICByaWdodDogJGdyaWQtZ3V0dGVyLXdpZHRoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1lbnUtaXRlbSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cblxuICAgICAgICAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gICAgICAgICAgICAubWVudS10b2dnbGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjbWVnYS1tZW51IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICNtZXRhLW1lbnUge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgICAgIGdhcDogNDBweDtcblxuICAgICAgICAgICAgLm1lbnUtaWNvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgICAgICAgICAgICAgIGdhcDogLjc1cmVtO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1lbnUtaXRlbT5hOmhhcyhpbWcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWItbWVudSAuc3ViLW1lbnUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgYmxhY2tcbiAgICAgICAgfVxuXG4gICAgICAgICNtZWdhLW1lbnUgLm1lZ2EtbWVudSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6IDdyZW0gJGdyaWQtZ3V0dGVyLXdpZHRoIDVyZW07XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICAgICBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc3ViLW1lbnUgbGkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgIC5tZW51LWxpbmtzIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoMTIwcHggKyAxcmVtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zdWItbWVudSBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNtZWdhLW1lbnUgLm1lbnUtaXRlbS5zdWJtZW51LW9wZW4gLm1lZ2EtbWVudSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICAgICAgPi5jb250YWluZXIge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyMzNweCAxZnI7XG4gICAgICAgIH1cblxuICAgICAgICAtLWxpbmstY29sb3I6I3skYmxhY2t9O1xuXG4gICAgICAgIC5tZW51LXRvZ2dsZSxcbiAgICAgICAgLmJ0bi0tY2xvc2Uge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICNtZXRhLW1lbnUge1xuICAgICAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZ2FwOiAxLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAubWVudT5saSB7XG4gICAgICAgICAgICA+YSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDA7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IC05cHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDE4cHgpO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMwcHgpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhlYWRlci1saW5rLWhvdmVyLWJnLWNvbG9yKTtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyPmEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnRuLS1tZW51IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAjaGVhZF9fbmF2aWdhdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDIzM3B4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgICAubWVudSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1lbnU+bGksXG4gICAgICAgICAgICAubWVudT5saT5hIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI21lZ2EtbWVudSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1lbnUtaGF1cHRtZW51ZS1jb250YWluZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAubWVnYS1tZW51IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCA4cHggOHB4ICRzdWJtZW51LWJveC1zaGFkb3c7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuMjVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4uY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4uY29udGFpbmVyPi5zdWItbWVudSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjIwcHgpO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTEzNnB4O1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgICAgICAgICAgICAgZ2FwOiAkZ3JpZC1ndXR0ZXItd2lkdGg7XG5cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyA4cHgpO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTtcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgPmxpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgPmEge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zdWItbWVudSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+LmNvbnRhaW5lcj4uc3ViLW1lbnU6bm90KDpoYXMoLnN1Yi1tZW51KSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgY29sdW1uczogMjtcbiAgICAgICAgICAgICAgICBjb2x1bW4tZ2FwOiA1cmVtO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG5cbiAgICAgICAgICAgICAgICA+bGkge1xuICAgICAgICAgICAgICAgICAgICBicmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc3ViLW1lbnUgLnN1Yi1tZW51IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiN7bWF0aC5kaXYoJGdyaWQtZ3V0dGVyLXdpZHRoLCAyKX07XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE5MHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgYmxhY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogLjVyZW0gMCAuNXJlbSAyLjg3NXJlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGdhcDogLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpob3ZlciB7XG4gICAgICAgICAgICAubWVnYS1tZW51IHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLmh0bWwtLXNjcm9sbGVkLWRvd24gI2hlYWQsXG4jaGVhZDpob3Zlcixcbi5zdGF0dXMtLXN1Ym1lbnUtb3BlbiAjaGVhZCxcbmJvZHk6bm90KC5ob21lKSAjaGVhZCB7XG4gICAgLS1oZWFkZXItYmFja2dyb3VuZDogd2hpdGU7XG4gICAgLS1oZWFkZXItY29sb3I6IGJsYWNrO1xuICAgIC0taGVhZGVyLWxpbmstaG92ZXItYmctY29sb3I6I3skcmVkfTtcblxuICAgIC5sb2dvLS13aGl0ZSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5sb2dvLS1pbnZlcnRlZCB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6JHNjcmVlbi1tZC1tYXgpIHtcbiAgICAuc3RhdHVzLS1tZW51LW9wZW4ge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICNoZWFkIHtcbiAgICAgICAgICAgIC0taGVhZGVyLWJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICAgICAgLS1oZWFkZXItY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgLS1oZWFkZXItbGluay1ob3Zlci1iZy1jb2xvcjojeyRyZWR9O1xuICAgICAgICB9XG5cbiAgICAgICAgI2hlYWRfX25hdmlnYXRpb24ge1xuICAgICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2JsdXItb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICAvL2JhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICB6LWluZGV4OiA1O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7XG59XG5cbiNtZW51LWhhdXB0bWVudWU+bGk6aG92ZXIgI2JsdXItb3ZlcmxheSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuI21haW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbmJvZHkuaG9tZSAjbWFpbiB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLWhlaWdodC1oZWFkZXIpKTtcbn1cblxuI2Zvb3RlciB7XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG5cbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDVweDtcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgID4uY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBlbmQ7XG4gICAgICAgIGdhcDogNDVweDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgICAgICAgIFwibG9nb1wiIFwidGV4dFwiIFwic29jaWFsc1wiIFwibGlua3NcIiBcImNvcHlyaWdodFwiO1xuICAgIH1cblxuICAgIC5mb290ZXItY2VydGlmaWNhdGUgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEyNXB4O1xuICAgIH1cblxuICAgIC5mb290ZXItbG9nby1hZGRyZXNzIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBsb2dvO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLW1lZ2EtbWVudS1mb250LXNpemUpO1xuICAgIH1cblxuICAgIC5mb290ZXItdGV4dC1idXR0b24ge1xuICAgICAgICBncmlkLWFyZWE6IHRleHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tbWVnYS1tZW51LWZvbnQtc2l6ZSk7XG4gICAgfVxuXG4gICAgLmNvcHlyaWdodCB7XG4gICAgICAgIGdyaWQtYXJlYTogY29weXJpZ2h0O1xuICAgICAgICBmb250LXNpemU6IHZhcigtLW1lZ2EtbWVudS1mb250LXNpemUpO1xuICAgIH1cblxuICAgIC5mb290ZXItbWVudSB7XG4gICAgICAgIGdyaWQtYXJlYTogbGlua3M7XG4gICAgfVxuXG4gICAgLnNvY2lhbC1tZW51IHtcbiAgICAgICAgZ3JpZC1hcmVhOiBzb2NpYWxzO1xuICAgIH1cblxuICAgICNmb290ZXJfX2xvZ28ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEyM3B4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgICAgICAjZm9vdGVyX19sb2dvIHtcbiAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvb3Rlci1jZXJ0aWZpY2F0ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgYTpub3QoLmJ0bikge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tbWVnYS1tZW51LWZvbnQtc2l6ZSk7XG4gICAgfVxuXG4gICAgLm1lbnUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDVweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5mb290ZXItbWVudSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDVweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuc29jaWFsLW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDMwcHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3Rlci1sb2dvLWFkZHJlc3Mge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMzBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICAgICAgPi5jb250YWluZXIge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0MjBweCAxZnIgNDIwcHg7XG4gICAgICAgICAgICByb3ctZ2FwOiA2MHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgICAgICAgICAgXCJlbXB0eSBsb2dvIHRleHRcIlxuICAgICAgICAgICAgICAgIFwiY29weXJpZ2h0IGxpbmtzIHNvY2lhbHNcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51IHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIH1cblxuICAgICAgICAuZm9vdGVyLW1lbnUge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGdhcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zb2NpYWwtbWVudSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICAubWVudSxcbiAgICAgICAgLmZvb3Rlci1tZW51IHtcbiAgICAgICAgICAgIGdhcDogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb290ZXItbG9nby1hZGRyZXNzIHtcbiAgICAgICAgICAgIGdyaWQtYXJlYTogbG9nbztcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb290ZXItdGV4dC1idXR0b24ge1xuICAgICAgICAgICAgZ3JpZC1hcmVhOiB0ZXh0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvcHlyaWdodCB7XG4gICAgICAgICAgICBncmlkLWFyZWE6IGNvcHlyaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb290ZXItbWVudSB7XG4gICAgICAgICAgICBncmlkLWFyZWE6IGxpbmtzO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNvY2lhbC1tZW51IHtcbiAgICAgICAgICAgIGdyaWQtYXJlYTogc29jaWFscztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gVmlzdWFsIENvbXBvc2VyXG4jbWFpbiB7XG5cbiAgICAud3BiX2J1dHRvbixcbiAgICAud3BiX2NvbnRlbnRfZWxlbWVudCxcbiAgICB1bC53cGJfdGh1bWJuYWlscy1mbHVpZD5saSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG4udmNfcm93IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJi5iZy1ibGFjayB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwICogdmFyKC0tdncsIDF2dykgKyAycHgpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJnLXJlZCB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwICogdmFyKC0tdncsIDF2dykgKyAycHgpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLndwYl90ZXh0X2NvbHVtbiB7XG4gICAgaDI6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNzVyZW07XG4gICAgfVxufVxuXG5cbi8vIFNwYWNpbmdzXG4udGVhc2VyLXNsaWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbGFyZ2UpO1xufVxuXG4vLyBsaSBzdHlsZVxuI21haW4gbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAyLjM3NXJlbTtcbn1cblxuLyogdG90b3AgKi9cbiN0b3RvcCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDBweDtcbiAgICB6LWluZGV4OiA1O1xuXG4gICAgYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkcmVkO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy96YXBmLWdhcmFnZW4tbmF2aWdhdGlvbi1wZmVpbC1lY2stbGlua3Mtcm90LnN2Zykgbm8tcmVwZWF0IDUwJSA1MCUgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5odG1sLS1zY3JvbGxlZC1kb3duICN0b3RvcCBidXR0b24ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjQwcHgpIGFuZCAobWF4LXdpZHRoOiAxNjYwcHgpIHtcbiAgICAuZm9vdGVyLW1lbnUge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gICAgfVxufSIsIkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xuOnJvb3Qge1xuICAgIC0tYmFzZS1jb2xvcjpibGFjaztcbiAgICAtLWJhc2UtZm9udC1zaXplOjEuMTI1cmVtOyAvLzE4cHhcbiAgICAtLWJhc2UtbGluZS1oZWlnaHQ6MS4zO1xuICAgIC0tYmFzZS1mb250LWZhbWlseTonUHJveGltYSBOb3ZhJywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgLS1oZWFkaW5ncy1saW5lLWhlaWdodDoxLjI7XG4gICAgLS1oZWFkaW5ncy1mb250LWZhbWlseTonRmxleG8gVzAxJywgc2Fucy1zZXJpZjtcblxuICAgIC0taGVhZGVyLWFuaW1hdGlvbjouNXMgZWFzZTtcblxuICAgIC0tbGluay1jb2xvcjojeyRyZWR9O1xuICAgIC0tbGluay1ob3Zlci1jb2xvcjojeyRkYXJrLXJlZH07XG5cbiAgICAtLWgxLWZvbnQtc2l6ZToyLjI1cmVtOyAvLzM2cHhcbiAgICAtLWgyLWZvbnQtc2l6ZToycmVtOyAvLyAzMnB4XG4gICAgLS1oMy1mb250LXNpemU6MS43NXJlbTsgLy8yOHB4XG4gICAgLS1oNC1mb250LXNpemU6MS41cmVtOyAvLyAyNHB4XG4gICAgLS1ibG9ja3F1b3RlLWZvbnQtc2l6ZToyLjI1cmVtOyAvLzk2cHhcbiAgICAtLXByZWhlYWRlci1mb250LXNpemU6MXJlbTsgLy8xNnB4XG5cbiAgICAtLWhpZ2hsaWdodC1oZWFkZXItZm9udC1zaXplOjIuMjVyZW07XG4gICAgLS1oaWdobGlnaHQtdGV4dC1mb250LXNpemU6MS40Mzc1cmVtOyAvLzIzcHg7XG4gICAgLS1zdWJoZWFkbGluZS1mb250LXNpemU6dmFyKC0taGlnaGxpZ2h0LXRleHQtZm9udC1zaXplKTtcblxuICAgIC0tYnRuLWZvbnQtc2l6ZToxcmVtO1xuICAgIC0tYnRuLXNtLWZvbnQtc2l6ZToxcmVtO1xuICAgIC0tYnRuLWxpbmUtaGVpZ2h0Om1hdGguZGl2KDM0LDI0KTtcbiAgICAtLWJ0bi1mb2N1cy1vdXRsaW5lLWNvbG9yOnJnYigwLCA5NSwgMjA0KTtcblxuICAgIC0taGVpZ2h0LXByZWhlYWRlcjo0MHB4O1xuICAgIC0taGVpZ2h0LWhlYWRlcjo2NHB4O1xuXG4gICAgLS1tZXRhLW1lbnUtZm9udC1zaXplOjEuMzEyNXJlbTsgLy8xMnB4XG4gICAgLS1tZWdhLW1lbnUtZm9udC1zaXplOjEuMnJlbTsgLy8yMXB4XG5cblxuICAgIC0taGVhZGVyLWJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDAsIHJnYmEoMCwwLDAsMCkgMCUsIHJnYmEoMCwwLDAsLjEpIDIwJSwgIHJnYmEoMCwwLDAsLjgpIDEwMCUpO1xuICAgIC0taGVhZGVyLWNvbG9yOndoaXRlO1xuICAgIC0taGVhZGVyLWxpbmstaG92ZXItYmctY29sb3I6I3skbGlnaHQtZ3JheX07XG5cbiAgICAtLXNwYWNlLXNtYWxsOjJyZW07IC8vMzJweFxuICAgIC0tc3BhY2UtbWVkaXVtOjIuNXJlbTsgLy80MHB4XG4gICAgLS1zcGFjZS1sYXJnZTozLjc1cmVtOyAvLzYwcHhcbiAgIFxuXG4gICAgLy8gcGFkZGluZyBmb3IgdGFiIGNvbnRlbnRcbiAgICAtLXRhYi1wYWRkaW5nOjIwcHg7XG5cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiRzY3JlZW4tbWQtbWluKXtcbiAgICAgICAgLS1iYXNlLWZvbnQtc2l6ZToxLjQzNzVyZW07IC8vMjNweDtcbiAgICAgICAgLS1oMS1mb250LXNpemU6My41cmVtOyAvLyA1NnB4XG4gICAgICAgIC0taDItZm9udC1zaXplOjMuNzVyZW07IC8vIDYwcHhcbiAgICAgICAgLS1oMy1mb250LXNpemU6Mi41cmVtOyAvLyA0MHB4XG4gICAgICAgIC0taDQtZm9udC1zaXplOjEuODc1cmVtOyAvLyAzMHB4XG4gICAgICAgIC0tYnRuLWZvbnQtc2l6ZToxLjVyZW07IC8vIDI0cHhcbiAgICAgICAgLS1idG4tc20tZm9udC1zaXplOjEuMzEyNXJlbTsgLy8gMjFweFxuICAgICAgICAtLWJsb2NrcXVvdGUtZm9udC1zaXplOjMuNXJlbTsgLy81NnB4XG4gICAgICAgIC0tcHJlaGVhZGVyLWZvbnQtc2l6ZToxLjJyZW07IC8vIDE5cHhcblxuICAgICAgICAtLWhpZ2hsaWdodC1oZWFkZXItZm9udC1zaXplOjRyZW07XG4gICAgICAgIC0taGlnaGxpZ2h0LXRleHQtZm9udC1zaXplOjEuNzVyZW07XG4gICAgICAgIC0tc3ViaGVhZGxpbmUtZm9udC1zaXplOnZhcigtLWhpZ2hsaWdodC10ZXh0LWZvbnQtc2l6ZSk7XG4gICAgICAgIFxuICAgICAgICBcbiAgICAgICAgLS1tZXRhLW1lbnUtZm9udC1zaXplOi43NXJlbTtcblxuICAgICAgICAtLXNwYWNlLXNtYWxsOjIuNXJlbTsgLy80MHB4XG4gICAgICAgIC0tc3BhY2UtbWVkaXVtOjVyZW07IC8vODBweFxuICAgICAgICAtLXNwYWNlLWxhcmdlOjYuMjVyZW07IC8vMTAwcHhcbiAgICAgICAgXG4gICAgICAgIFxuICAgIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDokc2NyZWVuLWxnLW1pbil7XG4gICAgICAgIC0tdGFiLXBhZGRpbmc6NXJlbTsgLy84MHB4XG4gICAgICAgIC0taGVpZ2h0LXByZWhlYWRlcjo0NXB4O1xuICAgICAgICAtLWhlaWdodC1oZWFkZXI6NjRweDtcblxuICAgICAgICAtLWJsb2NrcXVvdGUtZm9udC1zaXplOjQuNXJlbTsgLy83MnB4XG5cbiAgICAgICAgLS1oaWdobGlnaHQtaGVhZGVyLWZvbnQtc2l6ZTo2cmVtO1xuICAgICAgICAtLWhpZ2hsaWdodC10ZXh0LWZvbnQtc2l6ZToxLjc1cmVtO1xuICAgIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDokc2NyZWVuLXhsLW1pbil7XG4gICAgICAgIC0tc3BhY2UtbWVkaXVtOjYuMjVyZW07IC8vMTAwcHhcbiAgICAgICAgLS1zcGFjZS1sYXJnZTo5LjM3NXJlbTsgLy8xNTBweFxuICAgIH1cbn0iLCJAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJGbGV4byBXMDFcIjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvNTQzMzczMWUtYzk2OC00Zjg0LTllZTktMzhmNDlkNjgxNjNlLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJGbGV4byBXMDFcIjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvYzVlMGEwNDEtN2FjZC00YWQ4LWE4NjUtZmVkYWRjNjE3Nzc1LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJQcm94aW1hIE5vdmFcIjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvUHJveGltYU5vdmEtUmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiUHJveGltYSBOb3ZhXCI7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL1Byb3hpbWFOb3ZhLUJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59IiwiQHVzZSAndmFyaWFibGVzJyBhcyAqO1xuYm9keSB7XG4gICAgY29sb3I6dmFyKC0tYmFzZS1jb2xvcik7XG4gICAgZm9udC1zaXplOnZhcigtLWJhc2UtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDp2YXIoLS1iYXNlLWxpbmUtaGVpZ2h0KTtcbiAgICBmb250LWZhbWlseTp2YXIoLS1iYXNlLWZvbnQtZmFtaWx5KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuaDEsLmgxLFxuaDIsLmgyLFxuaDMsLmgzLFxuaDQsLmg0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1oZWFkaW5ncy1mb250LWZhbWlseSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWhlYWRpbmdzLWxpbmUtaGVpZ2h0KTtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuaDEsLmgxIHtcbiAgICBmb250LXNpemU6dmFyKC0taDEtZm9udC1zaXplKTtcbiAgICBtYXJnaW4tYm90dG9tOjEuNzVyZW07XG59XG5oMiwuaDIge1xuICAgIGZvbnQtc2l6ZTp2YXIoLS1oMi1mb250LXNpemUpO1xuICAgIG1hcmdpbi1ib3R0b206MS43NXJlbTtcbn1cbmgzLC5oMyB7XG4gICAgZm9udC1zaXplOnZhcigtLWgzLWZvbnQtc2l6ZSk7XG4gICAgbWFyZ2luLWJvdHRvbToxLjc1cmVtO1xufVxuaDQsLmg0IHtcbiAgICBmb250LXNpemU6dmFyKC0taDQtZm9udC1zaXplKTtcbiAgICBtYXJnaW4tYm90dG9tOjEuMzc1cmVtO1xufVxuYmxvY2txdW90ZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1ibG9ja3F1b3RlLWZvbnQtc2l6ZSk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWhlYWRpbmdzLWZvbnQtZmFtaWx5KTtcbiAgICBtYXJnaW46MCAwIDEuNzVyZW07XG4gICAgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cbnAge1xuICAgIG1hcmdpbi10b3A6MDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xufVxuLmhpZ2hsaWdodC1oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTp2YXIoLS1oaWdobGlnaHQtaGVhZGVyLWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWhlYWRpbmdzLWxpbmUtaGVpZ2h0KTtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuLmNvcHktaGlnaGxpZ2h0IHtcbiAgICBmb250LXNpemU6dmFyKC0taGlnaGxpZ2h0LXRleHQtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDoxLjM7XG59XG4ubWItMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi50ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnByZWhlYWRlciB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuYSB7XG4gICAgY29sb3I6dmFyKC0tbGluay1jb2xvciwgLS1iYXNlLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6dmFyKC0tbGluay1ob3Zlci1jb2xvciwgLS1iYXNlLWNvbG9yKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbn1cblxuXG4uYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJ0bi1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAycmVtO1xuICAgIG1pbi13aWR0aDogMjUwcHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IHZhcigtLWJ0bi1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOnZhcigtLWJ0bi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1idG4tYmFja2dyb3VuZC1jb2xvcik7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UsIGNvbG9yIDAuM3MgZWFzZSwgYm9yZGVyLWNvbG9yIDAuM3MgZWFzZTtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDokc2NyZWVuLW1kLW1pbil7XG4gICAgICAgIG1pbi13aWR0aDogMzYwcHg7XG4gICAgICAgIFxuICAgIH1cbn1cbi52Y190dGEtcGFuZWwtYm9keSAuYnRuIHtcbiAgICBtaW4td2lkdGg6IDMyNXB4O1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiRzY3JlZW4tbWQtbWluKXtcbiAgICAgICAgbWluLXdpZHRoOiA0NTBweDsgICAgICAgIFxuICAgIH1cbn1cbmJ1dHRvbi5idG46Zm9jdXMsIGEuYnRuOmZvY3VzLFxuaW5wdXQ6Zm9jdXMgKyBzcGFuLmJ0biB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWJ0bi1mb2N1cy1vdXRsaW5lLWNvbG9yLCAjMDAwKTtcbn1cblxuLmJ0bi0tc20ge1xuICAgIGZvbnQtc2l6ZTp2YXIoLS1idG4tc20tZm9udC1zaXplKTtcbiAgICBtaW4td2lkdGg6IDI0MHB4O1xufVxuLmJ0bi0tcmVkIHtcbiAgICAtLWJ0bi1ib3JkZXItY29sb3I6ICN7JHJlZH07XG4gICAgLS1idG4tY29sb3I6ICAjeyRyZWR9O1xuICAgIC0tYnRuLWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGlucHV0OmNoZWNrZWQgKyAmIHtcbiAgICAgICAgLS1idG4tYmFja2dyb3VuZC1jb2xvcjogI3skcmVkfTtcbiAgICAgICAgLS1idG4tY29sb3I6ICB3aGl0ZTtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAgIC0tYnRuLWJvcmRlci1jb2xvcjogICN7JGRhcmstcmVkfTtcbiAgICAgICAgLS1idG4tY29sb3I6ICAjeyRkYXJrLXJlZH07XG4gICAgfVxufVxuLmJ0bi0tYmxhY2sge1xuICAgIC0tYnRuLWJvcmRlci1jb2xvcjogICN7JGJsYWNrfTtcbiAgICAtLWJ0bi1jb2xvcjogICN7JGJsYWNrfTtcbiAgICAtLWJ0bi1iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgLS1idG4tYm9yZGVyLWNvbG9yOiAgI3skZGFyay1yZWR9O1xuICAgICAgICAtLWJ0bi1jb2xvcjogICN7JGRhcmstcmVkfTtcbiAgICAgICAgLS1idG4tYmFja2dyb3VuZC1jb2xvcjogICN7JHdoaXRlfTtcbiAgICB9XG59XG4vLyBuZWdhdGl2ZVxuLmhlYWRlci1vbnNjcm9sbC1lZmZla3QsXG4uaW1hZ2Utb25zY3JvbGwtZWZmZWt0LFxuLnRlYXNlci1jb25maWd1cmF0aW9uLFxuLnRlYXNlci1jb25maWd1cmF0aW9uX19ib3hlZCxcbi5iZy1ibGFjayB7XG4gICAgLmJ0bi0tcmVkIHtcbiAgICAgICAgLS1idG4tYm9yZGVyLWNvbG9yOiAgI3skd2hpdGV9O1xuICAgICAgICAtLWJ0bi1jb2xvcjogICN7JGJsYWNrfTtcbiAgICAgICAgLS1idG4tYmFja2dyb3VuZC1jb2xvcjogICN7JHdoaXRlfTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAtLWJ0bi1ib3JkZXItY29sb3I6ICAjeyRkYXJrLXJlZH07XG4gICAgICAgICAgICAtLWJ0bi1jb2xvcjogICN7JGRhcmstcmVkfTtcbiAgICAgICAgICAgIC0tYnRuLWJhY2tncm91bmQtY29sb3I6ICAjeyR3aGl0ZX07XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJ0bi0tYmxhY2sge1xuICAgICAgICAtLWJ0bi1ib3JkZXItY29sb3I6IHdoaXRlO1xuICAgICAgICAtLWJ0bi1jb2xvcjogd2hpdGU7XG4gICAgICAgIC0tYnRuLWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC0tYnRuLWJvcmRlci1jb2xvcjogICN7JGRhcmstcmVkfTtcbiAgICAgICAgICAgIC0tYnRuLWNvbG9yOiAgI3skZGFyay1yZWR9O1xuICAgICAgICAgICAgLS1idG4tYmFja2dyb3VuZC1jb2xvcjogICN7JHdoaXRlfTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNyLW9ubHksXG4uc3Itb25seS1mb2N1c2FibGU6bm90KDpmb2N1cyk6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgJjpub3QoY2FwdGlvbikge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgKiB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICB9XG59XG4uYnRuLWNoZWNrIHtcbiAgICBpbnB1dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxufVxuLmQtbm9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufSIsIkB1c2UgJy4uL3ZhcmlhYmxlcycgYXMgKjtcblxuXG4uaGVhZGVyLW9uc2Nyb2xsLWVmZmVrdCB7XG4gICAgd2lkdGg6Y2FsYygxMDAgKiB2YXIoLS12dywgMXZ3KSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGxlZnQ6NTAlO1xuICAgIHotaW5kZXg6MDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6d2hpdGU7XG4gICAgbWluLWhlaWdodDoxMDB2aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmhlYWRlci1vbnNjcm9sbC1lZmZla3RfX2ltYWdlLFxuLmhlYWRlci1vbnNjcm9sbC1lZmZla3RfX292ZXJsYXkge1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDowO1xuICAgIGxlZnQ6MDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogLTI7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG4uaGVhZGVyLW9uc2Nyb2xsLWVmZmVrdF9fb3ZlcmxheSB7XG4gICAgei1pbmRleDotMTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsMCwwLDApIDAlLCAjMDAwMDAwIDEwMCUpIGJvdHRvbSBsZWZ0IG5vLXJlcGVhdDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5Oi43O1xuICAgIGhlaWdodDo1MCU7XG4gICAgYm90dG9tOjA7XG4gICAgdG9wOmF1dG87XG59XG4uaGVhZGVyLW9uc2Nyb2xsLWVmZmVrdF9fY29udGVudCB7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgbGVmdDowO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgYm90dG9tOjMwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLmhpZ2hsaWdodC1oZWFkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOjEuMjVyZW07XG4gICAgfVxuICAgIC5wcmljZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0taGlnaGxpZ2h0LXRleHQtZm9udC1zaXplKTtcbiAgICB9XG59XG4uaGVhZGVyLW9uc2Nyb2xsLWVmZmVrdF9fdGV4dGVsZW1lbnRzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnIgMWZyIDgwcHg7XG4gICAgY29sdW1uLWdhcDozMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OjA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG4gICAgcDo6bnRoLWxhc3QtY2hpbGQoLW4rMikge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICAmW2RhdGEtaXRlbXM9XCIxXCJde1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOjFmciA4MHB4O1xuICAgIH1cbn1cbi5oZWFkZXItb25zY3JvbGwtZWZmZWt0X19idXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6MS4yNXJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIC5oZWFkZXItb25zY3JvbGwtZWZmZWt0X190ZXh0ZWxlbWVudHMge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAuaGlnaGxpZ2h0LWhlYWRlciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOjIuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIC5oZWFkZXItb25zY3JvbGwtZWZmZWt0X190ZXh0ZWxlbWVudHMge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciA4MHB4O1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCJAdXNlICcuLi92YXJpYWJsZXMnIGFzICo7XG5AdXNlICdzYXNzOm1hdGgnO1xuXG5cbi5pbWFnZS1vbnNjcm9sbC1lZmZla3Qge1xuICAgIHdpZHRoOmNhbGMoMTAwICogdmFyKC0tdncsIDF2dykpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBsZWZ0OjUwJTtcbiAgICB6LWluZGV4OjA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOndoaXRlO1xuICAgIG1pbi1oZWlnaHQ6Y2FsYygxMDB2aCAtIHZhcigtLWhlaWdodC1oZWFkZXIpKTtcbn1cbi5pbWFnZS1vbnNjcm9sbC1lZmZla3RfX2ltYWdlLFxuLmltYWdlLW9uc2Nyb2xsLWVmZmVrdF9fdmlkZW8sXG4uaW1hZ2Utb25zY3JvbGwtZWZmZWt0X19vdmVybGF5IHtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICBsZWZ0OjA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IC0yO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuLmltYWdlLW9uc2Nyb2xsLWVmZmVrdF9fdmlkZW8gLnJhdGlvIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6bm9ybWFsO1xuICAgIH1cblxufVxuLmltYWdlLW9uc2Nyb2xsLWVmZmVrdF9fb3ZlcmxheSB7XG4gICAgei1pbmRleDotMTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMCwgMCwgMCwgLjcpIDAlLCByZ2JhKDAsIDAsIDAsIC43KSA2MCUsIHJnYmEoMCwgMCwgMCwgMSkgMTAwJSk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTouMjtcbn1cbi5pbWFnZS1vbnNjcm9sbC1lZmZla3RfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIGxlZnQ6MDtcbiAgICB3aWR0aDoxMDAlO1xuICAgIGJvdHRvbToyMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICAud3lzaXd5ZyB7XG4gICAgICAgIHdpZHRoOmNhbGMoOTA2cHggKyAjeyRncmlkLWd1dHRlci13aWR0aH0pO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6YXV0bztcbiAgICB9XG59XG4uaW1hZ2Utb25zY3JvbGwtZWZmZWt0X19idXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6MS4yNXJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOjgwcHg7XG59XG4uaW1hZ2Utb25zY3JvbGwtZWZmZWt0X19pY29ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOjcwcHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7IFxuICAgICAgICByb3ctZ2FwOiA1cmVtO1xuICAgICAgICBjb2x1bW4tZ2FwOiAxMHJlbTtcbiAgICB9XG4gICAgXG59XG4uaW1hZ2Utb25zY3JvbGwtZWZmZWt0X19pY29uc19faXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6JGdyaWQtZ3V0dGVyLXdpZHRoO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGltZyB7XG4gICAgICAgIGZsZXg6MCAwIDE0MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDE0MHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OmF1dG87XG4gICAgfVxuICAgIHAge1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBmbGV4OjAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHsgXG4gICAgICAgIGZsZXg6MCAwIDQ1MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuICAgICAgICBcbiAgICB9XG59IiwiLy8gY29sb3JzXG5cbiRyZWQ6ICNFNDAwM0E7XG4kZGFyay1yZWQ6ICNBMTA1Mjk7XG4kYmxhY2s6ICMwMDA7XG4kd2hpdGU6ICNmZmY7XG4kZGFyay1ncmF5OiAjNTc1NjU2O1xuJGdyYXk6ICNFMEREREQ7XG4kbGlnaHQtZ3JheTogI0VFRUVFRTtcbiRzY3JvbGwtb3ZlcmxheTogIzAwMDAwMEIzO1xuJHN1Ym1lbnUtYm94LXNoYWRvdzogIzAwMDAwMDI5O1xuXG4vLyBtZWFzdXJlbWVudHNcbiRjb250YWluZXItd2lkdGg6IDEzNzRweDtcbiRncmlkLWd1dHRlci13aWR0aDo0MHB4O1xuXG4kc2NyZWVuLW1kLW1pbjo3NjhweDtcbiRzY3JlZW4tbGctbWluOjEyNDBweDtcbiRzY3JlZW4teGwtbWluOjE5MjBweDtcbiRzY3JlZW4teHhsLW1pbjoyNDAwcHg7XG4kc2NyZWVuLXNtLW1heDokc2NyZWVuLW1kLW1pbiAtIDFweDtcbiRzY3JlZW4tbWQtbWF4OiRzY3JlZW4tbGctbWluIC0gMXB4O1xuJHNjcmVlbi1sZy1tYXg6JHNjcmVlbi14bC1taW4gLSAxcHg7XG4kc2NyZWVuLXh4bC1tYXg6JHNjcmVlbi14eGwtbWluIC0gMXB4O1xuXG4kc2NyZWVuLW1vYmlsZS1tYXg6ICRzY3JlZW4tc20tbWF4O1xuJHNjcmVlbi1kZXNrdG9wLW1pbjogJHNjcmVlbi1tb2JpbGUtbWF4ICsgMXB4OyIsIkB1c2UgJy4uL3ZhcmlhYmxlcycgYXMgKjtcblxuLnRlYXNlci1zbGlkZXItaXRlbSB7XG4gICAgaW1nIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB9XG59IiwiQHVzZSAnLi4vdmFyaWFibGVzJyBhcyAqO1xuXG4udGVhc2VyLXNsaWRlciB7XG5cbiAgICAuc3dpcGVyLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICAuc3dpcGVyLXBhZ2luYXRpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIG1hcmdpbjogMHB4IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIC5zd2lwZXItY29udHJvbHMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC5zd2lwZXItYnV0dG9uLXByZXYsXG4gICAgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDdweDtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbi50ZWFzZXItc2xpZGVyLS1kZWZhdWx0IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwYWRkaW5nLXJpZ2h0OjEyMHB4O1xuICAgIC5zd2lwZXItY29udHJvbHMge1xuICAgICAgICB3aWR0aDpjYWxjKDEwMCUgKyAxMjBweCk7XG4gICAgfVxufVxuLnRlYXNlci1zbGlkZXItLTIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLnN3aXBlci13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgICB9XG59IiwiQHVzZSAnLi4vdmFyaWFibGVzJyBhcyAqO1xuXG4udGVhc2VyLWNvbmZpZ3VyYXRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDpjYWxjKDEwMCAqIHZhcigtLXZ3LCAxdncpKTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDEuMDAxKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHotaW5kZXg6MDtcbiAgICBcbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6JGdyaWQtZ3V0dGVyLXdpZHRoO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGdyaWQtZ3V0dGVyLXdpZHRoO1xuICAgIH1cbiAgICAud3lzaXd5ZyB7XG4gICAgICAgIFxuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBtYXgtd2lkdGg6IDExMzVweDtcbiAgICB9XG4gICAgbWluLWhlaWdodDogMTUwdnc7IC8vIHRvIGZpdCB3aG9sZSBiZyBpbWFnZSBhbmQgbWFrZSBzbW9vdGggYm9yZGVyc1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjUwJSwgMjAwJSAyMDAlO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgICAgICBtaW4taGVpZ2h0OiA5MHZ3O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1MCUsIDIwMCUgMjAwJTtcbiAgICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDo1cmVtO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDYwdnc7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSwgMjAwJSAyMDAlO1xuICAgIH1cbiAgICAtLXN0YXJ0LWNvbG9yOnRyYW5zcGFyZW50O1xuICAgIC0tZW5kLWNvbG9yOnRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWJhY2tncm91bmQtaW1hZ2UpLCBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB2YXIoLS1zdGFydC1jb2xvcikgMCUsIHZhcigtLXN0YXJ0LWNvbG9yKSA1MCUsIHZhcigtLWVuZC1jb2xvcikgNTElLCB2YXIoLS1lbmQtY29sb3IpIDEwMCUpO1xuICAgICYud2hpdGUtd2hpdGUge1xuICAgICAgICAtLWJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWcvemFwZi1nYXJhZ2VuLWtvbmZpZ3VyYXRvci1oaW50ZXJncnVuZC13ZWlzcy5qcGcpO1xuICAgICAgICAtLXN0YXJ0LWNvbG9yOndoaXRlO1xuICAgICAgICAtLWVuZC1jb2xvcjp3aGl0ZTtcbiAgICB9XG4gICAgJi5ibGFjay1ibGFjayB7XG4gICAgICAgIC0tYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltZy96YXBmLWdhcmFnZW4ta29uZmlndXJhdG9yLWhpbnRlcmdydW5kLXNjaHdhcnotc2Nod2Fyei5qcGcpO1xuICAgICAgICAtLXN0YXJ0LWNvbG9yOmJsYWNrO1xuICAgICAgICAtLWVuZC1jb2xvcjpibGFjaztcbiAgICB9XG4gICAgJi53aGl0ZS1ibGFjayB7XG4gICAgICAgIC0tYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltZy96YXBmLWdhcmFnZW4ta29uZmlndXJhdG9yLWhpbnRlcmdydW5kLXdlaXNzLXNjaHdhcnouanBnKTtcbiAgICAgICAgLS1zdGFydC1jb2xvcjp3aGl0ZTtcbiAgICAgICAgLS1lbmQtY29sb3I6YmxhY2s7XG4gICAgfVxuICAgICYud2hpdGUtZ3JheSB7XG4gICAgICAgIC0tYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltZy96YXBmLWdhcmFnZW4ta29uZmlndXJhdG9yLWhpbnRlcmdydW5kLWdyYXUuanBnKTtcbiAgICAgICAgLS1zdGFydC1jb2xvcjp3aGl0ZTtcbiAgICAgICAgLS1lbmQtY29sb3I6ICN7JGxpZ2h0LWdyYXl9O1xuICAgIH1cbiAgICAmLmJsYWNrLXdoaXRlIHtcbiAgICAgICAgLS1iYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1nL3phcGYtZ2FyYWdlbi1rb25maWd1cmF0b3ItaGludGVyZ3J1bmQtc2Nod2Fyei13ZWlzcy5qcGcpO1xuICAgICAgICAtLXN0YXJ0LWNvbG9yOmJsYWNrO1xuICAgICAgICAtLWVuZC1jb2xvcjp3aGl0ZTtcbiAgICB9XG4gICAgJi5ibGFjay1jdXQge1xuICAgICAgICAtLWJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWcvemFwZi1nYXJhZ2VuLWtvbmZpZ3VyYXRvci1oaW50ZXJncnVuZC1zY2h3YXJ6LWN1dC5qcGcpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJSAxMDAlLCA1MCUgNTAlO1xuICAgICAgICAtLXN0YXJ0LWNvbG9yOmJsYWNrO1xuICAgICAgICAtLWVuZC1jb2xvcjp0cmFuc3BhcmVudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIH1cbn0iLCJAdXNlICcuLi92YXJpYWJsZXMnIGFzICo7XG5cbi5xdW90ZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgaHIge1xuICAgICAgICB3aWR0aDogMjUwcHg7XG4gICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgbWFyZ2luLXRvcDo1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOjVyZW07XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgICAgICAgICB3aWR0aDogNDY3cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufSIsIkB1c2UgJy4uL3ZhcmlhYmxlcycgYXMgKjtcblxuLmJsb2dzbGlkZXIge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgLnN3aXBlci13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAuc3dpcGVyLXBhZ2luYXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoOSAvIDE2ICogMTAwJSArIDQwcHgpO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2LjI1cmVtO1xuICAgIH0gXG4gICAgLmRhdGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtO1xuICAgIH1cblxuICAgIC5idXR0b24td3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgICAgICAudGV4dC1idXR0b24sXG4gICAgICAgIC5zd2lwZXItcGFnaW5hdGlvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDExN3B4O1xuICAgICAgICB9XG4gICAgfVxufSIsIkB1c2UgJy4uL3ZhcmlhYmxlcycgYXMgKjtcblxuLnRlYXNlci1jb25maWd1cmF0aW9uX19ib3hlZCB7XG5cbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDcwcHggMzBweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG5cbiAgICAmLmJveC1iZy0tcmVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltZy96YXBmLWdhcmFnZW4ta29uZmlndXJhdG9yLWhpbnRlcmdydW5kLXdlaXNzLmpwZyk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNDAwJTtcbiAgICB9XG5cbiAgICAmLmJveC1iZy0tYmxhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjUwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDVmciA3ZnI7XG4gICAgICAgIGdhcDogNjBweDtcbiAgICAgICAgcGFkZGluZzogODBweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuICAgIH1cbn0iLCJAdXNlICcuLi92YXJpYWJsZXMnIGFzICo7XG5cbi51c3Age1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZ2FwOiA2MHB4O1xuXG4gICAgLndwYl9jb250ZW50X2VsZW1lbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC53cGJfY29udGVudF9lbGVtZW50OjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB0b3A6IGNhbGMoMTAwJSArIDI4cHgpO1xuICAgIH1cblxuICAgIC53cGJfY29udGVudF9lbGVtZW50Omxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWRlc2t0b3AtbWluKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGdhcDogMDtcblxuICAgICAgICAud3BiX2NvbnRlbnRfZWxlbWVudDo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGxlZnQ6IHVuc2V0O1xuICAgICAgICB9XG4gICAgfVxufSIsIkB1c2UgJy4uL3ZhcmlhYmxlcycgYXMgKjtcblxuLnRpbGUtdGVhc2VyLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgIH1cbn0iLCJAdXNlICcuLi92YXJpYWJsZXMnIGFzICo7XG5cbi50aWxlLXRlYXNlci1pdGVtOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbn1cblxuLnRpbGUtdGVhc2VyLWl0ZW06bnRoLWNoaWxkKGV2ZW4pOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG59XG5cbi50aWxlLXRlYXNlci1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAudGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICAmOjphZnRlciwgLnRleHQge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC50aWxlLXRlYXNlci1pdGVtOm50aC1jaGlsZCg1bi00KTphZnRlcixcbiAgICAudGlsZS10ZWFzZXItaXRlbTpudGgtY2hpbGQoNW4tMSk6YWZ0ZXIsXG4gICAgLnRpbGUtdGVhc2VyLWl0ZW06bnRoLWNoaWxkKDVuKTphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG4gICAgfVxuXG4gICAgLnRpbGUtdGVhc2VyLWl0ZW06bnRoLWNoaWxkKDVuLTMpOmFmdGVyLFxuICAgIC50aWxlLXRlYXNlci1pdGVtOm50aC1jaGlsZCg1bi0yKTphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICB9XG5cbiAgICAudGlsZS10ZWFzZXItaXRlbTpudGgtbGFzdC1jaGlsZCgyKTphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC50aWxlLXRlYXNlci1pdGVtOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkICFpbXBvcnRhbnQ7XG4gICAgfVxufSIsIi5zcGFjZXIge1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBoZWlnaHQ6dmFyKC0tc3BhY2UpO1xufVxuLnNwYWNlci0tc21hbGwge1xuICAgIC0tc3BhY2U6dmFyKC0tc3BhY2Utc21hbGwpO1xufVxuLnNwYWNlci0tbGFyZ2Uge1xuICAgIC0tc3BhY2U6dmFyKC0tc3BhY2UtbGFyZ2UpO1xufVxuLnNwYWNlci0tbWVkaXVtIHtcbiAgICAtLXNwYWNlOnZhcigtLXNwYWNlLW1lZGl1bSk7XG59IiwiQHVzZSAnLi4vdmFyaWFibGVzJyBhcyAqO1xuQHVzZSAnaW1hZ2Vfb25zY3JvbGxfZWZmZWt0JztcblxuLmltYWdlLW9uc2Nyb2xsLWVmZmVrdC0tdGV4dG92ZXJsYXkge1xuICAgIC5pbWFnZS1vbnNjcm9sbC1lZmZla3RfX2NvbnRlbnQge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06bm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAuaW1hZ2Utb25zY3JvbGwtZWZmZWt0X19idXR0b25zIHtcbiAgICAgICAgbWFyZ2luLXRvcDo0MHB4O1xuICAgIH1cbiAgICAuaW1hZ2Utb25zY3JvbGwtZWZmZWt0X19vdmVybGF5IHtcbiAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogNDAlO1xuICAgICAgICB9XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjRkZGRkZGIDAlLCAjRkZGRkZGRUIgMTclLCAjRkZGRkZGMDAgMTAwJSk7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzAwMDAwMDAwIDAlLCAjMDAwMDAwIDEwMCUpO1xuICAgICAgICAgICAgdG9wOmF1dG87XG4gICAgICAgICAgICBib3R0b206MDtcbiAgICAgICAgICAgIGhlaWdodDo1NSU7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnRlc3RfYW5pbWF0aW9uIHtcbiAgICAuYm94IHtcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQ5OGRiO1xuICAgICAgICBtYXJnaW46IDIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICAuYm94LTIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGI5YjM0O1xuICAgIH1cbn0iLCJAdXNlICcuLi92YXJpYWJsZXMnIGFzICo7XG5cbiNtYWluIHtcbiAgICAudmNfdHRhLXRhYnMtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC52Y190dGEtdGFicy1saXN0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgZ2FwOiA2cHg7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgICAgIC52Y190dGEtdGl0bGUtdGV4dCB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZjX3R0YS1wYW5lbC1oZWFkaW5nIGEsXG4gICAgLnZjX3R0YS10YWIgYSB7XG4gICAgICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IC41cmVtO1xuICAgICAgICBib3JkZXI6IDAgbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuM3MgZWFzZSwgY29sb3IgLjNzIGVhc2UsIGJvcmRlci1yYWRpdXMgLjNzIGVhc2UsIGJvcmRlci13aWR0aCAuM3MgZWFzZSwgbWFyZ2luLWJvdHRvbSAuM3MgZWFzZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cblxuICAgIC52Y19hY3RpdmUgLnZjX3R0YS1wYW5lbC1oZWFkaW5nIGEsXG4gICAgLnZjX3R0YS10YWIudmNfYWN0aXZlIGEge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC52Y190dGEtdGFiIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAgICAgPmEge31cblxuICAgICAgICAmLnZjX2FjdGl2ZT5hIHt9XG4gICAgfVxuXG4gICAgLnZjX3R0YS1wYW5lbC1oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgfVxuXG5cbiAgICAudmNfdHRhLXBhbmVscyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDAgbm9uZTtcbiAgICB9XG5cbiAgICAudmNfdHRhLXBhbmVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIC52Y190dGEtcGFuZWwtYm9keSB7XG4gICAgICAgICAgICBib3JkZXI6IDAgbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLXRhYi1wYWRkaW5nKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IC41cmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG5cbiAgICAgICAgICAgIC5idG4tLXJlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcmVkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiRzY3JlZW4tbWQtbWluKSB7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIC52Y190dGEtcGFuZWwtYm9keSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIC52Y190dGEtcGFuZWwtYm9keSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDokc2NyZWVuLXNtLW1heCkge1xuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC52Y190dGEtcGFuZWwtYm9keSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnZjX3R0YS1wYW5lbC10aXRsZSBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICAgICAgLnZjX3R0YS10aXRsZS10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudmNfdHRhLXBhbmVsLXRpdGxlIGE6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiB1cmwoJy4uLy4uL2ltZy96YXBmLWdhcmFnZW4tbmF2aWdhdGlvbi1wZmVpbC1lY2stbGlua3Mtd2Vpc3Muc3ZnJyk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnZjX2FjdGl2ZSAudmNfdHRhLXBhbmVsLXRpdGxlIGE6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiB1cmwoJy4uLy4uL2ltZy96YXBmLWdhcmFnZW4tbmF2aWdhdGlvbi1wZmVpbC1lY2stbGlua3Mtc2Nod2Fyei5zdmcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAdXNlIFwiLi4vdmFyaWFibGVzXCIgYXMgKjtcbi50ZXh0LWltYWdlIHtcbiAgICAtLWNvbnRlbnQtcGFkZGluZy14OiA0MHB4O1xuICAgIC0tY29udGVudC1wYWRkaW5nLXk6IDEuODc1cmVtO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgICAgICAtLWNvbnRlbnQtcGFkZGluZy15OiAzcmVtO1xuICAgIH1cbn1cbi50ZXh0X2ltYWdlX190ZXh0IHtcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgfVxuICAgIGgyLCAuaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gICAgfVxuICAgID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG4udGV4dC1pbWFnZV9fY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6dmFyKC0tY29udGVudC1wYWRkaW5nLXkpO1xuICAgIHBhZGRpbmctYm90dG9tOnZhcigtLWNvbnRlbnQtcGFkZGluZy15KTtcbn1cbi50ZXh0LWltYWdlX19idXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOi41cmVtO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIC50ZXh0LWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTIsIDFmcik7XG4gICAgfVxuICAgIC50ZXh0LWltYWdlX19jb250ZW50IHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gNjtcbiAgICB9XG4gICAgLnRleHQtaW1hZ2VfX2ltYWdlIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gNjtcbiAgICB9XG4gICAgLnRleHQtaW1hZ2UtLTY2LTMzIHtcbiAgICAgICAgLnRleHQtaW1hZ2VfX2NvbnRlbnQge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gNDtcbiAgICAgICAgfVxuICAgICAgICAudGV4dC1pbWFnZV9faW1hZ2Uge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gODtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudGV4dC1pbWFnZS0tNjAtNDAge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xuICAgICAgICAudGV4dC1pbWFnZV9fY29udGVudCB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICAgICAgICB9XG4gICAgICAgIC50ZXh0LWltYWdlX19pbWFnZSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAzO1xuICAgICAgICB9XG4gICAgfVxuICAgIC50ZXh0LWltYWdlX19jb250ZW50IHtcbiAgICAgICAgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIC50ZXh0LWltYWdlLS1pbWFnZS1sZWZ0IHtcbiAgICAgICAgLnRleHQtaW1hZ2VfX2NvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1jb250ZW50LXBhZGRpbmcteCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRleHQtaW1hZ2UtLWltYWdlLXJpZ2h0IHtcbiAgICAgICAgLnRleHQtaW1hZ2VfX2NvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tY29udGVudC1wYWRkaW5nLXgpO1xuICAgICAgICB9XG4gICAgICAgIC50ZXh0LWltYWdlX19pbWFnZSB7XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnZjX3R0YS1wYW5lbC1ib2R5IHtcbiAgICAudGV4dC1pbWFnZS0tdGFiLWZ1bGwuY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6YXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLXRhYi1wYWRkaW5nKSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYygtMSAqIHZhcigtLXRhYi1wYWRkaW5nKSk7XG4gICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOmNhbGMoLTEgKiB2YXIoLS10YWItcGFkZGluZykpO1xuICAgICAgICB9XG4gICAgICAgIC50ZXh0LWltYWdlX19idXR0b25zIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi14eGwtbWluKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudGV4dC1pbWFnZV9fY29udGVudCB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgICAgICAgICAgLnRleHQtaW1hZ2VfX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDp2YXIoLS10YWItcGFkZGluZyk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDp2YXIoLS10YWItcGFkZGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJjpoYXMoLnRleHQtaW1hZ2UtLXRhYi1mdWxsOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgICAgIC50ZXh0LWltYWdlIHtcbiAgICAgICAgICAgIC0tY29udGVudC1wYWRkaW5nLXk6MDtcbiAgICAgICAgfVxuICAgICAgICAudGV4dC1pbWFnZS0tdGFiLXRleHQtY2VudGVyIHtcbiAgICAgICAgICAgIC0tY29udGVudC1wYWRkaW5nLXg6OS4yNXJlbTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgLnRleHQtaW1hZ2UtLXRhYi1mdWxsIHtcbiAgICAgICAgICAgIC0tY29udGVudC1wYWRkaW5nLXg6MTAwcHg7XG4gICAgICAgICAgICAtLWNvbnRlbnQtcGFkZGluZy15OiA4MHB4O1xuICAgICAgICB9XG4gICAgICAgIC50ZXh0LWltYWdlLS1pbWFnZS1yaWdodCAudGV4dC1pbWFnZV9fY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLWd1dHRlci13aWR0aDtcbiAgICAgICAgfVxuICAgICAgICAudGV4dC1pbWFnZS0taW1hZ2UtbGVmdCAudGV4dC1pbWFnZV9fY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1ndXR0ZXItd2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlICcuLi92YXJpYWJsZXMnIGFzICo7XG4ucmF0aW8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAwO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tYnMtYXNwZWN0LXJhdGlvKTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG4gICAgPiBkaXYsIGlmcmFtZSwgdmlkZW8ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGNvdmVyO1xuICAgIH1cbn1cbi5wbGF5LWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDo1MCU7XG4gICAgbGVmdDo1MCU7XG4gICAgYmFja2dyb3VuZDp1cmwoLi4vLi4vaW1nL3phcGYtZ2FyYWdlbi12aWRlby1wbGF5LnN2Zykgbm8tcmVwZWF0IHRvcCBsZWZ0IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgIHdpZHRoOjRyZW07XG4gICAgaGVpZ2h0OjRyZW07XG4gICAgdGV4dC1pbmRlbnQ6IDRyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICBib3JkZXItcmFkaXVzOi41cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBib3JkZXI6MCBub25lO1xuICAgIHotaW5kZXg6IDE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6MDtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDokc2NyZWVuLW1kLW1pbikge1xuICAgICAgICB3aWR0aDo2cmVtO1xuICAgICAgICBoZWlnaHQ6NnJlbTtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDZyZW07XG4gICAgfVxufVxuXG4uZGlzYWJsZS1pbnRlcmFjdGlvbiBpZnJhbWUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5cbi50aGVtZS12aWRlbyAudWMtZW1iZWRkaW5nLWNvbnRhaW5lciB7XG4gICAgei1pbmRleDoxO1xufSIsIkB1c2UgJy4uL3ZhcmlhYmxlcycgYXMgKjtcblxuLnBvcnRmb2xpby1zbGlkZXIge1xuXG4gICAgLnBvcnRmb2xpby1pbWFnZXMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBvcnRmb2xpby10ZXh0LWVsZW1lbnRzIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA2NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnN3aXBlci1zbGlkZS10aHVtYi1hY3RpdmUge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkICRyZWQ7XG4gICAgICAgIH1cbiAgICB9XG59IiwiQHVzZSAnLi4vdmFyaWFibGVzJyBhcyAqO1xuXG4uYmxvZy1uZXdzLWZpbHRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6MjBweDtcbiAgICAuYnRuIHtcbiAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgIH1cbn1cbi5ibG9nLW5ld3Mtb3ZlcnZpZXcge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgY29sdW1uLWdhcDogMzBweDtcbiAgICByb3ctZ2FwOiA4MHB4O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgfVxuXG4gICAgLmJsb2ctbmV3cy1wb3N0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuLmJsb2ctbmV3cy1sb2FkZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAuYnRuIHtcbiAgICAgICAgbWFyZ2luLXRvcDozMHB4O1xuICAgIH1cbn0iLCJAdXNlIFwidmFyaWFibGVzXCIgYXMgKjtcblxuc2VsZWN0LmhzLWlucHV0LFxuaW5wdXRbdHlwZT1cInRleHRcIl0uaHMtaW5wdXQsXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0uaHMtaW5wdXQge1xuICAgIGJvcmRlcjogMCBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBibGFjaztcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4uaHVic3BvdC1mb3JtIHtcbiAgICBmb3JtIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1tZWdhLW1lbnUtZm9udC1zaXplKTtcbiAgICB9XG5cbiAgICBmaWVsZHNldCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDtcblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICBsaSBzcGFuIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgfVxuXG4gICAgdGV4dGFyZWEge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkYmxhY2s7XG4gICAgfVxuXG4gICAgc2VsZWN0IHtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgICAgICY6aW52YWxpZCB7XG4gICAgICAgICAgICBjb2xvcjogIzk5OTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRibGFjaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbSAycmVtO1xuICAgICAgICBtaW4td2lkdGg6IDI1MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1idG4tZm9udC1zaXplKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1idG4tY29sb3IpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idG4tYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlLCBjb2xvciAwLjNzIGVhc2UsIGJvcmRlci1jb2xvciAwLjNzIGVhc2U7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcmVkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhzX2RhdGVuc2NodXR6LFxuICAgIC5oc19uZXdzbGV0dGVyIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAuZm9ybS1jb2x1bW5zLTIgLmZpZWxkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/