@import "https://cdn.jsdelivr.net/npm/leaflet@1.9.4/dist/leaflet.min.css";
:root {
  --color-light: #ffffff;
  --color-dark: #1A1A1A;
  --panna: #f5f2ec;
  --mid-panna: #ece9de;
  --dark-panna: #dfd6c5;
  --grey: #A3A3A3;
  --grey-dark: #666666;
  --yellow: #F4ED4D;
  --dark-yellow: #DFD838;
  --blue: #0A2540;
  --green: #4F6814;
  --light-blue: #1A6FA4;
  --very-light-blue: #96BBBB;
  --violet: #7B5EA7;
  --sabbia: #C4863A;
  --pink: #DCAB93;
  --color-default: var(--color-dark);
}

:root {
  --container-big-width: 1850px;
  --container-width: 1670px;
  --container-large-width: 1540px;
  --container-medium-width: 1290px;
  --container-small-width: 1180px;
  --container-extra-small-width: 980px;
  --container-mini-width: 660px;
  --container-micro-width: 580px;
  --block-min-width: 480px;
  --block-min-height: 580px;
  --spacer-big: 30px;
}

@media (min-width: 992px) {
  :root {
    --spacer-big: 30px;
  }
}
@media (min-width: 1200px) {
  :root {
    --spacer-big: 40px;
  }
}
@media (min-width: 1681px) {
  :root {
    --spacer-big: 50px;
  }
}
:root {
  --spacer-large: 20px;
}

@media (min-width: 992px) {
  :root {
    --spacer-large: 30px;
  }
}
@media (min-width: 1601px) {
  :root {
    --spacer-large: 40px;
  }
}
:root {
  --spacer-medium: 25px;
  --spacer-small: 20px;
  --spacer-extra-small: 10px;
  --transition-default: all 0.5s ease-in-out;
  --font-family: 'Satoshi', sans-serif;
  --font-family-title: 'ClashDisplay', sans-serif;
  --font-family-menu: 'Satoshi', sans-serif;
  --font-size: clamp(1rem, 2vw, 1.125rem);
  --h1-font-size: clamp(2.375rem, 3vw, 3.25rem);
  --h1-font-weight: 500;
  --h1-margin-bottom: 10px;
  --h2-font-size: clamp(1.875rem, 2vw, 2.5rem);
  --h2-font-weight: 500;
  --h2-margin-bottom: 10px;
  --h3-font-size: clamp(1.625rem, 1.5vw, 2rem);
  --h3-font-weight: 500;
  --h3-margin-bottom: 10px;
  --h4-font-size: clamp(1.125rem, 3vw, 1.5rem);
  --h4-font-weight: 500;
  --h4-margin-bottom: 10px;
  --h5-font-size: clamp(1rem, 2vw, 1.125rem);
  --h5-font-weight: 500;
  --h5-margin-bottom: 10px;
  --h6-font-size: 0.875rem;
  --h6-font-weight: 400;
  --h6-margin-bottom: 10px;
}

@-webkit-keyframes menu-show {
  0% {
    -webkit-transform: translateY(100%);
  }
  100% {
    -webkit-transform: translateY(0);
  }
}
@-moz-keyframes menu-show {
  0% {
    -moz-transform: translateY(0%);
  }
  100% {
    -moz-transform: translateY(0);
  }
}
@keyframes menu-show {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
.animation {
  position: relative;
  overflow: hidden;
  width: 101%;
  display: flex !important;
  align-items: center;
  transform-origin: bottom left;
}

.animation .animated {
  line-height: 1.3;
}

@keyframes slide-up {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes bounceScroll {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-30px);
  }
  60% {
    transform: translateY(-15px);
  }
}
.bounceScroll {
  display: inline-block;
  animation: bounceScroll 2s infinite;
}

.simpleFadeIn {
  opacity: 0;
  transition: opacity 1000ms cubic-bezier(0.645, 0.045, 0.355, 1), transform 1000ms cubic-bezier(0.645, 0.045, 0.355, 1);
}

.simpleFadeIn.visible {
  opacity: 1;
}

.simpleFadeInLeft {
  opacity: 0;
  transform: translateX(-100vw);
  transition: opacity 1000ms cubic-bezier(0.645, 0.045, 0.355, 1), transform 1000ms cubic-bezier(0.645, 0.045, 0.355, 1);
}

.simpleFadeInLeft.visible {
  opacity: 1;
  transform: translateX(0);
}

.simpleFadeInRight {
  opacity: 0;
  transform: translateX(100vw);
  transition: opacity 1000ms cubic-bezier(0.645, 0.045, 0.355, 1), transform 1000ms cubic-bezier(0.645, 0.045, 0.355, 1);
}

.simpleFadeInRight.visible {
  opacity: 1;
  transform: translateX(0);
}

.animateTop {
  opacity: 0;
  transform: translateY(130px);
  transition: opacity 1000ms cubic-bezier(0.645, 0.045, 0.355, 1), transform 1000ms cubic-bezier(0.645, 0.045, 0.355, 1);
}

.animateTop.visible {
  opacity: 1;
  transform: translateY(0);
}

.animateRight {
  opacity: 0;
  transform: translate(-130px, 100px);
  transition: opacity 1000ms cubic-bezier(0.645, 0.045, 0.355, 1), transform 1000ms cubic-bezier(0.645, 0.045, 0.355, 1);
}

.animateRight.visible {
  opacity: 1;
  transform: translate(0);
}

html, body {
  margin: 0;
  padding: 0;
  background-color: var(--panna);
}

main {
  background-color: var(--panna);
}

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

.object-cover {
  object-fit: cover;
}

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

a:hover {
  text-decoration: none;
}

* {
  box-sizing: border-box;
}

.h-full {
  height: 100%;
}

.rotate-title {
  transform: rotate(-4deg);
}

.rotate-title-right {
  transform: rotate(4deg);
}

.rotate-img {
  transform: rotate(-2deg);
}

.hidden {
  display: none;
}

.z-index-1 {
  z-index: 1;
}

.overflow-visible {
  overflow: visible;
}

.overflow-x-scroll {
  overflow-x: scroll;
}

.overflow-hidden {
  overflow: hidden;
}

.border-bottom {
  border-bottom: 1px solid var(--color-dark);
}

.border-bottom.light-grey {
  border-bottom: 1px solid #d9e2e8;
}

.border-radius {
  border-radius: 12px;
}

@media (min-width: 992px) {
  .border-radius {
    border-radius: 24px;
  }
}
.border-radius.small {
  border-radius: 4px;
}

.spacer {
  width: 100%;
}

.spacer.big {
  height: var(--spacer-big);
}

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

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

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

.spacer.extra-small {
  height: var(--spacer-extra-small);
}

.container {
  width: 100%;
  max-width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
  padding: 0 15px;
  box-sizing: border-box;
}

@media (min-width: 992px) {
  .container {
    padding: 0 20px;
  }
}
.container.fluid {
  max-width: unset;
  padding: 0;
}

.container.big {
  max-width: var(--container-big-width);
}

.container.large {
  max-width: var(--container-large-width);
}

.container.medium {
  max-width: var(--container-medium-width);
}

.container.small {
  max-width: var(--container-small-width);
}

.container.extra-small {
  max-width: var(--container-extra-small-width);
}

@media (min-width: 992px) {
  .container.mini {
    max-width: var(--container-mini-width);
  }
}
@media (min-width: 992px) {
  .container.micro {
    max-width: var(--container-micro-width);
  }
}
@media (min-width: 992px) {
  .container.min-width {
    max-width: var(--block-min-width);
  }
}
.container.relative {
  position: relative;
}

.container.floated-right {
  margin-left: auto;
  margin-right: 0;
}

@media (max-width: 991px) {
  .container.floated-right {
    padding: 0;
  }
}
.container.floated-left {
  margin-left: 0;
  margin-right: auto;
}

@media (max-width: 991px) {
  .container.floated-left {
    padding: 0;
  }
}
.p-relative {
  position: relative;
  z-index: 1;
}

.d-flex {
  display: flex;
}

.d-flex::after, .d-flex::before {
  display: none;
}

.d-flex.direction-column {
  flex-direction: column;
}

.d-flex.direction-row {
  flex-direction: row;
}

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

.d-flex.align-start {
  align-items: flex-start;
}

.d-flex.align-end {
  align-items: flex-end;
}

.d-flex.flex-wrap {
  flex-wrap: wrap;
}

.d-flex.justify-center {
  justify-content: center;
}

@media (max-width: 991px) {
  .d-flex.justify-mobile-center {
    justify-content: center;
  }
}
.d-flex.justify-space-between {
  justify-content: space-between;
}

.d-flex.justify-space-evenly {
  justify-content: space-evenly;
}

.d-flex.justify-space-around {
  justify-content: space-around;
}

.d-flex.justify-start {
  justify-content: flex-start;
}

.d-flex.justify-end {
  justify-content: flex-end;
}

@media (min-width: 992px) {
  .d-flex.justify-desktop-end {
    justify-content: flex-end;
  }
}
.d-none {
  display: none !important;
}

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

@media (min-width: 576px) {
  .d-sm-block {
    display: block !important;
  }
  .d-sm-none {
    display: none;
  }
}
@media (min-width: 768px) {
  .d-md-block {
    display: block !important;
  }
  .d-md-none {
    display: none;
  }
}
@media (min-width: 992px) {
  .d-lg-block {
    display: block !important;
  }
  .d-lg-none {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .d-xl-block {
    display: block !important;
  }
  .d-xl-none {
    display: none;
  }
}
@media (min-width: 1601px) {
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-none {
    display: none;
  }
}
@media (min-width: 992px) {
  .d-lg-inline {
    display: inline !important;
  }
}
.full-width {
  width: 100% !important;
  max-width: 100% !important;
}

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

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

.ml-0 {
  margin-left: 0 !important;
}

.mr-0 {
  margin-right: 0 !important;
}

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

.bg-section {
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.bg-section.with-overlay::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.2);
}

.bg-dark {
  background-color: var(--color-dark);
}

.bg-dark .h1, .bg-dark .h2, .bg-dark .h3, .bg-dark .h4, .bg-dark .h5, .bg-dark .h6, .bg-dark p, .bg-dark a, .bg-dark ul, .bg-dark li, .bg-dark i, .bg-dark span, .bg-dark strong {
  color: var(--color-light);
}

.bg-light {
  background-color: var(--color-light);
}

.bg-light .h1, .bg-light .h2, .bg-light .h3, .bg-light .h4, .bg-light .h5, .bg-light .h6, .bg-light p, .bg-light a, .bg-light ul, .bg-light li, .bg-light i, .bg-light span, .bg-light strong {
  color: var(--color-dark);
}

.bg-dark-panna {
  background-color: var(--dark-panna);
}

.bg-blue {
  background-color: var(--blue);
}

.bg-blue .img-gradient {
  display: flex;
}

.bg-blue .img-gradient:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #0a2540;
  background: linear-gradient(0deg, rgba(10, 37, 64, 0.04) 40%, rgb(10, 37, 64) 100%);
}

@media (min-width: 992px) {
  .bg-blue .img-gradient:after {
    background: #0a2540;
    background: linear-gradient(90deg, rgba(10, 37, 64, 0.04) 40%, rgb(10, 37, 64) 100%);
  }
}
.bg-blue .img-gradient.left:after {
  background: #0a2540;
  background: linear-gradient(0deg, rgba(10, 37, 64, 0.04) 40%, rgb(10, 37, 64) 100%);
}

@media (min-width: 992px) {
  .bg-blue .img-gradient.left:after {
    background: #0a2540;
    background: linear-gradient(270deg, rgba(10, 37, 64, 0.37) 0%, rgb(10, 37, 64) 100%);
  }
}
.bg-mid-panna {
  background-color: var(--mid-panna);
}

.bg-mid-panna .img-gradient {
  display: flex;
}

.bg-mid-panna .img-gradient:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #ece9de;
  background: linear-gradient(0deg, rgba(236, 233, 222, 0.04) 40%, rgb(236, 233, 222) 100%);
}

@media (min-width: 992px) {
  .bg-mid-panna .img-gradient:after {
    background: #ece9de;
    background: linear-gradient(90deg, rgba(236, 233, 222, 0.04) 40%, rgb(236, 233, 222) 100%);
  }
}
.bg-green {
  background-color: var(--green);
}

.bg-green .img-gradient {
  display: flex;
}

.bg-green .img-gradient:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #4f6814;
  background: linear-gradient(0deg, rgba(79, 104, 20, 0.14) 0%, rgb(79, 104, 20) 100%);
}

@media (min-width: 992px) {
  .bg-green .img-gradient:after {
    background: #4f6814;
    background: linear-gradient(90deg, rgba(79, 104, 20, 0.14) 0%, rgb(79, 104, 20) 100%);
  }
}
.bg-light-blue {
  background-color: var(--light-blue);
}

.bg-violet {
  background-color: var(--violet);
}

.bg-sabbia {
  background-color: var(--sabbia);
}

.color-dark:not(.btn):not(.fa-chevron-right):not(.fa-upload), .color-dark *:not(.btn):not(.fa-chevron-right):not(.fa-upload) {
  color: var(--color-dark);
}

.color-light:not(.btn):not(.fa-chevron-right):not(.fa-upload), .color-light *:not(.btn):not(.fa-chevron-right):not(.fa-upload) {
  color: var(--color-light);
}

.color-text:not(.btn):not(.fa-chevron-right):not(.fa-upload), .color-text *:not(.btn):not(.fa-chevron-right):not(.fa-upload) {
  color: var(--grey);
}

.color-text-dark:not(.btn):not(.fa-chevron-right):not(.fa-upload), .color-text-dark *:not(.btn):not(.fa-chevron-right):not(.fa-upload) {
  color: var(--grey-dark);
}

.color-blue:not(.btn):not(.fa-chevron-right):not(.fa-upload), .color-blue *:not(.btn):not(.fa-chevron-right):not(.fa-upload) {
  color: var(--blue);
}

.color-green:not(.btn):not(.fa-chevron-right):not(.fa-upload), .color-green *:not(.btn):not(.fa-chevron-right):not(.fa-upload) {
  color: var(--green);
}

.color-light-blue:not(.btn):not(.fa-chevron-right):not(.fa-upload), .color-light-blue *:not(.btn):not(.fa-chevron-right):not(.fa-upload) {
  color: var(--light-blue);
}

.color-violet:not(.btn):not(.fa-chevron-right):not(.fa-upload), .color-violet *:not(.btn):not(.fa-chevron-right):not(.fa-upload) {
  color: var(--violet);
}

.color-sabbia:not(.btn):not(.fa-chevron-right):not(.fa-upload), .color-sabbia *:not(.btn):not(.fa-chevron-right):not(.fa-upload) {
  color: var(--sabbia);
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

@media (min-width: 992px) {
  .order-lg-1 {
    order: 1;
  }
  .order-lg-2 {
    order: 2;
  }
}
.order-3 {
  order: 3 !important;
}

.order-4 {
  order: 4 !important;
}

.order-5 {
  order: 5 !important;
}

.order-6 {
  order: 6 !important;
}

@font-face {
  font-family: "ClashDisplay";
  src: url("../fonts/ClashDisplay-ExtraLight.eot");
  src: url("../fonts/ClashDisplay-ExtraLight.eot?#iefix") format("embedded-opentype"), url("../fonts/ClashDisplay-Extralight.woff2") format("woff2"), url("../fonts/ClashDisplay-Extralight.woff") format("woff"), url("../fonts/ClashDisplay-Extralight.ttf") format("truetype");
  font-weight: 200;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: "ClashDisplay";
  src: url("../fonts/ClashDisplay-Light.eot");
  src: url("../fonts/ClashDisplay-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/ClashDisplay-Light.woff2") format("woff2"), url("../fonts/ClashDisplay-Light.woff") format("woff"), url("../fonts/ClashDisplay-Light.ttf") format("truetype");
  font-weight: 300;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: "ClashDisplay";
  src: url("../fonts/ClashDisplay-Regular.eot");
  src: url("../fonts/ClashDisplay-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/ClashDisplay-Regular.woff2") format("woff2"), url("../fonts/ClashDisplay-Regular.woff") format("woff"), url("../fonts/ClashDisplay-Regular.ttf") format("truetype");
  font-weight: 400;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: "ClashDisplay";
  src: url("../fonts/ClashDisplay-Medium.eot");
  src: url("../fonts/ClashDisplay-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/ClashDisplay-Medium.woff2") format("woff2"), url("../fonts/ClashDisplay-Medium.woff") format("woff"), url("../fonts/ClashDisplay-Medium.ttf") format("truetype");
  font-weight: 500;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: "ClashDisplay";
  src: url("../fonts/ClashDisplay-Semibold.eot");
  src: url("../fonts/ClashDisplay-Semibold.eot?#iefix") format("embedded-opentype"), url("../fonts/ClashDisplay-Semibold.woff2") format("woff2"), url("../fonts/ClashDisplay-Semibold.woff") format("woff"), url("../fonts/ClashDisplay-Semibold.ttf") format("truetype");
  font-weight: 600;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: "ClashDisplay";
  src: url("../fonts/ClashDisplay-Bold.eot");
  src: url("../fonts/ClashDisplay-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/ClashDisplay-Bold.woff2") format("woff2"), url("../fonts/ClashDisplay-Bold.woff") format("woff"), url("../fonts/ClashDisplay-Bold.ttf") format("truetype");
  font-weight: 700;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: "Satoshi";
  src: url("../fonts/Satoshi-Light.eot");
  src: url("../fonts/Satoshi-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/Satoshi-Light.woff2") format("woff2"), url("../fonts/Satoshi-Light.woff") format("woff"), url("../fonts/Satoshi-Light.ttf") format("truetype");
  font-weight: 300;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: "Satoshi";
  src: url("../fonts/Satoshi-Regular.eot");
  src: url("../fonts/Satoshi-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/Satoshi-Regular.woff2") format("woff2"), url("../fonts/Satoshi-Regular.woff") format("woff"), url("../fonts/Satoshi-Regular.ttf") format("truetype");
  font-weight: 400;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: "Satoshi";
  src: url("../fonts/Satoshi-Medium.eot");
  src: url("../fonts/Satoshi-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/Satoshi-Medium.woff2") format("woff2"), url("../fonts/Satoshi-Medium.woff") format("woff"), url("../fonts/Satoshi-Medium.ttf") format("truetype");
  font-weight: 500;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: "Satoshi";
  src: url("../fonts/Satoshi-Bold.eot");
  src: url("../fonts/Satoshi-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/Satoshi-Bold.woff2") format("woff2"), url("../fonts/Satoshi-Bold.woff") format("woff"), url("../fonts/Satoshi-Bold.ttf") format("truetype");
  font-weight: 700;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: "Satoshi";
  src: url("../fonts/Satoshi-Black.eot");
  src: url("../fonts/Satoshi-Black.eot?#iefix") format("embedded-opentype"), url("../fonts/Satoshi-Black.woff2") format("woff2"), url("../fonts/Satoshi-Black.woff") format("woff"), url("../fonts/Satoshi-Black.ttf") format("truetype");
  font-weight: 900;
  font-display: swap;
  font-style: normal;
}
body {
  font-family: var(--font-family);
  color: var(--color-default);
  font-size: var(--font-size);
  font-weight: 500;
  line-height: 1.3;
  font-smooth: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body .light {
  font-weight: 300;
}

body .regular {
  font-weight: 400;
}

body .medium {
  font-weight: 500;
}

body .semibold {
  font-weight: 600;
}

body .bold {
  font-weight: 700;
}

.inherit {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  display: inherit;
  font-family: inherit;
}

p, .p, strong, b, time, i {
  font-family: var(--font-family);
  color: var(--color-default);
  font-size: var(--font-size);
  margin-top: 0;
  margin-bottom: 8px;
  font-weight: 500;
  line-height: 1.5;
}

p.font-evident span, .p.font-evident span, strong.font-evident span, b.font-evident span, time.font-evident span, i.font-evident span {
  background-color: var(--yellow);
  color: var(--blue) !important;
}

a {
  font-family: var(--font-family);
  color: var(--color-default);
  font-size: var(--font-size);
  margin-top: 0;
  margin-bottom: 8px;
  font-weight: 600;
  line-height: 1.5;
}

ul {
  padding-inline-start: 25px;
}

ul, li {
  font-family: var(--font-family);
  color: var(--color-default);
  font-size: var(--font-size);
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 500;
  line-height: 1.5;
}

strong, b, .strong {
  font-weight: 600;
}

.text-shadow {
  text-shadow: 1px 1px 0 var(--color-light);
}

.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--font-family-title);
  line-height: 1.1;
  display: block;
  color: var(--blue);
}

.h1 p, .h1 .p, .h1 ul, .h1 li, .h1 a, .h1 span, .h1 strong, .h1 .strong, .h1 b, .h1 time, .h1 i, .h2 p, .h2 .p, .h2 ul, .h2 li, .h2 a, .h2 span, .h2 strong, .h2 .strong, .h2 b, .h2 time, .h2 i, .h3 p, .h3 .p, .h3 ul, .h3 li, .h3 a, .h3 span, .h3 strong, .h3 .strong, .h3 b, .h3 time, .h3 i, .h4 p, .h4 .p, .h4 ul, .h4 li, .h4 a, .h4 span, .h4 strong, .h4 .strong, .h4 b, .h4 time, .h4 i, .h5 p, .h5 .p, .h5 ul, .h5 li, .h5 a, .h5 span, .h5 strong, .h5 .strong, .h5 b, .h5 time, .h5 i, .h6 p, .h6 .p, .h6 ul, .h6 li, .h6 a, .h6 span, .h6 strong, .h6 .strong, .h6 b, .h6 time, .h6 i {
  font-family: inherit;
  line-height: inherit;
  font-size: inherit;
  margin-bottom: inherit;
  margin-top: inherit;
}

.h1.p-style, .h2.p-style, .h3.p-style, .h4.p-style, .h5.p-style, .h6.p-style {
  font-family: var(--font-family);
}

.h1 {
  font-size: var(--h1-font-size);
  font-weight: var(--h1-font-weight);
  margin-bottom: var(--h1-margin-bottom);
  margin-top: 0;
}

.h1.h1-medium {
  font-size: clamp(2.5rem, 6vw, 6.25rem);
}

.h1.h1-big {
  font-size: clamp(5rem, 6vw, 9.375rem);
}

.h2 {
  font-size: var(--h2-font-size);
  font-weight: var(--h2-font-weight);
  margin-bottom: var(--h2-margin-bottom);
  margin-top: 0;
}

.h3 {
  font-size: var(--h3-font-size);
  font-weight: var(--h3-font-weight);
  margin-bottom: var(--h3-margin-bottom);
  margin-top: 0;
}

.h3.bigger {
  font-size: clamp(1.625rem, 2vw, 2.375rem);
}

.h4 {
  font-size: var(--h4-font-size);
  font-weight: var(--h4-font-weight);
  margin-bottom: var(--h4-margin-bottom);
  margin-top: 0;
}

.h5 {
  font-size: var(--h5-font-size);
  font-weight: var(--h5-font-weight);
  margin-bottom: var(--h5-margin-bottom);
  margin-top: 0;
}

.h6 {
  font-size: var(--h6-font-size);
  font-weight: var(--h6-font-weight);
  margin-bottom: var(--h6-margin-bottom);
  margin-top: 0;
}

.p h1, .p h2, .p h3, .p h4, .p h5, .p h6 {
  font-family: var(--font-family-title);
  line-height: 1.1;
  display: block;
  color: var(--blue) !important;
}

.p h1 {
  font-size: var(--h1-font-size);
  font-weight: var(--h1-font-weight);
  margin-bottom: var(--h1-margin-bottom);
  margin-top: 26px;
}

.p h2 {
  font-size: var(--h2-font-size);
  font-weight: var(--h2-font-weight);
  margin-bottom: var(--h2-margin-bottom);
  margin-top: 26px;
}

.p h3 {
  font-size: var(--h3-font-size);
  font-weight: var(--h3-font-weight);
  margin-bottom: var(--h3-margin-bottom);
  margin-top: 26px;
}

.p h4 {
  font-size: var(--h4-font-size);
  font-weight: var(--h4-font-weight);
  margin-bottom: var(--h4-margin-bottom);
  margin-top: 26px;
}

.p h5 {
  font-size: var(--h5-font-size);
  font-weight: var(--h5-font-weight);
  margin-bottom: var(--h5-margin-bottom);
  margin-top: 26px;
}

.p h6 {
  font-size: var(--h6-font-size);
  font-weight: var(--h6-font-weight);
  margin-bottom: var(--h6-margin-bottom);
  margin-top: 26px;
}

.p.p-no-margin h1, .p.p-no-margin h2, .p.p-no-margin h3, .p.p-no-margin h4, .p.p-no-margin h5, .p.p-no-margin h6 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: var(--h1-font-size);
}

.text-underline {
  text-decoration: underline;
}

.font-title {
  font-family: var(--font-family-title);
}

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

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

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

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

.text-uppercase {
  text-transform: uppercase;
}

.text-lowercase {
  text-transform: lowercase;
}

.text-capitalize {
  text-transform: capitalize;
}

.text-extralight {
  font-weight: 200;
}

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

.text-normal {
  font-weight: 400;
}

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

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

.text-extra-bold {
  font-weight: 800;
}

.debug\:css {
  --debug-color: var(--color-default);
}

.debug\:css * {
  outline: 1px dashed var(--debug-color);
}

.debug\:css\:red {
  --debug-color: red;
}

.debug\:css\:red * {
  outline: 1px dashed var(--debug-color);
}

.block-grids {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 25px;
  gap: 25px;
}

@media (min-width: 992px) {
  .block-grids {
    grid-gap: 50px;
    gap: 50px;
  }
}
.block-grids.no-gap {
  grid-gap: 0;
  gap: 0;
}

.block-grids.small-gap {
  grid-gap: 20px;
  gap: 20px;
}

.block-grids.min-gap {
  grid-gap: 16px;
  gap: 16px;
}

@media (min-width: 992px) {
  .block-grids.columns-2 {
    grid-template-columns: 1fr 1fr;
  }
}
.block-grids.columns-2.menu-block {
  grid-gap: 0 20px;
  gap: 0 20px;
}

@media (min-width: 992px) {
  .block-grids.columns-2.menu-block {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-2.menu-block {
    grid-template-columns: 1fr 0.8fr;
  }
}
@media (min-width: 576px) {
  .block-grids.columns-2.prefooter-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-2.prefooter-grid {
    grid-template-columns: 0.6fr 1.2fr;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-2.blog-detail-block {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-2.blog-detail-block {
    grid-template-columns: 0.4fr 1.6fr;
  }
}
.block-grids.columns-2.desc-grid {
  grid-template-columns: 1fr 40px;
}

@media (min-width: 992px) {
  .block-grids.columns-2.desc-grid {
    grid-template-columns: 1fr 40px;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-2.desc-grid {
    grid-template-columns: 1fr 40px;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-2.progetto-detail-block {
    grid-template-columns: 0.9fr 1.1fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-2.progetto-detail-block {
    grid-template-columns: 0.9fr 1.1fr;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-2.small-left {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-2.small-left {
    grid-template-columns: 0.6fr 1.4fr;
  }
}
.block-grids.columns-2.mappa-item {
  grid-template-columns: 100px 1fr;
}

@media (min-width: 992px) {
  .block-grids.columns-2.mappa-item {
    grid-template-columns: 100px 1fr;
  }
}
@media (min-width: 768px) {
  .block-grids.columns-3 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-3 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-3 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 768px) {
  .block-grids.columns-3.blog-block-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-3.blog-block-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-3.blog-block-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.block-grids.columns-3.animate-photo {
  grid-template-columns: 0 1fr 0;
}

@media (min-width: 768px) {
  .block-grids.columns-3.animate-photo {
    grid-template-columns: 0.5fr 2fr 0.5fr;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-3.animate-photo {
    grid-template-columns: 0.5fr 2fr 0.5fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-3.animate-photo {
    grid-template-columns: 1fr 2fr 1fr;
  }
}
.block-grids.columns-3.step-blocks {
  position: relative;
}

@media (min-width: 768px) {
  .block-grids.columns-3.step-blocks {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-3.step-blocks {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-3.step-blocks {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.block-grids.columns-3.step-blocks .step-grid .inside {
  padding: 40px 0 0;
}

@media (min-width: 992px) {
  .block-grids.columns-3.step-blocks .step-grid .inside {
    padding: 60px 0 0;
  }
}
.block-grids.columns-3.step-blocks .step-grid .inside .p {
  padding-right: 60px !important;
}

.block-grids.columns-3.step-blocks .step-grid .inside:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 24px;
  height: 24px;
  border-radius: 25px;
  background-color: var(--pilastro-color, var(--dark-panna));
  border: 1px solid var(--pilastro-color, var(--dark-panna));
  z-index: 1;
}

.block-grids.columns-3.step-blocks .step-grid .inside:after {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  width: 100%;
  height: 1px;
  border-bottom: 1px solid #cacaca;
  z-index: 0;
}

.block-grids.columns-3.step-blocks .step-grid.progess .inside:before {
  width: 10px;
  height: 10px;
  border: 8px solid var(--pilastro-color, var(--violet));
  background-color: var(--color-light);
}

.block-grids.columns-3.step-blocks .step-grid.disabled .inside {
  opacity: 0.4;
}

.block-grids.columns-3.step-blocks .step-grid.disabled .inside:before {
  background-color: var(--color-light);
}

.block-grids.columns-3.guadagno-blocks {
  position: relative;
}

@media (min-width: 768px) {
  .block-grids.columns-3.guadagno-blocks {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-3.guadagno-blocks {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-3.guadagno-blocks {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.block-grids.columns-3.guadagno-blocks .guadagno-grid .inside .title {
  padding-left: 20px;
}

@media (min-width: 992px) {
  .block-grids.columns-3.guadagno-blocks .guadagno-grid .inside .p {
    padding-right: 60px !important;
  }
}
.block-grids.columns-3.guadagno-blocks .guadagno-grid .inside:before {
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 25px;
  z-index: 1;
}

@media (min-width: 992px) {
  .block-grids.columns-3.guadagno-blocks .guadagno-grid .inside:before {
    top: 8px;
  }
}
.block-grids.columns-3.guadagno-blocks .guadagno-grid .inside:after {
  content: "";
  position: absolute;
  z-index: 0;
  bottom: 20px;
  left: 0;
  width: 100%;
  height: 1px;
  border-bottom: 1px solid #cacaca;
}

@media (min-width: 992px) {
  .block-grids.columns-3.guadagno-blocks .guadagno-grid .inside:after {
    top: 0;
    right: 35px;
    width: 1px;
    height: 100%;
    border-right: 1px solid #cacaca;
    border-bottom: none;
    left: unset;
  }
}
.block-grids.columns-3.guadagno-blocks .guadagno-grid .inside.button-green::before {
  background-color: var(--green);
  border: 1px solid var(--green);
}

.block-grids.columns-3.guadagno-blocks .guadagno-grid .inside.button-light-blue::before {
  background-color: var(--light-blue);
  border: 1px solid var(--light-blue);
}

.block-grids.columns-3.guadagno-blocks .guadagno-grid .inside.button-sabbia::before {
  background-color: var(--sabbia);
  border: 1px solid var(--sabbia);
}

.block-grids.columns-3.guadagno-blocks .guadagno-grid .inside.button-violet::before {
  background-color: var(--violet);
  border: 1px solid var(--violet);
}

.block-grids.columns-3.guadagno-blocks .guadagno-grid:last-child .inside:after {
  display: none;
}

@media (min-width: 576px) {
  .block-grids.columns-4 {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-4 {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
@media (min-width: 576px) {
  .block-grids.columns-4.prefooter-diff-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-4.prefooter-diff-grid {
    grid-template-columns: 1.2fr 1.2fr 1fr 0.8fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-4.prefooter-diff-grid {
    grid-template-columns: 1.2fr 1.2fr 1.2fr 0.5fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-4.prefooter-diff-grid .p-right {
    padding-right: 60px !important;
  }
}
.block-grids.columns-5 {
  grid-template-columns: 1fr;
}

@media (min-width: 576px) {
  .block-grids.columns-5 {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 768px) {
  .block-grids.columns-5 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-5 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  }
}
.block-grids.columns-6 {
  grid-template-columns: 1fr;
}

@media (min-width: 576px) {
  .block-grids.columns-6 {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 768px) {
  .block-grids.columns-6 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-6 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 1400px) {
  .block-grids.columns-6 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  }
}
.block-grids .grid {
  position: relative;
}

.block-grids.inverted .grid:first-child {
  order: 1;
}

@media (min-width: 992px) {
  .block-grids.inverted .grid:first-child {
    order: 2;
  }
}
.block-grids.inverted .grid:last-child {
  order: 2;
}

@media (min-width: 992px) {
  .block-grids.inverted .grid:last-child {
    order: 1;
  }
}
.block-grids.mobile-inverted > .grid:first-child {
  order: 2;
}

@media (min-width: 992px) {
  .block-grids.mobile-inverted > .grid:first-child {
    order: 1;
  }
}
.block-grids.mobile-inverted > .grid:last-child {
  order: 1;
}

@media (min-width: 992px) {
  .block-grids.mobile-inverted > .grid:last-child {
    order: 2;
  }
}
@media (min-width: 992px) {
  .block-sticky-grid .fix-block.h-auto {
    height: auto;
    position: relative;
    top: unset;
  }
}
@media (min-width: 992px) {
  .block-sticky-grid .fix-block-sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 100px;
  }
}
@media (min-width: 992px) {
  .block-sticky-grid .fix-block-sticky.h-auto {
    height: auto;
    position: relative;
    top: unset;
  }
}
ul.breadcrumbs {
  padding: 10px 0;
  margin: 0;
  list-style: none;
  align-items: start;
  text-align: left;
  display: flex;
  justify-content: start;
  position: relative;
  z-index: 1;
  color: var(--blue);
}

ul.breadcrumbs li {
  padding-left: 5px;
  padding-right: 5px;
  color: var(--blue);
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 500;
  margin-bottom: 0;
  align-items: start;
}

@media (max-width: 767px) {
  ul.breadcrumbs li {
    font-size: 0.75rem;
  }
}
ul.breadcrumbs li:first-child {
  padding-left: 0;
}

ul.breadcrumbs li a {
  color: var(--grey-dark);
  font-size: 0.75rem;
  margin-bottom: 0;
  font-weight: 500;
  white-space: nowrap;
}

@media (max-width: 767px) {
  ul.breadcrumbs li a {
    font-size: 0.75rem;
  }
}
ul.breadcrumbs li:after {
  content: ">";
  margin-left: 10px;
  color: var(--grey-dark);
}

ul.breadcrumbs li:last-child::after {
  display: none;
}

ul.breadcrumbs.a-center {
  justify-content: center;
}

ul.breadcrumbs.light {
  color: var(--color-light);
}

ul.breadcrumbs.light li {
  color: var(--color-light);
}

ul.breadcrumbs.light li:after {
  content: ">";
  margin-left: 10px;
  color: var(--color-light);
}

ul.breadcrumbs.light li a {
  color: var(--color-light);
}

.btn {
  --border-radius:25px;
  --bg-color: var(--panna);
  --text-color: var(--color-dark);
  --border-color: var(--panna);
  --bg-color-hover: var(--dark-panna);
  --text-color-hover: var(--color-light);
  --border-color-hover: var(--dark-panna);
  position: relative;
  font-family: var(--font-family);
  transition: var(--transition-default);
  text-decoration: none;
  cursor: pointer;
  outline: none;
  text-align: center;
  border-radius: var(--border-radius);
  line-height: 1;
  width: 100%;
  font-size: 1rem;
  font-weight: 500;
  margin-bottom: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  border: solid 1px var(--border-color);
  background-color: var(--bg-color);
  color: var(--text-color);
}

@media (min-width: 768px) {
  .btn {
    width: auto;
  }
}
.btn:hover, .btn:focus, .btn:active, .btn:not(:disabled):active {
  color: var(--text-color-hover);
  background-color: var(--bg-color-hover);
  border-color: var(--border-color-hover);
}

.btn.btn-color {
  --bg-color: var(--yellow);
  --text-color: var(--blue);
  --border-color: var(--yellow);
  --bg-color-hover: var(--dark-yellow);
  --text-color-hover: var(--blue);
  --border-color-hover: var(--dark-yellow);
}

.btn.btn-dark {
  --bg-color: var(--color-dark);
  --text-color: var(--color-light);
  --border-color: var(--color-dark);
  --bg-color-hover: var(--color-light);
  --text-color-hover: var(--color-dark);
  --border-color-hover: var(--color-dark);
}

.btn.btn-panna {
  --bg-color: var(--mid-panna);
  --text-color: var(--color-dark);
  --border-color: var(--mid-panna);
  --bg-color-hover: var(--dark-panna);
  --text-color-hover: var(--color-dark);
  --border-color-hover: var(--dark-panna);
}

.btn.btn-light {
  --bg-color: var(--color-light);
  --text-color: var(--color-dark);
  --border-color: var(--color-light);
  --bg-color-hover: var(--mid-panna);
  --text-color-hover: var(--color-dark);
  --border-color-hover: var(--panna);
}

.btn.btn-green {
  padding: 6px 15px;
  --bg-color: var(--green);
  --text-color: var(--color-light);
  --border-color: var(--green);
  --bg-color-hover: var(--green);
  --text-color-hover: var(--color-light);
  --border-color-hover: var(--green);
}

.btn.btn-sabbia {
  padding: 6px 15px;
  --bg-color: var(--sabbia);
  --text-color: var(--color-light);
  --border-color: var(--sabbia);
  --bg-color-hover: var(--sabbia);
  --text-color-hover: var(--color-light);
  --border-color-hover: var(--sabbia);
}

.btn.btn-light-blue {
  padding: 6px 15px;
  --bg-color: var(--light-blue);
  --text-color: var(--color-light);
  --border-color: var(--light-blue);
  --bg-color-hover: var(--light-blue);
  --text-color-hover: var(--color-light);
  --border-color-hover: var(--light-blue);
}

.btn.btn-violet {
  padding: 6px 15px;
  --bg-color: var(--violet);
  --text-color: var(--color-light);
  --border-color: var(--violet);
  --bg-color-hover: var(--violet);
  --text-color-hover: var(--color-light);
  --border-color-hover: var(--violet);
}

.pillola {
  padding: 7px 10px;
  background: hsla(0, 0%, 100%, 0.3);
  border-radius: 16px;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(10px);
  width: auto;
  color: var(--color-light);
  font-weight: 500;
  display: inline-block;
  margin: 0;
  line-height: 1;
}

.pillola.dark-panna {
  background: #ece9de;
  box-shadow: none;
  backdrop-filter: blur(0);
  color: var(--color-dark);
}

.tag {
  padding: 6px 15px;
  color: var(--color-light);
  border-radius: 25px;
  font-size: 1rem;
  font-weight: 500;
  display: inline-block;
  margin: 0;
  line-height: 1;
}

.tag img {
  width: 20px;
  height: 20px;
  margin-right: 5px;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
}

.tag span {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
}

.form-contatti {
  display: block;
}

.form-contatti .contact-form {
  width: 100%;
}

.form-contatti .contact-form .form-group {
  display: block;
  align-items: center;
  margin-bottom: 16px;
}

@media (min-width: 768px) {
  .form-contatti .contact-form .form-group {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 16px;
    gap: 16px;
    margin-bottom: 20px;
  }
}
.form-contatti .contact-form .form-group:last-child {
  margin-bottom: 0px;
}

.form-contatti .contact-form .form-group.allegato-form {
  margin-top: 25px;
  margin-bottom: 25px;
}

.form-contatti .contact-form .form-group .form-input {
  flex: 1;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0px;
  width: 100%;
  position: relative;
}

@media (min-width: 768px) {
  .form-contatti .contact-form .form-group .form-input {
    width: auto;
  }
}
@media (max-width: 767px) {
  .form-contatti .contact-form .form-group .form-input:first-child {
    margin-bottom: 16px;
  }
}
.form-contatti .contact-form .form-group .form-input .title-form {
  color: var(--color-dark);
  font-size: 14px;
  font-weight: 400;
  display: block;
}

.form-contatti .contact-form .form-group .form-input input[type=text], .form-contatti .contact-form .form-group .form-input input[type=number], .form-contatti .contact-form .form-group .form-input input[type=email], .form-contatti .contact-form .form-group .form-input input[type=password], .form-contatti .contact-form .form-group .form-input textarea {
  width: 100%;
  outline: none;
  border: 1px solid var(--panna);
  border-radius: 25px;
  padding: 16px 60px 16px 16px;
  box-sizing: border-box;
  background: var(--panna);
  color: var(--grey-dark);
  font-size: 1rem;
  font-weight: 400;
  font-family: var(--font-family);
}

.form-contatti .contact-form .form-group .form-input input[type=text]::placeholder, .form-contatti .contact-form .form-group .form-input input[type=number]::placeholder, .form-contatti .contact-form .form-group .form-input input[type=email]::placeholder, .form-contatti .contact-form .form-group .form-input input[type=password]::placeholder, .form-contatti .contact-form .form-group .form-input textarea::placeholder {
  color: var(--grey-dark);
  opacity: 1;
}

.form-contatti .contact-form .form-group .form-input input[type=text]:-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=number]:-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=email]:-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=password]:-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input textarea:-ms-input-placeholder {
  color: var(--grey-dark);
  opacity: 1;
}

.form-contatti .contact-form .form-group .form-input input[type=text]::-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=number]::-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=email]::-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=password]::-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input textarea::-ms-input-placeholder {
  color: var(--grey-dark);
  opacity: 1;
}

.form-contatti .contact-form .form-group .form-input input[type=text].mid-panna, .form-contatti .contact-form .form-group .form-input input[type=number].mid-panna, .form-contatti .contact-form .form-group .form-input input[type=email].mid-panna, .form-contatti .contact-form .form-group .form-input input[type=password].mid-panna, .form-contatti .contact-form .form-group .form-input textarea.mid-panna {
  background: var(--mid-panna);
}

.form-contatti .contact-form .form-group .form-input input[type=text].mid-panna::placeholder, .form-contatti .contact-form .form-group .form-input input[type=number].mid-panna::placeholder, .form-contatti .contact-form .form-group .form-input input[type=email].mid-panna::placeholder, .form-contatti .contact-form .form-group .form-input input[type=password].mid-panna::placeholder, .form-contatti .contact-form .form-group .form-input textarea.mid-panna::placeholder {
  color: var(--grey-dark);
  opacity: 1;
}

.form-contatti .contact-form .form-group .form-input input[type=text].mid-panna:-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=number].mid-panna:-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=email].mid-panna:-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=password].mid-panna:-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input textarea.mid-panna:-ms-input-placeholder {
  color: var(--grey-dark);
  opacity: 1;
}

.form-contatti .contact-form .form-group .form-input input[type=text].mid-panna::-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=number].mid-panna::-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=email].mid-panna::-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=password].mid-panna::-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input textarea.mid-panna::-ms-input-placeholder {
  color: var(--grey-dark);
  opacity: 1;
}

.form-contatti .contact-form .form-group .form-input input[type=number]::-webkit-outer-spin-button, .form-contatti .contact-form .form-group .form-input input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.form-contatti .contact-form .form-group .form-input input[type=number] {
  -moz-appearance: textfield;
}

.form-contatti .contact-form .form-group .form-input select {
  width: 100%;
  outline: none;
  border: 1px solid var(--panna);
  border-radius: 25px;
  padding: 16px 60px 16px 16px;
  background-color: var(--panna);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-position: 97% center;
  background-repeat: no-repeat;
  background-image: url(../img/icone/arrow-select.svg);
  box-sizing: border-box;
  color: var(--grey-dark);
  font-size: 1rem;
  font-weight: 400;
  position: relative;
  z-index: 1;
  font-family: var(--font-family);
}

.form-contatti .contact-form .form-group .form-input select + .select-arrow {
  position: absolute;
  right: 15px;
  top: 12px;
  margin-bottom: 0;
}

.form-contatti .contact-form .form-group .form-input select.mid-panna {
  background-color: var(--mid-panna);
}

.form-contatti .contact-form .form-group .form-input select.mid-panna::placeholder {
  color: var(--grey-dark);
  opacity: 1;
}

.form-contatti .contact-form .form-group .form-input select.mid-panna:-ms-input-placeholder {
  color: var(--grey-dark);
  opacity: 1;
}

.form-contatti .contact-form .form-group .form-input select.mid-panna::-ms-input-placeholder {
  color: var(--grey-dark);
  opacity: 1;
}

.form-contatti .contact-form .form-group .form-input textarea {
  width: 100%;
  outline: none;
  font-family: var(--font-family);
  font-size: 1rem;
}

.form-contatti .contact-form .form-group .form-input.privacy-container {
  display: flex;
  align-items: baseline;
  margin-bottom: 5px;
  position: relative;
}

.form-contatti .contact-form .form-group .form-input.privacy-container input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 15px;
  width: 15px;
  z-index: 2;
}

.form-contatti .contact-form .form-group .form-input.privacy-container .checkmark {
  position: absolute;
  top: 1px;
  left: 0;
  height: 20px;
  width: 20px;
  background: rgba(0, 0, 0, 0);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
  border: 1px solid #999;
  border-radius: 5px;
  margin-bottom: 0;
}

.form-contatti .contact-form .form-group .form-input.privacy-container .checkmark:after {
  content: "";
  position: absolute;
  display: none;
  left: 2px;
  top: 2px;
  width: 14px;
  height: 14px;
  border-radius: 3px;
  background-color: var(--color-dark);
}

.form-contatti .contact-form .form-group .form-input.privacy-container input:checked ~ .checkmark:after {
  display: block;
}

.form-contatti .contact-form .form-group .form-input.privacy-container label {
  font-size: 16px;
  color: var(--color-dark);
  padding-left: 26px;
  cursor: pointer;
  text-transform: initial !important;
}

.form-contatti .contact-form .form-group .form-input.privacy-container label a {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-dark);
}

.form-contatti .contact-form .form-group .form-input .pseudo-input-file [type=file] {
  display: none;
}

.form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-files-list {
  width: 100%;
  display: block;
  color: var(--color-dark);
  font-style: italic;
  text-decoration: underline;
  font-size: 16px;
}

@media (min-width: 768px) {
  .form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-files-list {
    position: absolute;
  }
}
.form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-button-input {
  --color-border: var(--color-dark);
  display: flex;
  align-items: center;
  border-radius: 0;
  border-bottom: 1px solid var(--color-dark);
  border-left: none;
  border-right: none;
  border-top: none;
  padding: 7px 0;
  color: var(--color-dark);
  cursor: pointer;
  overflow: hidden;
  position: relative;
  background-color: rgba(0, 0, 0, 0);
  font-size: 18px;
  font-weight: 400;
}

@media (min-width: 992px) {
  .form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-button-input {
    font-size: 22px;
  }
}
@media (min-width: 1441px) {
  .form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-button-input {
    font-size: 35px;
  }
}
.form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-button-input svg {
  margin-right: 10px;
  flex-shrink: 0;
  fill: var(--color-default);
}

.form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-button-input span {
  color: inherit;
}

.form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-button-input::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  transition: var(--transition-default);
  opacity: 0.1;
}

.form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-button-input:hover::before {
  background-color: rgba(0, 0, 0, 0);
}

.form-contatti .contact-form.newsletter .form-group {
  display: flex;
  align-items: center;
  gap: 0;
  position: relative;
  margin-bottom: 10px;
}

.form-contatti .contact-form.newsletter .form-group .form-input input[type=text], .form-contatti .contact-form.newsletter .form-group .form-input input[type=number], .form-contatti .contact-form.newsletter .form-group .form-input input[type=email], .form-contatti .contact-form.newsletter .form-group .form-input input[type=password], .form-contatti .contact-form.newsletter .form-group .form-input textarea {
  width: 100%;
  outline: none;
  border: 1px solid var(--dark-panna);
  border-radius: 25px;
  padding: 15px 60px 15px 15px;
  box-sizing: border-box;
  background: var(--panna);
  color: var(--grey-dark);
  font-size: 1rem;
  font-weight: 400;
}

.form-contatti .contact-form.newsletter .form-group .form-input input[type=text]::placeholder, .form-contatti .contact-form.newsletter .form-group .form-input input[type=number]::placeholder, .form-contatti .contact-form.newsletter .form-group .form-input input[type=email]::placeholder, .form-contatti .contact-form.newsletter .form-group .form-input input[type=password]::placeholder, .form-contatti .contact-form.newsletter .form-group .form-input textarea::placeholder {
  color: #ccc;
  opacity: 1;
}

.form-contatti .contact-form.newsletter .form-group .form-input input[type=text]:-ms-input-placeholder, .form-contatti .contact-form.newsletter .form-group .form-input input[type=number]:-ms-input-placeholder, .form-contatti .contact-form.newsletter .form-group .form-input input[type=email]:-ms-input-placeholder, .form-contatti .contact-form.newsletter .form-group .form-input input[type=password]:-ms-input-placeholder, .form-contatti .contact-form.newsletter .form-group .form-input textarea:-ms-input-placeholder {
  color: #ccc;
  opacity: 1;
}

.form-contatti .contact-form.newsletter .form-group .form-input input[type=text]::-ms-input-placeholder, .form-contatti .contact-form.newsletter .form-group .form-input input[type=number]::-ms-input-placeholder, .form-contatti .contact-form.newsletter .form-group .form-input input[type=email]::-ms-input-placeholder, .form-contatti .contact-form.newsletter .form-group .form-input input[type=password]::-ms-input-placeholder, .form-contatti .contact-form.newsletter .form-group .form-input textarea::-ms-input-placeholder {
  color: #ccc;
  opacity: 1;
}

.form-contatti .contact-form.newsletter .form-group .form-input.privacy-container .checkmark {
  position: absolute;
  top: 3px;
  left: 2px;
  height: 16px;
  width: 16px;
  background: rgba(0, 0, 0, 0);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
  border: 1px solid var(--color-light);
  border-radius: 5px;
  margin-bottom: 0;
}

.form-contatti .contact-form.newsletter .form-group .form-input.privacy-container .checkmark:after {
  content: "";
  position: absolute;
  display: none;
  left: 1px;
  top: 1px;
  width: 12px;
  height: 12px;
  border-radius: 3px;
  background-color: var(--color-light);
}

.form-contatti .contact-form.newsletter .form-group .form-input.privacy-container input:checked ~ .checkmark:after {
  display: block;
}

.form-contatti .contact-form.newsletter .form-group .form-input.privacy-container label {
  font-size: 1rem;
  color: var(--color-light);
  padding-left: 24px;
  cursor: pointer;
  text-transform: initial !important;
}

.form-contatti .contact-form.newsletter .form-group .form-input.privacy-container label a {
  font-size: 1rem;
  font-weight: 500;
  color: var(--color-light);
}

.form-contatti .contact-form.newsletter .form-group .form-input button {
  position: absolute;
  right: 1px;
  margin: 0;
  padding: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: auto;
}

.form-contatti .contact-form.newsletter .form-group .form-input button img {
  width: 20px;
}

[data-form-toggle] {
  display: none;
}

[data-form-toggle].active {
  display: block;
}

.intro {
  position: relative;
  min-height: 100%;
  min-height: 100%;
}

@media (min-width: 992px) {
  .intro {
    min-height: 100vh;
    min-height: 100svh;
    height: 100vh;
    height: 100svh;
  }
}
.intro:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: rgba(245, 242, 236, 0.95);
  background: linear-gradient(180deg, rgba(245, 242, 236, 0.9) 0%, rgba(0, 0, 0, 0.25) 35%, rgba(0, 0, 0, 0.7) 100%);
}

.intro img {
  min-height: 100vh;
  min-height: 100svh;
  height: 100vh;
  height: 100svh;
  object-fit: cover;
  object-position: center;
  display: block;
}

.intro .intro-content {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  z-index: 2;
}

.intro.small {
  min-height: 100%;
  min-height: 100%;
}

@media (min-width: 992px) {
  .intro.small {
    min-height: calc(60vh - 100px);
    min-height: calc(60svh - 100px);
    height: calc(60vh - 100px);
    height: calc(60svh - 100px);
  }
}
.intro.small img {
  object-fit: cover;
  object-position: center;
  display: block;
}

@media (min-width: 992px) {
  .intro.small img {
    min-height: calc(60vh - 100px);
    min-height: calc(60svh - 100px);
    height: calc(60vh - 100px);
    height: calc(60svh - 100px);
  }
}
.intro-azienda {
  position: relative;
  min-height: 100%;
  min-height: 100%;
}

@media (min-width: 992px) {
  .intro-azienda {
    min-height: 100vh;
    min-height: 100svh;
    height: 100vh;
    height: 100svh;
  }
}
.intro-azienda .block-grids {
  position: relative;
  min-height: 100%;
  min-height: 100%;
}

@media (min-width: 992px) {
  .intro-azienda .block-grids {
    min-height: 100vh;
    min-height: 100svh;
    height: 100vh;
    height: 100svh;
  }
}
.intro-azienda .block-grids .grid {
  position: relative;
  min-height: 100%;
  min-height: 100%;
}

@media (min-width: 992px) {
  .intro-azienda .block-grids .grid {
    min-height: 100vh;
    min-height: 100svh;
    height: 100vh;
    height: 100svh;
  }
}
@media (max-width: 991px) {
  .intro-azienda .video-azienda-container {
    max-width: calc(100% - 40px);
    border-radius: 12px;
    margin: 0 auto;
  }
}
@media (min-width: 992px) {
  .intro-azienda .video-azienda-container {
    object-fit: cover;
    position: absolute;
    height: 150%;
    top: 50%;
    transform: translateY(-50%);
    clip-path: polygon(100% 100%, 100% 100%, 99.069% 99.978%, 98.145% 99.912%, 97.237% 99.801%, 96.351% 99.645%, 95.496% 99.445%, 94.68% 99.2%, 93.911% 98.91%, 93.197% 98.574%, 92.545% 98.194%, 91.964% 97.767%, 86.63% 93.356%, 86.63% 93.356%, 85.721% 92.732%, 84.644% 92.205%, 83.429% 91.778%, 82.104% 91.455%, 80.698% 91.24%, 79.241% 91.135%, 77.762% 91.144%, 76.289% 91.269%, 74.853% 91.516%, 73.482% 91.886%, 64.763% 94.724%, 64.763% 94.724%, 62.948% 95.189%, 61.065% 95.439%, 59.171% 95.488%, 57.323% 95.35%, 55.576% 95.038%, 53.988% 94.566%, 52.615% 93.945%, 51.513% 93.191%, 50.739% 92.316%, 50.348% 91.334%, 49.457% 86.236%, 49.457% 86.236%, 49.192% 85.48%, 48.691% 84.777%, 47.974% 84.135%, 47.067% 83.564%, 45.992% 83.072%, 44.773% 82.668%, 43.432% 82.363%, 41.993% 82.164%, 40.479% 82.081%, 38.914% 82.124%, 28.538% 82.832%, 28.538% 82.832%, 26.488% 82.864%, 24.568% 82.689%, 22.818% 82.331%, 21.275% 81.815%, 19.979% 81.164%, 18.969% 80.402%, 18.284% 79.552%, 17.962% 78.639%, 18.043% 77.687%, 18.565% 76.719%, 22.298% 71.933%, 22.298% 71.933%, 22.731% 71.196%, 22.904% 70.456%, 22.828% 69.725%, 22.517% 69.018%, 21.985% 68.347%, 21.243% 67.725%, 20.306% 67.165%, 19.185% 66.68%, 17.895% 66.285%, 16.448% 65.99%, 6.476% 64.432%, 6.476% 64.432%, 4.603% 64.026%, 3.03% 63.462%, 1.771% 62.768%, 0.839% 61.976%, 0.249% 61.115%, 0.014% 60.214%, 0.149% 59.302%, 0.668% 58.411%, 1.584% 57.57%, 2.911% 56.807%, 10.515% 53.288%, 10.515% 53.288%, 11.561% 52.717%, 12.374% 52.086%, 12.955% 51.412%, 13.303% 50.708%, 13.419% 49.99%, 13.303% 49.271%, 12.955% 48.568%, 12.374% 47.893%, 11.561% 47.263%, 10.515% 46.692%, 2.911% 43.172%, 2.911% 43.172%, 1.583% 42.41%, 0.666% 41.568%, 0.147% 40.677%, 0.01% 39.766%, 0.244% 38.865%, 0.833% 38.003%, 1.765% 37.211%, 3.025% 36.518%, 4.6% 35.954%, 6.476% 35.548%, 16.448% 33.989%, 16.448% 33.989%, 17.895% 33.695%, 19.185% 33.299%, 20.306% 32.815%, 21.243% 32.255%, 21.985% 31.633%, 22.517% 30.962%, 22.828% 30.254%, 22.904% 29.524%, 22.731% 28.783%, 22.298% 28.046%, 18.565% 23.261%, 18.565% 23.261%, 18.047% 22.293%, 17.969% 21.34%, 18.292% 20.427%, 18.979% 19.578%, 19.99% 18.816%, 21.285% 18.164%, 22.826% 17.648%, 24.575% 17.291%, 26.492% 17.116%, 28.538% 17.148%, 38.914% 17.856%, 38.914% 17.856%, 40.48% 17.898%, 41.994% 17.816%, 43.435% 17.617%, 44.777% 17.311%, 45.998% 16.908%, 47.073% 16.416%, 47.981% 15.844%, 48.696% 15.202%, 49.196% 14.499%, 49.457% 13.744%, 50.348% 8.645%, 50.348% 8.645%, 50.739% 7.662%, 51.513% 6.786%, 52.615% 6.031%, 53.988% 5.411%, 55.576% 4.939%, 57.323% 4.627%, 59.171% 4.49%, 61.065% 4.54%, 62.948% 4.791%, 64.763% 5.255%, 73.482% 8.094%, 73.482% 8.094%, 74.853% 8.464%, 76.291% 8.711%, 77.764% 8.837%, 79.245% 8.847%, 80.703% 8.742%, 82.11% 8.527%, 83.435% 8.205%, 84.65% 7.778%, 85.724% 7.25%, 86.63% 6.624%, 91.964% 2.212%, 91.964% 2.212%, 91.964% 2.212%, 92.544% 1.793%, 93.194% 1.418%, 93.905% 1.086%, 94.67% 0.798%, 95.482% 0.555%, 96.333% 0.355%, 97.215% 0.2%, 98.12% 0.089%, 99.042% 0.022%, 99.972% 0%);
  }
}
.intro-azienda .video-azienda-container video {
  object-fit: contain;
  object-position: center;
}

@media (max-width: 991px) {
  .intro-azienda .video-azienda-container video {
    width: 100%;
    border-radius: 12px;
    aspect-ratio: 3/4;
    object-fit: cover;
  }
}
.intro-contatti {
  position: relative;
  min-height: 100%;
  min-height: 100%;
  min-height: 80vh;
  min-height: 80svh;
  height: 80vh;
  height: 80svh;
}

@media (min-width: 992px) {
  .intro-contatti {
    min-height: 80vh;
    min-height: 80svh;
    height: 80vh;
    height: 80svh;
  }
}
.intro-contatti:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  background: rgba(0, 0, 0, 0.5);
}

.intro-contatti .intro-clip {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: -1;
  min-height: 80vh;
  min-height: 80svh;
  height: 80vh;
  height: 80svh;
}

@media (min-width: 992px) {
  .intro-contatti .intro-clip {
    min-height: 80vh;
    min-height: 80svh;
    height: 80vh;
    height: 80svh;
  }
}
.intro-contatti.contatti-clip-container .intro-svg {
  position: absolute;
  object-fit: cover;
  object-position: bottom;
  height: 100%;
  bottom: -1px;
}

.mappa-eyebrow, .mappa-sidebar__eyebrow, .mappa-counter__label, .mappa-map-hint {
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.72rem;
  font-weight: 600;
}

.mappa-eyebrow {
  color: var(--pacifico);
  margin-bottom: 12px;
}

.mappa-shell {
  --sidebar-width: var(--block-min-width);
  --sidebar-left-offset: 40px;
  --sidebar-vertical-offset: 16px;
  --panel-gap: 16px;
  position: relative;
  z-index: 1;
  display: block;
  height: 100vh;
  height: 100svh;
  min-height: 100vh;
  min-height: 100svh;
  max-height: 100vh;
  max-height: 100svh;
  overflow: hidden;
}

@media (max-width: 991px) {
  .mappa-shell {
    --sidebar-width: var(--block-min-width);
  }
}
.mappa-shell .mappa-sidebar {
  position: absolute;
  left: var(--sidebar-left-offset);
  top: 50%;
  transform: translateY(-50%);
  height: 80vh;
  width: var(--sidebar-width);
  z-index: 410;
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 26px 24px 22px;
  border-radius: 22px;
  background-color: var(--color-light);
  color: var(--color-dark);
}

.mappa-shell .mappa-sidebar .mappa-sidebar__top {
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(16, 35, 63, 0.08);
}

.mappa-shell .mappa-sidebar .mappa-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.mappa-shell .mappa-sidebar .mappa-filters .mappa-filter {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  appearance: none;
  border: 1px solid var(--panna);
  background: var(--color-light);
  color: var(--grey-dark);
  border-radius: 50px;
  padding: 8px 13px;
  font-family: var(--font-family);
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: var(--transition-default);
}

.mappa-shell .mappa-sidebar .mappa-filters .mappa-filter:hover, .mappa-shell .mappa-sidebar .mappa-filters .mappa-filter.is-active {
  transition: var(--transition-default);
  border-color: var(--blue);
  background-color: var(--blue);
  color: var(--color-light);
}

.mappa-shell .mappa-sidebar .mappa-filters .mappa-filter .mappa-filter__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.65em;
  height: 1.65em;
  padding: 0 0.45em;
  border-radius: 999px;
  font-family: var(--font-family);
  font-size: 0.74rem;
  line-height: 1;
  font-weight: 700;
  background: var(--panna);
  color: var(--color-dark);
}

.mappa-shell .mappa-sidebar .mappa-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 0;
  max-height: none;
  overflow: auto;
  padding-right: 4px;
  margin-top: 2px;
}

@media (min-width: 992px) {
  .mappa-shell .mappa-sidebar .mappa-list {
    flex: 1;
  }
}
.mappa-shell .mappa-sidebar .mappa-list::-webkit-scrollbar {
  width: 4px;
}

.mappa-shell .mappa-sidebar .mappa-list::-webkit-scrollbar-thumb {
  background: rgba(16, 35, 63, 0.16);
  border-radius: 999px;
}

.mappa-shell .mappa-sidebar .mappa-list .mappa-item {
  appearance: none;
  border: 0;
  cursor: pointer;
  gap: 15px;
  padding: 10px;
  border-radius: 24px;
  transition: var(--transition-default);
}

.mappa-shell .mappa-sidebar .mappa-list .mappa-item:hover, .mappa-shell .mappa-sidebar .mappa-list .mappa-item.is-active {
  transition: var(--transition-default);
  background-color: var(--mid-panna);
}

.mappa-shell .mappa-sidebar .mappa-list .mappa-item .mappa-item__img {
  aspect-ratio: 1/1;
  border-radius: 14px;
  object-fit: cover;
}

.mappa-shell .mappa-sidebar .mappa-list .mappa-item .mappa-item__pillar {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.875rem;
  font-weight: 500;
  margin-bottom: 5px;
}

.mappa-shell .mappa-sidebar .mappa-list .mappa-item .mappa-item__pillar .mappa-item__pillar-logo {
  width: 20px;
  height: 20px;
  object-fit: contain;
  flex-shrink: 0;
}

.mappa-shell .mappa-sidebar .mappa-list .mappa-item .mappa-item__location {
  display: flex;
  align-items: center;
  gap: 5px;
}

.mappa-shell .mappa-sidebar .mappa-list .mappa-item .mappa-item__location p {
  font-size: 0.75rem;
  font-weight: 500;
  margin-bottom: 0;
}

.mappa-shell .mappa-sidebar .mappa-list .mappa-item .mappa-item__location .pin {
  width: 13px;
  height: 13px;
  background-color: var(--grey-dark);
  border-radius: 60px 60px 0px 60px;
  position: relative;
  transform: rotate(45deg);
}

.mappa-shell .mappa-sidebar .mappa-list .mappa-item .mappa-item__location .pin::before {
  content: "";
  width: 4px;
  height: 4px;
  background: var(--color-light);
  position: absolute;
  left: 30%;
  top: 30%;
  border-radius: 50%;
}

.mappa-shell .mappa-sidebar .mappa-list .mappa-item .mappa-item__status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 9px;
  padding: 2px 10px;
  border-radius: 50px;
  font-size: 0.625rem;
  font-weight: 600;
  background: var(--panna);
  border: 1px solid var(--mid-panna);
}

.mappa-shell .mappa-map-column {
  position: relative;
  width: 100%;
  padding-left: 0;
  min-width: 0;
  background: linear-gradient(180deg, rgba(79, 104, 20, 0.1) 0%, rgba(245, 240, 230, 0.9) 100%);
  height: 100%;
  min-height: 100vh;
  min-height: 100svh;
  max-height: 100vh;
  max-height: 100svh;
}

.mappa-shell .mappa-map-column .mappa-map-frame {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 720px;
}

@media (max-width: 991px) {
  .mappa-shell .mappa-map-column .mappa-map-frame {
    min-height: 520px;
  }
}
.mappa-shell .mappa-map-column .mappa-map-frame .mappa-map {
  width: 100%;
  height: 100%;
}

@media (max-width: 767px) {
  .mappa-shell .detail-panel {
    display: none !important;
  }
  .mappa-shell .mappa-sidebar {
    position: absolute;
    left: 12px;
    right: 12px;
    top: 80px;
    width: auto;
    height: auto;
    transform: none;
    padding: 14px 16px;
    border-radius: 16px;
    gap: 0;
    z-index: 430;
    background-color: hsla(0, 0%, 100%, 0.82);
    border: 1px solid rgba(16, 35, 63, 0.12);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }
  .mappa-shell .mappa-sidebar .mappa-sidebar__top {
    padding-bottom: 0;
    border-bottom: 0;
  }
  .mappa-shell .mappa-sidebar .mappa-filters, .mappa-shell .mappa-sidebar .mappa-list {
    display: none;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .mappa-shell .mappa-sidebar {
    display: flex;
  }
  .mappa-shell .detail-panel {
    display: none !important;
  }
}
.custom-marker {
  width: 40px;
  height: 40px;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 3px solid var(--color-light);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.36);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  cursor: pointer;
}

.custom-marker:hover {
  transform: rotate(-45deg) scale(1.12);
}

.custom-marker.is-active {
  transform: rotate(-45deg) scale(1.18);
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.48);
}

.custom-marker-inner {
  transform: rotate(45deg);
  font-size: 16px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.custom-marker-inner .custom-marker-logo {
  width: 25px;
  height: 25px;
  object-fit: contain;
  display: block;
}

.marker-food {
  background: var(--food);
}

.marker-water {
  background: var(--water);
}

.marker-rec {
  background: var(--recycle);
}

.marker-lab {
  background: var(--lab);
}

.leaflet-container {
  background: #eef1ea;
  font-family: var(--font-family);
}

.leaflet-tile-pane {
  filter: saturate(1.08) brightness(0.99) contrast(1.06) hue-rotate(-8deg);
}

.leaflet-overlay-pane {
  filter: brightness(1) contrast(1);
}

.leaflet-control-zoom {
  border: 0 !important;
  box-shadow: none !important;
}

.leaflet-control-zoom a {
  width: 36px !important;
  height: 36px !important;
  line-height: 34px !important;
  border-radius: 12px !important;
  background: hsla(0, 0%, 100%, 0.92) !important;
  color: #10233f !important;
  border: 1px solid rgba(16, 35, 63, 0.12) !important;
  font-size: 16px !important;
}

.leaflet-control-zoom a:hover {
  background: #fff !important;
  color: var(--pacifico) !important;
}

.leaflet-control-attribution {
  display: none;
}

.detail-panel {
  position: absolute;
  left: calc(var(--sidebar-left-offset) + var(--sidebar-width) + var(--panel-gap));
  top: 50%;
  width: var(--sidebar-width);
  height: 80vh;
  max-height: 80vh;
  background-color: var(--color-light);
  color: var(--color-dark);
  border-radius: 24px;
  z-index: 420;
  transform: translate(28px, -50%);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.35s ease;
  overflow-y: auto;
  padding: 20px;
}

.detail-panel.open {
  transform: translate(0, -50%);
  opacity: 1;
  pointer-events: auto;
}

.detail-panel::-webkit-scrollbar {
  width: 4px;
}

.detail-panel::-webkit-scrollbar-thumb {
  background: #d7d2ca;
  border-radius: 999px;
}

@media (max-width: 991px) {
  .detail-panel {
    position: fixed;
    top: 82px;
    left: 12px;
    right: 12px;
    bottom: 12px;
    height: auto;
    max-height: none;
    width: auto;
    transform: translateX(110%);
    opacity: 1;
    pointer-events: auto;
    border-radius: 24px;
  }
  .detail-panel.open {
    transform: translateX(0);
  }
}
.detail-panel .detail-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 34px;
  height: 34px;
  border-radius: 25px;
  background: hsla(0, 0%, 100%, 0.92);
  border: 1px solid rgba(16, 35, 63, 0.1);
  cursor: pointer;
  font-size: 16px;
  color: #666;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  transition: background-color 0.2s ease;
}

.detail-panel .detail-close:hover {
  background: #f0ece6;
}

.detail-panel .detail-img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  display: block;
  border-radius: 14px;
}

.detail-panel .detail-body {
  padding: 20px 0;
}

.detail-panel .detail-body .detail-pillar {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.875rem;
  font-weight: 500;
  font-family: var(--font-family);
}

.detail-panel .detail-body .detail-pillar .detail-pillar__logo {
  width: 20px;
  height: 20px;
  object-fit: contain;
  flex-shrink: 0;
}

.detail-panel .detail-body .detail-location {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 16px;
}

.detail-panel .detail-body .detail-location p {
  font-size: 0.75rem;
  font-weight: 500;
  margin-bottom: 0;
  line-height: 1;
}

.detail-panel .detail-body .detail-location .pin {
  width: 13px;
  height: 13px;
  background-color: var(--grey-dark);
  border-radius: 60px 60px 0 60px;
  position: relative;
  transform: rotate(45deg);
}

.detail-panel .detail-body .detail-location .pin::before {
  content: "";
  width: 4px;
  height: 4px;
  background: var(--color-light);
  position: absolute;
  left: 30%;
  top: 30%;
  border-radius: 50%;
}

.detail-panel .detail-body .detail-divider {
  height: 1px;
  background: #e8e1d8;
  margin: 20px 0;
}

.detail-panel .detail-body .detail-label {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #7f8795;
  margin-bottom: 10px;
  font-family: var(--font-family);
}

.detail-panel .detail-body .detail-cta {
  display: block;
  width: 100%;
  background: var(--abisso);
  color: var(--bianco);
  font-family: var(--font-family);
  font-weight: 700;
  font-size: 0.8rem;
  letter-spacing: 0.05em;
  text-align: center;
  padding: 14px;
  border-radius: 12px;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.detail-panel .detail-body .detail-cta:hover {
  opacity: 0.9;
}

@media (min-width: 1200px) and (max-width: 1480px) {
  .mappa-sidebar, .detail-panel {
    height: 75vh !important;
  }
}
@media (max-width: 991px) {
  .mappa-hero {
    padding-bottom: 18px;
  }
  .mappa-shell {
    overflow: hidden;
    --sidebar-width: var(--block-min-width);
    --sidebar-left-offset: 40px;
    --sidebar-vertical-offset: 12px;
  }
  .mappa-sidebar {
    width: var(--sidebar-width);
    padding: 22px 18px 18px;
  }
  .mappa-map-frame {
    min-height: 520px;
  }
}
@media (max-width: 575px) {
  .mappa-shell {
    --sidebar-width: var(--block-min-width);
    --sidebar-left-offset: 10px;
    --sidebar-vertical-offset: 10px;
  }
  .mappa-hero__stats {
    grid-template-columns: 1fr;
  }
  .mappa-item {
    grid-template-columns: auto 1fr;
  }
  .detail-panel {
    top: 76px;
    left: 10px;
    right: 10px;
    bottom: 10px;
  }
}
.pagination {
  list-style: none;
  padding-left: 0;
}

.pagination li {
  margin-right: 15px;
  display: inline-block;
}

.pagination li:last-child {
  margin-right: 0;
}

.pagination li .btn {
  width: 42px;
  height: 42px;
  padding: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 0;
  border-radius: 50px;
  font-family: var(--font-family);
  font-size: 14px;
  font-weight: 500;
  background-color: var(--yellow);
  border: 1px solid var(--yellow);
}

.pagination li .btn i {
  margin: 0;
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  transform: none;
  font-size: 14px;
}

.pagination li .btn span {
  font-family: var(--font-family);
  font-size: 20px;
  font-weight: 400;
  color: var(--color-dark);
}

.pagination li .btn:hover {
  background-color: var(--color-light);
  color: var(--color-dark);
}

.pagination li .btn:hover i, .pagination li .btn:hover span {
  color: var(--color-dark);
}

.pagination li .current {
  width: 42px;
  height: 42px;
  padding: 5px;
  display: flex !important;
  justify-content: center;
  align-items: center;
  margin-bottom: 0;
  color: var(--color-light);
  background-color: var(--dark-yellow);
  border: 1px solid var(--dark-yellow);
  border-radius: 50px;
  font-family: var(--font-family);
  font-size: 14px;
  font-weight: 500;
}

.paginazione-progetti {
  position: fixed;
  bottom: 44px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  z-index: 10;
}

.paginazione-progetti ul {
  justify-content: space-between !important;
}

.paginazione-progetti li {
  margin-right: 15px;
  display: inline-block;
}

.paginazione-progetti li:last-child {
  margin-right: 0;
  margin-right: 0;
  position: absolute;
  right: 15px;
  bottom: 0;
}

.paginazione-progetti li.page {
  display: none;
}

.paginazione-progetti li .btn {
  width: 100%;
  padding: 12px 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 0;
  border-radius: 50px;
  font-family: var(--font-family);
  font-size: 0.75rem;
  font-weight: 500;
  background-color: var(--yellow);
  border: 1px solid var(--yellow);
}

.paginazione-progetti li .btn i {
  margin: 0;
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  transform: none;
  font-size: 14px;
}

.paginazione-progetti li .btn span {
  font-family: var(--font-family);
  font-size: 1rem;
  font-weight: 500;
  color: var(--color-dark);
}

.paginazione-progetti li .btn:hover {
  background-color: var(--color-light);
  color: var(--color-dark);
}

.paginazione-progetti li .btn:hover i, .paginazione-progetti li .btn:hover span {
  color: var(--color-dark);
}

.paginazione-progetti li .current {
  width: 42px;
  height: 42px;
  padding: 5px;
  display: flex !important;
  justify-content: center;
  align-items: center;
  margin-bottom: 0;
  color: var(--color-light);
  background-color: var(--dark-yellow);
  border: 1px solid var(--dark-yellow);
  border-radius: 8px;
  font-family: var(--font-family);
  font-size: 14px;
  font-weight: 500;
}

header {
  z-index: 100;
}

.progetti {
  position: relative;
  height: 100%;
  z-index: 1;
}

.progetti.show-footer {
  height: auto;
}

.progetti section {
  height: 100%;
  width: 100%;
  top: 0;
  position: fixed;
  visibility: hidden;
}

.progetti section.no-projects {
  visibility: visible;
}

.progetti section .outer, .progetti section .inner {
  width: 100%;
  height: 100%;
  overflow-y: hidden;
}

.progetti section .bg {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  padding: 0;
  z-index: 0;
}

@media (min-width: 992px) {
  .progetti section .bg {
    padding: 40px;
  }
}
.progetti section .bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.5);
}

.progetti section .bg .bg-media {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
}

.progetti section .bg .bg-media img, .progetti section .bg .bg-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.progetti section .bg h2 {
  z-index: 999;
}

.progetti section .bg .clip-text {
  overflow: hidden;
}

.progetti section.in-flow {
  position: relative !important;
  height: 100vh !important;
}

.progetti h2 * {
  will-change: transform;
}

.progetti-nav {
  position: fixed;
  right: 28px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 200;
  display: flex;
  flex-direction: column;
  gap: 0;
  pointer-events: none;
}

.progetti-nav::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 1px;
  background-color: hsla(0, 0%, 100%, 0.25);
}

.progetti-nav__item {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  pointer-events: all;
  opacity: 0.35;
  transition: opacity 0.4s ease;
  padding: 10px 18px;
  position: relative;
}

.progetti-nav__item::after {
  content: "";
  position: absolute;
  right: -0.5px;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 100%;
  background-color: #fff;
  transition: width 0.35s ease, height 0.35s ease, right 0.35s ease;
}

.progetti-nav__item:hover {
  opacity: 0.7;
}

.progetti-nav__item.active {
  opacity: 1;
}

.progetti-nav__item.active::after {
  width: 3px;
  height: 100%;
  right: -1.5px;
}

.progetti-nav__item.active .progetti-nav__line {
  width: 28px;
  opacity: 1;
}

.progetti-nav__line {
  display: block;
  width: 0;
  height: 1px;
  background-color: #fff;
  opacity: 0;
  transition: width 0.4s ease, opacity 0.4s ease;
  flex-shrink: 0;
}

.progetti-nav__num {
  font-size: 1rem;
  color: #fff;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1;
}

@media (max-width: 991px) {
  .progetti-nav {
    right: auto;
    top: auto;
    bottom: 28px;
    left: 50%;
    transform: translateX(-50%);
    flex-direction: row;
  }
  .progetti-nav::before {
    top: auto;
    right: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
  }
  .progetti-nav__item {
    flex-direction: column;
    padding: 10px 15px;
  }
  .progetti-nav__item::after {
    right: auto;
    top: auto;
    left: 50%;
    bottom: -0.5px;
    transform: translateX(-50%);
    width: 100%;
    height: 1px;
  }
  .progetti-nav__item.active::after {
    height: 3px;
    width: 100%;
    bottom: -1.5px;
    right: auto;
  }
  .progetti-nav__item.active .progetti-nav__line {
    width: 1px;
    height: 28px;
  }
  .progetti-nav__line {
    width: 1px;
    height: 0;
    transition: height 0.4s ease, opacity 0.4s ease;
  }
  .progetti-nav__num {
    font-size: 0.75rem;
  }
}
.progetti.show-footer .progetti-nav {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.mosaic-zoom {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 120vh;
  max-height: 120vh;
}

@media (min-width: 768px) {
  .mosaic-zoom {
    min-height: 100vh;
    max-height: 100vh;
  }
}
.mosaic-zoom .animate-photo {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.mosaic-zoom .animate-photo .title-big {
  position: absolute;
  left: 50%;
  top: 50%;
  text-align: center;
  margin: 0;
  z-index: 1;
}

.mosaic-zoom .animate-photo .img-01 {
  position: absolute;
  width: 220px;
  top: 50%;
  left: 50%;
}

@media (min-width: 992px) {
  .mosaic-zoom .animate-photo .img-01 {
    width: 320px;
  }
}
.mosaic-zoom .animate-photo .img-02 {
  position: absolute;
  width: 220px;
  top: 50%;
  right: 50%;
}

@media (min-width: 992px) {
  .mosaic-zoom .animate-photo .img-02 {
    width: 320px;
  }
}
.mosaic-zoom .animate-photo .block-text {
  position: absolute;
  width: 220px;
  aspect-ratio: 1/1;
}

@media (min-width: 992px) {
  .mosaic-zoom .animate-photo .block-text {
    width: 320px;
  }
}
.mosaic-zoom .animate-photo .block-text.block-uno {
  left: 50%;
  top: 50%;
}

.mosaic-zoom .animate-photo .block-text.block-due {
  left: 50%;
  bottom: 50%;
}

.mosaic-zoom .animate-photo .block-text.block-tre {
  right: 50%;
  top: 50%;
}

.mosaic-zoom .animate-photo .block-text.block-quattro {
  right: 50%;
  bottom: 50%;
}

.mosaic-zoom .animate-photo .block-text.block-cinque {
  left: 50%;
  top: 50%;
}

.mosaic-zoom .animate-photo .block-text.block-sei {
  right: 50%;
  bottom: 50%;
}

.mosaic-zoom .animate-photo .block-text a {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  padding: 20px;
  margin: 0;
  height: 100%;
}

@media (min-width: 992px) {
  .mosaic-zoom .animate-photo .block-text a {
    padding: 25px;
  }
}
.mosaic-zoom .animate-photo .icone {
  width: 40px;
  transform: rotate(-10deg);
}

@media (min-width: 992px) {
  .mosaic-zoom .animate-photo .icone {
    width: 70px;
  }
}
.mosaic-zoom .abs-text {
  position: absolute;
  left: 50%;
  top: 65%;
  transform: translateX(-50%);
}

@media (min-width: 768px) {
  .mosaic-zoom .abs-text {
    top: 75%;
  }
}
.star-container .img-star-bkg {
  position: absolute;
  left: 50%;
  top: 40px;
  transform: translateX(-50%);
  z-index: -1;
  width: 170vw;
}

@media (min-width: 992px) {
  .star-container .img-star-bkg {
    width: 100%;
  }
}
.star-container .img-earth {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  max-width: 100px;
  z-index: -1;
  animation: float-earth 6.5s ease-in-out infinite;
  filter: drop-shadow(0 10px 22px rgba(16, 35, 63, 0.2));
  will-change: transform;
}

@media (min-width: 992px) {
  .star-container .img-earth {
    max-width: 200px;
  }
}
.star-container .img-banana {
  position: absolute;
  left: 0;
  top: 60px;
  max-width: 140px;
  z-index: -1;
  animation: float-banana 5.8s ease-in-out infinite;
  filter: drop-shadow(0 10px 22px rgba(16, 35, 63, 0.18));
  will-change: transform;
}

@media (min-width: 992px) {
  .star-container .img-banana {
    max-width: 240px;
    bottom: 20px;
    top: unset;
    left: 10px;
  }
}
.star-container .img-suitcase {
  position: absolute;
  right: 0;
  top: 15%;
  max-width: 100px;
  z-index: -1;
  animation: float-suitcase 7.2s ease-in-out infinite;
  filter: drop-shadow(0 10px 22px rgba(16, 35, 63, 0.2));
  will-change: transform;
}

@media (min-width: 992px) {
  .star-container .img-suitcase {
    max-width: 200px;
    right: 0px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .star-container .img-earth:hover {
    animation-name: float-earth-hover;
    animation-duration: 2.8s;
    filter: drop-shadow(0 14px 28px rgba(16, 35, 63, 0.3));
  }
  .star-container .img-banana:hover {
    animation-name: float-banana-hover;
    animation-duration: 2.5s;
    filter: drop-shadow(0 14px 28px rgba(16, 35, 63, 0.3));
  }
  .star-container .img-suitcase:hover {
    animation-name: float-suitcase-hover;
    animation-duration: 2.9s;
    filter: drop-shadow(0 14px 28px rgba(16, 35, 63, 0.3));
  }
}
@keyframes float-earth {
  0%, 100% {
    transform: translateX(-50%) translateY(0px);
  }
  50% {
    transform: translateX(-50%) translateY(-14px);
  }
}
@keyframes float-earth-hover {
  0%, 100% {
    transform: translateX(-50%) translateY(0px) scale(1);
  }
  50% {
    transform: translateX(-50%) translateY(-22px) scale(1.05);
  }
}
@keyframes float-banana {
  0%, 100% {
    transform: translateY(0px) rotate(-2deg);
  }
  50% {
    transform: translateY(-12px) rotate(3deg);
  }
}
@keyframes float-banana-hover {
  0%, 100% {
    transform: translateY(0px) rotate(-2deg) scale(1);
  }
  50% {
    transform: translateY(-20px) rotate(5deg) scale(1.06);
  }
}
@keyframes float-suitcase {
  0%, 100% {
    transform: translateY(0px) rotate(1deg);
  }
  50% {
    transform: translateY(-13px) rotate(-3deg);
  }
}
@keyframes float-suitcase-hover {
  0%, 100% {
    transform: translateY(0px) rotate(1deg) scale(1);
  }
  50% {
    transform: translateY(-21px) rotate(-5deg) scale(1.05);
  }
}
@keyframes float-update-icon {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-4px);
  }
}
@keyframes float-update-icon-hover {
  0%, 100% {
    transform: translateY(0px) scale(1);
  }
  50% {
    transform: translateY(-8px) scale(1.08);
  }
}
@media (prefers-reduced-motion: reduce) {
  .star-container .img-earth, .star-container .img-banana, .star-container .img-suitcase {
    animation: none;
  }
  .blog-block-grid .info-blog .icone {
    animation: none;
  }
  .mappa-home .img-mappa-small, .mappa-home .img-mondo-pixel {
    animation: none;
  }
}
.mission .inside, .pilastri .inside, .guadagno-block .inside {
  padding: 20px;
}

@media (min-width: 992px) {
  .mission .inside, .pilastri .inside, .guadagno-block .inside {
    padding: 40px;
  }
}
.mission .inside img, .pilastri .inside img, .guadagno-block .inside img {
  width: 80px;
}

.pilastri-dettaglio .pilastri-img {
  max-height: 600px;
  object-fit: cover;
}

.bg-sfondo-img:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 0;
}

.bg-sfondo-img .img-bkg {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  object-fit: cover;
  height: 100%;
  display: flex;
}

.block-news, .detail-blog {
  padding: 20px;
}

.block-news .info-blog, .detail-blog .info-blog {
  grid-template-columns: 180px 100px;
}

.block-news .info-blog img, .detail-blog .info-blog img {
  width: 20px;
  display: inline-block;
  vertical-align: middle;
}

.block-news .info-blog span, .detail-blog .info-blog span {
  display: inline-block;
  margin: 0;
}

.blog-block-grid .info-blog .icone {
  animation: float-update-icon 3.4s ease-in-out infinite;
  will-change: transform;
}

@media (hover: hover) and (pointer: fine) {
  .blog-block-grid .info-blog .icone:hover {
    animation-name: float-update-icon-hover;
    animation-duration: 1.8s;
  }
}
.blog-block-grid .block-news {
  padding: 0;
}

.blog-block-grid .block-news .desc {
  padding: 20px;
}

.blog-block-grid .block-news .desc.desc-grid {
  flex: 1;
  display: flex;
}

.tags-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
  padding: 0;
}

.social-icons a {
  margin-right: 10px;
}

.social-icons a i {
  font-size: 1.875rem;
}

.icone-pilastri {
  max-width: 80px;
  position: absolute;
  z-index: 1;
  top: -10px;
}

@media (min-width: 992px) {
  .icone-pilastri {
    max-width: 150px;
    top: -60px;
  }
}
.icone-pilastri.odd {
  right: 10px;
  transform: rotate(20deg);
}

@media (min-width: 992px) {
  .icone-pilastri.odd {
    right: -20px;
  }
}
.icone-pilastri.even {
  left: 10px;
  transform: rotate(-20deg);
}

@media (min-width: 992px) {
  .icone-pilastri.even {
    left: -20px;
  }
}
.icone-contatti {
  position: absolute;
  z-index: 1;
  top: -60px;
  right: -20px;
  width: 200px;
}

@media (min-width: 992px) {
  .icone-contatti {
    top: -100px;
    right: 30px;
    width: 300px;
  }
}
.category-pilastro img {
  width: 20px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 5px;
}

.category-pilastro span {
  line-height: 1;
}

.pilastri-block-grid .image-content {
  position: relative;
  border-top-left-radius: 24px;
  border-top-right-radius: 24px;
}

.pilastri-block-grid .image-content img {
  border-top-left-radius: 24px;
  border-top-right-radius: 24px;
  object-fit: cover;
  transform: scale(1);
  transition: var(--transition-default);
}

@media (max-width: 575px) {
  .pilastri-block-grid .image-content img {
    aspect-ratio: 1/1;
    object-fit: cover;
  }
}
.pilastri-block-grid .image-content .star-sfondo {
  position: absolute;
  width: 100%;
  object-fit: cover;
  bottom: -1px;
}

.pilastri-block-grid .image-content .star-sfondo path {
  fill: var(--pilastro-color, var(--dark-panna));
}

.pilastri-block-grid .desc-grid {
  position: relative;
  bottom: 0;
  padding: 20px;
  width: 100%;
  border-bottom-left-radius: 24px;
  border-bottom-right-radius: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  min-height: 255px;
  background-color: var(--pilastro-color, var(--dark-panna));
}

@media (min-width: 992px) {
  .pilastri-block-grid .desc-grid {
    padding: 10px 25px 25px 25px;
  }
}
.pilastri-block-grid .desc-grid .icona {
  max-width: 70px;
}

.pilastri-block-grid .desc-grid .arrow {
  width: 35px;
  transform: rotate(0deg);
  transition: var(--transition-default);
}

.pilastri-block-grid .swiper-slide {
  overflow: hidden;
}

.pilastri-block-grid .swiper-slide a:hover .image-content img {
  transform: scale(1.03);
  transition: var(--transition-default);
}

.pilastri-block-grid .swiper-slide a:hover .desc-grid .arrow {
  transform: rotate(45deg);
  transition: var(--transition-default);
}

@keyframes fillSegment {
  from {
    width: 0;
  }
  to {
    width: calc(var(--value) * 1%);
  }
}
@keyframes fadeText {
  to {
    opacity: 1;
  }
}
.progress-wrapper {
  width: 100%;
  border-radius: 4px;
}

.progress-wrapper .progress-bar {
  display: flex;
  overflow: hidden;
  height: 22px;
  border-radius: 999px;
}

.progress-wrapper .progress-bar .progress-segment {
  width: 0;
  height: 100%;
  background: var(--color);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-light);
  font-size: 12px;
  font-weight: 600;
  animation: fillSegment 1s ease forwards;
  animation-delay: var(--delay);
}

.progress-wrapper .progress-bar .progress-segment span {
  color: var(--color-light);
  opacity: 0;
  animation: fadeText 0.3s ease forwards;
  animation-delay: calc(var(--delay) + 0.8s);
}

.progress-wrapper .progress-bar .progress-segment:not(:last-child) {
  border-right: 2px solid hsla(0, 0%, 100%, 0.4);
}

.mappa-home .img-mappa-small {
  position: absolute;
  left: 10%;
  top: -50px;
  z-index: 1;
  max-width: 200px;
  animation: float-mappa-small 6s ease-in-out infinite;
  will-change: transform;
}

@media (min-width: 1200px) {
  .mappa-home .img-mappa-small {
    max-width: 300px;
  }
}
.mappa-home .img-mappa-big {
  max-width: 600px;
}

.mappa-home .img-mondo-pixel {
  position: absolute;
  left: -4%;
  top: 58%;
  z-index: 0;
  max-width: 180px;
  animation: float-mondo-pixel 7s ease-in-out infinite;
  will-change: transform;
}

@media (min-width: 1200px) {
  .mappa-home .img-mondo-pixel {
    max-width: 220px;
    left: 0;
  }
}
@media (hover: hover) and (pointer: fine) {
  .mappa-home .img-mappa-small:hover {
    animation-name: float-mappa-small-hover;
    animation-duration: 2.8s;
  }
  .mappa-home .img-mondo-pixel:hover {
    animation-name: float-mondo-pixel-hover;
    animation-duration: 3s;
  }
}
@keyframes float-mappa-small {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-10px);
  }
}
@keyframes float-mappa-small-hover {
  0%, 100% {
    transform: translateY(0px) scale(1);
  }
  50% {
    transform: translateY(-18px) scale(1.05);
  }
}
@keyframes float-mondo-pixel {
  0%, 100% {
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    transform: translateY(-9px) rotate(2deg);
  }
}
@keyframes float-mondo-pixel-hover {
  0%, 100% {
    transform: translateY(0px) rotate(0deg) scale(1);
  }
  50% {
    transform: translateY(-16px) rotate(4deg) scale(1.06);
  }
}
.guadagniamo-section .img-mappa-small {
  position: absolute;
  right: 0;
  bottom: -50px;
  transform: rotate(-10deg);
  z-index: 1;
  max-width: 200px;
  animation: float-mappa-small 6s ease-in-out infinite;
  will-change: transform;
}

@media (min-width: 1200px) {
  .guadagniamo-section .img-mappa-small {
    max-width: 300px;
  }
}
.guadagniamo-section .img-mappa-big {
  max-width: 600px;
  position: relative;
  left: 0;
}

@media (min-width: 1200px) {
  .guadagniamo-section .img-mappa-big {
    left: -5%;
  }
}
.guadagniamo-section .img-mondo-pixel {
  position: absolute;
  left: -4%;
  top: 42%;
  z-index: 0;
  max-width: 180px;
  animation: float-mondo-pixel 7s ease-in-out infinite;
  will-change: transform;
}

@media (min-width: 1200px) {
  .guadagniamo-section .img-mondo-pixel {
    max-width: 220px;
    left: 0;
  }
}
@media (hover: hover) and (pointer: fine) {
  .guadagniamo-section .img-mappa-small:hover {
    animation-name: float-mappa-small-hover;
    animation-duration: 2.8s;
  }
  .guadagniamo-section .img-mondo-pixel:hover {
    animation-name: float-mondo-pixel-hover;
    animation-duration: 3s;
  }
}
.pilastri-blocks-home .pilastri-row {
  overflow: hidden;
}

.pilastri-blocks-home .pilastri-row a .image-content {
  position: relative;
  border-top-left-radius: 24px;
  border-top-right-radius: 24px;
}

.pilastri-blocks-home .pilastri-row a .image-content img {
  border-top-left-radius: 24px;
  border-top-right-radius: 24px;
  object-fit: cover;
  transform: scale(1);
  transition: var(--transition-default);
}

@media (max-width: 575px) {
  .pilastri-blocks-home .pilastri-row a .image-content img {
    aspect-ratio: 1/1;
    object-fit: cover;
  }
}
.pilastri-blocks-home .pilastri-row a .image-content .star-sfondo {
  position: absolute;
  width: 100%;
  object-fit: cover;
  bottom: -1px;
}

.pilastri-blocks-home .pilastri-row a .image-content .star-sfondo path {
  fill: var(--pilastro-color, var(--dark-panna));
}

.pilastri-blocks-home .pilastri-row a .desc-grid {
  position: relative;
  bottom: 0;
  padding: 20px;
  width: 100%;
  border-bottom-left-radius: 24px;
  border-bottom-right-radius: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  background-color: var(--pilastro-color, var(--dark-panna));
}

@media (min-width: 992px) {
  .pilastri-blocks-home .pilastri-row a .desc-grid {
    padding: 10px 20px 20px 20px;
  }
}
.pilastri-blocks-home .pilastri-row a .desc-grid .icona {
  max-width: 70px;
}

.pilastri-blocks-home .pilastri-row a .desc-grid .arrow {
  width: 30px;
  transform: rotate(0deg);
  transition: var(--transition-default);
}

.pilastri-blocks-home .pilastri-row a:hover .image-content img {
  transform: scale(1.03);
  transition: var(--transition-default);
}

.pilastri-blocks-home .pilastri-row a:hover .desc-grid .arrow {
  transform: rotate(45deg);
  transition: var(--transition-default);
}

.slider-blog {
  position: relative;
}

.slider-blog a {
  overflow: hidden;
}

.slider-blog a .img-container {
  transform: scale(1);
  transition: var(--transition-default);
}

@media (max-width: 767px) {
  .slider-blog a .img-container {
    aspect-ratio: 3/4;
    object-fit: cover;
  }
}
@media (max-width: 767px) {
  .slider-blog a .img-container img {
    aspect-ratio: 3/4;
    object-fit: cover;
  }
}
.slider-blog a .img-container:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: hsla(0, 0%, 40%, 0);
  background: linear-gradient(180deg, rgba(102, 102, 102, 0.14) 0%, rgba(24, 24, 24, 0.6) 68%, rgba(0, 0, 0, 0.66) 100%);
  border-radius: 12px;
}

@media (min-width: 992px) {
  .slider-blog a .img-container:before {
    border-radius: 24px;
  }
}
.slider-blog a .text {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 20px 20px;
  grid-template-columns: 1fr;
}

@media (min-width: 992px) {
  .slider-blog a .text {
    padding: 40px;
    grid-template-columns: 1fr 44px;
  }
}
.slider-blog a .text .arrow {
  width: 25px;
  transform: rotate(0deg);
  transition: var(--transition-default);
}

@media (min-width: 992px) {
  .slider-blog a .text .arrow {
    width: 45px;
  }
}
.slider-blog a .text .info-blog {
  grid-template-columns: 180px 100px;
}

.slider-blog a .text .info-blog img {
  width: 20px;
  display: inline-block;
  vertical-align: middle;
}

.slider-blog a .text .info-blog span {
  display: inline-block;
  margin: 0;
}

.slider-blog a:hover .img-container {
  transform: scale(1.05);
  transition: var(--transition-default);
}

.slider-blog a:hover .arrow {
  transform: rotate(45deg);
  transition: var(--transition-default);
}

.blog-buttons .swiper-button-prev {
  transition: var(--transition-default);
  background-color: var(--color-light);
  border: 1px solid var(--grey);
  width: 60px;
  border-radius: 25px;
  bottom: 0;
  transform: unset;
  left: unset;
  right: 80px;
}

.blog-buttons .swiper-button-prev:hover {
  transition: var(--transition-default);
  background-color: var(--dark-panna);
  border-color: var(--grey);
}

.blog-buttons .swiper-button-prev:after {
  content: none;
}

.blog-buttons .swiper-button-prev svg {
  width: 12px;
  height: 12px;
}

.blog-buttons .swiper-button-prev.swiper-button-disabled {
  opacity: 0.5;
  cursor: default;
}

.blog-buttons .swiper-button-next {
  transition: var(--transition-default);
  background-color: var(--color-light);
  border: 1px solid var(--grey);
  width: 60px;
  border-radius: 25px;
  bottom: 0;
  transform: unset;
  right: 0;
}

.blog-buttons .swiper-button-next:hover {
  background-color: var(--dark-panna);
  border-color: var(--grey);
  transition: var(--transition-default);
}

.blog-buttons .swiper-button-next svg {
  width: 12px;
  height: 12px;
}

.blog-buttons .swiper-button-next:after {
  content: none;
}

.blog-buttons .swiper-button-next.swiper-button-disabled {
  opacity: 0.5;
  cursor: default;
}

.slider-pilastri .swiper-slide {
  aspect-ratio: 1/1;
  max-width: 450px;
  width: 100%;
  height: auto;
}

.slider-pilastri .swiper-slide img {
  object-fit: contain;
}

.text-slider-container .text-slider {
  display: flex;
  position: relative;
  text-align: center;
  white-space: nowrap;
  align-items: center;
}

.text-slider-container .text-slider .text-element {
  position: relative;
  padding-left: 60px;
  display: inline-block;
}

.video-atf-homepage {
  position: relative;
  min-height: 100vh;
  min-height: 100svh;
  height: 100%;
  z-index: 0;
}

@media (min-width: 992px) {
  .video-atf-homepage {
    min-height: 100vh;
    min-height: 100svh;
    height: 100vh;
    height: 100svh;
  }
}
.video-atf-homepage video {
  width: 100%;
  height: 100vh;
  object-fit: cover;
  display: flex;
}

.video-container {
  position: relative;
  overflow: hidden;
}

.video-container:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  background: rgba(0, 0, 0, 0.5);
}

.video-container video {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
  border-radius: 24px;
  display: flex;
  min-height: 560px;
}

@media (max-width: 991px) {
  .video-container video {
    aspect-ratio: 4/3;
    min-height: 560px;
  }
}
@media (max-width: 767px) {
  .video-container video {
    aspect-ratio: 9/10;
    min-height: 560px;
  }
}
.video-container .video-text {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

.video-container-azienda {
  position: relative;
  aspect-ratio: 16/6;
  overflow: hidden;
}

.video-container-azienda video {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9;
  padding: 0;
  transition: all 0.5s ease-in-out;
  height: 70px;
  background-color: rgba(245, 242, 236, 0);
}

@media (min-width: 1200px) {
  header {
    background-color: rgba(245, 242, 236, 0);
    height: 80px;
  }
}
header .header-container {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  position: relative;
  height: 70px;
  padding: 0 10px;
  transition: all 0.5s ease-in-out;
}

@media (min-width: 1200px) {
  header .header-container {
    padding: 0 20px;
    height: 80px;
  }
}
header .header-container .logo-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  width: calc(100% - 157px);
  order: 1;
  transition: all 0.5s ease-in-out;
}

@media (min-width: 1200px) {
  header .header-container .logo-container {
    width: 300px;
  }
}
header .header-container .logo-container a {
  display: block;
}

header .header-container .logo-container a::after {
  content: none;
}

header .header-container .logo-container a .logo-dark {
  display: block;
}

header .header-container .logo-container a .logo-light {
  display: none;
}

header .header-container .logo-container a img {
  transition: all 0.5s ease-in-out;
  vertical-align: middle;
  height: 35px;
}

@media (min-width: 1200px) {
  header .header-container .logo-container a img {
    height: 41px;
  }
}
header .header-container nav.menu-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  width: 65px;
  order: 3;
}

@media (min-width: 1200px) {
  header .header-container nav.menu-container {
    align-items: center;
    width: calc(100% - 392px);
  }
}
@media (min-width: 1400px) {
  header .header-container nav.menu-container {
    width: calc(100% - 392px);
  }
}
header .header-container nav.menu-container ul.menu {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  transition: var(--transition-default);
  text-align: center;
  align-items: center;
  background-color: var(--color-light);
  border-radius: 50px;
  position: fixed;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
}

@media (max-width: 1199px) {
  header .header-container nav.menu-container ul.menu {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transform: translateX(100vw);
    border-top: 1px solid var(--color-light);
    margin-top: 70px;
    background-color: var(--color-light);
    height: calc(100vh - 70px);
    border-radius: 0;
  }
}
header .header-container nav.menu-container ul.menu li {
  padding: 5px;
  margin-bottom: 0;
  text-align: center;
}

header .header-container nav.menu-container ul.menu li.link-menu > a {
  position: relative;
  display: block;
  text-decoration: none;
  color: var(--color-dark);
  padding: 10px 22px;
  margin-bottom: 0;
  cursor: pointer;
  transition: var(--transition-default);
  font-weight: 500;
  font-family: var(--font-family-menu);
  font-size: 1rem;
  white-space: nowrap;
  border-radius: 50px;
  background-color: var(--color-light);
}

@media (min-width: 1200px) {
  header .header-container nav.menu-container ul.menu li.link-menu > a {
    display: inline-block;
    font-size: 1rem;
    color: var(--color-dark);
    padding: 10px 20px;
  }
}
header .header-container nav.menu-container ul.menu li.link-menu > a.active, header .header-container nav.menu-container ul.menu li.link-menu > a:hover {
  background-color: var(--panna);
}

header .header-container nav.menu-container ul.menu li.link-menu.diff-color > a {
  background-color: var(--yellow);
}

header .header-container nav.menu-container ul.menu li.link-menu.diff-color > a.active, header .header-container nav.menu-container ul.menu li.link-menu.diff-color > a:hover {
  background-color: var(--dark-yellow);
}

@media (max-width: 1199px) {
  header .header-container nav.menu-container ul.menu li.link-menu.megamenu {
    position: relative;
  }
}
header .header-container nav.menu-container ul.menu li.link-menu.megamenu a[data-open-submenu] {
  display: flex;
}

header .header-container nav.menu-container ul.menu li.link-menu.megamenu a[data-open-submenu] .plus {
  margin-left: 10px;
  line-height: 1.3;
}

header .header-container nav.menu-container ul.menu li.link-menu.megamenu a[data-open-submenu] .plus svg {
  transition: var(--transition-default);
  transform: rotate(0deg);
  transform-origin: center;
}

header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container {
  padding: 15px 20px 35px 20px;
  border-radius: 0;
  position: absolute;
  bottom: 30px;
  left: 0;
  transition: var(--transition-default);
  width: 100%;
  z-index: -2;
  background: var(--color-light);
  opacity: 0;
  visibility: hidden;
  border-top-left-radius: 25px;
  border-top-right-radius: 25px;
}

@media (max-width: 1199px) {
  header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container {
    position: fixed;
    min-width: unset;
    left: 100%;
    transform: unset;
    top: 0;
    opacity: 1;
    visibility: visible;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    z-index: 1;
    padding: 70px 20px 40px;
    margin-top: 0;
    box-shadow: none;
    border-radius: 0;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: scroll;
  }
}
header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container.open-submenu {
  opacity: 1;
  visibility: visible;
}

@media (max-width: 1199px) {
  header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container.open-submenu {
    z-index: 1;
    left: 0;
  }
}
header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .back-arrow {
  display: none;
}

@media (max-width: 1199px) {
  header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .back-arrow {
    position: absolute;
    right: 0;
    left: 5px;
    margin-bottom: 0;
    width: calc(100% - 10px);
    font-size: 16px;
    display: block;
    top: 10px;
  }
}
header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .submenu {
  list-style: none;
  padding: 0;
}

@media (min-width: 1200px) {
  header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .submenu {
    padding: 0 30px 0 0;
  }
}
header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .submenu li {
  text-align: left;
  padding: 5px 0;
  transition: var(--transition-default);
  white-space: nowrap;
}

@media (max-width: 1199px) {
  header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .submenu li {
    text-align: center;
    white-space: inherit;
  }
}
header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .submenu li a {
  transition: var(--transition-default);
  text-transform: initial;
  font-family: var(--font-family-title);
  font-weight: 500;
  font-size: 1rem;
}

header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .submenu li a.active, header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .submenu li a:hover {
  transition: var(--transition-default);
  text-decoration: underline;
}

@media (min-width: 1200px) {
  header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .submenu.progetti-menu {
    column-count: 2;
    column-gap: 100px;
  }
}
header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .img-container {
  display: none;
}

@media (min-width: 1200px) {
  header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .img-container {
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
}
header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .img-container .img-menu {
  max-width: 200px;
  width: 200px;
  aspect-ratio: 1/1;
  object-fit: cover;
  opacity: 1;
  visibility: visible;
  border-radius: 8px;
}

header .header-container nav.menu-container ul.menu li.link-menu.megamenu .submenu-container .img-container .img-menu.hide {
  opacity: 0;
  visibility: hidden;
}

header .header-container nav.menu-container ul.menu li.link-menu.mobile {
  display: block;
}

@media (min-width: 1200px) {
  header .header-container nav.menu-container ul.menu li.link-menu.mobile {
    display: none;
  }
}
header .header-container nav.menu-container .hamburger {
  position: relative;
  width: 32px;
  height: 30px;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  box-sizing: content-box;
  padding: 15px;
  cursor: pointer;
}

@media (min-width: 1200px) {
  header .header-container nav.menu-container .hamburger {
    display: none;
  }
}
header .header-container nav.menu-container .hamburger::before, header .header-container nav.menu-container .hamburger::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: var(--color-dark);
  transition: var(--transition-default);
}

header .header-container nav.menu-container .hamburger.color-light::before, header .header-container nav.menu-container .hamburger.color-light::after {
  background-color: var(--color-light);
}

header .header-container .lang-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  position: relative;
  width: 92px;
  order: 2;
  justify-content: flex-end;
  z-index: 2;
  transition: all 0.5s ease-in-out;
}

@media (min-width: 1200px) {
  header .header-container .lang-container {
    justify-content: center;
    order: 4;
  }
}
header .header-container .lang-container .language-menu-container {
  position: relative;
  display: flex;
  align-items: center;
  background-color: var(--color-light);
  padding: 6px 10px;
  border-radius: 50px;
  border: 1px solid var(--color-light);
}

@media (min-width: 1200px) {
  header .header-container .lang-container .language-menu-container {
    padding: 10px 20px;
  }
}
header .header-container .lang-container .language-menu-container:hover {
  background-color: var(--panna);
  transition: var(--transition-default);
}

header .header-container .lang-container .language-menu-container .selected-language {
  text-transform: uppercase;
  cursor: pointer;
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
}

header .header-container .lang-container .language-menu-container .selected-language img {
  vertical-align: middle;
  width: 16px;
}

@media (min-width: 1200px) {
  header .header-container .lang-container .language-menu-container .selected-language img {
    width: 18px;
  }
}
header .header-container .lang-container .language-menu-container .selected-language span {
  font-size: 0.875rem;
  padding-left: 8px;
}

@media (min-width: 1200px) {
  header .header-container .lang-container .language-menu-container .selected-language span {
    font-size: 1rem;
    padding-left: 10px;
  }
}
header .header-container .lang-container .language-menu-container .language-menu {
  position: absolute;
  width: 100%;
  top: 100%;
  left: 0;
  margin-top: 5px;
  background-color: var(--color-light);
  transition: var(--transition-default);
  list-style: none;
  padding: 0;
  opacity: 0;
  transform: translateY(-20px);
  pointer-events: none;
  text-transform: uppercase;
  border-radius: 10px;
}

header .header-container .lang-container .language-menu-container .language-menu li {
  text-align: center;
}

header .header-container .lang-container .language-menu-container .language-menu li a {
  display: block;
  margin: 0;
  font-weight: 400;
  padding: 5px 10px;
  line-height: 1;
}

header .header-container .lang-container .language-menu-container .language-menu li.hide {
  display: none;
}

header.light-header .header-container .logo-container a .logo-light {
  display: block;
}

header.light-header .header-container .logo-container a .logo-dark {
  display: none;
}

header.light-header .header-container nav.menu-container .hamburger::before, header.light-header .header-container nav.menu-container .hamburger::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: var(--color-dark);
  transition: var(--transition-default);
}

header.light-header .header-container nav.menu-container .hamburger.color-light::before, header.light-header .header-container nav.menu-container .hamburger.color-light::after {
  background-color: var(--color-light);
}

body {
  transition: var(--transition-default);
}

body.sticky-header header {
  background-color: rgba(245, 242, 236, 0.9);
}

@media (min-width: 1200px) {
  body.sticky-header header {
    background-color: rgba(245, 242, 236, 0.9);
  }
}
body.sticky-header header .header-container {
  transition: all 0.5s ease-in-out;
}

body.sticky-header header.light-header .header-container .logo-container a .logo-light {
  display: none;
}

body.sticky-header header.light-header .header-container .logo-container a .logo-dark {
  display: block;
}

body.sticky-header header.light-header .header-container nav.menu-container .hamburger::before, body.sticky-header header.light-header .header-container nav.menu-container .hamburger::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: var(--color-light);
  transition: var(--transition-default);
}

body.sticky-header header.light-header .header-container nav.menu-container .hamburger.color-light::before, body.sticky-header header.light-header .header-container nav.menu-container .hamburger.color-light::after {
  background-color: var(--color-dark);
}

body.menu-open header {
  background-color: var(--color-light);
}

body.menu-open header .header-container .logo-container a .logo-dark {
  display: block;
}

body.menu-open header .header-container .logo-container a .logo-light {
  display: none;
}

body.menu-open header nav.menu-container ul.menu {
  transform: translateX(0);
}

body.menu-open header nav.menu-container .hamburger::before {
  animation-duration: 0.5s;
  transform-origin: center;
  transform: translateY(6px) rotate(45deg);
  background-color: var(--color-dark) !important;
}

@media (max-width: 991px) {
  body.menu-open header nav.menu-container .hamburger::before {
    transform: translateY(7px) rotate(45deg);
  }
}
body.menu-open header nav.menu-container .hamburger::after {
  animation-duration: 0.5s;
  transform-origin: center;
  transform: translateY(-8px) rotate(-45deg);
  background-color: var(--color-dark) !important;
}

body.language-menu-open header .header-container .lang-container .language-menu-container .language-menu {
  opacity: 1;
  transform: translateY(0px);
  pointer-events: auto;
}

body.language-menu-open header .header-container .lang-container .language-menu-container .selected-language i {
  color: var(--color-dark);
}

body.sub-menu-open header nav.menu-container ul.menu li.link-menu.megamenu a[data-open-submenu] .plus svg {
  transition: var(--transition-default);
  transform: rotate(-90deg);
  transform-origin: center;
}

@media (min-width: 1200px) {
  body.sub-menu-open header nav.menu-container ul.menu li.link-menu.megamenu a[data-open-submenu] .plus svg {
    transform: rotate(-180deg);
  }
}
body.sub-menu-open header nav.menu-container .hamburger::before {
  animation-duration: 0.5s;
  transform-origin: center;
  transform: translateY(6px) rotate(45deg);
  background-color: var(--color-dark);
}

@media (max-width: 991px) {
  body.sub-menu-open header nav.menu-container .hamburger::before {
    transform: translateY(7px) rotate(45deg);
  }
}
body.sub-menu-open header nav.menu-container .hamburger::after {
  animation-duration: 0.5s;
  transform-origin: center;
  transform: translateY(-8px) rotate(-45deg);
  background-color: var(--color-dark);
}

.whatsapp-fixed {
  position: fixed;
  bottom: 5px;
  right: 10px;
  z-index: 2;
  width: 58px;
}

@media (min-width: 992px) {
  .whatsapp-fixed {
    display: none;
  }
}
.whatsapp-fixed::after {
  content: none;
}

footer {
  position: relative;
}

footer.progetti-footer {
  z-index: -1;
}

@media (max-width: 991px) {
  footer .prefooter-grid {
    text-align: center;
    justify-content: center;
  }
}
footer .logo-footer {
  width: 262px;
}

@media (max-width: 991px) {
  footer .logo-footer {
    text-align: center;
    margin: 0 auto;
    display: flex;
  }
}
footer .indirizzi a {
  transition: var(--transition-default);
  color: var(--grey);
  font-size: 1rem;
  font-weight: 400;
}

footer .indirizzi a:hover a {
  transition: var(--transition-default);
  color: var(--color-light);
  font-weight: 500;
}

footer .menu-footer, footer .language-menu {
  list-style: none;
  padding: 0;
  margin: 0;
}

footer .menu-footer li a, footer .language-menu li a {
  color: var(--grey);
  font-size: 1rem;
  font-weight: 400;
}

footer .menu-footer li.active a, footer .language-menu li.active a {
  color: var(--color-light);
  font-weight: 500;
}

footer .social {
  display: flex;
  gap: 20px;
}

@media (max-width: 991px) {
  footer .social {
    text-align: center;
    justify-content: center;
  }
}
footer .social .social-elem a {
  color: var(--color-light);
  font-size: 1.125rem;
  transition: var(--transition-default);
}

footer .social .social-elem a i {
  color: var(--color-light);
  transition: var(--transition-default);
}

footer .social .social-elem a i:hover {
  transition: var(--transition-default);
  color: var(--yellow);
}

footer .copyright p {
  display: inline-block;
}

footer .copyright p a {
  display: inline-block;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvX21hcHBhLnNjc3MiLCJhYnN0cmFjdHMvX2NvbG9ycy5zY3NzIiwiYWJzdHJhY3RzL192YXJpYWJsZXMuc2NzcyIsImFic3RyYWN0cy9fYW5pbWF0aW9ucy5zY3NzIiwiYmFzZS9fYmFzZS5zY3NzIiwiYmFzZS9mb250cy9fZm9udHMuc2NzcyIsImJhc2UvX3R5cG9ncmFwaHkuc2NzcyIsImJhc2UvX2N1c3RvbS5zY3NzIiwiY29tcG9uZW50cy9fYmxvY2stZ3JpZHMuc2NzcyIsImNvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCJjb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL19mb3JtLnNjc3MiLCJhYnN0cmFjdHMvX21peGlucy5zY3NzIiwiY29tcG9uZW50cy9faW50cm8uc2NzcyIsImNvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsImNvbXBvbmVudHMvX3Byb2dldHRpLnNjc3MiLCJjb21wb25lbnRzL19zZWN0aW9uLnNjc3MiLCJjb21wb25lbnRzL19zbGlkZXIuc2NzcyIsImNvbXBvbmVudHMvX3RleHQtc2Nyb2xsLnNjc3MiLCJjb21wb25lbnRzL192aWRlby5zY3NzIiwibGF5b3V0L19oZWFkZXIuc2NzcyIsImxheW91dC9fZm9vdGVyLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQVE7QUFBQTtFQ0NKO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7OztBQ2JKO0VBSUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFLQTs7O0FBQ0E7RUF0Qko7SUF1QlE7OztBQUdKO0VBMUJKO0lBMkJROzs7QUFFSjtFQTdCSjtJQThCUTs7O0FBOUJSO0VBaUNJOzs7QUFDQTtFQWxDSjtJQW1DUTs7O0FBRUo7RUFyQ0o7SUFzQ1E7OztBQXRDUjtFQXlDSTtFQUNBO0VBQ0E7RUFLQTtFQUtBO0VBQ0E7RUFDQTtFQUVBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOzs7QUM1Rko7RUFDRTtJQUNFOztFQUdGO0lBQ0U7OztBQUlKO0VBQ0U7SUFDRTs7RUFHRjtJQUNFOzs7QUFJSjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0U7OztBQUlKO0VBQ0U7SUFDRTs7RUFHRjtJQUNFOzs7QUFJSjtFQUVFO0lBS0U7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOzs7QUFJSjtFQUNFO0VBRUE7OztBQU1GO0VBQ0U7RUFDQTs7O0FBRUE7RUFDRTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0U7RUFDQTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0U7RUFDQTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0U7RUFDQTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0U7RUFDQTs7O0FDcEhKO0VBRUk7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBRUE7RUFDSTs7O0FBSVI7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBSUo7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBRUE7RUFDSTs7O0FBSVI7RUFDSTs7O0FBRUE7RUFISjtJQUlROzs7QUFHSjtFQUNJOzs7QUFPUjtFQUNJOzs7QUFFQTtFQUNJOzs7QUFHSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFPUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFSSjtJQVNROzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUdBO0VBREo7SUFFUTs7O0FBS0o7RUFESjtJQUVROzs7QUFLSjtFQURKO0lBRVE7OztBQUdSO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBRUE7RUFKSjtJQUtROzs7QUFJUjtFQUNJO0VBQ0E7OztBQUVBO0VBSko7SUFLUTs7O0FBS1o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFFQTtFQUVJOzs7QUFHSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFHQTtFQURKO0lBRVE7OztBQUdSO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUlBO0VBREo7SUFFUTs7O0FBS1o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtJQUNJOztFQUdKO0lBQ0k7OztBQUlSO0VBQ0k7SUFDSTs7RUFHSjtJQUNJOzs7QUFJUjtFQUNJO0lBQ0k7O0VBR0o7SUFDSTs7O0FBSVI7RUFDSTtJQUNJOztFQUdKO0lBQ0k7OztBQUlSO0VBQ0k7SUFDSTs7RUFHSjtJQUNJOzs7QUFLUjtFQUNJO0lBQ0k7OztBQU9SO0VBQ0k7RUFDQTs7O0FBS0o7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBTUo7RUFDSTs7O0FBTUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS1o7RUFDSTs7O0FBRUE7RUFFSTs7O0FBSVI7RUFDSTs7O0FBRUE7RUFFSTs7O0FBSVI7RUFDSTs7O0FBR0o7RUFDSTs7O0FBRUE7RUFDSTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVZKO0lBV1E7SUFDQTs7O0FBS0o7RUFDSTtFQUNBOzs7QUFFQTtFQUpKO0lBS087SUFDQzs7O0FBT3BCO0VBQ0k7OztBQUdBO0VBQ0k7OztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFWSjtJQVdRO0lBQ0E7OztBQU9oQjtFQUNJOzs7QUFFQTtFQUNJOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBVko7SUFXUTtJQUNBOzs7QUFNaEI7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBUUE7RUFDSTs7O0FBTUo7RUFDSTs7O0FBTUo7RUFDSTs7O0FBTUo7RUFDSTs7O0FBTUo7RUFDSTs7O0FBTUo7RUFDSTs7O0FBTUo7RUFDSTs7O0FBTUo7RUFDSTs7O0FBTUo7RUFDSTs7O0FBSVI7RUFDSTs7O0FBRUo7RUFDSTs7O0FBR0o7RUFDSTtJQUNJOztFQUVKO0lBQ0k7OztBQUdSO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQ2psQko7RUFDSTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7O0FBS0o7RUFDSTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7O0FDbkhKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdJO0VBQ0k7RUFDQTs7O0FBTVo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBTUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJOzs7QUFHUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFJQTtFQUNJO0VBQ0E7RUFDQTs7O0FBT1o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBTUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBTUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBTUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FDN1JKO0VBQ0k7OztBQUxBO0VBQ0k7OztBQVFKO0VBQ0k7OztBQVZKO0VBQ0k7OztBQ0ZSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBTko7SUFPUTtJQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFJQTtFQURKO0lBRVE7OztBQUdKO0VBQ0k7RUFDQTs7O0FBRUE7RUFKSjtJQUtROzs7QUFHSjtFQVJKO0lBU1E7OztBQUtKO0VBREo7SUFFUTs7O0FBR0o7RUFMSjtJQU1ROzs7QUFLSjtFQURKO0lBRVE7OztBQUdKO0VBTEo7SUFNUTs7O0FBSVI7RUFDUTs7O0FBRUo7RUFISjtJQUlROzs7QUFHSjtFQVBKO0lBUVE7OztBQUtKO0VBREo7SUFFUTs7O0FBR0o7RUFMSjtJQU1ROzs7QUFLSjtFQURKO0lBRVE7OztBQUdKO0VBTEo7SUFNUTs7O0FBSVI7RUFDUTs7O0FBRUo7RUFISjtJQUlROzs7QUFNUjtFQURKO0lBRVE7OztBQUdKO0VBTEo7SUFNUTs7O0FBR0o7RUFUSjtJQVVROzs7QUFJQTtFQURKO0lBRVE7OztBQUdKO0VBTEo7SUFNUTs7O0FBR0o7RUFUSjtJQVVROzs7QUFJUjtFQUNJOzs7QUFHQTtFQUpKO0lBS1E7OztBQUdKO0VBUko7SUFTTzs7O0FBR0g7RUFaSjtJQWFROzs7QUFJUjtFQUNJOzs7QUFFQTtFQUhKO0lBSVE7OztBQUdKO0VBUEo7SUFRUTs7O0FBR0o7RUFYSjtJQVlROzs7QUFLQTtFQUNJOzs7QUFFQTtFQUhKO0lBSVE7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBY0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBTVI7RUFDSTs7O0FBQ0E7RUFDSTs7O0FBU3BCO0VBQ0k7OztBQUVBO0VBSEo7SUFJUTs7O0FBR0o7RUFQSjtJQVFROzs7QUFHSjtFQVhKO0lBWVE7OztBQU9JO0VBQ0k7OztBQUlBO0VBREo7SUFFUTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVZKO0lBV1E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFWSjtJQVdRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFLSjtFQUNJO0VBQ0E7OztBQUtKO0VBQ0k7RUFDQTs7O0FBS0o7RUFDSTtFQUNBOzs7QUFLSjtFQUNJO0VBQ0E7OztBQU9KO0VBQ0k7OztBQVVwQjtFQURKO0lBRVE7OztBQUdKO0VBTEo7SUFNUTs7O0FBSUE7RUFESjtJQUVROzs7QUFHSjtFQUxKO0lBTVE7OztBQUdKO0VBVEo7SUFVUTs7O0FBSUE7RUFESjtJQUVROzs7QUFNaEI7RUFDSTs7O0FBRUE7RUFISjtJQUlROzs7QUFHSjtFQVBKO0lBUVE7OztBQUdKO0VBWEo7SUFZUTs7O0FBSVI7RUFDSTs7O0FBRUE7RUFISjtJQUlROzs7QUFHSjtFQVBKO0lBUVE7OztBQUdKO0VBWEo7SUFZUTs7O0FBSUo7RUFoQko7SUFpQlE7OztBQU1SO0VBQ0k7OztBQUtJO0VBQ0k7OztBQUNBO0VBRko7SUFHTzs7O0FBSVA7RUFDSTs7O0FBQ0E7RUFGSjtJQUdROzs7QUFRUjtFQUNJOzs7QUFDQTtFQUZKO0lBR087OztBQUlQO0VBQ0k7OztBQUNBO0VBRko7SUFHUTs7O0FBV1I7RUFESjtJQUVRO0lBQ0E7SUFDQTs7O0FBTVI7RUFESjtJQUVRO0lBQ0E7SUFDQTs7O0FBSUE7RUFESjtJQUVRO0lBQ0E7SUFDQTs7O0FDemRoQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdBO0VBWEo7SUFZUTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVJKO0lBU1E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBOzs7QUFJQTtFQUNJOzs7QUFLWjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFDQTtFQUNJOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTs7O0FDeEVoQjtFQUNJO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7O0FBRUE7RUFqQ0o7SUFrQ1E7OztBQUdKO0VBSUk7RUFDQTtFQUNBOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUN2TFI7RUFDSTs7O0FBRUE7RUFFSTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7OztBQUVBO0VBTEo7SUFNUTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVJKO0lBU1E7OztBQUlBO0VBREo7SUFFUTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFLSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFFQTtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFRUjtFQUVJO0VBQ0E7OztBQUxSO0VBU0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0k7OztBQUVBO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU1aO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJUjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBOzs7QUFNUjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFSSjtJQVNROzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQWxCSjtJQW1CUTs7O0FBR0o7RUF0Qko7SUF1QlE7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VDL1J4QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VENlJ3QjtFQUNBOzs7QUFJQTtFQUNJOzs7QUFTcEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSTtFQUtJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFLSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJUjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBOzs7QUFLWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJOzs7QUFTNUI7RUFDSTs7O0FBRUE7RUFDSTs7O0FFamFSO0VBQ0k7RUFDQTtFQUNBOzs7QUFFQTtFQUxKO0lBTVE7SUFDQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBRUE7RUFKSjtJQUtRO0lBQ0E7SUFDQTtJQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBRUE7RUFMSjtJQU1RO0lBQ0E7SUFDQTtJQUNBOzs7QUFNaEI7RUFDSTtFQUNBO0VBQ0E7OztBQUVBO0VBTEo7SUFNUTtJQUNBO0lBQ0E7SUFDQTs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7OztBQUVBO0VBTEo7SUFNUTtJQUNBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUVBO0VBTEo7SUFNUTtJQUNBO0lBQ0E7SUFDQTs7O0FBT1I7RUFGSjtJQUdRO0lBQ0E7SUFDQTs7O0FBR0o7RUFSSjtJQVNRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFFQTs7O0FBSUo7RUFDSTtFQUNBOzs7QUFFQTtFQUpKO0lBS1E7SUFDQTtJQUNBO0lBQ0E7OztBQVFoQjtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVZKO0lBV1E7SUFDQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBZko7SUFnQlE7SUFDQTtJQUNBO0lBQ0E7OztBQUtKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0Fick1aO0VBSUM7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0VBQ0M7RUFDQTs7O0FBSUQ7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQWhCRDtJQWlCRTs7O0FBSUU7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7OztBQUlSO0VBQ1E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFWSjtJQVdROzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQUdBO0VBRUk7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFLUjtFQUNJO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1aO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1oQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQU5KO0lBT1E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTWhCO0VBRVE7SUFDSTs7RUFHSjtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNJO0lBQ0E7O0VBR0o7SUFFSTs7O0FBZ0JoQjtFQUVRO0lBQ0k7O0VBR0o7SUFDSTs7O0FBd0NaO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDQzs7O0FBR0Q7RUFDQztFQUNBOzs7QUFJRjtFQUNDO0VBQ0E7RUFDQTtFQUNHO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBSVI7RUFBQTs7O0FBQ0E7RUFBQTs7O0FBQ0E7RUFBQTs7O0FBQ0E7RUFBQTs7O0FBRUE7RUFDQztFQUNBOzs7QUFHRDtFQUNDOzs7QUFHRDtFQUNDOzs7QUFHRDtFQUNDO0VBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDQztFQUNBOzs7QUFJRjtFQUNDOzs7QUFJRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNHOzs7QUFFSDtFQUNDO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQzs7O0FBR0Q7RUFDQztFQUNBOzs7QUFHRDtFQWpDRDtJQWtDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFDQzs7O0FBSUM7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBTVI7RUFDSTtFQUNBO0VBQ0E7RUFDVDs7O0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDWTs7O0FBR2I7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0c7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7OztBQU9oQjtFQUNJO0lBRUk7OztBQUtSO0VBS0M7SUFDQzs7RUFHRDtJQUNDO0lBQ0E7SUFDQTtJQUNBOztFQUdEO0lBQ0M7SUFDQTs7RUFHRDtJQUNDOzs7QUFJRjtFQUNDO0lBQ0M7SUFDQTtJQUNBOztFQUdEO0lBQ0M7O0VBR0Q7SUFDQzs7RUFHRDtJQUNDO0lBQ0E7SUFDQTtJQUNBOzs7QWNocEJGO0VBQ0k7RUFDQTs7O0FBRUE7RUFDSTtFQUNBOzs7QUFFQTtFQUNJOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUVBO0VBQ0k7OztBQUtaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBRUE7RUFDSTtFQUVBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFFQTtFQUNJOzs7QUFLWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQzNKWjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJOzs7QUFHSjtFQUVJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBWEo7SUFZUTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlSO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUlSO0VBQ0k7RUFDQTs7O0FBV1I7RUFDSTs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0E7RUFDSTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0k7RUFDQTs7O0FBTVo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQXhGSjtJQXlGUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0E7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBOztFQUdBO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBSUE7SUFDSTtJQUNBO0lBQ0E7SUFDQTs7RUFHSjtJQUNJO0lBQ0E7O0VBTVo7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTs7O0FBTVo7RUFDSTtFQUNBO0VBQ0E7OztBQy9QUjtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7OztBQUdBO0VBVEo7SUFVUTtJQUNBOzs7QUFHSjtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQU5KO0lBT1E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBTko7SUFPUTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7OztBQUdBO0VBTko7SUFPUTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFUSjtJQVVROzs7QUFLWjtFQUNJO0VBQ0E7OztBQUVBO0VBSko7SUFLUTs7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFOSjtJQU9ROzs7QUFPUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFSSjtJQVNROzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFYSjtJQVlROzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBVko7SUFXUTtJQUNBO0lBQ0E7SUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVZKO0lBV1E7SUFDQTs7O0FBS1o7RUFFUTtJQUNJO0lBQ0E7SUFDQTs7RUFHSjtJQUNJO0lBQ0E7SUFDQTs7RUFHSjtJQUNJO0lBQ0E7SUFDQTs7O0FBS1o7RUFDSTtJQUVJOztFQUVKO0lBQ0k7OztBQUlSO0VBQ0k7SUFFSTs7RUFFSjtJQUNJOzs7QUFJUjtFQUNJO0lBRUk7O0VBRUo7SUFDSTs7O0FBSVI7RUFDSTtJQUVJOztFQUVKO0lBQ0k7OztBQUlSO0VBQ0k7SUFFSTs7RUFFSjtJQUNJOzs7QUFJUjtFQUNJO0lBRUk7O0VBRUo7SUFDSTs7O0FBSVI7RUFDSTtJQUVJOztFQUVKO0lBQ0k7OztBQUlSO0VBQ0k7SUFFSTs7RUFFSjtJQUNJOzs7QUFJUjtFQUVRO0lBR0k7O0VBSVI7SUFDSTs7RUFJQTtJQUVJOzs7QUFTUjtFQUNJOzs7QUFFQTtFQUhKO0lBSVE7OztBQUdKO0VBQ0k7OztBQU9SO0VBQ0k7RUFDQTs7O0FBTUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlSO0VBRUk7OztBQUdBO0VBQ0k7OztBQUVBO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU1SO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtJQUNJO0lBQ0E7OztBQUlSO0VBQ0k7OztBQUVBO0VBQ0k7OztBQUVBO0VBQ0k7RUFDQTs7O0FBTWhCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0E7RUFDSTs7O0FBQ0E7RUFDSTs7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFOSjtJQU9RO0lBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBRUE7RUFKSjtJQUtROzs7QUFJUjtFQUNJO0VBQ0E7OztBQUVBO0VBSko7SUFLUTs7O0FBTVo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVBKO0lBUVE7SUFDQTtJQUNBOzs7QUFLSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFLSjtFQUNJO0VBRUE7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBOzs7QUFFQTtFQVJKO0lBU1E7SUFDQTs7O0FBS1I7RUFDSTtFQUVBO0VBQ0E7RUFDQTs7O0FBR0E7RUFDSTs7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7OztBQUdBO0VBaEJKO0lBaUJROzs7QUFLSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBSVI7RUFDSTs7O0FBT1k7RUFFSTtFQUNBOzs7QUFJSjtFQUNJO0VBQ0E7OztBQVd4QjtFQUNDO0lBQ0M7O0VBRUQ7SUFDQzs7O0FBR0Y7RUFDQztJQUNDOzs7QUFJRjtFQUNDO0VBQ0E7OztBQUVHO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFPWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVRKO0lBVVE7OztBQUlSO0VBRUk7OztBQU9KO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBVEo7SUFVUTtJQUNBOzs7QUFLUjtFQUNJO0lBQ0k7SUFDQTs7RUFHSjtJQUNJO0lBQ0E7OztBQUtaO0VBQ0k7SUFFSTs7RUFFSjtJQUNJOzs7QUFJUjtFQUNJO0lBRUk7O0VBRUo7SUFDSTs7O0FBSVI7RUFDSTtJQUVJOztFQUVKO0lBQ0k7OztBQUlSO0VBQ0k7SUFFSTs7RUFFSjtJQUNJOzs7QUFLSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBVko7SUFXUTs7O0FBSVI7RUFFSTtFQUNBO0VBQ0E7OztBQUVBO0VBTko7SUFRUTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFUSjtJQVVRO0lBQ0E7OztBQUtSO0VBQ0k7SUFDSTtJQUNBOztFQUdKO0lBQ0k7SUFDQTs7O0FBbURSO0VBQ0k7OztBQUdJO0VBQ0c7RUFFQTtFQUNBOzs7QUFFQTtFQUNLO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7OztBQUVBO0VBUkw7SUFTUztJQUNBOzs7QUFLUjtFQUNHO0VBRUE7RUFDQTtFQUNBOzs7QUFHQTtFQUNJOzs7QUFNWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7OztBQUdBO0VBaEJKO0lBaUJROzs7QUFLSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBTUM7RUFDSTtFQUNBOzs7QUFLTDtFQUNJO0VBQ0E7OztBQzU1QnZCO0VBQ0k7OztBQUVBO0VBQ0k7OztBQUVBO0VBQ0k7RUFDQTs7O0FBRUE7RUFKSjtJQUtPO0lBQ0E7OztBQUlDO0VBREo7SUFFRztJQUNBOzs7QUFJSDtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFYSjtJQVlROzs7QUFNWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTs7O0FBR0E7RUFWSjtJQVdRO0lBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFFQTtFQUxKO0lBTVE7OztBQUlSO0VBQ0k7OztBQUVBO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU1SO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFRWjtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUQ7RUFDSztFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFLUjtFQUNJO0VBQ0E7RUFDQTtFQUVRO0VBRVI7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUlKO0VBQ0k7RUFDQTs7O0FBTVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTs7O0FDOUtSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7OztBQ1haO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFQSjtJQVFRO0lBQ0E7SUFDQTtJQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFJUjtFQUNJO0VBRUE7OztBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDSTs7O0FBR0o7RUFWSjtJQVdRO0lBQ0E7OztBQUlKO0VBaEJKO0lBaUJRO0lBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQy9FUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0E7RUFaSjtJQWFRO0lBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFWSjtJQVdRO0lBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBVEo7SUFVUTs7O0FBR0o7RUFDSTs7O0FBRUE7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUVBO0VBTEo7SUFNUTs7O0FBTWhCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVJKO0lBU1E7SUFDQTs7O0FBSUo7RUFkSjtJQWVROzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQWhCSjtJQWlCUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQWhCSjtJQWlCUTtJQUNBO0lBQ0E7SUFDQTs7O0FBR0o7RUFFSTs7O0FBS0o7RUFDSTs7O0FBRUE7RUFFSTs7O0FBU1I7RUFISjtJQUlROzs7QUFHSjtFQUNJOzs7QUFDQTtFQUNJO0VBQ0E7OztBQU9BO0VBQ0k7RUFDQTtFQUNBOzs7QUFNWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBOzs7QUFHQTtFQWpCSjtJQWtCUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFFQTtFQUpKO0lBS1E7SUFDQTs7O0FBSVI7RUFDSTs7O0FBRUE7RUFISjtJQUlRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7RUFDQTs7O0FBRUE7RUFKSjtJQUtROzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQU5KO0lBT1E7SUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUVJO0VBQ0E7OztBQVNSO0VBREo7SUFFUTtJQUNBOzs7QUFNWjtFQUNJOzs7QUFDQTtFQUZKO0lBR1E7SUFDQTtJQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7OztBQU9wQjtFQUNJOzs7QUFFQTtFQUhKO0lBSVE7OztBQU9wQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFYSjtJQVlROzs7QUFHSjtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0E7RUFFSTs7O0FBTWhCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBOzs7QUFFQTtFQVpKO0lBYVE7SUFDQTs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFUSjtJQVVROzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTs7O0FBRUE7RUFKSjtJQUtROzs7QUFJUjtFQUNJO0VBQ0E7OztBQUVBO0VBSko7SUFLUTtJQUNBOzs7QUFLWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7OztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBa0JSO0VBQ0k7OztBQUdKO0VBQ0k7OztBQVFKO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJQTtFQUVJOzs7QUFTNUI7RUFDSTs7O0FBSUk7RUFDSTs7O0FBRUE7RUFISjtJQUlROzs7QUFHSjtFQUNJOzs7QUFrSVk7RUFDSTs7O0FBR0o7RUFDSTs7O0FBT0o7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlBO0VBRUk7OztBQWM1QjtFQUNJOzs7QUFLWTtFQUNJOzs7QUFHSjtFQUNJOzs7QUFPWjtFQUNJOzs7QUFJQTtFQUVJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVBKO0lBUVE7OztBQUdSO0VBRUk7RUFDQTtFQUNBO0VBQ0E7OztBQVlBO0VBQ0k7RUFDQTtFQUNBOzs7QUFJQTtFQUNJOzs7QUErQlE7RUFDSTtFQUNBO0VBQ0E7OztBQUVBO0VBTEo7SUFNUTs7O0FBWTVCO0VBRUk7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBUEo7SUFRUTs7O0FBR1I7RUFFSTtFQUNBO0VBQ0E7RUFDQTs7O0FBUXhCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFQSjtJQVFPOzs7QUFHSDtFQUNJOzs7QUNyMUJSO0VBQ0k7OztBQUVBO0VBQ0k7OztBQUtBO0VBREo7SUFFUTtJQUNBOzs7QUFJUjtFQUNJOzs7QUFFQztFQUhMO0lBSVE7SUFDQTtJQUNBOzs7QUFLSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSTtFQUNJO0VBQ0E7RUFDQTs7O0FBTWhCO0VBRUk7RUFDQTtFQUNBOzs7QUFHSTtFQUNJO0VBQ0E7RUFDQTs7O0FBSUE7RUFDSTtFQUNBOzs7QUFNaEI7RUFDSTtFQUNBOzs7QUFFQTtFQUpKO0lBS1E7SUFDQTs7O0FBSUE7RUFDSTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTs7O0FBRUE7RUFDSTtFQUNBOzs7QUFTaEI7RUFDSTs7O0FBRUE7RUFDSSIsImZpbGUiOiJtYWluLm1pbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IHVybChcImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjkuNC9kaXN0L2xlYWZsZXQubWluLmNzc1wiKTtcblxuLm1hcHBhLWV5ZWJyb3csXG4ubWFwcGEtc2lkZWJhcl9fZXllYnJvdyxcbi5tYXBwYS1jb3VudGVyX19sYWJlbCxcbi5tYXBwYS1tYXAtaGludCB7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGxldHRlci1zcGFjaW5nOiAwLjE2ZW07XG5cdGZvbnQtc2l6ZTogMC43MnJlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLm1hcHBhLWV5ZWJyb3cge1xuXHRjb2xvcjogdmFyKC0tcGFjaWZpY28pO1xuXHRtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG5cbi5tYXBwYS1zaGVsbCB7XG5cdC0tc2lkZWJhci13aWR0aDogdmFyKC0tYmxvY2stbWluLXdpZHRoKTtcblx0LS1zaWRlYmFyLWxlZnQtb2Zmc2V0OiA0MHB4O1xuXHQtLXNpZGViYXItdmVydGljYWwtb2Zmc2V0OiAxNnB4O1xuXHQtLXBhbmVsLWdhcDogMTZweDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xuXHRkaXNwbGF5OiBibG9jaztcblx0aGVpZ2h0OiAxMDB2aDtcblx0aGVpZ2h0OiAxMDBzdmg7XG5cdG1pbi1oZWlnaHQ6IDEwMHZoO1xuXHRtaW4taGVpZ2h0OiAxMDBzdmg7XG5cdG1heC1oZWlnaHQ6IDEwMHZoO1x0XG5cdG1heC1oZWlnaHQ6IDEwMHN2aDtcdFxuXHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuXHRcdC0tc2lkZWJhci13aWR0aDogdmFyKC0tYmxvY2stbWluLXdpZHRoKTtcblx0XHRcblx0fVxuICAgIFxuICAgIC5tYXBwYS1zaWRlYmFyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiB2YXIoLS1zaWRlYmFyLWxlZnQtb2Zmc2V0KTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgaGVpZ2h0OiA4MHZoO1xuICAgICAgICB3aWR0aDogdmFyKC0tc2lkZWJhci13aWR0aCk7XG4gICAgICAgIHotaW5kZXg6IDQxMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAxOHB4O1xuICAgICAgICBwYWRkaW5nOiAyNnB4IDI0cHggMjJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgIFxuICAgICAgICAubWFwcGEtc2lkZWJhcl9fdG9wIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA2cHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxNiwgMzUsIDYzLCAwLjA4KTtcbiAgICAgICAgfVxuICAgXG4gICAgICAgIC5tYXBwYS1maWx0ZXJzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLm1hcHBhLWZpbHRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBnYXA6IDdweDtcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXBhbm5hKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWdyZXktZGFyayk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHggMTNweDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogI3tweC10by1yZW0oMTRweCl9O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ibHVlKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAubWFwcGEtZmlsdGVyX19jb3VudCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxLjY1ZW07XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMS42NWVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAuNDVlbTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NHJlbTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBhbm5hKTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLm1hcHBhLWxpc3Qge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBnYXA6IDEwcHg7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgICBcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTYsIDM1LCA2MywgMC4xNik7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5tYXBwYS1pdGVtIHtcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgZ2FwOiAxNXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWlkLXBhbm5hKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAubWFwcGEtaXRlbV9faW1ne1xuICAgICAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLm1hcHBhLWl0ZW1fX3BpbGxhciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAje3B4LXRvLXJlbSgxNHB4KX07XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgICAgICAgICAgICAgICAgICAubWFwcGEtaXRlbV9fcGlsbGFyLWxvZ28ge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLm1hcHBhLWl0ZW1fX2xvY2F0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiA1cHg7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICN7cHgtdG8tcmVtKDEycHgpfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgLnBpbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyZXktZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA2MHB4IDYwcHggMHB4IDYwcHggO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmUgO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCIgO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItbGlnaHQpIDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDMwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDMwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC5tYXBwYS1pdGVtX19zdGF0dXMge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDlweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMnB4IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogI3tweC10by1yZW0oMTBweCl9O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wYW5uYSk7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW1pZC1wYW5uYSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5tYXBwYS1tYXAtY29sdW1uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoNzksIDEwNCwgMjAsIDAuMTApIDAlLCByZ2JhKDI0NSwgMjQwLCAyMzAsIDAuOTApIDEwMCUpO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDBzdmg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDBzdmg7XG4gICAgICAgIFxuICAgICAgICAubWFwcGEtbWFwLWZyYW1lIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbWluLWhlaWdodDogNzIwcHg7XG4gICAgICAgIFxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogNTIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5tYXBwYS1tYXAge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLm1hcHBhLXNoZWxsIHtcbiAgICAgICAgLmRldGFpbC1wYW5lbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAubWFwcGEtc2lkZWJhciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAxMnB4O1xuICAgICAgICAgICAgcmlnaHQ6IDEycHg7XG4gICAgICAgICAgICB0b3A6IDgwcHg7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE0cHggMTZweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgICAgICAgICBnYXA6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiA0MzA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODIpO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNiwgMzUsIDYzLCAwLjEyKTtcbiAgICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpO1xuICAgICAgICAgICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTtcblxuICAgICAgICAgICAgLm1hcHBhLXNpZGViYXJfX3RvcCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1hcHBhLWZpbHRlcnMsXG4gICAgICAgICAgICAubWFwcGEtbGlzdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8qIC5tYXBwYS1tYXAtY29sdW1uLFxuICAgICAgICAubWFwcGEtbWFwLWNvbHVtbiAubWFwcGEtbWFwLWZyYW1lLFxuICAgICAgICAubWFwcGEtbWFwLWNvbHVtbiAubWFwcGEtbWFwIHtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDBzdmggLSA3MHB4KTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwc3ZoIC0gNzBweCk7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHN2aCAtIDcwcHgpO1xuICAgICAgICB9ICovXG4gICAgfVxufVxuXG5cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLm1hcHBhLXNoZWxsIHtcbiAgICAgICAgLm1hcHBhLXNpZGViYXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kZXRhaWwtcGFuZWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAubWFwcGEtbWFwLWZhbGxiYWNrIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1pbi1oZWlnaHQ6IDMyMHB4O1xuXHRwYWRkaW5nOiAyNHB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODIpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMGEyNTQwIDAlLCAjMTQzMjRmIDEwMCUpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuXHRmb250LXNpemU6IDAuOTVyZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi5tYXBwYS1tYXAtaGludCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogY2FsYyh2YXIoLS1zaWRlYmFyLWxlZnQtb2Zmc2V0KSArIHZhcigtLXNpZGViYXItd2lkdGgpICsgMThweCk7XG5cdGJvdHRvbTogMThweDtcblx0ei1pbmRleDogNDIwO1xuXHRwYWRkaW5nOiAxMHB4IDE0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuXHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTApO1xuXHRjb2xvcjogcmdiYSgxNiwgMzUsIDYzLCAwLjc2KTtcblx0YmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuXHRib3gtc2hhZG93OiAwIDEwcHggMjRweCByZ2JhKDE2LCAzNSwgNjMsIDAuMTApO1xuXG5cdEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuXHRcdGxlZnQ6IGNhbGModmFyKC0tc2lkZWJhci1sZWZ0LW9mZnNldCkgKyB2YXIoLS1zaWRlYmFyLXdpZHRoKSArIDEycHgpO1xuXHRcdHJpZ2h0OiAxMnB4O1xuXHRcdGJvdHRvbTogMTJweDtcblx0XHRib3JkZXItcmFkaXVzOiAxOHB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxufSAqL1xuXG4uY3VzdG9tLW1hcmtlciB7XG5cdHdpZHRoOiA0MHB4O1xuXHRoZWlnaHQ6IDQwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJSA1MCUgNTAlIDA7XG5cdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRib3JkZXI6IDNweCBzb2xpZCB2YXIoLS1jb2xvci1saWdodCk7XG5cdGJveC1zaGFkb3c6IDAgOHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjM2KTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZSwgYm94LXNoYWRvdyAwLjJzIGVhc2U7XG5cdGN1cnNvcjogcG9pbnRlcjtcblxuXHQmOmhvdmVyIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDEuMTIpO1xuXHR9XG5cblx0Ji5pcy1hY3RpdmUge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgc2NhbGUoMS4xOCk7XG5cdFx0Ym94LXNoYWRvdzogMCAxMHB4IDI2cHggcmdiYSgwLCAwLCAwLCAwLjQ4KTtcblx0fVxufVxuXG4uY3VzdG9tLW1hcmtlci1pbm5lciB7XG5cdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRsaW5lLWhlaWdodDogMTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgLmN1c3RvbS1tYXJrZXItbG9nbyB7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLm1hcmtlci1mb29kIHsgYmFja2dyb3VuZDogdmFyKC0tZm9vZCk7IH1cbi5tYXJrZXItd2F0ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS13YXRlcik7IH1cbi5tYXJrZXItcmVjIHsgYmFja2dyb3VuZDogdmFyKC0tcmVjeWNsZSk7IH1cbi5tYXJrZXItbGFiIHsgYmFja2dyb3VuZDogdmFyKC0tbGFiKTsgfVxuXG4ubGVhZmxldC1jb250YWluZXIge1xuXHRiYWNrZ3JvdW5kOiAjZWVmMWVhO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xufVxuXG4ubGVhZmxldC10aWxlLXBhbmUge1xuXHRmaWx0ZXI6IHNhdHVyYXRlKDEuMDgpIGJyaWdodG5lc3MoMC45OSkgY29udHJhc3QoMS4wNikgaHVlLXJvdGF0ZSgtOGRlZyk7XG59XG5cbi5sZWFmbGV0LW92ZXJsYXktcGFuZSB7XG5cdGZpbHRlcjogYnJpZ2h0bmVzcygxKSBjb250cmFzdCgxKTtcbn1cblxuLmxlYWZsZXQtY29udHJvbC16b29tIHtcblx0Ym9yZGVyOiAwICFpbXBvcnRhbnQ7XG5cdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmxlYWZsZXQtY29udHJvbC16b29tIGEge1xuXHR3aWR0aDogMzZweCAhaW1wb3J0YW50O1xuXHRoZWlnaHQ6IDM2cHggIWltcG9ydGFudDtcblx0bGluZS1oZWlnaHQ6IDM0cHggIWltcG9ydGFudDtcblx0Ym9yZGVyLXJhZGl1czogMTJweCAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTIpICFpbXBvcnRhbnQ7XG5cdGNvbG9yOiAjMTAyMzNmICFpbXBvcnRhbnQ7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTYsIDM1LCA2MywgMC4xMikgIWltcG9ydGFudDtcblx0Zm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG5cblx0Jjpob3ZlciB7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAhaW1wb3J0YW50O1xuXHRcdGNvbG9yOiB2YXIoLS1wYWNpZmljbykgIWltcG9ydGFudDtcblx0fVxufVxuXG4ubGVhZmxldC1jb250cm9sLWF0dHJpYnV0aW9uIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuXG4uZGV0YWlsLXBhbmVsIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiBjYWxjKHZhcigtLXNpZGViYXItbGVmdC1vZmZzZXQpICsgdmFyKC0tc2lkZWJhci13aWR0aCkgKyB2YXIoLS1wYW5lbC1nYXApKTtcblx0dG9wOiA1MCU7XG5cdHdpZHRoOiB2YXIoLS1zaWRlYmFyLXdpZHRoKTtcblx0aGVpZ2h0OiA4MHZoO1xuXHRtYXgtaGVpZ2h0OiA4MHZoO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcblx0Ym9yZGVyLXJhZGl1czogMjRweDtcblx0ei1pbmRleDogNDIwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgyOHB4LCAtNTAlKTtcblx0b3BhY2l0eTogMDtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjM1cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpLCBvcGFjaXR5IDAuMzVzIGVhc2U7XG5cdG92ZXJmbG93LXk6IGF1dG87XG4gICAgcGFkZGluZzogMjBweDtcblxuXHQmLm9wZW4ge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0cG9pbnRlci1ldmVudHM6IGF1dG87XG5cdH1cblxuXHQmOjotd2Via2l0LXNjcm9sbGJhciB7XG5cdFx0d2lkdGg6IDRweDtcblx0fVxuXG5cdCY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcblx0XHRiYWNrZ3JvdW5kOiAjZDdkMmNhO1xuXHRcdGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuXHR9XG5cblx0QG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdHRvcDogODJweDtcblx0XHRsZWZ0OiAxMnB4O1xuXHRcdHJpZ2h0OiAxMnB4O1xuXHRcdGJvdHRvbTogMTJweDtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0bWF4LWhlaWdodDogbm9uZTtcblx0XHR3aWR0aDogYXV0bztcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTEwJSk7XG5cdFx0b3BhY2l0eTogMTtcblx0XHRwb2ludGVyLWV2ZW50czogYXV0bztcblx0XHRib3JkZXItcmFkaXVzOiAyNHB4O1xuXG5cdFx0Ji5vcGVuIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0XHR9XG5cdH1cbiAgICBcbiAgICAuZGV0YWlsLWNsb3NlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICB3aWR0aDogMzRweDtcbiAgICAgICAgaGVpZ2h0OiAzNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTIpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE2LCAzNSwgNjMsIDAuMSk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBjb2xvcjogIzY2NjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuICAgIFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmMGVjZTY7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmRldGFpbC1pbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAyNDBweDtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIH1cbiAgICBcbiAgICAuZGV0YWlsLWJvZHkge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICAgIFxuICAgICAgICBcbiAgICAgICAgLmRldGFpbC1waWxsYXIge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgICAgICBmb250LXNpemU6ICN7cHgtdG8tcmVtKDE0cHgpfTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuXG4gICAgICAgICAgICAuZGV0YWlsLXBpbGxhcl9fbG9nbyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gIFxuICAgICAgICBcbiAgICAgICAgLmRldGFpbC1sb2NhdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogNXB4O1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTZweDtcblxuXHRcdFx0cCB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogI3tweC10by1yZW0oMTJweCl9O1xuXHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0fVxuXG5cdFx0XHQucGluIHtcblx0XHRcdFx0d2lkdGg6IDEzcHg7XG5cdFx0XHRcdGhlaWdodDogMTNweDtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JleS1kYXJrKTtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNjBweCA2MHB4IDAgNjBweDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cblx0XHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRcdHdpZHRoOiA0cHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiA0cHg7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItbGlnaHQpO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRsZWZ0OiAzMCU7XG5cdFx0XHRcdFx0dG9wOiAzMCU7XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0XHR9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5kZXRhaWwtZGl2aWRlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlOGUxZDg7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmRldGFpbC1sYWJlbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNjhyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTRlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBjb2xvcjogIzdmODc5NTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuZGV0YWlsLWN0YSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYWJpc3NvKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1iaWFuY28pO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuICAgICAgICBcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgYW5kIChtYXgtd2lkdGg6IDE0ODBweCkge1xuICAgIC5tYXBwYS1zaWRlYmFyLFxuICAgIC5kZXRhaWwtcGFuZWwge1xuICAgICAgICBoZWlnaHQ6IDc1dmggIWltcG9ydGFudDtcbiAgICB9XG59XG5cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG5cdC8qIC5tYXBwYS1wYWdlIHtcblx0XHRwYWRkaW5nLXRvcDogNzBweDtcblx0fSAqL1xuXG5cdC5tYXBwYS1oZXJvIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMThweDtcblx0fVxuXG5cdC5tYXBwYS1zaGVsbCB7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHQtLXNpZGViYXItd2lkdGg6IHZhcigtLWJsb2NrLW1pbi13aWR0aCk7XG5cdFx0LS1zaWRlYmFyLWxlZnQtb2Zmc2V0OiA0MHB4O1xuXHRcdC0tc2lkZWJhci12ZXJ0aWNhbC1vZmZzZXQ6IDEycHg7XG5cdH1cblxuXHQubWFwcGEtc2lkZWJhciB7XG5cdFx0d2lkdGg6IHZhcigtLXNpZGViYXItd2lkdGgpO1xuXHRcdHBhZGRpbmc6IDIycHggMThweCAxOHB4O1xuXHR9XG5cblx0Lm1hcHBhLW1hcC1mcmFtZSB7XG5cdFx0bWluLWhlaWdodDogNTIwcHg7XG5cdH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NXB4KSB7XG5cdC5tYXBwYS1zaGVsbCB7XG5cdFx0LS1zaWRlYmFyLXdpZHRoOiB2YXIoLS1ibG9jay1taW4td2lkdGgpO1xuXHRcdC0tc2lkZWJhci1sZWZ0LW9mZnNldDogMTBweDtcblx0XHQtLXNpZGViYXItdmVydGljYWwtb2Zmc2V0OiAxMHB4O1xuXHR9XG5cblx0Lm1hcHBhLWhlcm9fX3N0YXRzIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0fVxuXG5cdC5tYXBwYS1pdGVtIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuXHR9XG5cblx0LmRldGFpbC1wYW5lbCB7XG5cdFx0dG9wOiA3NnB4O1xuXHRcdGxlZnQ6IDEwcHg7XG5cdFx0cmlnaHQ6IDEwcHg7XG5cdFx0Ym90dG9tOiAxMHB4O1xuXHR9XG59XG4iLCI6cm9vdCB7XG4gICAgLS1jb2xvci1saWdodDogI2ZmZmZmZjtcbiAgICAtLWNvbG9yLWRhcms6ICMxQTFBMUE7IC8vIGNvbG9yZSBkZWZhdWx0IHRlc3RpXG5cbiAgICAtLXBhbm5hOiAjZjVmMmVjO1xuICAgIC0tbWlkLXBhbm5hOiAjZWNlOWRlO1xuICAgIC0tZGFyay1wYW5uYTogI2RmZDZjNTtcblxuICAgIC0tZ3JleTogI0EzQTNBMztcbiAgICAtLWdyZXktZGFyazogIzY2NjY2NjtcblxuICAgIC0teWVsbG93OiAjRjRFRDREO1xuICAgIC0tZGFyay15ZWxsb3c6ICNERkQ4Mzg7XG5cbiAgICAtLWJsdWU6ICMwQTI1NDA7XG5cbiAgICAtLWdyZWVuOiAjNEY2ODE0O1xuICAgIC0tbGlnaHQtYmx1ZTogIzFBNkZBNDtcbiAgICAtLXZlcnktbGlnaHQtYmx1ZTogIzk2QkJCQjtcbiAgICAtLXZpb2xldDogIzdCNUVBNztcbiAgICAtLXNhYmJpYTogI0M0ODYzQTtcbiAgICAtLXBpbms6ICNEQ0FCOTM7XG5cblxuICAgIC0tY29sb3ItZGVmYXVsdDogdmFyKC0tY29sb3ItZGFyayk7IC8vQ29sb3JlIGRlZmF1bHQgZGVsIHRlc3RvXG59IiwiLyoqXG4qXG4qIFZhcmlhYmlsaSBnbG9iYWxpIHByb2dldHRvXG4qIFxuKiAwMSAtIENPTlRFTklUT1JJXG4qIDAyIC0gU0VQQVJBVE9SSVxuKiAwMyAtIFRSQU5TSVpJT05JXG4qIDA0IC0gRk9OVFNcbipcbiovXG5cbjpyb290IHtcbiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICogMDEgLSBDT05URU5JVE9SSVxuICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiAgICAtLWNvbnRhaW5lci1iaWctd2lkdGg6IDE4NTBweDsgLy9Db250YWluZXIgbWFzc2ltb1xuICAgIC0tY29udGFpbmVyLXdpZHRoOiAxNjcwcHg7IC8vQ29udGFpbmVyIHByaW5jaXBhbGUgeFxuICAgIC0tY29udGFpbmVyLWxhcmdlLXdpZHRoOiAxNTQwcHg7IC8vQ29udGFpbmVyIHByaW5jaXBhbGUgeFxuICAgIC0tY29udGFpbmVyLW1lZGl1bS13aWR0aDogMTI5MHB4OyAvL0NvbnRhaW5lciBtZWRpbyB4XG4gICAgLS1jb250YWluZXItc21hbGwtd2lkdGg6IDExODBweDsgLy9Db250YWluZXIgbWVkaW8geFxuICAgIFxuICAgIC0tY29udGFpbmVyLWV4dHJhLXNtYWxsLXdpZHRoOiA5ODBweDtcbiAgICAtLWNvbnRhaW5lci1taW5pLXdpZHRoOiA2NjBweDtcbiAgICAtLWNvbnRhaW5lci1taWNyby13aWR0aDogNTgwcHg7XG5cbiAgICBcbiAgICAtLWJsb2NrLW1pbi13aWR0aDogNDgwcHg7XG4gICAgLS1ibG9jay1taW4taGVpZ2h0OiA1ODBweDsgLy9BbHRlenphIG1pbmltYSBibG9jY2hpIGltbWFnaW5lL3Rlc3RvXG5cbiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICogMDIgLSBTRVBBUkFUT1JJXG4gICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICAgIC0tc3BhY2VyLWJpZzogMzBweDtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgLS1zcGFjZXItYmlnOiAzMHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgLS1zcGFjZXItYmlnOiA0MHB4O1xuICAgIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTY4MXB4KSB7XG4gICAgICAgIC0tc3BhY2VyLWJpZzogNTBweDtcbiAgICB9XG5cbiAgICAtLXNwYWNlci1sYXJnZTogMjBweDsgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIC0tc3BhY2VyLWxhcmdlOiAzMHB4O1xuICAgIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTYwMXB4KSB7XG4gICAgICAgIC0tc3BhY2VyLWxhcmdlOiA0MHB4O1xuICAgIH1cblxuICAgIC0tc3BhY2VyLW1lZGl1bTogMjVweDtcbiAgICAtLXNwYWNlci1zbWFsbDogMjBweDtcbiAgICAtLXNwYWNlci1leHRyYS1zbWFsbDogMTBweDtcbiAgICBcbiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICogMDMgLSBUUkFOU0laSU9OSVxuICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiAgICAtLXRyYW5zaXRpb24tZGVmYXVsdDogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgXG4gICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAqIDA0IC0gRk9OVFNcbiAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gICAgLS1mb250LWZhbWlseTogJ1NhdG9zaGknLCBzYW5zLXNlcmlmO1xuICAgIC0tZm9udC1mYW1pbHktdGl0bGU6ICdDbGFzaERpc3BsYXknLCBzYW5zLXNlcmlmO1xuICAgIC0tZm9udC1mYW1pbHktbWVudTogJ1NhdG9zaGknLCBzYW5zLXNlcmlmO1xuICAgIFxuICAgIC0tZm9udC1zaXplOiAje2NsYW1wLXJlbSgxNnB4LCAydncsIDE4cHgpfTtcbiBcbiAgICAtLWgxLWZvbnQtc2l6ZTogI3tjbGFtcC1yZW0oMzhweCwgM3Z3LCA1MnB4KX07XG4gICAgLS1oMS1mb250LXdlaWdodDogNTAwO1xuICAgIC0taDEtbWFyZ2luLWJvdHRvbTogMTBweDtcbiBcbiAgICAtLWgyLWZvbnQtc2l6ZTogI3tjbGFtcC1yZW0oMzBweCwgMnZ3LCA0MHB4KX07XG4gICAgLS1oMi1mb250LXdlaWdodDogNTAwO1xuICAgIC0taDItbWFyZ2luLWJvdHRvbTogMTBweDtcbiBcbiAgICAtLWgzLWZvbnQtc2l6ZTogI3tjbGFtcC1yZW0oMjZweCwgMS41dncsIDMycHgpfTtcbiAgICAtLWgzLWZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgLS1oMy1tYXJnaW4tYm90dG9tOiAxMHB4O1xuIFxuICAgIC0taDQtZm9udC1zaXplOiAje2NsYW1wLXJlbSgxOHB4LCAzdncsIDI0cHgpfTtcbiAgICAtLWg0LWZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgLS1oNC1tYXJnaW4tYm90dG9tOiAxMHB4O1xuIFxuICAgIC0taDUtZm9udC1zaXplOiAje2NsYW1wLXJlbSgxNnB4LCAydncsIDE4cHgpfTtcbiAgICAtLWg1LWZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgLS1oNS1tYXJnaW4tYm90dG9tOiAxMHB4O1xuIFxuICAgIC0taDYtZm9udC1zaXplOiAje3B4LXRvLXJlbSgxNHB4KX07XG4gICAgLS1oNi1mb250LXdlaWdodDogNDAwO1xuICAgIC0taDYtbWFyZ2luLWJvdHRvbTogMTBweDsgICBcblxufSIsIkAtd2Via2l0LWtleWZyYW1lcyBtZW51LXNob3cge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5ALW1vei1rZXlmcmFtZXMgbWVudS1zaG93IHtcbiAgMCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wMCUpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBtZW51LXNob3cge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi5hbmltYXRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDElO1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xuXG4gIC5hbmltYXRlZCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlLXVwIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZVNjcm9sbCB7XG5cbiAgMCUsXG4gIDIwJSxcbiAgNTAlLFxuICA4MCUsXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTtcbiAgfVxufVxuXG4uYm91bmNlU2Nyb2xsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiBBc3NpY3VyYXRpIGNoZSBsJ2VsZW1lbnRvIHNpYSB2aXNpYmlsZSBlIGlubGluZSAqL1xuICBhbmltYXRpb246IGJvdW5jZVNjcm9sbCAycyBpbmZpbml0ZTtcbn1cblxuXG5cbi8qIEluaXRpYWwgc3RhdGUgZm9yIHRoZSBlbGVtZW50cyAqL1xuLnNpbXBsZUZhZGVJbiB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTAwMG1zIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCksIHRyYW5zZm9ybSAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcblxuICAmLnZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnNpbXBsZUZhZGVJbkxlZnQge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMHZ3KTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKSwgdHJhbnNmb3JtIDEwMDBtcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xuXG4gICYudmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuLnNpbXBsZUZhZGVJblJpZ2h0IHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMHZ3KTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKSwgdHJhbnNmb3JtIDEwMDBtcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xuXG4gICYudmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuLmFuaW1hdGVUb3Age1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTMwcHgpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEwMDBtcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApLCB0cmFuc2Zvcm0gMTAwMG1zIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XG5cbiAgJi52aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG4uYW5pbWF0ZVJpZ2h0IHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEzMHB4LCAxMDBweCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTAwMG1zIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCksIHRyYW5zZm9ybSAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcblxuICAmLnZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCk7XG4gIH1cbn1cblxuXG5cblxuIiwiLyoqXG4qXG4qIFN0aWxpIGJhc2UgZ2VuZXJpY2kgcGVyIG9nbmkgdGlwbyBkaSB0ZW1wbGF0ZVxuKiBcbiogMDEgLSBTRVBBUkFUT1JJXG4qIDAyIC0gQ09OVEVOSVRPUklcbiogMDMgLSBXSURUSFxuKiAwNCAtIE1BUkdJTlxuKiAwNSAtIFBBRERJTkdcbiogMDYgLSBCQUNLR1JPVU5EXG4qIDA3IC0gQ09MT1JTXG4qXG4qL1xuXG5odG1sLFxuYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFubmEpO1xufVxuXG5tYWluIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYW5uYSk7XG59XG5cbmltZyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ub2JqZWN0LWNvdmVyIHtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuYSB7IFxuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuXG4qIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uaC1mdWxsIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5yb3RhdGUtdGl0bGUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00ZGVnKTtcbn1cblxuLnJvdGF0ZS10aXRsZS1yaWdodCB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNGRlZyk7XG59XG5cblxuLnJvdGF0ZS1pbWcge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0yZGVnKTtcbn1cblxuLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnotaW5kZXgtMSB7XG4gICAgei1pbmRleDogMTtcbn1cblxuLm92ZXJmbG93LXZpc2libGUge1xuICAgIG92ZXJmbG93OnZpc2libGVcbn1cblxuLm92ZXJmbG93LXgtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG59XG5cbi5vdmVyZmxvdy1oaWRkZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5ib3JkZXItYm90dG9tIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItZGFyayk7XG5cbiAgICAmLmxpZ2h0LWdyZXkge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0Q5RTJFODtcbiAgICB9XG59XG5cbi5ib3JkZXItcmFkaXVzIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuXG4gICAgQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogMDEgLSBTRVBBUkFUT1JJXG4qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc3BhY2VyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBcbiAgICAmLmJpZyB7XG4gICAgICAgIGhlaWdodDogdmFyKC0tc3BhY2VyLWJpZyk7XG4gICAgfVxuICAgIFxuICAgICYubGFyZ2Uge1xuICAgICAgICBoZWlnaHQ6IHZhcigtLXNwYWNlci1sYXJnZSk7XG4gICAgfVxuICAgICYubWVkaXVtIHtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1zcGFjZXItbWVkaXVtKTtcbiAgICB9XG4gICAgJi5zbWFsbCB7XG4gICAgICAgIGhlaWdodDogdmFyKC0tc3BhY2VyLXNtYWxsKTtcbiAgICB9XG4gICAgJi5leHRyYS1zbWFsbCB7XG4gICAgICAgIGhlaWdodDogdmFyKC0tc3BhY2VyLWV4dHJhLXNtYWxsKTtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qIDAyIC0gQ09OVEVOSVRPUklcbiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLXdpZHRoKTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIHtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgIH1cbiAgICBcbiAgICAmLmZsdWlkIHtcbiAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgXG4gICAgJi5iaWcge1xuICAgICAgICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci1iaWctd2lkdGgpO1xuICAgIH1cbiAgICAmLmxhcmdlIHtcbiAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItbGFyZ2Utd2lkdGgpO1xuICAgIH1cbiAgICAmLm1lZGl1bSB7XG4gICAgICAgIG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLW1lZGl1bS13aWR0aCk7XG4gICAgfVxuICAgICYuc21hbGwge1xuICAgICAgICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci1zbWFsbC13aWR0aCk7XG4gICAgfVxuICAgICYuZXh0cmEtc21hbGwge1xuICAgICAgICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci1leHRyYS1zbWFsbC13aWR0aCk7XG4gICAgfVxuICAgICYubWluaSB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOjk5MnB4KSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci1taW5pLXdpZHRoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubWljcm8ge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDo5OTJweCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItbWljcm8td2lkdGgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYubWluLXdpZHRoIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0tYmxvY2stbWluLXdpZHRoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnJlbGF0aXZlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICBcbiAgICAmLmZsb2F0ZWQtcmlnaHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBcbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDo5OTFweCkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLmZsb2F0ZWQtbGVmdCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOjk5MXB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucC1yZWxhdGl2ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi5kLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgXG4gICAgJjo6YWZ0ZXIsXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgJi5kaXJlY3Rpb24tY29sdW1uIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgJi5kaXJlY3Rpb24tcm93IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICAmLmFsaWduLXN0YXJ0IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgICYuYWxpZ24tZW5kIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIH1cbiAgICAmLmZsZXgtd3JhcCB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gICAgJi5qdXN0aWZ5LWNlbnRlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAmLmp1c3RpZnktbW9iaWxlLWNlbnRlciB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5qdXN0aWZ5LXNwYWNlLWJldHdlZW4ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICAgICYuanVzdGlmeS1zcGFjZS1ldmVubHkge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgICB9XG4gICAgJi5qdXN0aWZ5LXNwYWNlLWFyb3VuZCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIH1cbiAgICAmLmp1c3RpZnktc3RhcnQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgICYuanVzdGlmeS1lbmQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgICYuanVzdGlmeS1kZXNrdG9wLWVuZCB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmQtbm9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uZC1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gICAgLmQtc20tYmxvY2sge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAuZC1zbS1ub25lIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5kLW1kLWJsb2NrIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLmQtbWQtbm9uZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuZC1sZy1ibG9jayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIC5kLWxnLW5vbmUge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLmQteGwtYmxvY2sge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAuZC14bC1ub25lIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNjAxcHgpIHtcbiAgICAuZC14eGwtYmxvY2sge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAuZC14eGwtbm9uZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5kLWxnLWlubGluZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogMDMgLSBXSURUSFxuKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmZ1bGwtd2lkdGgge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAwNCAtIE1BUkdJTlxuKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm0tMCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG4ubWItMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuLm1sLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG4ubXItMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qIDA1IC0gUEFERElOR1xuKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnAtMCB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAwNiAtIEJBQ0tHUk9VTkRcbiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5iZy1zZWN0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBcbiAgICAmLndpdGgtb3ZlcmxheSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSgwLCAwJSwgMCUsIC4yKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJnLWRhcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgIFxuICAgIC5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYsXG4gICAgcCwgYSwgdWwsIGxpLCBpLCBzcGFuLCBzdHJvbmcge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgIH1cbn1cblxuLmJnLWxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgXG4gICAgLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNixcbiAgICBwLCBhLCB1bCwgbGksIGksIHNwYW4sIHN0cm9uZyB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICB9XG59XG5cbi5iZy1kYXJrLXBhbm5hIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kYXJrLXBhbm5hKTtcbn1cblxuLmJnLWJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJsdWUpO1xuXG4gICAgLmltZy1ncmFkaWVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiKDEwLCAzNywgNjQpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMTAsIDM3LCA2NCwgLjA0KSA0MCUsIHJnYmEoMTAsIDM3LCA2NCwgMSkgMTAwJSk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzBBMjU0MDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMTAsIDM3LCA2NCwgLjA0KSA0MCUsIHJnYmEoMTAsIDM3LCA2NCwgMSkgMTAwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmxlZnQge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiKDEwLCAzNywgNjQpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDEwLCAzNywgNjQsIC4wNCkgNDAlLCByZ2JhKDEwLCAzNywgNjQsIDEpIDEwMCUpO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzBBMjU0MDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgcmdiYSgxMCwgMzcsIDY0LCAwLjM3KSAwJSwgcmdiYSgxMCwgMzcsIDY0LCAxKSAxMDAlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5iZy1taWQtcGFubmEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1pZC1wYW5uYSk7XG5cblxuICAgIC5pbWctZ3JhZGllbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlY2U5ZGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyMzYsIDIzMywgMjIyLCAuMDQpIDQwJSwgcmdiYSgyMzYsIDIzMywgMjIyLCAxKSAxMDAlKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWNlOWRlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyMzYsIDIzMywgMjIyLCAuMDQpIDQwJSwgcmdiYSgyMzYsIDIzMywgMjIyLCAxKSAxMDAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4uYmctZ3JlZW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyZWVuKTtcblxuICAgIC5pbWctZ3JhZGllbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM0RjY4MTQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSg3OSwgMTA0LCAyMCwgMC4xNCkgMCUsIHJnYmEoNzksIDEwNCwgMjAsIDEpIDEwMCUpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM0RjY4MTQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDc5LCAxMDQsIDIwLCAwLjE0KSAwJSwgcmdiYSg3OSwgMTA0LCAyMCwgMSkgMTAwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5iZy1saWdodC1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1ibHVlKTtcbn1cblxuLmJnLXZpb2xldCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdmlvbGV0KTtcbn1cblxuLmJnLXNhYmJpYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2FiYmlhKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogMDcgLSBDT0xPUlNcbiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jb2xvci1kYXJrLFxuLmNvbG9yLWRhcmsgKiB7XG4gICAgJjpub3QoLmJ0bik6bm90KC5mYS1jaGV2cm9uLXJpZ2h0KTpub3QoLmZhLXVwbG9hZCkge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgfVxufVxuXG4uY29sb3ItbGlnaHQsXG4uY29sb3ItbGlnaHQgKiB7XG4gICAgJjpub3QoLmJ0bik6bm90KC5mYS1jaGV2cm9uLXJpZ2h0KTpub3QoLmZhLXVwbG9hZCkge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgIH1cbn1cblxuLmNvbG9yLXRleHQsXG4uY29sb3ItdGV4dCAqIHtcbiAgICAmOm5vdCguYnRuKTpub3QoLmZhLWNoZXZyb24tcmlnaHQpOm5vdCguZmEtdXBsb2FkKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1ncmV5KTtcbiAgICB9XG59XG5cbi5jb2xvci10ZXh0LWRhcmssXG4uY29sb3ItdGV4dC1kYXJrICoge1xuICAgICY6bm90KC5idG4pOm5vdCguZmEtY2hldnJvbi1yaWdodCk6bm90KC5mYS11cGxvYWQpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWdyZXktZGFyayk7XG4gICAgfVxufVxuXG4uY29sb3ItYmx1ZSxcbi5jb2xvci1ibHVlICoge1xuICAgICY6bm90KC5idG4pOm5vdCguZmEtY2hldnJvbi1yaWdodCk6bm90KC5mYS11cGxvYWQpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWJsdWUpO1xuICAgIH1cbn1cblxuLmNvbG9yLWdyZWVuLFxuLmNvbG9yLWdyZWVuICoge1xuICAgICY6bm90KC5idG4pOm5vdCguZmEtY2hldnJvbi1yaWdodCk6bm90KC5mYS11cGxvYWQpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWdyZWVuKTtcbiAgICB9XG59XG5cbi5jb2xvci1saWdodC1ibHVlLFxuLmNvbG9yLWxpZ2h0LWJsdWUgKiB7XG4gICAgJjpub3QoLmJ0bik6bm90KC5mYS1jaGV2cm9uLXJpZ2h0KTpub3QoLmZhLXVwbG9hZCkge1xuICAgICAgICBjb2xvcjogdmFyKC0tbGlnaHQtYmx1ZSk7XG4gICAgfVxufVxuXG4uY29sb3ItdmlvbGV0LFxuLmNvbG9yLXZpb2xldCAqIHtcbiAgICAmOm5vdCguYnRuKTpub3QoLmZhLWNoZXZyb24tcmlnaHQpOm5vdCguZmEtdXBsb2FkKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS12aW9sZXQpO1xuICAgIH1cbn1cblxuLmNvbG9yLXNhYmJpYSxcbi5jb2xvci1zYWJiaWEgKiB7XG4gICAgJjpub3QoLmJ0bik6bm90KC5mYS1jaGV2cm9uLXJpZ2h0KTpub3QoLmZhLXVwbG9hZCkge1xuICAgICAgICBjb2xvcjogdmFyKC0tc2FiYmlhKTtcbiAgICB9XG59XG5cbi5vcmRlci0xIHtcbiAgICBvcmRlcjogMTtcbn1cbi5vcmRlci0yIHtcbiAgICBvcmRlcjogMjtcbn1cblxuQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAub3JkZXItbGctMSB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgICAub3JkZXItbGctMiB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgIH1cbn1cbi5vcmRlci0zIHtcbiAgICBvcmRlcjogMyAhaW1wb3J0YW50O1xufVxuLm9yZGVyLTQge1xuICAgIG9yZGVyOiA0ICFpbXBvcnRhbnQ7XG59XG4ub3JkZXItNSB7XG4gICAgb3JkZXI6IDUgIWltcG9ydGFudDtcbn1cbi5vcmRlci02IHtcbiAgICBvcmRlcjogNiAhaW1wb3J0YW50O1xufSIsIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnQ2xhc2hEaXNwbGF5JztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvQ2xhc2hEaXNwbGF5LUV4dHJhTGlnaHQuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL0NsYXNoRGlzcGxheS1FeHRyYUxpZ2h0LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvQ2xhc2hEaXNwbGF5LUV4dHJhbGlnaHQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvQ2xhc2hEaXNwbGF5LUV4dHJhbGlnaHQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL0NsYXNoRGlzcGxheS1FeHRyYWxpZ2h0LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICBmb250LXdlaWdodDogMjAwO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnQ2xhc2hEaXNwbGF5JztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvQ2xhc2hEaXNwbGF5LUxpZ2h0LmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9DbGFzaERpc3BsYXktTGlnaHQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9DbGFzaERpc3BsYXktTGlnaHQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvQ2xhc2hEaXNwbGF5LUxpZ2h0LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9DbGFzaERpc3BsYXktTGlnaHQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdDbGFzaERpc3BsYXknO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9DbGFzaERpc3BsYXktUmVndWxhci5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvQ2xhc2hEaXNwbGF5LVJlZ3VsYXIuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9DbGFzaERpc3BsYXktUmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9DbGFzaERpc3BsYXktUmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvQ2xhc2hEaXNwbGF5LVJlZ3VsYXIudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdDbGFzaERpc3BsYXknO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9DbGFzaERpc3BsYXktTWVkaXVtLmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9DbGFzaERpc3BsYXktTWVkaXVtLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvQ2xhc2hEaXNwbGF5LU1lZGl1bS53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9DbGFzaERpc3BsYXktTWVkaXVtLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9DbGFzaERpc3BsYXktTWVkaXVtLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnQ2xhc2hEaXNwbGF5JztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvQ2xhc2hEaXNwbGF5LVNlbWlib2xkLmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9DbGFzaERpc3BsYXktU2VtaWJvbGQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9DbGFzaERpc3BsYXktU2VtaWJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvQ2xhc2hEaXNwbGF5LVNlbWlib2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9DbGFzaERpc3BsYXktU2VtaWJvbGQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdDbGFzaERpc3BsYXknO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9DbGFzaERpc3BsYXktQm9sZC5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvQ2xhc2hEaXNwbGF5LUJvbGQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9DbGFzaERpc3BsYXktQm9sZC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9DbGFzaERpc3BsYXktQm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvQ2xhc2hEaXNwbGF5LUJvbGQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnU2F0b3NoaSc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1NhdG9zaGktTGlnaHQuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1NhdG9zaGktTGlnaHQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9TYXRvc2hpLUxpZ2h0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NhdG9zaGktTGlnaHQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NhdG9zaGktTGlnaHQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdTYXRvc2hpJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvU2F0b3NoaS1SZWd1bGFyLmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9TYXRvc2hpLVJlZ3VsYXIuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9TYXRvc2hpLVJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvU2F0b3NoaS1SZWd1bGFyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9TYXRvc2hpLVJlZ3VsYXIudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdTYXRvc2hpJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvU2F0b3NoaS1NZWRpdW0uZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1NhdG9zaGktTWVkaXVtLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvU2F0b3NoaS1NZWRpdW0ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvU2F0b3NoaS1NZWRpdW0ud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NhdG9zaGktTWVkaXVtLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnU2F0b3NoaSc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1NhdG9zaGktQm9sZC5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvU2F0b3NoaS1Cb2xkLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvU2F0b3NoaS1Cb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NhdG9zaGktQm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvU2F0b3NoaS1Cb2xkLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnU2F0b3NoaSc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1NhdG9zaGktQmxhY2suZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1NhdG9zaGktQmxhY2suZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9TYXRvc2hpLUJsYWNrLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NhdG9zaGktQmxhY2sud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NhdG9zaGktQmxhY2sudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn0iLCIvKipcbipcbiogU3RpbGkgcmVsYXRpdmkgYWkgZm9udFxuKiBcbiogMDEgLSBIRUFESU5HXG4qIDAyIC0gQUxJR05NRU5UXG4qIDAzIC0gVFJBTlNGT1JNXG4qIDA0IC0gV0VJR0hUXG4qIDA1IC0gT0NDSElFTExPXG4qIDA2IC0gTElORSBIRUlHSFRcbipcbiovXG5cbi8vIEltcG9ydCBhbGwgZm9udHNcbkBpbXBvcnQgXCJmb250cy9mb250c1wiO1xuXG5ib2R5IHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kZWZhdWx0KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuXG4gICAgZm9udC1zbW9vdGg6IGF1dG87IC8qIG8gYW50aWFsaWFzZWQgKi9cbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLyogUGVyIFdlYktpdCAqL1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IC8qIFBlciBtYWNPUyAqL1xuXG4gICAgLmxpZ2h0IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB9XG5cbiAgICAucmVndWxhciB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgfVxuXG4gICAgLm1lZGl1bSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuXG4gICAgLnNlbWlib2xkIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG5cbiAgICAuYm9sZCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxufVxuXG4uaW5oZXJpdCB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG59XG5cbnAsIC5wLCBzdHJvbmcsIGIsIHRpbWUsIGkge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWRlZmF1bHQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplKTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICAmLmZvbnQtZXZpZGVudCB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0teWVsbG93KTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ibHVlKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbmEge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWRlZmF1bHQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplKTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbnVsIHtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMjVweDtcbn1cblxudWwsIGxpIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kZWZhdWx0KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuc3Ryb25nLCBiLCAuc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4udGV4dC1zaGFkb3cge1xuICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDAgdmFyKC0tY29sb3ItbGlnaHQpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAwMSAtIEhFQURJTkdcbiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS10aXRsZSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogdmFyKC0tYmx1ZSk7XG5cbiAgICBwLCAucCwgdWwsIGxpLCBhLCBzcGFuLCBzdHJvbmcsIC5zdHJvbmcsIGIsIHRpbWUsIGkge1xuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogaW5oZXJpdDtcbiAgICAgICAgbWFyZ2luLXRvcDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAmLnAtc3R5bGUge1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgIH1cbn1cblxuLmgxIHtcbiAgICBmb250LXNpemU6IHZhcigtLWgxLWZvbnQtc2l6ZSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWgxLWZvbnQtd2VpZ2h0KTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1oMS1tYXJnaW4tYm90dG9tKTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgJi5oMS1tZWRpdW0ge1xuICAgICAgICBmb250LXNpemU6ICN7Y2xhbXAtcmVtKDQwcHgsIDZ2dywgMTAwcHgpfTtcbiAgICB9XG5cbiAgICAmLmgxLWJpZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogI3tjbGFtcC1yZW0oODBweCwgNnZ3LCAxNTBweCl9O1xuICAgIH1cbn1cbi5oMiB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1oMi1mb250LXNpemUpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1oMi1mb250LXdlaWdodCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDItbWFyZ2luLWJvdHRvbSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cbi5oMyB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1oMy1mb250LXNpemUpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1oMy1mb250LXdlaWdodCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDMtbWFyZ2luLWJvdHRvbSk7XG4gICAgbWFyZ2luLXRvcDogMDtcblxuICAgICYuYmlnZ2VyIHtcbiAgICAgICAgZm9udC1zaXplOiAje2NsYW1wLXJlbSgyNnB4LCAydncsIDM4cHgpfTtcbiAgICB9XG59XG4uaDQge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0taDQtZm9udC1zaXplKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0taDQtZm9udC13ZWlnaHQpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWg0LW1hcmdpbi1ib3R0b20pO1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG4uaDUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0taDUtZm9udC1zaXplKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0taDUtZm9udC13ZWlnaHQpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWg1LW1hcmdpbi1ib3R0b20pO1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG4uaDYge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0taDYtZm9udC1zaXplKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0taDYtZm9udC13ZWlnaHQpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWg2LW1hcmdpbi1ib3R0b20pO1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi5wIHtcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LXRpdGxlKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1ibHVlKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1oMS1mb250LXNpemUpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0taDEtZm9udC13ZWlnaHQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1oMS1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMjZweDtcbiAgICB9XG4gICAgaDIge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1oMi1mb250LXdlaWdodCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWgyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICBtYXJnaW4tdG9wOiAyNnB4O1xuICAgIH1cbiAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0taDMtZm9udC1zaXplKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWgzLWZvbnQtd2VpZ2h0KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDMtbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgIG1hcmdpbi10b3A6IDI2cHg7XG4gICAgfVxuICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1oNC1mb250LXNpemUpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0taDQtZm9udC13ZWlnaHQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1oNC1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMjZweDtcbiAgICB9XG4gICAgaDUge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1oNS1mb250LXdlaWdodCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWg1LW1hcmdpbi1ib3R0b20pO1xuICAgICAgICBtYXJnaW4tdG9wOiAyNnB4O1xuICAgIH1cbiAgICBoNiB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0taDYtZm9udC1zaXplKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWg2LWZvbnQtd2VpZ2h0KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDYtbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgIG1hcmdpbi10b3A6IDI2cHg7XG4gICAgfVxuXG4gICAgJi5wLW5vLW1hcmdpbiB7XG4gICAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWgxLWZvbnQtc2l6ZSk7XG4gICAgICAgIH1cblxuICAgIH0gICBcblxufVxuXG4udGV4dC11bmRlcmxpbmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uZm9udC10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LXRpdGxlKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogMDIgLSBBTElHTk1FTlRcbiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi50ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi50ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qIDAzIC0gVFJBTlNGT1JNXG4qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGV4dC11cHBlcmNhc2Uge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4udGV4dC1sb3dlcmNhc2Uge1xuICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG59XG4udGV4dC1jYXBpdGFsaXplIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogMDQgLSBXRUlHSFRcbiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50ZXh0LWV4dHJhbGlnaHQge1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG59XG4udGV4dC1saWdodCB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cbi50ZXh0LW5vcm1hbCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi50ZXh0LXNlbWlib2xkIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuLnRleHQtYm9sZCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi50ZXh0LWV4dHJhLWJvbGQge1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qIDA1IC0gT0NDSElFTExPXG4qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qIDA2IC0gREVDT1JBVElPTlxuKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuIiwiQG1peGluIGRlYnVnLWNzcygkY29sb3IpIHtcbiAgICAqIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRhc2hlZCAkY29sb3I7XG4gICAgfVxufVxuLmRlYnVnXFw6Y3NzIHtcbiAgICAtLWRlYnVnLWNvbG9yOiB2YXIoLS1jb2xvci1kZWZhdWx0KTtcblxuICAgIEBpbmNsdWRlIGRlYnVnLWNzcyh2YXIoLS1kZWJ1Zy1jb2xvcikpO1xuXG4gICAgJlxcOnJlZCB7XG4gICAgICAgIC0tZGVidWctY29sb3I6IHJlZDtcblxuICAgICAgICBAaW5jbHVkZSBkZWJ1Zy1jc3ModmFyKC0tZGVidWctY29sb3IpKTtcbiAgICB9XG59XG4iLCIuYmxvY2stZ3JpZHMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgZ3JpZC1nYXA6IDI1cHg7XG4gICAgZ2FwOiAyNXB4O1xuICAgIFxuICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIGdyaWQtZ2FwOiA1MHB4O1xuICAgICAgICBnYXA6IDUwcHg7XG4gICAgfVxuICAgIFxuICAgICYubm8tZ2FwIHtcbiAgICAgICAgZ3JpZC1nYXA6IDA7XG4gICAgICAgIGdhcDogMDtcbiAgICB9XG5cbiAgICAmLnNtYWxsLWdhcCB7XG4gICAgICAgIGdyaWQtZ2FwOiAyMHB4O1xuICAgICAgICBnYXA6IDIwcHg7XG4gICAgfVxuXG4gICAgJi5taW4tZ2FwIHtcbiAgICAgICAgZ3JpZC1nYXA6IDE2cHg7XG4gICAgICAgIGdhcDogMTZweDtcbiAgICB9XG4gICAgXG4gICAgJi5jb2x1bW5zLTIge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYubWVudS1ibG9jayB7XG4gICAgICAgICAgICBncmlkLWdhcDogMCAyMHB4O1xuICAgICAgICAgICAgZ2FwOiAwIDIwcHg7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgLjhmcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYucHJlZm9vdGVyLWdyaWQge1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAuNmZyIDEuMmZyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5ibG9nLWRldGFpbC1ibG9jayB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IC40ZnIgMS42ZnI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmRlc2MtZ3JpZCAge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDQwcHg7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDQwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciA0MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5wcm9nZXR0by1kZXRhaWwtYmxvY2sge1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAuOWZyIDEuMWZyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAuOWZyIDEuMWZyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5zbWFsbC1sZWZ0IHtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAuNmZyIDEuNGZyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5tYXBwYS1pdGVtIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMHB4IDFmcjtcblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDBweCAxZnI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi5jb2x1bW5zLTMge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYmxvZy1ibG9jay1ncmlkIHtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYW5pbWF0ZS1waG90byB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDAgMWZyIDA7XG5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAuNWZyIDJmciAuNWZyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogLjVmciAyZnIgLjVmcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDJmciAxZnI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnN0ZXAtYmxvY2tzIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zdGVwLWdyaWQge1xuXG4gICAgICAgICAgICAgICAgLmluc2lkZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggMCAwO1xuXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNjBweCAwIDA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAucCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGlsYXN0cm8tY29sb3IsIHZhcigtLWRhcmstcGFubmEpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXBpbGFzdHJvLWNvbG9yLCB2YXIoLS1kYXJrLXBhbm5hKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0NBQ0FDQTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIC5pbnNpZGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogdmFyKC0teWVsbG93KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYucHJvZ2VzcyB7XG4gICAgICAgICAgICAgICAgICAgIC5pbnNpZGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDhweCBzb2xpZCB2YXIoLS1waWxhc3Ryby1jb2xvciwgdmFyKC0tdmlvbGV0KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgICAgIC5pbnNpZGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgICYuZ3VhZGFnbm8tYmxvY2tzIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ndWFkYWduby1ncmlkIHtcblxuICAgICAgICAgICAgICAgIC5pbnNpZGUge1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5wIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDYwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiA5OTJweCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQ0FDQUNBO1xuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMzVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjQ0FDQUNBO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLmJ1dHRvbi1ncmVlbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyZWVuKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ncmVlbik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLmJ1dHRvbi1saWdodC1ibHVlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtYmx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGlnaHQtYmx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLmJ1dHRvbi1zYWJiaWEge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYWJiaWEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXNhYmJpYSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLmJ1dHRvbi12aW9sZXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12aW9sZXQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXZpb2xldCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAuaW5zaWRlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLmNvbHVtbnMtNCB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDFmcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYucHJlZm9vdGVyLWRpZmYtZ3JpZCB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMS4yZnIgMS4yZnIgMWZyIC44ZnI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEuMmZyIDEuMmZyIDEuMmZyIC41ZnI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wLXJpZ2h0IHtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDYwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi5jb2x1bW5zLTUge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMWZyIDFmcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuY29sdW1ucy02IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgICAgICB9XG5cblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDFmciAxZnIgMWZyO1xuICAgICAgICB9XG5cblxuICAgIH1cbiAgICBcbiAgICAuZ3JpZCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmLmludmVydGVkIHtcbiAgICAgICAgLmdyaWQge1xuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5tb2JpbGUtaW52ZXJ0ZWQge1xuICAgICAgICA+LmdyaWQge1xuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5ibG9jay1zdGlja3ktZ3JpZHtcbiAgICAuZml4LWJsb2NrIHtcbiAgICAgICAgJi5oLWF1dG97XG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOjk5MnB4KSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0b3A6IHVuc2V0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZpeC1ibG9jay1zdGlja3kge1xuICAgICAgICBAbWVkaWEobWluLXdpZHRoOjk5MnB4KSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgdG9wOiAxMDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaC1hdXRve1xuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDo5OTJweCkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdG9wOiB1bnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbn0iLCJ1bC5icmVhZGNydW1icyB7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBjb2xvcjogdmFyKC0tYmx1ZSk7XG4gICAgXG4gICAgbGkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgICBjb2xvcjogdmFyKC0tYmx1ZSk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmb250LXNpemU6ICN7cHgtdG8tcmVtKDEycHgpfTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgICAgICBcblxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAje3B4LXRvLXJlbSgxMnB4KX07XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgLy9tYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tZ3JleS1kYXJrKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogI3tweC10by1yZW0oMTJweCl9O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogI3tweC10by1yZW0oMTJweCl9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiPlwiO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tZ3JleS1kYXJrKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5hLWNlbnRlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgICYubGlnaHQge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIj5cIjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIuYnRuIHtcbiAgICAtLWJvcmRlci1yYWRpdXM6MjVweDtcblxuICAgIC0tYmctY29sb3I6IHZhcigtLXBhbm5hKTtcbiAgICAtLXRleHQtY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgIC0tYm9yZGVyLWNvbG9yOiB2YXIoLS1wYW5uYSk7XG4gICAgXG4gICAgLS1iZy1jb2xvci1ob3ZlcjogdmFyKC0tZGFyay1wYW5uYSk7XG4gICAgLS10ZXh0LWNvbG9yLWhvdmVyOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgLS1ib3JkZXItY29sb3ItaG92ZXI6IHZhcigtLWRhcmstcGFubmEpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogI3tweC10by1yZW0oMTZweCl9O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDEycHggMjBweDtcblxuICAgIGJvcmRlcjogc29saWQgMXB4IHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29sb3IpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcblxuICAgIEBtZWRpYShtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWhvdmVyKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29sb3ItaG92ZXIpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1jb2xvci1ob3Zlcik7XG4gICAgfVxuXG5cbiAgICAmLmJ0bi1jb2xvciB7XG4gICAgICAgIC0tYmctY29sb3I6IHZhcigtLXllbGxvdyk7XG4gICAgICAgIC0tdGV4dC1jb2xvcjogdmFyKC0tYmx1ZSk7XG4gICAgICAgIC0tYm9yZGVyLWNvbG9yOiB2YXIoLS15ZWxsb3cpO1xuICAgIFxuICAgICAgICAtLWJnLWNvbG9yLWhvdmVyOiB2YXIoLS1kYXJrLXllbGxvdyk7XG4gICAgICAgIC0tdGV4dC1jb2xvci1ob3ZlcjogdmFyKC0tYmx1ZSk7XG4gICAgICAgIC0tYm9yZGVyLWNvbG9yLWhvdmVyOiB2YXIoLS1kYXJrLXllbGxvdyk7XG4gICAgfVxuXG4gICAgJi5idG4tZGFyayB7XG4gICAgICAgIC0tYmctY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAtLXRleHQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgLS1ib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgIFxuICAgICAgICAtLWJnLWNvbG9yLWhvdmVyOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgIC0tdGV4dC1jb2xvci1ob3ZlcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgIC0tYm9yZGVyLWNvbG9yLWhvdmVyOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICB9XG5cbiAgICAmLmJ0bi1wYW5uYSB7XG4gICAgICAgIC0tYmctY29sb3I6IHZhcigtLW1pZC1wYW5uYSk7XG4gICAgICAgIC0tdGV4dC1jb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgIC0tYm9yZGVyLWNvbG9yOiB2YXIoLS1taWQtcGFubmEpO1xuICAgIFxuICAgICAgICAtLWJnLWNvbG9yLWhvdmVyOiB2YXIoLS1kYXJrLXBhbm5hKTtcbiAgICAgICAgLS10ZXh0LWNvbG9yLWhvdmVyOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgLS1ib3JkZXItY29sb3ItaG92ZXI6IHZhcigtLWRhcmstcGFubmEpO1xuICAgIH1cblxuICAgICYuYnRuLWxpZ2h0IHtcbiAgICAgICAgLS1iZy1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAtLXRleHQtY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAtLWJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgIFxuICAgICAgICAtLWJnLWNvbG9yLWhvdmVyOiB2YXIoLS1taWQtcGFubmEpO1xuICAgICAgICAtLXRleHQtY29sb3ItaG92ZXI6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAtLWJvcmRlci1jb2xvci1ob3ZlcjogdmFyKC0tcGFubmEpO1xuICAgIH1cblxuICAgICYuYnRuLWdyZWVuIHtcbiAgICAgICAgcGFkZGluZzogNnB4IDE1cHg7XG5cbiAgICAgICAgLS1iZy1jb2xvcjogdmFyKC0tZ3JlZW4pO1xuICAgICAgICAtLXRleHQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgLS1ib3JkZXItY29sb3I6IHZhcigtLWdyZWVuKTtcbiAgICBcbiAgICAgICAgLS1iZy1jb2xvci1ob3ZlcjogdmFyKC0tZ3JlZW4pO1xuICAgICAgICAtLXRleHQtY29sb3ItaG92ZXI6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgLS1ib3JkZXItY29sb3ItaG92ZXI6IHZhcigtLWdyZWVuKTtcbiAgICB9XG5cbiAgICAmLmJ0bi1zYWJiaWEge1xuICAgICAgICBwYWRkaW5nOiA2cHggMTVweDtcblxuICAgICAgICAtLWJnLWNvbG9yOiB2YXIoLS1zYWJiaWEpO1xuICAgICAgICAtLXRleHQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgLS1ib3JkZXItY29sb3I6IHZhcigtLXNhYmJpYSk7XG4gICAgXG4gICAgICAgIC0tYmctY29sb3ItaG92ZXI6IHZhcigtLXNhYmJpYSk7XG4gICAgICAgIC0tdGV4dC1jb2xvci1ob3ZlcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAtLWJvcmRlci1jb2xvci1ob3ZlcjogdmFyKC0tc2FiYmlhKTtcbiAgICB9XG5cbiAgICAmLmJ0bi1saWdodC1ibHVlIHtcbiAgICAgICAgcGFkZGluZzogNnB4IDE1cHg7XG5cbiAgICAgICAgLS1iZy1jb2xvcjogdmFyKC0tbGlnaHQtYmx1ZSk7XG4gICAgICAgIC0tdGV4dC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAtLWJvcmRlci1jb2xvcjogdmFyKC0tbGlnaHQtYmx1ZSk7XG4gICAgXG4gICAgICAgIC0tYmctY29sb3ItaG92ZXI6IHZhcigtLWxpZ2h0LWJsdWUpO1xuICAgICAgICAtLXRleHQtY29sb3ItaG92ZXI6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgLS1ib3JkZXItY29sb3ItaG92ZXI6IHZhcigtLWxpZ2h0LWJsdWUpO1xuICAgIH1cblxuICAgICYuYnRuLXZpb2xldCB7XG4gICAgICAgIHBhZGRpbmc6IDZweCAxNXB4O1xuXG4gICAgICAgIC0tYmctY29sb3I6IHZhcigtLXZpb2xldCk7XG4gICAgICAgIC0tdGV4dC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAtLWJvcmRlci1jb2xvcjogdmFyKC0tdmlvbGV0KTtcbiAgICBcbiAgICAgICAgLS1iZy1jb2xvci1ob3ZlcjogdmFyKC0tdmlvbGV0KTtcbiAgICAgICAgLS10ZXh0LWNvbG9yLWhvdmVyOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgIC0tYm9yZGVyLWNvbG9yLWhvdmVyOiB2YXIoLS12aW9sZXQpO1xuICAgIH1cbn1cblxuLnBpbGxvbGEge1xuICAgIHBhZGRpbmc6IDdweCAxMHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjMpO1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDVweCk7XG4gICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG5cbiAgICB3aWR0aDogYXV0bztcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIC8vdHJhbnNmb3JtOiByb3RhdGUoLTRkZWcpO1xuXG4gICAgJi5kYXJrLXBhbm5hIHtcbiAgICAgICAgYmFja2dyb3VuZDogI0VDRTlERTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDApO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgfVxufVxuXG4udGFnIHtcbiAgICBwYWRkaW5nOiA2cHggMTVweDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgZm9udC1zaXplOiAje3B4LXRvLXJlbSgxNnB4KX07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxufSIsIi5mb3JtLWNvbnRhdHRpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIC5jb250YWN0LWZvcm0ge1xuICAgICAgICAvL21heC13aWR0aDogOTEycHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIGdyaWQtZ2FwOiAxNnB4O1xuICAgICAgICAgICAgICAgIGdhcDogMTZweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hbGxlZ2F0by1mb3JtIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5mb3JtLWlucHV0IHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC50aXRsZS1mb3JtIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbiAgICAgICAgICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wYW5uYSk7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE2cHggNjBweCAxNnB4IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBhbm5hKTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWdyZXktZGFyayk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogI3tweC10by1yZW0oMTZweCl9O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWdyZXktZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWdyZXktZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ncmV5LWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYubWlkLXBhbm5hIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLW1pZC1wYW5uYSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZ3JleS1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWdyZXktZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZ3JleS1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgLyogQ2hyb21lLCBTYWZhcmksIEVkZ2UsIE9wZXJhICovXG4gICAgICAgICAgICAgICAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4gICAgICAgICAgICAgICAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLyogRmlyZWZveCAqL1xuICAgICAgICAgICAgICAgICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcGFubmEpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNnB4IDYwcHggMTZweCAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYW5uYSk7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5NyUgY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2ljb25lL2Fycm93LXNlbGVjdC5zdmcpO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZ3JleS1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAje3B4LXRvLXJlbSgxNnB4KX07XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcblxuICAgICAgICAgICAgICAgICAgICAmKy5zZWxlY3QtYXJyb3cge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgICAgICAgICAmLm1pZC1wYW5uYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1taWQtcGFubmEpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWdyZXktZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ncmV5LWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWdyZXktZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAje3B4LXRvLXJlbSgxNnB4KX07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5wcml2YWN5LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5jaGVja21hcmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig5cHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoOXB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk5OTk7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaW5wdXQ6Y2hlY2tlZH4uY2hlY2ttYXJrOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWwgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnBzZXVkby1pbnB1dC1maWxlIHtcbiAgICAgICAgICAgICAgICAgICAgW3R5cGU9XCJmaWxlXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAucHNldWRvLWZpbGVzLWxpc3Qge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5wc2V1ZG8tYnV0dG9uLWlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC0tY29sb3ItYm9yZGVyOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDdweCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAxNDQxcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDM1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IHZhcigtLWNvbG9yLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZV9mdWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC4xO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm5ld3NsZXR0ZXIge1xuICAgICAgICAgICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBnYXA6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgICAgICAgICAuZm9ybS1pbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgICAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuICAgICAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbiAgICAgICAgICAgICAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGFyay1wYW5uYSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCA2MHB4IDE1cHggMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wYW5uYSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZ3JleS1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogI3tweC10by1yZW0oMTZweCl9O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjY2NjY2NjO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2NjY2NjYztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjY2NjY2NjO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLnByaXZhY3ktY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jaGVja21hcmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig5cHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDlweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dDpjaGVja2Vkfi5jaGVja21hcms6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAje3B4LXRvLXJlbSgxNnB4KX07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAje3B4LXRvLXJlbSgxNnB4KX07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuW2RhdGEtZm9ybS10b2dnbGVdIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59IiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcInNhc3M6bWV0YVwiO1xuXG5AbWl4aW4gYWJzb2x1dGVfZnVsbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbn1cblxuQG1peGluIGRfZmxleCB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWl4aW4gYXNwZWN0X3JhdGlvKCRsYXJnaGV6emEsICRhbHRlenphKSB7XG4gICAgaGVpZ2h0OiAwcHg7XG4gICAgcGFkZGluZy1ib3R0b206ICgoMTAwICogJGFsdGV6emEpIC8gJGxhcmdoZXp6YSkgKiAxJTtcbn1cblxuQG1peGluIHZlcnRpY2FsQWxpZ24oJHBvc2l0aW9uOiByZWxhdGl2ZSkge1xuICAgIHBvc2l0aW9uOiAkcG9zaXRpb247XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG5AbWl4aW4gaG9yaXpvbnRhbEFsaWduKCRwb3NpdGlvbjogcmVsYXRpdmUpIHtcbiAgICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uOiByZWxhdGl2ZSkge1xuICAgIHBvc2l0aW9uOiAkcG9zaXRpb247XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkdmFsdWUpIHtcbiAgICBAaWYgbWV0YS50eXBlLW9mKCR2YWx1ZSk9PSdudW1iZXInIGFuZCBtYXRoLnVuaXQoJHZhbHVlKSAhPVwiXCIge1xuICAgICAgICBAcmV0dXJuIG1hdGguZGl2KCR2YWx1ZSwgJHZhbHVlICogMCArIDEpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gcHgtdG8tcmVtKCRweCwgJGJhc2U6IDE2KSB7XG4gICAgQHJldHVybiBtYXRoLmRpdihzdHJpcC11bml0KCRweCksICRiYXNlKSAqIDFyZW07XG59XG5cbkBmdW5jdGlvbiBjbGFtcC1yZW0oJG1pbiwgJHByZWZlcnJlZCwgJG1heCwgJGJhc2U6IDE2KSB7XG4gICAgJG1pbi1yZW06IGlmKG1hdGgudW5pdCgkbWluKT09cHgsIHB4LXRvLXJlbSgkbWluLCAkYmFzZSksICRtaW4pO1xuICAgICRtYXgtcmVtOiBpZihtYXRoLnVuaXQoJG1heCk9PXB4LCBweC10by1yZW0oJG1heCwgJGJhc2UpLCAkbWF4KTtcbiAgICBAcmV0dXJuIGNsYW1wKCN7JG1pbi1yZW19LCAjeyRwcmVmZXJyZWR9LCAjeyRtYXgtcmVtfSk7XG59IiwiLmludHJvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIFxuICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDBzdmg7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIGhlaWdodDogMTAwc3ZoO1xuICAgIH1cbiAgICBcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNDUsIDI0MiwgMjM2LCAuOTUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI0NSwgMjQyLCAyMzYsIDAuOSkgMCUsIHJnYmEoMCwgMCwgMCwgMC4yNSkgMzUlLCByZ2JhKDAsIDAsIDAsIDAuNykgMTAwJSk7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMHN2aDtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgaGVpZ2h0OiAxMDBzdmg7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmludHJvLWNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgJi5zbWFsbCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgbWluLWhlaWdodDogY2FsYyg2MHZoIC0gMTAwcHgpO1xuICAgICAgICAgICAgbWluLWhlaWdodDogY2FsYyg2MHN2aCAtIDEwMHB4KTtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYyg2MHZoIC0gMTAwcHgpO1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDYwc3ZoIC0gMTAwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKDYwdmggLSAxMDBweCk7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogY2FsYyg2MHN2aCAtIDEwMHB4KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoNjB2aCAtIDEwMHB4KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoNjBzdmggLSAxMDBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5pbnRyby1hemllbmRhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIFxuICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDBzdmg7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIGhlaWdodDogMTAwc3ZoO1xuICAgIH1cblxuXG4gICAgLmJsb2NrLWdyaWRzIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICBcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTAwc3ZoO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwc3ZoO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdyaWQge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMTAwc3ZoO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBzdmg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudmlkZW8tYXppZW5kYS1jb250YWluZXIge1xuICBcbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgb2JqZWN0LWZpdDpjb3ZlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGhlaWdodDogMTUwJTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIFxuICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKCAxMDAlIDEwMCUsMTAwJSAxMDAlLDk5LjA2OSUgOTkuOTc4JSw5OC4xNDUlIDk5LjkxMiUsOTcuMjM3JSA5OS44MDElLDk2LjM1MSUgOTkuNjQ1JSw5NS40OTYlIDk5LjQ0NSUsOTQuNjglIDk5LjIlLDkzLjkxMSUgOTguOTElLDkzLjE5NyUgOTguNTc0JSw5Mi41NDUlIDk4LjE5NCUsOTEuOTY0JSA5Ny43NjclLDg2LjYzJSA5My4zNTYlLDg2LjYzJSA5My4zNTYlLDg1LjcyMSUgOTIuNzMyJSw4NC42NDQlIDkyLjIwNSUsODMuNDI5JSA5MS43NzglLDgyLjEwNCUgOTEuNDU1JSw4MC42OTglIDkxLjI0JSw3OS4yNDElIDkxLjEzNSUsNzcuNzYyJSA5MS4xNDQlLDc2LjI4OSUgOTEuMjY5JSw3NC44NTMlIDkxLjUxNiUsNzMuNDgyJSA5MS44ODYlLDY0Ljc2MyUgOTQuNzI0JSw2NC43NjMlIDk0LjcyNCUsNjIuOTQ4JSA5NS4xODklLDYxLjA2NSUgOTUuNDM5JSw1OS4xNzElIDk1LjQ4OCUsNTcuMzIzJSA5NS4zNSUsNTUuNTc2JSA5NS4wMzglLDUzLjk4OCUgOTQuNTY2JSw1Mi42MTUlIDkzLjk0NSUsNTEuNTEzJSA5My4xOTElLDUwLjczOSUgOTIuMzE2JSw1MC4zNDglIDkxLjMzNCUsNDkuNDU3JSA4Ni4yMzYlLDQ5LjQ1NyUgODYuMjM2JSw0OS4xOTIlIDg1LjQ4JSw0OC42OTElIDg0Ljc3NyUsNDcuOTc0JSA4NC4xMzUlLDQ3LjA2NyUgODMuNTY0JSw0NS45OTIlIDgzLjA3MiUsNDQuNzczJSA4Mi42NjglLDQzLjQzMiUgODIuMzYzJSw0MS45OTMlIDgyLjE2NCUsNDAuNDc5JSA4Mi4wODElLDM4LjkxNCUgODIuMTI0JSwyOC41MzglIDgyLjgzMiUsMjguNTM4JSA4Mi44MzIlLDI2LjQ4OCUgODIuODY0JSwyNC41NjglIDgyLjY4OSUsMjIuODE4JSA4Mi4zMzElLDIxLjI3NSUgODEuODE1JSwxOS45NzklIDgxLjE2NCUsMTguOTY5JSA4MC40MDIlLDE4LjI4NCUgNzkuNTUyJSwxNy45NjIlIDc4LjYzOSUsMTguMDQzJSA3Ny42ODclLDE4LjU2NSUgNzYuNzE5JSwyMi4yOTglIDcxLjkzMyUsMjIuMjk4JSA3MS45MzMlLDIyLjczMSUgNzEuMTk2JSwyMi45MDQlIDcwLjQ1NiUsMjIuODI4JSA2OS43MjUlLDIyLjUxNyUgNjkuMDE4JSwyMS45ODUlIDY4LjM0NyUsMjEuMjQzJSA2Ny43MjUlLDIwLjMwNiUgNjcuMTY1JSwxOS4xODUlIDY2LjY4JSwxNy44OTUlIDY2LjI4NSUsMTYuNDQ4JSA2NS45OSUsNi40NzYlIDY0LjQzMiUsNi40NzYlIDY0LjQzMiUsNC42MDMlIDY0LjAyNiUsMy4wMyUgNjMuNDYyJSwxLjc3MSUgNjIuNzY4JSwwLjgzOSUgNjEuOTc2JSwwLjI0OSUgNjEuMTE1JSwwLjAxNCUgNjAuMjE0JSwwLjE0OSUgNTkuMzAyJSwwLjY2OCUgNTguNDExJSwxLjU4NCUgNTcuNTclLDIuOTExJSA1Ni44MDclLDEwLjUxNSUgNTMuMjg4JSwxMC41MTUlIDUzLjI4OCUsMTEuNTYxJSA1Mi43MTclLDEyLjM3NCUgNTIuMDg2JSwxMi45NTUlIDUxLjQxMiUsMTMuMzAzJSA1MC43MDglLDEzLjQxOSUgNDkuOTklLDEzLjMwMyUgNDkuMjcxJSwxMi45NTUlIDQ4LjU2OCUsMTIuMzc0JSA0Ny44OTMlLDExLjU2MSUgNDcuMjYzJSwxMC41MTUlIDQ2LjY5MiUsMi45MTElIDQzLjE3MiUsMi45MTElIDQzLjE3MiUsMS41ODMlIDQyLjQxJSwwLjY2NiUgNDEuNTY4JSwwLjE0NyUgNDAuNjc3JSwwLjAxJSAzOS43NjYlLDAuMjQ0JSAzOC44NjUlLDAuODMzJSAzOC4wMDMlLDEuNzY1JSAzNy4yMTElLDMuMDI1JSAzNi41MTglLDQuNiUgMzUuOTU0JSw2LjQ3NiUgMzUuNTQ4JSwxNi40NDglIDMzLjk4OSUsMTYuNDQ4JSAzMy45ODklLDE3Ljg5NSUgMzMuNjk1JSwxOS4xODUlIDMzLjI5OSUsMjAuMzA2JSAzMi44MTUlLDIxLjI0MyUgMzIuMjU1JSwyMS45ODUlIDMxLjYzMyUsMjIuNTE3JSAzMC45NjIlLDIyLjgyOCUgMzAuMjU0JSwyMi45MDQlIDI5LjUyNCUsMjIuNzMxJSAyOC43ODMlLDIyLjI5OCUgMjguMDQ2JSwxOC41NjUlIDIzLjI2MSUsMTguNTY1JSAyMy4yNjElLDE4LjA0NyUgMjIuMjkzJSwxNy45NjklIDIxLjM0JSwxOC4yOTIlIDIwLjQyNyUsMTguOTc5JSAxOS41NzglLDE5Ljk5JSAxOC44MTYlLDIxLjI4NSUgMTguMTY0JSwyMi44MjYlIDE3LjY0OCUsMjQuNTc1JSAxNy4yOTElLDI2LjQ5MiUgMTcuMTE2JSwyOC41MzglIDE3LjE0OCUsMzguOTE0JSAxNy44NTYlLDM4LjkxNCUgMTcuODU2JSw0MC40OCUgMTcuODk4JSw0MS45OTQlIDE3LjgxNiUsNDMuNDM1JSAxNy42MTclLDQ0Ljc3NyUgMTcuMzExJSw0NS45OTglIDE2LjkwOCUsNDcuMDczJSAxNi40MTYlLDQ3Ljk4MSUgMTUuODQ0JSw0OC42OTYlIDE1LjIwMiUsNDkuMTk2JSAxNC40OTklLDQ5LjQ1NyUgMTMuNzQ0JSw1MC4zNDglIDguNjQ1JSw1MC4zNDglIDguNjQ1JSw1MC43MzklIDcuNjYyJSw1MS41MTMlIDYuNzg2JSw1Mi42MTUlIDYuMDMxJSw1My45ODglIDUuNDExJSw1NS41NzYlIDQuOTM5JSw1Ny4zMjMlIDQuNjI3JSw1OS4xNzElIDQuNDklLDYxLjA2NSUgNC41NCUsNjIuOTQ4JSA0Ljc5MSUsNjQuNzYzJSA1LjI1NSUsNzMuNDgyJSA4LjA5NCUsNzMuNDgyJSA4LjA5NCUsNzQuODUzJSA4LjQ2NCUsNzYuMjkxJSA4LjcxMSUsNzcuNzY0JSA4LjgzNyUsNzkuMjQ1JSA4Ljg0NyUsODAuNzAzJSA4Ljc0MiUsODIuMTElIDguNTI3JSw4My40MzUlIDguMjA1JSw4NC42NSUgNy43NzglLDg1LjcyNCUgNy4yNSUsODYuNjMlIDYuNjI0JSw5MS45NjQlIDIuMjEyJSw5MS45NjQlIDIuMjEyJSw5MS45NjQlIDIuMjEyJSw5Mi41NDQlIDEuNzkzJSw5My4xOTQlIDEuNDE4JSw5My45MDUlIDEuMDg2JSw5NC42NyUgMC43OTglLDk1LjQ4MiUgMC41NTUlLDk2LjMzMyUgMC4zNTUlLDk3LjIxNSUgMC4yJSw5OC4xMiUgMC4wODklLDk5LjA0MiUgMC4wMjIlLDk5Ljk3MiUgMCUgKTtcbiAgICAgICAgXG4gICAgICAgIH1cblxuICAgICAgICB2aWRlbyB7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDMvNDtcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5pbnRyby1jb250YXR0aSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcblxuICAgIG1pbi1oZWlnaHQ6IDgwdmg7XG4gICAgbWluLWhlaWdodDogODBzdmg7XG4gICAgaGVpZ2h0OiA4MHZoO1xuICAgIGhlaWdodDogODBzdmg7XG4gICAgXG4gICAgQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgbWluLWhlaWdodDogODB2aDtcbiAgICAgICAgbWluLWhlaWdodDogODBzdmg7XG4gICAgICAgIGhlaWdodDogODB2aDtcbiAgICAgICAgaGVpZ2h0OiA4MHN2aDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuNSk7XG4gICAgfVxuXG4gICAgLmludHJvLWNsaXAge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgICBtaW4taGVpZ2h0OiA4MHZoO1xuICAgICAgICBtaW4taGVpZ2h0OiA4MHN2aDtcbiAgICAgICAgaGVpZ2h0OiA4MHZoO1xuICAgICAgICBoZWlnaHQ6IDgwc3ZoO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA4MHZoO1xuICAgICAgICAgICAgbWluLWhlaWdodDogODBzdmg7XG4gICAgICAgICAgICBoZWlnaHQ6IDgwdmg7XG4gICAgICAgICAgICBoZWlnaHQ6IDgwc3ZoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5jb250YXR0aS1jbGlwLWNvbnRhaW5lciB7XG4gICAgICAgIC5pbnRyby1zdmcge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IGJvdHRvbTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cbi8qIFxuLnNjcm9sbC1zY2VuZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMTAwMHZoO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWRhcmspO1xufVxuXG4uc3RpY2t5LWZyYW1lIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbiNoZXJvQ2FudmFzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59ICovIiwiLnBhZ2luYXRpb24ge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgbGkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgIC5idG4ge1xuICAgICAgICAgICAgd2lkdGg6IDQycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQycHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXllbGxvdyk7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS15ZWxsb3cpO1xuXG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuXG4gICAgICAgICAgICAgICAgaSwgc3BhbntcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jdXJyZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiA0MnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kYXJrLXllbGxvdyk7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kYXJrLXllbGxvdyk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wYWdpbmF6aW9uZS1wcm9nZXR0aSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogNDRweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDEwO1xuXG4gICAgdWwge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5wYWdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMTJweCAyMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogI3tweC10by1yZW0oMTJweCl9O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXllbGxvdyk7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS15ZWxsb3cpO1xuXG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAje3B4LXRvLXJlbSgxNnB4KX07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG5cbiAgICAgICAgICAgICAgICBpLCBzcGFue1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmN1cnJlbnQge1xuICAgICAgICAgICAgd2lkdGg6IDQycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQycHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRhcmsteWVsbG93KTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRhcmsteWVsbG93KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG4gICAgfVxufSIsIi8vIEhlYWRlciBzZW1wcmUgdmlzaWJpbGUgc29wcmEgaSBzZWN0aW9uIGEgc2NoZXJtbyBpbnRlcm9cbmhlYWRlciB7XG4gICAgei1pbmRleDogMTAwO1xufVxuXG4ucHJvZ2V0dGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgICYuc2hvdy1mb290ZXIge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgc2VjdGlvbiB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAgICAgJi5uby1wcm9qZWN0cyB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm91dGVyLFxuICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICAuYmcge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAwOyAvLyBzdGFja2luZyBjb250ZXh0IHBlciBiZy1tZWRpYVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBDb250ZW5pdG9yZSBtZWRpYSAoaW1nIG8gdmlkZW8pIGNvbWUgc2ZvbmRvXG4gICAgICAgICAgICAuYmctbWVkaWEge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBpbnNldDogMDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICAgICAgaW1nLFxuICAgICAgICAgICAgICAgIHZpZGVvIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jbGlwLXRleHQge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmluLWZsb3cge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIFxuXG5cbiAgICAvLyBMZSBpbW1hZ2luaS92aWRlbyBkaSBzZm9uZG8gc29ubyBvcmEgZ2VzdGl0aSB0cmFtaXRlIHRhZyA8aW1nPiBvIDx2aWRlbz5cbiAgICAvLyBuZWwgZGl2IC5iZy1tZWRpYSBhbGwnaW50ZXJubyBkaSBvZ25pIHNlemlvbmUgbmVsIGZpbGUgLnR3aWdcblxuICAgIGgyICoge1xuICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgIH1cblxuICAgIC8vIFBhZ2luYXppb25lIHZlcnRpY2FsZSBmaXNzYSBzdWxsYSBkZXN0cmFcbiAgICAmLW5hdiB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgcmlnaHQ6IDI4cHg7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHotaW5kZXg6IDIwMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgICAvLyBMaW5lYSB2ZXJ0aWNhbGUgY29udGludWEgZGkgc2ZvbmRvIChkZXN0cmEgZGkgdHV0dGkgaSBudW1lcmkpXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMzU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMThweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgLy8gVGljayB2ZXJ0aWNhbGUgaW5kaXZpZHVhbGUgc29wcmEgbGEgbGluZWEgZGkgc2ZvbmRvXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMC41cHg7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4zNXMgZWFzZSwgaGVpZ2h0IDAuMzVzIGVhc2UsIHJpZ2h0IDAuMzVzIGVhc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgICAgICAgICAvLyBUaWNrIHBpw7kgc3Blc3NvIHF1YW5kbyBhY3RpdmVcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0xLjVweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBMaW5lYSBvcml6em9udGFsZSB2aXNpYmlsZSBzb2xvIHN1bGwnaXRlbSBhdHRpdm9cbiAgICAgICAgICAgICAgICAucHJvZ2V0dGktbmF2X19saW5lIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gTGluZWEgb3JpenpvbnRhbGU6IG5hc2Nvc3RhIGRpIGRlZmF1bHQsIHZpc2liaWxlIHNvbG8gc2UgYWN0aXZlXG4gICAgICAgICZfX2xpbmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjRzIGVhc2UsIG9wYWNpdHkgMC40cyBlYXNlO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmX19udW0ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAje3B4LXRvLXJlbSgxNnB4KX07XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE1vYmlsZTogbmF2IGluIGJhc3NvLCBsYXlvdXQgb3JpenpvbnRhbGUsIGxpbmVlIHJ1b3RhdGVcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIGJvdHRvbTogMjhweDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAgIC8vIExpbmVhIGRpIHNmb25kbyBkaXZlbnRhIG9yaXp6b250YWxlXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG5cbiAgICAgICAgICAgICAgICAvLyBUaWNrIGRpdmVudGEgb3JpenpvbnRhbGUgaW4gYmFzc29cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtMC41cHg7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTEuNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAucHJvZ2V0dGktbmF2X19saW5lIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIF9fbGluZSBkaXZlbnRhIHZlcnRpY2FsZSBzb3ByYSBpbCBudW1lcm9cbiAgICAgICAgICAgICZfX2xpbmUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjRzIGVhc2UsIG9wYWNpdHkgMC40cyBlYXNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19udW0ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogI3tweC10by1yZW0oMTJweCl9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmFzY29uZGUgbGEgcGFnaW5hemlvbmUgcXVhbmRvIGlsIGZvb3RlciDDqCB2aXNpYmlsZVxuICAgICYuc2hvdy1mb290ZXIgJi1uYXYge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gICAgfVxufSIsIi5tb3NhaWMtem9vbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIG1pbi1oZWlnaHQ6IDEyMHZoO1xuICAgIG1heC1oZWlnaHQ6IDEyMHZoO1xuICAgIFxuICAgIFxuICAgIEBtZWRpYShtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgICB9XG5cbiAgICAuYW5pbWF0ZS1waG90byB7XG4gICAgICAgIC8vIENvcHJlIGwnaW50ZXJhIHNlemlvbmUg4oCUIGdsaSBlbGVtZW50aSBzb25vIHBvc2l6aW9uYXRpIGFzc29sdXRhbWVudGUgbmVsIG1vc2FpY29cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG5cbiAgICAgICAgLnRpdGxlLWJpZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAvLyBHU0FQIGdlc3Rpc2NlIHhQZXJjZW50Oi01MCwgeVBlcmNlbnQ6LTUwIGUgc2NhbGVcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbWctMDEge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmltZy0wMiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMjIwcHg7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiA1MCU7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJsb2NrLXRleHQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgICAgICAgICBcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYmxvY2stdW5vIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYmxvY2stZHVlIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiA1MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYmxvY2stdHJlIHtcbiAgICAgICAgICAgICAgICByaWdodDogNTAlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmJsb2NrLXF1YXR0cm8ge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiA1MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYmxvY2stY2lucXVlIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYmxvY2stc2VpIHtcbiAgICAgICAgICAgICAgICByaWdodDogNTAlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogNTAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDI1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmljb25lIHtcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hYnMtdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDY1JTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICB0b3A6IDc1JTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4uc3Rhci1jb250YWluZXIge1xuICAgIC5pbWctc3Rhci1ia2cge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiA0MHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB3aWR0aDogMTcwdnc7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmltZy1lYXJ0aCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGFuaW1hdGlvbjogZmxvYXQtZWFydGggNi41cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDEwcHggMjJweCByZ2JhKDE2LCAzNSwgNjMsIDAuMikpO1xuICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmltZy1iYW5hbmEge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogNjBweDtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDBweDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGFuaW1hdGlvbjogZmxvYXQtYmFuYW5hIDUuOHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAxMHB4IDIycHggcmdiYSgxNiwgMzUsIDYzLCAwLjE4KSk7XG4gICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjQwcHg7XG4gICAgICAgICAgICBib3R0b206IDIwcHg7XG4gICAgICAgICAgICB0b3A6IHVuc2V0O1xuICAgICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbWctc3VpdGNhc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDE1JTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGFuaW1hdGlvbjogZmxvYXQtc3VpdGNhc2UgNy4ycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDEwcHggMjJweCByZ2JhKDE2LCAzNSwgNjMsIDAuMikpO1xuICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgcmlnaHQ6IDBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAgIC5zdGFyLWNvbnRhaW5lciB7XG4gICAgICAgIC5pbWctZWFydGg6aG92ZXIge1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZsb2F0LWVhcnRoLWhvdmVyO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyLjhzO1xuICAgICAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDE0cHggMjhweCByZ2JhKDE2LCAzNSwgNjMsIDAuMykpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmltZy1iYW5hbmE6aG92ZXIge1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZsb2F0LWJhbmFuYS1ob3ZlcjtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMi41cztcbiAgICAgICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAxNHB4IDI4cHggcmdiYSgxNiwgMzUsIDYzLCAwLjMpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbWctc3VpdGNhc2U6aG92ZXIge1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZsb2F0LXN1aXRjYXNlLWhvdmVyO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyLjlzO1xuICAgICAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDE0cHggMjhweCByZ2JhKDE2LCAzNSwgNjMsIDAuMykpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsb2F0LWVhcnRoIHtcbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMHB4KTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTE0cHgpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmbG9hdC1lYXJ0aC1ob3ZlciB7XG4gICAgMCUsXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMSk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC0yMnB4KSBzY2FsZSgxLjA1KTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmxvYXQtYmFuYW5hIHtcbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgcm90YXRlKC0yZGVnKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMnB4KSByb3RhdGUoM2RlZyk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsb2F0LWJhbmFuYS1ob3ZlciB7XG4gICAgMCUsXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHJvdGF0ZSgtMmRlZykgc2NhbGUoMSk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCkgcm90YXRlKDVkZWcpIHNjYWxlKDEuMDYpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmbG9hdC1zdWl0Y2FzZSB7XG4gICAgMCUsXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHJvdGF0ZSgxZGVnKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xM3B4KSByb3RhdGUoLTNkZWcpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmbG9hdC1zdWl0Y2FzZS1ob3ZlciB7XG4gICAgMCUsXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHJvdGF0ZSgxZGVnKSBzY2FsZSgxKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMXB4KSByb3RhdGUoLTVkZWcpIHNjYWxlKDEuMDUpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmbG9hdC11cGRhdGUtaWNvbiB7XG4gICAgMCUsXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsb2F0LXVwZGF0ZS1pY29uLWhvdmVyIHtcbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMSk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KSBzY2FsZSgxLjA4KTtcbiAgICB9XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLnN0YXItY29udGFpbmVyIHtcbiAgICAgICAgLmltZy1lYXJ0aCxcbiAgICAgICAgLmltZy1iYW5hbmEsXG4gICAgICAgIC5pbWctc3VpdGNhc2Uge1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2ctYmxvY2stZ3JpZCAuaW5mby1ibG9nIC5pY29uZSB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAubWFwcGEtaG9tZSB7XG4gICAgICAgIC5pbWctbWFwcGEtc21hbGwsXG4gICAgICAgIC5pbWctbW9uZG8tcGl4ZWwge1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubWlzc2lvbixcbi5waWxhc3RyaSxcbi5ndWFkYWduby1ibG9jayB7XG5cbiAgICAuaW5zaWRlIHtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5waWxhc3RyaS1kZXR0YWdsaW8ge1xuICAgIC5waWxhc3RyaS1pbWcge1xuICAgICAgICBtYXgtaGVpZ2h0OiA2MDBweDtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxufVxuXG4uYmctc2ZvbmRvLWltZyB7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC41KTtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICB9XG5cbiAgICBcbiAgICAuaW1nLWJrZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbn1cblxuLmJsb2NrLW5ld3MsXG4uZGV0YWlsLWJsb2cge1xuICAgIHBhZGRpbmc6IDIwcHg7XG5cblxuICAgIC5pbmZvLWJsb2cge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDE4MHB4IDEwMHB4O1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJsb2ctYmxvY2stZ3JpZCB7XG4gICAgLmluZm8tYmxvZyAuaWNvbmUge1xuICAgICAgICBhbmltYXRpb246IGZsb2F0LXVwZGF0ZS1pY29uIDMuNHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgfVxuXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAgICAgICAuaW5mby1ibG9nIC5pY29uZTpob3ZlciB7XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmxvYXQtdXBkYXRlLWljb24taG92ZXI7XG4gICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEuOHM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvY2stbmV3cyB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgLmRlc2Mge1xuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJi5kZXNjLWdyaWQge1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnRhZ3MtbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxMHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcblxufVxuXG4uc29jaWFsLWljb25zIHtcbiAgICBhIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogI3tweC10by1yZW0oMzBweCl9O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uaWNvbmUtcGlsYXN0cmkge1xuICAgIG1heC13aWR0aDogODBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbiAgICB0b3A6IC0xMHB4O1xuXG4gICAgQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICAgICAgdG9wOiAtNjBweDtcbiAgICB9XG5cbiAgICAmLm9kZCB7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMGRlZyk7XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgcmlnaHQ6IC0yMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5ldmVuIHtcbiAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTIwZGVnKTtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgbGVmdDogLTIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLmljb25lLWNvbnRhdHRpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbiAgICB0b3A6IC02MHB4O1xuICAgIHJpZ2h0OiAtMjBweDtcbiAgICB3aWR0aDogMjAwcHg7XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICB0b3A6IC0xMDBweDtcbiAgICAgICAgcmlnaHQ6IDMwcHg7XG4gICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICB9XG59XG5cbi5jYXRlZ29yeS1waWxhc3RybyB7XG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cbn1cblxuLnBpbGFzdHJpLWJsb2NrLWdyaWQge1xuICAgIC5pbWFnZS1jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDI0cHg7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAyNHB4O1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAyNHB4O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDI0cHg7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcblxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG5cbiAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIC5zdGFyLXNmb25kbyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICBib3R0b206IC0xcHg7XG5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogdmFyKC0tcGlsYXN0cm8tY29sb3IsIHZhcigtLWRhcmstcGFubmEpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kZXNjLWdyaWQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDI0cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAyNHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICBtaW4taGVpZ2h0OiAyNTVweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGlsYXN0cm8tY29sb3IsIHZhcigtLWRhcmstcGFubmEpKTtcblxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDI1cHggMjVweCAyNXB4O1xuICAgICAgICAgICAgLy8gaGVpZ2h0OiA0MCU7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uYSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDcwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYXJyb3cge1xuICAgICAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuXG4gICAgICAgIGEge1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAuaW1hZ2UtY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5kZXNjLWdyaWQge1xuICAgICAgICAgICAgICAgICAgICAuYXJyb3cge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG59XG5cbi8qIHByb2dyZXNzLXN0ZXBzLmNzcyAqL1xuQGtleWZyYW1lcyBmaWxsU2VnbWVudCB7XG5cdGZyb20ge1xuXHRcdHdpZHRoOiAwO1xuXHR9XG5cdHRvIHtcblx0XHR3aWR0aDogY2FsYyh2YXIoLS12YWx1ZSkgKiAxJSk7XG5cdH1cbn1cbkBrZXlmcmFtZXMgZmFkZVRleHQge1xuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG4ucHJvZ3Jlc3Mtd3JhcHBlciB7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgXG4gICAgLnByb2dyZXNzLWJhciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgICAgIFxuICAgICAgICAucHJvZ3Jlc3Mtc2VnbWVudCB7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogZmlsbFNlZ21lbnQgMXMgZWFzZSBmb3J3YXJkcztcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tZGVsYXkpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBmYWRlVGV4dCAuM3MgZWFzZSBmb3J3YXJkcztcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tZGVsYXkpICsgLjhzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuNCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tYXBwYS1ob21lIHtcbiAgICAuaW1nLW1hcHBhLXNtYWxsIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAxMCU7XG4gICAgICAgIHRvcDogLTUwcHg7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICAgIGFuaW1hdGlvbjogZmxvYXQtbWFwcGEtc21hbGwgNnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmltZy1tYXBwYS1iaWcge1xuICAgICAgICAvL3RyYW5zZm9ybTogcm90YXRlKDFkZWcpO1xuICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuXG4gICAgICAgIC8qIEBtZWRpYShtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7XG4gICAgICAgIH0gKi9cbiAgICB9XG5cbiAgICAuaW1nLW1vbmRvLXBpeGVsIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtNCU7XG4gICAgICAgIHRvcDogNTglO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDE4MHB4O1xuICAgICAgICBhbmltYXRpb246IGZsb2F0LW1vbmRvLXBpeGVsIDdzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMjBweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgICAgICAgLmltZy1tYXBwYS1zbWFsbDpob3ZlciB7XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmxvYXQtbWFwcGEtc21hbGwtaG92ZXI7XG4gICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDIuOHM7XG4gICAgICAgIH1cblxuICAgICAgICAuaW1nLW1vbmRvLXBpeGVsOmhvdmVyIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmbG9hdC1tb25kby1waXhlbC1ob3ZlcjtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogM3M7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmxvYXQtbWFwcGEtc21hbGwge1xuICAgIDAlLFxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmxvYXQtbWFwcGEtc21hbGwtaG92ZXIge1xuICAgIDAlLFxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgxKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xOHB4KSBzY2FsZSgxLjA1KTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmxvYXQtbW9uZG8tcGl4ZWwge1xuICAgIDAlLFxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSByb3RhdGUoMGRlZyk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOXB4KSByb3RhdGUoMmRlZyk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsb2F0LW1vbmRvLXBpeGVsLWhvdmVyIHtcbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgcm90YXRlKDBkZWcpIHNjYWxlKDEpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE2cHgpIHJvdGF0ZSg0ZGVnKSBzY2FsZSgxLjA2KTtcbiAgICB9XG59XG5cbi5ndWFkYWduaWFtby1zZWN0aW9uIHtcbiAgICAuaW1nLW1hcHBhLXNtYWxsIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAtNTBweDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgICAgYW5pbWF0aW9uOiBmbG9hdC1tYXBwYS1zbWFsbCA2cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW1nLW1hcHBhLWJpZyB7XG4gICAgICAgIC8vdHJhbnNmb3JtOiByb3RhdGUoMWRlZyk7XG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgIC8vdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7XG4gICAgICAgICAgICBsZWZ0OiAtNSU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW1nLW1vbmRvLXBpeGVsIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtNCU7XG4gICAgICAgIHRvcDogNDIlO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDE4MHB4O1xuICAgICAgICBhbmltYXRpb246IGZsb2F0LW1vbmRvLXBpeGVsIDdzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMjBweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgICAgICAgLmltZy1tYXBwYS1zbWFsbDpob3ZlciB7XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogZmxvYXQtbWFwcGEtc21hbGwtaG92ZXI7XG4gICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDIuOHM7XG4gICAgICAgIH1cblxuICAgICAgICAuaW1nLW1vbmRvLXBpeGVsOmhvdmVyIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmbG9hdC1tb25kby1waXhlbC1ob3ZlcjtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogM3M7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLnBpbGFzdHJpLWJsb2Nrcy1ob21lIHtcblxuICAgIC8qIC5waWxhc3RyaS1yb3cge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gICAgICAgIFxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgIC5pbnNpZGUtcGlsYXN0cmkge1xuICAgICAgICAgICAgICAgIC5pY29uZSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcblxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIC5pbnNpZGUtcGlsYXN0cmkge1xuICAgICAgICAgICAgICAgICAgICAuYXJyb3cge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfSAqL1xuXG5cbiAgICAucGlsYXN0cmktcm93IHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIC5pbWFnZS1jb250ZW50IHtcbiAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgIFxuICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMjRweDtcbiAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAyNHB4O1xuICAgXG4gICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcblxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiA1NzVweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgfVxuICAgXG4gICBcbiAgICAgICAgICAgICAgICAuc3Rhci1zZm9uZG8ge1xuICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgXG4gICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IHZhcigtLXBpbGFzdHJvLWNvbG9yLCB2YXIoLS1kYXJrLXBhbm5hKSk7XG4gICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICB9XG4gICBcbiAgIFxuICAgICAgICAgICAuZGVzYy1ncmlkIHtcbiAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDI0cHg7XG4gICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMjRweDtcbiAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgXG4gICBcbiAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpbGFzdHJvLWNvbG9yLCB2YXIoLS1kYXJrLXBhbm5hKSk7XG4gICBcbiAgIFxuICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHggMjBweCAyMHB4O1xuICAgICAgICAgICAgICAgICAgLy8gaGVpZ2h0OiA0MCU7XG4gICBcbiAgICAgICAgICAgICAgIH1cbiAgIFxuICAgICAgICAgICAgICAgLmljb25hIHtcbiAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDcwcHg7XG4gICAgICAgICAgICAgICB9XG4gICBcbiAgICAgICAgICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAuaW1hZ2UtY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5kZXNjLWdyaWQge1xuICAgICAgICAgICAgICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgIH1cbiAgICAgICB9XG4gICAgfVxufSIsIi5zbGlkZXItYmxvZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgYSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIFxuICAgICAgICAuaW1nLWNvbnRhaW5lciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcblxuICAgICAgICAgICAgQG1lZGlhKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMy80O1xuICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgQG1lZGlhKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMy80O1xuICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTAyLCAxMDIsIDEwMiwgMCk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgxMDIsIDEwMiwgMTAyLCAwLjE0KSAwJSwgcmdiYSgyNCwgMjQsIDI0LCAwLjYpIDY4JSwgcmdiYSgwLCAwLCAwLCAwLjY2KSAxMDAlKTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjRweDtcblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMjBweDtcbiAgICAgICAgIFxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIFxuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgNDRweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFycm93IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaW5mby1ibG9nIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDE4MHB4IDEwMHB4O1xuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAuaW1nLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYXJyb3cge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5ibG9nLWJ1dHRvbnMge1xuICAgIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdyZXkpO1xuICAgICAgIFxuICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcblxuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdW5zZXQ7XG4gICAgICAgIGxlZnQ6IHVuc2V0O1xuICAgICAgICByaWdodDogODBweDtcblxuICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRhcmstcGFubmEpO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ncmV5KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG5cbiAgICAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ncmV5KTtcbiAgICAgICBcbiAgICAgICAgICAgICAgICB3aWR0aDogNjBweDtcblxuICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdW5zZXQ7XG4gICAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGFyay1wYW5uYSk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWdyZXkpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgJi5zd2lwZXItYnV0dG9uLWRpc2FibGVkIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2xpZGVyLXBpbGFzdHJpIHtcbiAgICAuc3dpcGVyLXNsaWRlICB7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICAgICAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgIH1cblxuICAgICAgICBcblxuICAgIH1cbn0iLCIudGV4dC1zbGlkZXItY29udGFpbmVyIHtcbiAgICAudGV4dC1zbGlkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgIFxuICAgICAgICAudGV4dC1lbGVtZW50IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi52aWRlby1hdGYtaG9tZXBhZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4taGVpZ2h0OiAxMDBzdmg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgXG4gICAgQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMHN2aDtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgaGVpZ2h0OiAxMDBzdmg7XG4gICAgfSBcblxuICAgIHZpZGVvIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbn1cblxuLnZpZGVvLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vYXNwZWN0LXJhdGlvOiAxNi85O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC41KTtcbiAgICB9XG5cbiAgICB2aWRlbyB7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDU2MHB4O1xuXG5cbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogNC8zO1xuICAgICAgICAgICAgbWluLWhlaWdodDogNTYwcHg7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IDkvMTA7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA1NjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC52aWRlby10ZXh0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbn1cblxuLnZpZGVvLWNvbnRhaW5lci1hemllbmRhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYXNwZWN0LXJhdGlvOiAxNi82O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICB2aWRlbyB7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG59IiwiaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogOTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAgIGhlaWdodDogNzBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0NSwgMjQyLCAyMzYsIDApO1xuXG4gICAgICAgIFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDUsIDI0MiwgMjM2LCAwKTtcbiAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgIH1cbiAgICBcbiAgICAuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICBcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICB9XG4gIFxuICAgICAgICAubG9nby1jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNTdweCk7XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLmxvZ28tZGFyayB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAubG9nby1saWdodCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQxcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIG5hdi5tZW51LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogNjVweDtcbiAgICAgICAgICAgIG9yZGVyOiAzO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzkycHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG5cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzkycHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICB1bC5tZW51IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgICAgICBib3R0b206IDQwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMHZ3KTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNzBweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA3MHB4KTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICAmLmxpbmstbWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA+YSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktbWVudSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAje3B4LXRvLXJlbSgxNnB4KX07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAje3B4LXRvLXJlbSgxNnB4KX07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFubmEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJi5kaWZmLWNvbG9yIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+YSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXllbGxvdyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGFyay15ZWxsb3cpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYubWVnYW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhW2RhdGEtb3Blbi1zdWJtZW51XSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wbHVzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTUlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwOyAqL1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3VibWVudS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDIwcHggMzVweCAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IC0yO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMjVweDtcblxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNzBweCAyMHB4IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLm9wZW4tc3VibWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYmFjay1hcnJvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwcHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3VibWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAzMHB4IDAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LXRpdGxlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAje3B4LXRvLXJlbSgxNnB4KX07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLnByb2dldHRpLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi1nYXA6IDEwMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmltZy1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmltZy1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5oaWRlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJi5tb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5oYW1idXJnZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICAgICAmLmNvbG9yLWxpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubGFuZy1jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDkycHg7XG4gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIG9yZGVyOiA0O1xuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAubGFuZ3VhZ2UtbWVudS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDZweCAxMHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItbGlnaHQpO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhbm5hKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLnNlbGVjdGVkLWxhbmd1YWdlIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAje3B4LXRvLXJlbSgxNHB4KX07XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogI3tweC10by1yZW0oMTZweCl9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5sYW5ndWFnZS1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYuaGlkZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLmxpZ2h0LWhlYWRlciB7XG4gICAgICAgIC8qIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM2LCAyMzMsIDIyMiwgLjkpO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM2LCAyMzMsIDIyMiwgMCk7XG4gICAgICAgIH0gKi9cblxuICAgICAgICAuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAubG9nby1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAubG9nby1saWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgLmxvZ28tZGFyayB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBuYXYubWVudS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC5oYW1idXJnZXIge1xuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLmNvbG9yLWxpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmJvZHkge1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgXG4gICAgXG4gICAgJi5zdGlja3ktaGVhZGVyIHtcbiAgICAgICAgaGVhZGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ1LCAyNDIsIDIzNiwgLjkpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDUsIDI0MiwgMjM2LCAuOSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcblxuICAgICAgICAgICAgICAgIC8qIC5sb2dvLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmxvZ28tZGFyayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIC5sb2dvLWxpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDYwcHg7XG4gICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1NXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIG5hdi5tZW51LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIHVsLm1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDcwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmxpbmstbWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspOyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLm1lZ2FtZW51IHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYVtkYXRhLW9wZW4tc3VibWVudV0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wbHVzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3VibWVudS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogODBweDtcbiAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDgwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA4MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgLmhhbWJ1cmdlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmxhbmctY29udGFpbmVyIHtcblxuICAgICAgICAgICAgICAgICAgICAubGluay1jdGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgJi5kZXNrdG9wIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYnRuLWxpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYXJyb3cge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb25lL2Fycm93LWxpZ2h0LnN2ZycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6bm90KDpkaXNhYmxlZCk6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmFycm93IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb25lL2Fycm93LWRhcmsuc3ZnJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAubGFuZ3VhZ2UtbWVudS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgLnNlbGVjdGVkLWxhbmd1YWdlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gKi9cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJi5saWdodC1oZWFkZXIge1xuICAgICAgICAgICAgICAgIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgLmxvZ28tY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5sb2dvLWxpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmxvZ28tZGFyayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIG5hdi5tZW51LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuaGFtYnVyZ2VyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5jb2xvci1saWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSAgICAgICBcblxuICAgIH1cblxuICAgICYubWVudS1vcGVuIHtcbiAgICAgICAgaGVhZGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmhlYWRlci1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIC5sb2dvLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmxvZ28tZGFyayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIC5sb2dvLWxpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBuYXYubWVudS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHVsLm1lbnUge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC5oYW1idXJnZXIge1xuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy9hbmltYXRpb24tbmFtZTogaGFtYnVyZ2VyX3RvZ2dsZV9iZWZvcmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IC41cztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoN3B4KSByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vYW5pbWF0aW9uLW5hbWU6IGhhbWJ1cmdlcl90b2dnbGVfYWZ0ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IC41cztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWRhcmspICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmxhbmd1YWdlLW1lbnUtb3BlbiB7XG4gICAgICAgIGhlYWRlciB7XG4gICAgICAgICAgICAuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgLmxhbmctY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgLmxhbmd1YWdlLW1lbnUtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5sYW5ndWFnZS1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAuc2VsZWN0ZWQtbGFuZ3VhZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5zdWItbWVudS1vcGVuIHtcbiAgICAgICAgaGVhZGVyIHtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmhlYWRlci1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIC5sb2dvLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG5hdi5tZW51LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgdWwubWVudSB7XG5cbiAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgJi5saW5rLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLm1lZ2FtZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYVtkYXRhLW9wZW4tc3VibWVudV0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnBsdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLmhhbWJ1cmdlciB7XG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvL2FuaW1hdGlvbi1uYW1lOiBoYW1idXJnZXJfdG9nZ2xlX2JlZm9yZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjVzO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoN3B4KSByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vYW5pbWF0aW9uLW5hbWU6IGhhbWJ1cmdlcl90b2dnbGVfYWZ0ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IC41cztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ud2hhdHNhcHAtZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDVweDtcbiAgICByaWdodDogMTBweDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHdpZHRoOiA1OHB4O1xuXG4gICAgQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxufSIsImZvb3RlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJi5wcm9nZXR0aS1mb290ZXIge1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG4gIFxuXG4gICAgLnByZWZvb3Rlci1ncmlkIHtcbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxvZ28tZm9vdGVyIHtcbiAgICAgICAgd2lkdGg6IDI2MnB4O1xuXG4gICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmluZGlyaXp6aSB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ncmV5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogI3tweC10by1yZW0oMTZweCl9O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnUtZm9vdGVyLFxuICAgIC5sYW5ndWFnZS1tZW51IHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ncmV5KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICN7cHgtdG8tcmVtKDE2cHgpfTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNvY2lhbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMjBweDtcbiAgICAgICAgXG4gICAgICAgIEBtZWRpYShtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zb2NpYWwtZWxlbSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogI3tweC10by1yZW0oMThweCl9O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG5cbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0teWVsbG93KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb3B5cmlnaHQge1xuICAgICAgICBcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iXX0= */
