:root {
  --color-light: #ffffff;
  --color-dark: #111111;
  --color-light-grey: #F3F3F3;
  --color-text: #888888;
  --gold: #DCC76F;
  --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: 630px;
  --block-min-width: 420px;
  --block-extra-min-width: 280px;
  --block-min-height: 580px;
  --spacer-big: 30px;
}

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

@media (min-width: 992px) {
  :root {
    --spacer-large: 30px;
  }
}
:root {
  --spacer-medium: 25px;
  --spacer-small: 20px;
  --spacer-extra-small: 10px;
  --transition-default: all 0.5s ease-in-out;
  --font-family: "Work Sans", sans-serif;
  --font-family-title: "Bw Diagrid", sans-serif;
  --font-family-menu: "Work Sans", sans-serif;
  --font-size: clamp(1.125rem, 1vw, 1.25rem);
  --h1-font-size: clamp(2.75rem, 3vw, 3.25rem);
  --h1-font-weight: 400;
  --h1-margin-bottom: 10px;
  --h2-font-size: clamp(1.875rem, 3vw, 2.625rem);
  --h2-font-weight: 400;
  --h2-margin-bottom: 10px;
  --h3-font-size: clamp(1.625rem, 2vw, 2rem);
  --h3-font-weight: 400;
  --h3-margin-bottom: 10px;
  --h4-font-size: clamp(1.25rem, 2vw, 1.75rem);
  --h4-font-weight: 400;
  --h4-margin-bottom: 10px;
  --h5-font-size: 1rem;
  --h5-font-weight: 400;
  --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;
}

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%;
}

.hidden {
  display: none;
}

.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 rgba(18, 18, 18, 0.1);
}

.border-radius {
  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: 1200px) {
  .container {
    padding: 0 35px;
  }
}
.container.fluid {
  max-width: unset;
}

.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.min-width {
    max-width: var(--block-min-width);
  }
}
@media (min-width: 992px) {
  .container.extra-min-width {
    max-width: var(--block-extra-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: 767px) {
  .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;
}

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

@media (min-width: 992px) {
  .d-flex.justify-desktop-start {
    justify-content: flex-start;
  }
}
.d-flex.justify-desktop-end {
  justify-content: center;
}

@media (min-width: 992px) {
  .d-flex.justify-desktop-end {
    justify-content: flex-end;
  }
}
@media (max-width: 991px) {
  .d-flex.justify-mobile-start {
    justify-content: flex-start;
  }
}
.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:not(.btn):not(.fa-chevron-right):not(.fa-upload) {
  color: var(--color-light);
}

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

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

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

.bg-light-grey:not(.btn):not(.fa-chevron-right):not(.fa-upload) {
  color: var(--color-dark);
}

.bg-dark-light {
  background-color: rgba(17, 17, 17, 0.05);
}

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

.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-light-grey:not(.btn):not(.fa-chevron-right):not(.fa-upload), .color-light-grey *:not(.btn):not(.fa-chevron-right):not(.fa-upload) {
  color: var(--color-light-grey);
}

.color-text:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(.btn):not(.fa-chevron-right):not(.fa-upload), .color-text *:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(.btn):not(.fa-chevron-right):not(.fa-upload) {
  color: var(--color-text);
}

.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: "Bw Diagrid";
  src: url("../fonts/BwDiagrid-Regular.eot");
  src: url("../fonts/BwDiagrid-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/BwDiagrid-Regular.woff2") format("woff2"), url("../fonts/BwDiagrid-Regular.woff") format("woff"), url("../fonts/BwDiagrid-Regular.ttf") format("truetype"), url("../fonts/BwDiagrid-Regular.svg#BwDiagrid-Regular") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Work Sans";
  src: url("../fonts/WorkSans-Light.eot");
  src: url("../fonts/WorkSans-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/WorkSans-Light.woff2") format("woff2"), url("../fonts/WorkSans-Light.woff") format("woff"), url("../fonts/WorkSans-Light.ttf") format("truetype"), url("../fonts/WorkSans-Light.svg#WorkSans-Light") format("svg");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Work Sans";
  src: url("../fonts/WorkSans-Regular.eot");
  src: url("../fonts/WorkSans-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/WorkSans-Regular.woff2") format("woff2"), url("../fonts/WorkSans-Regular.woff") format("woff"), url("../fonts/WorkSans-Regular.ttf") format("truetype"), url("../fonts/WorkSans-Regular.svg#WorkSans-Regular") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Work Sans";
  src: url("../fonts/WorkSans-Medium.eot");
  src: url("../fonts/WorkSans-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/WorkSans-Medium.woff2") format("woff2"), url("../fonts/WorkSans-Medium.woff") format("woff"), url("../fonts/WorkSans-Medium.ttf") format("truetype"), url("../fonts/WorkSans-Medium.svg#WorkSans-Medium") format("svg");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Work Sans";
  src: url("../fonts/WorkSans-SemiBold.eot");
  src: url("../fonts/WorkSans-SemiBold.eot?#iefix") format("embedded-opentype"), url("../fonts/WorkSans-SemiBold.woff2") format("woff2"), url("../fonts/WorkSans-SemiBold.woff") format("woff"), url("../fonts/WorkSans-SemiBold.ttf") format("truetype"), url("../fonts/WorkSans-SemiBold.svg#WorkSans-SemiBold") format("svg");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Work Sans";
  src: url("../fonts/WorkSans-Bold.eot");
  src: url("../fonts/WorkSans-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/WorkSans-Bold.woff2") format("woff2"), url("../fonts/WorkSans-Bold.woff") format("woff"), url("../fonts/WorkSans-Bold.ttf") format("truetype"), url("../fonts/WorkSans-Bold.svg#WorkSans-Bold") format("svg");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Work Sans";
  src: url("../fonts/WorkSans-ExtraBold.eot");
  src: url("../fonts/WorkSans-ExtraBold.eot?#iefix") format("embedded-opentype"), url("../fonts/WorkSans-ExtraBold.woff2") format("woff2"), url("../fonts/WorkSans-ExtraBold.woff") format("woff"), url("../fonts/WorkSans-ExtraBold.ttf") format("truetype"), url("../fonts/WorkSans-ExtraBold.svg#WorkSans-ExtraBold") format("svg");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Work Sans";
  src: url("../fonts/WorkSans-Black.eot");
  src: url("../fonts/WorkSans-Black.eot?#iefix") format("embedded-opentype"), url("../fonts/WorkSans-Black.woff2") format("woff2"), url("../fonts/WorkSans-Black.woff") format("woff"), url("../fonts/WorkSans-Black.ttf") format("truetype"), url("../fonts/WorkSans-Black.svg#WorkSans-Black") format("svg");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
body {
  font-family: var(--font-family);
  color: var(--color-default);
  font-size: var(--font-size);
  font-weight: 400;
  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: 10px;
  font-weight: 400;
  line-height: 1.5;
}

a {
  font-family: var(--font-family);
  color: var(--color-default);
  font-size: var(--font-size);
  margin-top: 0;
  margin-bottom: 10px;
  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: 400;
  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;
}

.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;
}

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

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

.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;
}

.p h1 {
  font-size: var(--h1-font-size);
  font-weight: 500;
  margin-bottom: var(--h1-margin-bottom);
  color: var(--color-dark);
}

.p h2 {
  font-size: var(--h2-font-size);
  font-weight: 500;
  margin-bottom: var(--h2-margin-bottom);
  color: var(--color-dark);
}

.p h3 {
  font-size: var(--h3-font-size);
  font-weight: 500;
  margin-bottom: var(--h3-margin-bottom);
  color: var(--color-dark);
}

.p h4 {
  font-size: var(--h4-font-size);
  font-weight: 500;
  margin-bottom: var(--h4-margin-bottom);
  color: var(--color-dark);
}

.p h5 {
  font-size: var(--h5-font-size);
  font-weight: 500;
  margin-bottom: var(--h5-margin-bottom);
  color: var(--color-dark);
}

.p h6 {
  font-size: var(--h6-font-size);
  font-weight: 500;
  margin-bottom: var(--h6-margin-bottom);
  color: var(--color-dark);
}

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

a.h1, a.h2, a.h3, a.h4, a.h5, a.h6 {
  font-family: var(--font-family);
  color: var(--color-default);
  margin-top: 0;
  margin-bottom: 10px;
  font-weight: 600;
}

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

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

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

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

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

@media (min-width: 992px) {
  .text-desktop-right {
    text-align: right;
  }
}
@media (max-width: 991px) {
  .text-center-mobile {
    text-align: center;
  }
}
.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: 10px;
  gap: 10px;
}

.block-grids.no-gap {
  grid-gap: 0;
  gap: 0;
}

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

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

.block-grids.big-gap {
  grid-gap: 25px;
  gap: 25px;
}

@media (min-width: 992px) {
  .block-grids.big-gap {
    grid-gap: 50px;
    gap: 50px;
  }
}
@media (min-width: 1200px) {
  .block-grids.big-gap {
    grid-gap: 100px;
    gap: 100px;
  }
}
@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;
  margin-top: -60px;
}

@media (min-width: 992px) {
  .block-grids.columns-2.menu-block {
    grid-template-columns: 1fr;
    margin-top: 0;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-2.menu-block {
    grid-template-columns: 1fr 0.8fr;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-2.categorie-block {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-2.categorie-block {
    grid-template-columns: 1fr 1.2fr;
  }
}
.block-grids.columns-2.categorie-block .grid .clip-img {
  aspect-ratio: 16/10;
  object-fit: cover;
}

@media (min-width: 992px) {
  .block-grids.columns-2.categorie-block .grid:nth-child(4n+1) .clip-img {
    max-width: 600px;
    aspect-ratio: 1/1;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-2.categorie-block .grid:nth-child(4n+2) {
    margin-top: 300px;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-2.categorie-block .grid:nth-child(4n+2) .clip-img {
    aspect-ratio: 16/9;
    object-position: center;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-2.categorie-block .grid:nth-child(4n+3) {
    margin-top: -90px;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-2.categorie-block .grid:nth-child(4n+3) .clip-img {
    aspect-ratio: 1/1.2;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-2.categorie-block .grid:nth-child(4n+4) {
    margin-top: 300px;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-2.categorie-block .grid:nth-child(4n+4) .clip-img {
    aspect-ratio: 10/16;
    max-width: 600px;
    object-position: center;
  }
}
@media (min-width: 768px) {
  .block-grids.columns-2.blog-section-block {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-2.blog-section-block {
    grid-template-columns: 1fr 1.2fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-2.blog-section-block {
    grid-template-columns: 1fr 1.2fr;
  }
}
.block-grids.columns-2.blog-section-block .grid:nth-child(odd) img {
  aspect-ratio: 16/10;
  object-fit: cover;
}

@media (min-width: 992px) {
  .block-grids.columns-2.blog-section-block .grid:nth-child(odd) img {
    aspect-ratio: 12/9;
  }
}
.block-grids.columns-2.blog-section-block .grid:nth-child(even) img {
  aspect-ratio: 16/10;
  object-fit: cover;
}

@media (min-width: 992px) {
  .block-grids.columns-2.servizi-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-2.servizi-grid {
    grid-template-columns: 1fr 1.2fr;
  }
}
@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.btn-block {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-3.btn-block {
    grid-template-columns: 1fr 1fr 0.7fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-3.btn-block {
    grid-template-columns: 1fr 1fr 0.7fr;
  }
}
@media (min-width: 768px) {
  .block-grids.columns-3.arrow-block {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-3.arrow-block {
    grid-template-columns: 1fr 1fr 0.2fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-3.arrow-block {
    grid-template-columns: 1fr 1fr 0.2fr;
  }
}
@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;
  }
}
.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 .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;
  }
}
ul.breadcrumbs {
  padding: 10px 0;
  margin: 0;
  list-style: none;
  align-items: center;
  text-align: left;
  display: flex;
  justify-content: start;
  position: relative;
  z-index: 1;
  color: var(--color-dark);
}

ul.breadcrumbs li {
  padding-left: 5px;
  padding-right: 5px;
  color: var(--color-dark);
  display: inline-flex;
  font-size: 12px;
  margin-bottom: 0;
  align-items: center;
}

ul.breadcrumbs li:first-child {
  padding-left: 0;
}

ul.breadcrumbs li a {
  color: var(--color-dark);
  font-size: 12px;
  margin-bottom: 0;
}

ul.breadcrumbs li:after {
  content: ">";
  margin-left: 10px;
}

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

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

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

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

.abs-bread {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  z-index: 2;
}

.btn {
  --border-radius: 50px;
  --bg-color: var(--color-dark);
  --text-color: var(--color-light);
  --border-color: var(--color-dark);
  --bg-color-hover: transparent;
  --text-color-hover: var(--color-dark);
  --border-color-hover: var(--color-dark);
  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: auto;
  font-size: 15px;
  font-weight: 400;
  margin-bottom: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 40px 14px 16px;
  white-space: nowrap;
  border: 1px solid var(--border-color);
  background-color: var(--bg-color);
  color: var(--text-color);
}

@media (min-width: 1200px) {
  .btn {
    padding: 18px 40px 18px 20px;
  }
}
.btn:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 10px;
  height: 10px;
  background-image: url("../img/icone/arrow-light.svg");
  background-size: 10px 10px;
  background-repeat: no-repeat;
  background-position: center;
  transform: translateY(-50%);
  transform-origin: center;
}

.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:hover:after, .btn:focus:after, .btn:active:after, .btn:not(:disabled):active:after {
  animation: arrow-disappear-reappear 1s cubic-bezier(0.19, 1, 0.22, 1) forwards;
  background-image: url("../img/icone/arrow-dark.svg");
}

.btn:not(:hover):after {
  animation: arrow-disappear-reappear-reverse 1s cubic-bezier(0.19, 1, 0.22, 1) forwards;
  background-image: url("../img/icone/arrow-light.svg");
}

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

.btn.btn-light:after {
  background-image: url("../img/icone/arrow-dark.svg");
}

.btn.btn-light:hover, .btn.btn-light:focus, .btn.btn-light:active, .btn.btn-light:not(:disabled):active {
  color: var(--text-color-hover);
  background-color: var(--bg-color-hover);
  border-color: var(--border-color-hover);
}

.btn.btn-light:hover:after, .btn.btn-light:focus:after, .btn.btn-light:active:after, .btn.btn-light:not(:disabled):active:after {
  animation: arrow-disappear-reappear 1s cubic-bezier(0.19, 1, 0.22, 1) forwards;
  background-image: url("../img/icone/arrow-light.svg");
}

.btn.btn-light:not(:hover):after {
  animation: arrow-disappear-reappear-reverse 1s cubic-bezier(0.19, 1, 0.22, 1) forwards;
  background-image: url("../img/icone/arrow-dark.svg");
}

@keyframes disappear-reappear {
  0% {
    transform: scaleX(1);
    transform-origin: left;
  }
  50% {
    transform: scaleX(0);
    transform-origin: right;
  }
  50.01% {
    transform: scaleX(0);
    transform-origin: left;
  }
  100% {
    transform: scaleX(1);
    transform-origin: left;
  }
}
@keyframes disappear-reappear-reverse {
  0% {
    transform: scaleX(1);
    transform-origin: left;
  }
  50% {
    transform: scaleX(0);
    transform-origin: right;
  }
  50.01% {
    transform: scaleX(0);
    transform-origin: left;
  }
  100% {
    transform: scaleX(1);
    transform-origin: left;
  }
}
@keyframes arrow-disappear-reappear {
  0% {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
  }
  50% {
    opacity: 0;
    transform: translateY(-50%) translateX(20px);
  }
  50.01% {
    opacity: 0;
    transform: translateY(-50%) translateX(-20px);
  }
  200% {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
  }
}
@keyframes arrow-disappear-reappear-reverse {
  0% {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
  }
  50% {
    opacity: 0;
    transform: translateY(-50%) translateX(20px);
  }
  50.01% {
    opacity: 0;
    transform: translateY(-50%) translateX(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
  }
}
.form-contatti {
  display: block;
}

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

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

.form-contatti .contact-form .form-group.border-top {
  border-top: 1px solid #9a9187;
  margin-bottom: 0;
}

.form-contatti .contact-form .form-group.border-top .form-input {
  border-right: 1px solid #9a9187;
}

@media (max-width: 767px) {
  .form-contatti .contact-form .form-group.border-top .form-input {
    border-right: none;
  }
}
@media (max-width: 767px) {
  .form-contatti .contact-form .form-group.border-top .form-input:first-child {
    border-bottom: 1px solid #9a9187;
  }
}
.form-contatti .contact-form .form-group.border-top .form-input:last-child {
  border-right: none;
}

.form-contatti .contact-form .form-group.border-top .form-input.no-border {
  border: none;
}

.form-contatti .contact-form .form-group.border-bottom {
  border-bottom: 1px solid #9a9187;
}

@media (min-width: 768px) {
  .form-contatti .contact-form .form-group {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 0;
    gap: 0;
    margin-bottom: 30px;
  }
}
.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;
  }
}
.form-contatti .contact-form .form-group .form-input .custom-width-input {
  max-width: 900px;
  width: 100%;
  padding: 20px;
}

@media (min-width: 1200px) {
  .form-contatti .contact-form .form-group .form-input .custom-width-input {
    padding: 20px 50px;
  }
}
.form-contatti .contact-form .form-group .form-input .custom-width-textarea {
  max-width: 1800px;
  width: 100%;
  padding: 20px;
}

@media (min-width: 1200px) {
  .form-contatti .contact-form .form-group .form-input .custom-width-textarea {
    padding: 20px 50px;
  }
}
.form-contatti .contact-form .form-group .form-input .title-form {
  color: var(--color-dark);
  font-size: 1.25rem;
  font-weight: 500;
  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-bottom: none;
  border-left: none;
  border-right: none;
  border-top: none;
  border-radius: 0;
  padding: 10px 0;
  box-sizing: border-box;
  background: rgba(0, 0, 0, 0);
  color: var(--color-text);
  font-size: 1.25rem;
  font-weight: 400;
}

.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: #ccc;
  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: #ccc;
  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: #ccc;
  opacity: 1;
}

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

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

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

.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-bottom: none;
  border-left: none;
  border-right: none;
  border-top: none;
  border-radius: 0;
  padding: 10px 0;
  background-color: rgba(0, 0, 0, 0);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-position: 97% center;
  background-repeat: no-repeat;
  background-image: url(../img/icone/select.png);
  box-sizing: border-box;
  color: var(--color-light);
  position: relative;
  z-index: 1;
  font-size: 18px;
  font-weight: 400;
}

@media (min-width: 992px) {
  .form-contatti .contact-form .form-group .form-input select {
    font-size: 22px;
  }
}
@media (min-width: 1441px) {
  .form-contatti .contact-form .form-group .form-input select {
    font-size: 35px;
  }
}
.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 textarea {
  width: 100%;
  outline: none;
  font-family: var(--font-family-title);
}

.form-contatti .contact-form .form-group .form-input.privacy-container {
  display: flex;
  align-items: baseline;
  margin-bottom: 5px;
  position: relative;
  max-width: 1800px;
  width: 100%;
  padding: 0 20px;
}

@media (min-width: 1200px) {
  .form-contatti .contact-form .form-group .form-input.privacy-container {
    padding: 0 50px;
  }
}
.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: 2px;
  left: 20px;
  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;
}

@media (min-width: 1200px) {
  .form-contatti .contact-form .form-group .form-input.privacy-container .checkmark {
    left: 50px;
  }
}
.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: none;
  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.light .form-group .form-input .title-form {
  color: var(--color-light);
}

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

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

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

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

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

.form-contatti .contact-form.light .form-group .form-input select + .select-arrow {
  filter: invert(1);
}

.form-contatti .contact-form.light .form-group .form-input.privacy-container .checkmark {
  border: 1px solid #999;
}

.form-contatti .contact-form.light .form-group .form-input.privacy-container .checkmark:after {
  background-color: var(--color-light);
}

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

.form-contatti .contact-form.light .form-group .form-input.privacy-container label {
  color: var(--color-light);
}

.form-contatti .contact-form.light .form-group .form-input.privacy-container label a {
  color: var(--color-light);
}

.form-contatti .contact-form.light .form-group .form-input .pseudo-input-file .pseudo-button-input {
  --color-border: var(--color-light);
  color: var(--color-light);
}

.form-contatti .contact-form.light .form-group .form-input .pseudo-input-file .pseudo-button-input svg {
  fill: var(--color-light);
}

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

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

.intro-atf-slider, .intro-atf {
  position: relative;
  max-height: 100vh;
  min-height: 100vh;
}

.intro-atf-slider:before, .intro-atf:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(1, 1, 1, 0.6);
  z-index: 2;
}

.intro-atf-slider .img-atf, .intro-atf .img-atf {
  width: 100%;
  height: 100vh;
  object-fit: cover;
  display: block;
}

.intro-atf-slider .abs-container, .intro-atf .abs-container {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  z-index: 2;
}

.loader-transition-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #f8f7f5;
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.6s ease-in-out;
}

.loader-transition-overlay.active {
  opacity: 1;
  pointer-events: auto;
  transition: opacity 0.6s ease-in-out;
}

.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-page {
  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: rgba(0, 0, 0, 0);
  border: 1px solid var(--gold);
}

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

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

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

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

.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(--gold);
  border: 1px solid var(--gold);
  border-radius: 50px;
  font-family: var(--font-family);
  font-size: 14px;
  font-weight: 500;
}

.animation-image-clip {
  position: relative;
  transition: transform 0.4s ease-in-out;
}

.animation-image-clip .img-content {
  position: relative;
}

.animation-image-clip .img-content .clip-image-animate {
  position: relative;
  overflow: hidden;
  transition: clip-path 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  clip-path: inset(0 0 100% 0);
  display: flex;
}

.animation-image-clip .img-content .clip-image-animate .clip-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease-in-out;
  transform: scale(1);
}

@media (min-width: 992px) {
  .animation-image-clip .max-300 {
    max-width: 300px;
  }
}
.animation-image-clip.with-hover:hover {
  transition: transform 0.4s ease-in-out;
}

.animation-image-clip.with-hover:hover .img-content .clip-image-animate {
  clip-path: inset(0 0 0 0);
  transition: clip-path 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.animation-image-clip.with-hover:hover .img-content .clip-image-animate .clip-img {
  transform: scale(1.05);
  transition: transform 0.4s ease-in-out;
}

@media (min-width: 992px) {
  .block-sticky-grid .fix-block.h-auto {
    height: auto;
    position: relative;
    top: unset;
  }
}
.servizi .img-servizio img {
  opacity: 0;
  transition: var(--transition-default);
  aspect-ratio: 1/1;
  object-fit: cover;
}

.servizi-menu {
  padding: 24px 0;
  border-top: 1px solid rgba(17, 17, 17, 0.2);
  transition: var(--transition-default);
}

.servizi-menu:hover {
  border-color: var(--color-dark);
  transition: var(--transition-default);
}

.servizi-menu:last-child {
  border-bottom: 1px solid rgba(17, 17, 17, 0.2);
}

.produzione-container {
  position: relative;
}

.produzione-container .produzione-block {
  display: grid;
  grid-template-columns: repeat(7, 0.5fr);
  gap: 10px;
}

.produzione-container .produzione-block .grid-item {
  overflow: hidden;
  position: relative;
  transition: opacity 0.3s, transform 0.3s;
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}

.produzione-container .produzione-block .grid-item.hide {
  opacity: 0;
  transform: scale(0.95);
  pointer-events: none;
}

.produzione-container .produzione-block .grid-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.produzione-container .produzione-block .grid-item.small {
  grid-column: span 7;
}

@media (min-width: 992px) {
  .produzione-container .produzione-block .grid-item.small {
    grid-column: span 3;
  }
}
.produzione-container .produzione-block .grid-item.small img {
  aspect-ratio: 16/10;
  object-fit: cover;
}

@media (min-width: 992px) {
  .produzione-container .produzione-block .grid-item.small img {
    aspect-ratio: 12/10;
  }
}
.produzione-container .produzione-block .grid-item.wide {
  grid-column: span 7;
}

@media (min-width: 992px) {
  .produzione-container .produzione-block .grid-item.wide {
    grid-column: span 4;
  }
}
.produzione-container .produzione-block .grid-item.wide img {
  aspect-ratio: 16/10;
  object-fit: cover;
}

.produzione-container .load-produzioni {
  position: absolute;
  background-color: hsla(0, 0%, 100%, 0.7);
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 2;
  transition: var(--transition-default);
  display: block;
}

.produzione-container .load-produzioni.hide {
  display: none;
  transition: var(--transition-default);
}

.produzione-container .load-produzioni i {
  color: var(--color-dark);
  font-size: 80px;
  position: absolute;
  left: 50%;
  top: 20%;
  transform: translateX(-50%);
}

.produzione-dettaglio-block {
  display: grid;
  grid-template-columns: repeat(9, 0.5fr);
  gap: 10px;
}

.produzione-dettaglio-block .grid-item {
  overflow: hidden;
  position: relative;
}

.produzione-dettaglio-block .grid-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.produzione-dettaglio-block .grid-item.small {
  grid-column: span 9;
}

@media (min-width: 992px) {
  .produzione-dettaglio-block .grid-item.small {
    grid-column: span 4;
  }
}
.produzione-dettaglio-block .grid-item.small img {
  aspect-ratio: 16/10;
  object-fit: cover;
}

@media (min-width: 992px) {
  .produzione-dettaglio-block .grid-item.small img {
    aspect-ratio: 12/9.4;
  }
}
.produzione-dettaglio-block .grid-item.wide {
  grid-column: span 9;
}

@media (min-width: 992px) {
  .produzione-dettaglio-block .grid-item.wide {
    grid-column: span 5;
  }
}
.produzione-dettaglio-block .grid-item.wide img {
  aspect-ratio: 16/10;
  object-fit: cover;
}

.produzione-dettaglio-block .grid-item.thin {
  grid-column: span 9;
}

@media (min-width: 992px) {
  .produzione-dettaglio-block .grid-item.thin {
    grid-column: span 3;
  }
}
.produzione-dettaglio-block .grid-item.thin img {
  aspect-ratio: 10/16;
  object-fit: cover;
}

.prodotti-container {
  position: relative;
}

.prodotti-container .prodotti-block .grid-item, .prodotti-container .prodotti-block .grid {
  overflow: hidden;
  position: relative;
  transition: opacity 0.3s, transform 0.3s;
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}

.prodotti-container .prodotti-block .grid-item.hide, .prodotti-container .prodotti-block .grid.hide {
  opacity: 0;
  transform: scale(0.95);
  pointer-events: none;
}

.prodotti-container .prodotti-block .grid-item img, .prodotti-container .prodotti-block .grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.prodotti-container .load-prodotti {
  position: absolute;
  background-color: hsla(0, 0%, 100%, 0.7);
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 2;
  transition: var(--transition-default);
  display: block;
}

.prodotti-container .load-prodotti.hide {
  display: none;
  transition: var(--transition-default);
}

.prodotti-container .load-prodotti i {
  color: var(--color-dark);
  font-size: 80px;
  position: absolute;
  left: 50%;
  top: 20%;
  transform: translateX(-50%);
}

.blog-block {
  display: grid;
  grid-template-columns: repeat(7, 0.5fr);
  gap: 10px;
}

.blog-block .grid-item {
  overflow: hidden;
  position: relative;
  transition: opacity 0.3s, transform 0.3s;
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}

.blog-block .grid-item.hide {
  opacity: 0;
  transform: scale(0.95);
  pointer-events: none;
}

.blog-block .grid-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.blog-block .grid-item.small {
  grid-column: span 7;
}

@media (min-width: 992px) {
  .blog-block .grid-item.small {
    grid-column: span 3;
  }
}
.blog-block .grid-item.small img {
  aspect-ratio: 16/10;
  object-fit: cover;
}

@media (min-width: 992px) {
  .blog-block .grid-item.small img {
    aspect-ratio: 12/10;
  }
}
.blog-block .grid-item.wide {
  grid-column: span 7;
}

@media (min-width: 992px) {
  .blog-block .grid-item.wide {
    grid-column: span 4;
  }
}
.blog-block .grid-item.wide img {
  aspect-ratio: 16/10;
  object-fit: cover;
}

.filtri-categorie {
  position: relative;
}

.filtri-categorie .open-filtri {
  position: fixed;
  right: 0;
  bottom: 18px;
  padding: 10px;
  margin: 0 15px;
  cursor: pointer;
  color: var(--color-dark);
  font-weight: 400;
  font-family: var(--font-family);
  z-index: 2;
  font-size: 1.25rem;
  background-color: var(--gold);
  opacity: 1;
  visibility: visible;
  transition: all 0.8s ease-in-out;
  vertical-align: middle;
}

@media (min-width: 992px) {
  .filtri-categorie .open-filtri {
    display: none;
  }
}
.filtri-categorie .open-filtri img {
  width: 30px;
  vertical-align: middle;
}

.filtri-categorie .open-filtri i {
  font-size: 1.5rem;
  margin: 0;
  color: var(--color-light);
}

.filter-container {
  border-top: 1px solid rgba(17, 17, 17, 0.2);
  border-bottom: 1px solid rgba(17, 17, 17, 0.2);
}

@media (min-width: 992px) {
  .filter-container {
    position: relative;
  }
}
@media (max-width: 991px) {
  .filter-container {
    position: fixed;
    top: 0;
    padding: 25px 5px;
    background-color: var(--color-text);
    z-index: 4;
    left: 0;
    right: 0;
    bottom: 0;
    transform: translateX(-100%);
    transition: all 0.8s ease-in-out;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
.filter-container.menu-open {
  transform: translateX(0);
  transition: all 0.8s ease-in-out;
}

.filter-container .close-filtri {
  position: absolute;
  right: 0;
  top: 10px;
  padding: 10px 5px;
  margin: 0 15px;
  cursor: pointer;
  color: var(--color-light);
  font-weight: 400;
  font-family: var(--font-family);
  z-index: 2;
  font-size: 1.25rem;
}

@media (min-width: 992px) {
  .filter-container .close-filtri {
    display: none;
  }
}
.filter-container ul {
  list-style: none;
  display: block;
  gap: 10px;
  padding: 10px 0;
  margin: 0;
}

@media (min-width: 1200px) {
  .filter-container ul {
    gap: 20px;
    padding: 20px 0;
    display: flex;
  }
}
.filter-container ul li {
  text-align: center;
  padding: 10px;
}

@media (min-width: 992px) {
  .filter-container ul li {
    text-align: left;
    padding: 0;
  }
}
.filter-container ul li a {
  font-weight: 400;
  text-transform: uppercase;
  transition: var(--transition-default);
  text-align: center;
  width: 100%;
  color: var(--color-light);
  cursor: pointer;
}

@media (min-width: 992px) {
  .filter-container ul li a {
    padding: 20px;
    font-size: 1rem;
    text-align: left;
    color: var(--color-dark);
  }
}
@media (min-width: 1200px) {
  .filter-container ul li a {
    font-size: 1.25rem;
  }
}
@media (min-width: 1600px) {
  .filter-container ul li a {
    padding: 40px;
  }
}
.filter-container ul li a.active-filter, .filter-container ul li a:hover {
  transition: var(--transition-default);
  color: var(--gold);
}

@media (min-width: 992px) {
  .filter-container ul li:first-child a {
    padding-left: 0;
  }
}
@media (min-width: 992px) {
  .filter-container ul li:last-child a {
    padding-right: 0;
  }
}
.filter-container.prodotti-filters ul {
  list-style: none;
  display: block;
}

@media (min-width: 992px) {
  .filter-container.prodotti-filters ul {
    display: flex;
    justify-content: space-between;
  }
}
.servizi-grid .open-filtri {
  position: fixed;
  right: 0;
  bottom: 18px;
  padding: 10px;
  margin: 0 15px;
  cursor: pointer;
  color: var(--color-dark);
  font-weight: 400;
  font-family: var(--font-family);
  z-index: 2;
  font-size: 1.25rem;
  background-color: var(--gold);
  opacity: 0;
  visibility: inherit;
  transition: all 0.8s ease-in-out;
  vertical-align: middle;
}

@media (min-width: 992px) {
  .servizi-grid .open-filtri {
    display: none;
  }
}
.servizi-grid .open-filtri.servizi-grid-visible {
  opacity: 1;
  visibility: visible;
  transition: all 0.8s ease-in-out;
}

.servizi-grid .open-filtri img {
  width: 30px;
  vertical-align: middle;
}

.servizi-grid .servizi-fix-block {
  position: fixed;
  top: 0;
  padding: 25px 5px;
  background-color: var(--color-text);
}

@media (min-width: 992px) {
  .servizi-grid .servizi-fix-block {
    position: -webkit-sticky;
    position: sticky;
    overflow: hidden;
    display: flex;
    padding: 0;
    top: 104px;
    height: calc(100vh - 104px);
    background-color: rgba(0, 0, 0, 0);
    z-index: 1;
    left: unset;
    right: unset;
    bottom: unset;
  }
}
@media (max-width: 991px) {
  .servizi-grid .servizi-fix-block {
    z-index: 4;
    left: 0;
    right: 0;
    bottom: 0;
    transform: translateX(-100%);
    transition: all 0.8s ease-in-out;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
.servizi-grid .servizi-fix-block.menu-open {
  transform: translateX(0);
  transition: all 0.8s ease-in-out;
}

.servizi-grid .servizi-fix-block .close-filtri {
  position: absolute;
  right: 0;
  top: 10px;
  padding: 10px 5px;
  margin: 0 15px;
  cursor: pointer;
  color: var(--color-light);
  font-weight: 400;
  font-family: var(--font-family);
  z-index: 2;
  font-size: 1.25rem;
}

@media (min-width: 992px) {
  .servizi-grid .servizi-fix-block .close-filtri {
    display: none;
  }
}
@media (min-width: 992px) {
  .servizi-grid .servizi-fix-block .servizi-menu-filtri {
    display: flex;
    justify-content: start;
    flex-direction: column;
    align-items: flex-start;
  }
}
.servizi-grid .servizi-fix-block .servizi-menu-filtri ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: block;
  text-align: center;
}

@media (min-width: 992px) {
  .servizi-grid .servizi-fix-block .servizi-menu-filtri ul {
    text-align: left;
  }
}
.servizi-grid .servizi-fix-block .servizi-menu-filtri ul li {
  display: block;
}

.servizi-grid .servizi-fix-block .servizi-menu-filtri ul li a {
  position: relative;
  display: inline-block;
  width: auto;
  padding: 10px 0;
  margin: 0;
  cursor: pointer;
  color: var(--color-light);
  font-weight: 500;
}

@media (min-width: 992px) {
  .servizi-grid .servizi-fix-block .servizi-menu-filtri ul li a {
    color: var(--color-text);
    margin: 0;
    padding: 5px 15px 5px 0;
  }
}
.servizi-grid .servizi-fix-block .servizi-menu-filtri ul li a:hover {
  transition: var(--transition-default);
  color: var(--color-dark);
}

.servizi-grid .servizi-fix-block .servizi-menu-filtri ul li a.active {
  color: var(--color-dark);
}

.servizi-grid .border-bottom {
  border-bottom: 1px solid rgba(17, 17, 17, 0.2);
}

.servizi-grid .border-bottom:last-child {
  border-bottom: none;
}

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

.tags-list li {
  margin-bottom: 15px;
}

.tags-list li a {
  font-weight: 400;
  padding: 10px 15px;
  border: 1px solid rgba(17, 17, 17, 0.2);
  transition: var(--transition-default);
  border-radius: 25px;
}

.tags-list li a:hover {
  transition: var(--transition-default);
  color: var(--gold);
  border-color: var(--gold);
}

.address-container {
  border-top: 1px solid rgba(17, 17, 17, 0.8);
  border-bottom: 1px solid rgba(17, 17, 17, 0.8);
}

.address-container ul {
  list-style: none;
  list-style: none;
  display: block;
  gap: 10px;
  padding: 10px 0;
  margin: 0;
}

@media (min-width: 768px) {
  .address-container ul {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 0;
  }
}
.address-container ul li {
  padding: 10px;
}

.address-container ul li a {
  font-weight: 400;
  transition: var(--transition-default);
}

@media (min-width: 992px) {
  .address-container ul li a {
    padding: 40px;
  }
}
.address-container ul li a.active, .address-container ul li a:hover {
  transition: var(--transition-default);
  color: var(--gold);
}

.address-container ul li:first-child a {
  padding-left: 0;
}

.address-container ul li:last-child a {
  padding-right: 0;
}

.mainSliderAtf {
  max-height: 100vh;
  min-height: 100vh;
}

.mainSliderAtf .swiper-wrapper {
  max-height: 100vh;
  min-height: 100vh;
}

.mainSliderAtf .swiper-wrapper .swiper-slide {
  max-height: 100vh;
  min-height: 100vh;
}

.mainSliderAtf .swiper-wrapper .swiper-slide img {
  width: 100%;
  height: 100vh;
  display: block;
  object-fit: cover;
}

.thumbSliderAtf {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.thumbSliderAtf .swiper-wrapper {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  width: 100%;
}

.thumbSliderAtf .swiper-wrapper .swiper-slide {
  min-width: 0;
  box-sizing: border-box;
  width: 30% !important;
  max-width: 200px;
  border: 1px solid var(--color-light);
  position: relative;
}

.thumbSliderAtf .swiper-wrapper .swiper-slide img {
  max-width: 200px;
  width: 100%;
  height: auto;
  display: block;
}

.thumbSliderAtf .swiper-wrapper .swiper-slide .autoplay-progress {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0%;
  background: rgba(17, 17, 17, 0.6);
  transition: width 0s;
}

.thumbSliderAtf .swiper-wrapper .swiper-slide .autoplay-progress svg {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
}

.thumbSliderAtf .swiper-wrapper .swiper-slide .autoplay-progress svg.show {
  opacity: 1;
}

.thumbSliderAtf .swiper-wrapper .swiper-slide .autoplay-progress.active {
  transition: width 3s linear;
  width: 100%;
}

.sliderProduzione.swiper {
  overflow: visible;
}

.sliderProduzione.swiper .swiper-slide a .img-container {
  overflow: hidden;
  display: block;
}

.sliderProduzione.swiper .swiper-slide a .img-container img {
  display: block;
  transition: var(--transition-default);
  transform: scale(1);
}

.sliderProduzione.swiper .swiper-slide a:hover .img-container img {
  transition: var(--transition-default);
  transform: scale(1.05);
}

.sliderMacchinari.swiper {
  overflow: visible;
}

.sliderMacchinari.swiper .swiper-slide img {
  object-fit: contain;
  max-height: 358px;
  min-height: 358px;
}

@media (min-width: 992px) {
  .sliderMacchinari.swiper .swiper-slide img {
    max-height: 558px;
    min-height: 558px;
  }
}
.sliderMacchinari.swiper .swiper-slide:nth-child(odd) {
  width: 45%;
}

.sliderMacchinari.swiper .swiper-slide:nth-child(even) {
  width: 55%;
}

.macchinari-arrow .swiper-button-next-custom, .macchinari-arrow .swiper-button-prev-custom {
  cursor: pointer;
  padding: 5px 10px;
}

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

@media (min-width: 1200px) {
  header {
    height: 100px;
  }
}
header .header-container {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  position: relative;
  height: 60px;
  padding: 0 15px;
  transition: all 0.5s ease-in-out;
  border-bottom: 1px solid hsla(0, 0%, 100%, 0);
}

@media (min-width: 1200px) {
  header .header-container {
    padding: 0 35px;
    height: 100px;
  }
}
header .header-container .logo-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  width: calc(100% - 65px);
  order: 1;
}

@media (min-width: 1200px) {
  header .header-container .logo-container {
    width: 360px;
  }
}
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: none;
}

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

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

@media (min-width: 576px) {
  header .header-container .logo-container a img {
    max-height: 60px;
  }
}
@media (min-width: 1200px) {
  header .header-container .logo-container a img {
    max-height: 70px;
  }
}
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: flex-end;
    width: calc(100% - 360px);
  }
}
@media (min-width: 1400px) {
  header .header-container nav.menu-container {
    width: calc(100% - 360px);
  }
}
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;
}

@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: 60px;
    background-color: var(--color-light);
    height: calc(100vh - 60px);
  }
}
header .header-container nav.menu-container ul.menu li {
  padding: 0 15px;
  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 0;
  margin-bottom: 0;
  cursor: pointer;
  transition: var(--transition-default);
  font-weight: 400;
  font-family: var(--font-family-menu);
  font-size: 18px;
  white-space: nowrap;
}

@media (min-width: 1200px) {
  header .header-container nav.menu-container ul.menu li.link-menu > a {
    padding: 15px 0;
    display: inline-block;
    font-size: 15px;
    color: var(--color-light);
  }
}
header .header-container nav.menu-container ul.menu li.link-menu > a.active {
  color: var(--color-light);
  opacity: 0.7;
  text-decoration: underline;
}

header .header-container nav.menu-container .hamburger {
  position: relative;
  width: 35px;
  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-light);
  transition: var(--transition-default);
}

header .header-container .lang-container {
  display: none;
  flex-direction: row;
  align-items: center;
  position: relative;
  width: 70px;
  order: 2;
  justify-content: center;
  z-index: 2;
}

@media (min-width: 1200px) {
  header .header-container .lang-container {
    display: flex;
    order: 4;
    width: 80px;
  }
}
header .header-container .lang-container .link-cta.desktop {
  display: none;
}

@media (min-width: 1200px) {
  header .header-container .lang-container .link-cta.desktop {
    display: block;
  }
}
header .header-container .lang-container .language-menu-container {
  position: relative;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
}

header .header-container .lang-container .language-menu-container .selected-language {
  text-transform: uppercase;
  cursor: pointer;
  position: relative;
  z-index: 2;
}

header .header-container .lang-container .language-menu-container .selected-language i {
  margin: 0;
  position: absolute;
  right: -14px;
  font-size: 10px;
  top: 8px;
  color: var(--color-light);
}

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

header .header-container .lang-container .language-menu-container .language-menu {
  position: absolute;
  top: 100%;
  right: 0;
  background-color: rgba(0, 0, 0, 0);
  transition: var(--transition-default);
  list-style: none;
  padding: 0;
  opacity: 0;
  transform: translateY(-20px);
  pointer-events: none;
}

header .header-container .lang-container .language-menu-container .language-menu li a {
  margin: 0;
}

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

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

header.light-header .header-container {
  border-bottom: 1px solid rgba(36, 45, 49, 0);
}

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

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

header.light-header .header-container nav.menu-container ul.menu li.link-menu a {
  color: var(--color-dark);
}

header.light-header .header-container nav.menu-container ul.menu li.link-menu a.active {
  color: var(--color-text);
  text-decoration: underline;
}

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

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

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

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 ul.menu li.link-menu a {
  color: var(--color-dark);
}

body.menu-open header nav.menu-container ul.menu li.link-menu a.active {
  text-decoration: underline;
  color: var(--color-dark);
}

body.menu-open header nav.menu-container ul.menu li.link-menu.megamenu a[data-open-submenu] .plus svg path {
  fill: var(--color-dark);
}

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);
}

@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);
}

body.sticky-header header {
  background-color: hsla(0, 0%, 100%, 0.8);
  transition: all 0.5s ease-in-out;
  height: 80px;
}

@media (max-width: 1199px) {
  body.sticky-header header {
    background-color: var(--color-light);
    height: 60px;
  }
}
body.sticky-header header .header-container {
  height: 80px;
  transition: all 0.5s ease-in-out;
}

@media (max-width: 1199px) {
  body.sticky-header header .header-container {
    height: 60px;
  }
}
body.sticky-header header .header-container .logo-container a .logo-dark {
  display: block;
}

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

@media (max-width: 1199px) {
  body.sticky-header header .header-container nav.menu-container ul.menu {
    margin-top: 70px;
  }
}
body.sticky-header header .header-container nav.menu-container ul.menu li.link-menu a {
  color: var(--color-dark);
}

body.sticky-header header .header-container nav.menu-container ul.menu li.link-menu a.active {
  color: var(--color-text);
  text-decoration: underline;
}

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

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

body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light {
  color: var(--color-light);
  border: 1px solid var(--color-dark);
  background-color: var(--color-dark);
}

body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light .text {
  color: var(--color-light);
}

body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light .arrow:before {
  background-image: url("../img/icone/arrow-light.svg");
}

body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light:hover, body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light:focus, body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light:active, body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light:not(:disabled):active {
  transition: var(--transition-default);
  border: 1px solid var(--color-dark);
  background-color: var(--color-light);
  color: var(--color-dark);
}

body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light:hover .text, body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light:focus .text, body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light:active .text, body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light:not(:disabled):active .text {
  color: var(--color-dark);
}

body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light:hover .arrow:before, body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light:focus .arrow:before, body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light:active .arrow:before, body.sticky-header header .header-container .lang-container .link-cta.desktop .btn-light:not(:disabled):active .arrow:before {
  background-image: url("../img/icone/arrow-dark.svg");
}

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

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);
}

.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;
}

@media (min-width: 992px) {
  footer .copyright .block-grids.columns-2 {
    grid-template-columns: 1.3fr 0.7fr;
  }
}
footer .copyright .block-grids.columns-2 p {
  display: inline-block;
  font-family: var(--font-family);
}

footer .copyright .block-grids.columns-2 p a {
  display: inline-block;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFic3RyYWN0cy9fY29sb3JzLnNjc3MiLCJhYnN0cmFjdHMvX3ZhcmlhYmxlcy5zY3NzIiwiYWJzdHJhY3RzL19hbmltYXRpb25zLnNjc3MiLCJiYXNlL19iYXNlLnNjc3MiLCJiYXNlL2ZvbnRzL19mb250cy5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiYmFzZS9fY3VzdG9tLnNjc3MiLCJjb21wb25lbnRzL19ibG9jay1ncmlkcy5zY3NzIiwiY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvX2Zvcm0uc2NzcyIsImFic3RyYWN0cy9fbWl4aW5zLnNjc3MiLCJjb21wb25lbnRzL19pbnRyby5zY3NzIiwiY29tcG9uZW50cy9fbG9hZGVyLnNjc3MiLCJjb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCJjb21wb25lbnRzL19zZWN0aW9uLnNjc3MiLCJjb21wb25lbnRzL19zbGlkZXIuc2NzcyIsImxheW91dC9faGVhZGVyLnNjc3MiLCJsYXlvdXQvX2Zvb3Rlci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0k7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBOzs7QUNHSjtFQUlJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBS0E7OztBQUNBO0VBdEJKO0lBdUJROzs7QUFFSjtFQXpCSjtJQTBCUTs7O0FBMUJSO0VBNkJJOzs7QUFDQTtFQTlCSjtJQStCUTs7O0FBL0JSO0VBa0NJO0VBQ0E7RUFDQTtFQUtBO0VBS0E7RUFDQTtFQUNBO0VBRUE7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7OztBQ3JGSjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTtJQUNFOztFQUdGO0lBQ0U7OztBQUlKO0VBQ0U7SUFDRTs7RUFHRjtJQUNFOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDRTs7O0FBSUo7RUFDRTtJQUNFOztFQUdGO0lBQ0U7OztBQUlKO0VBRUU7SUFLRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7OztBQUlKO0VBQ0U7RUFFQTs7O0FBTUY7RUFDRTtFQUNBOzs7QUFFQTtFQUNFOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUE7RUFDRTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUE7RUFDRTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUE7RUFDRTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUE7RUFDRTtFQUNBOzs7QUNwSEo7RUFFSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBRUE7RUFDSTs7O0FBSVI7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBRUE7RUFDSTs7O0FBSVI7RUFDSTs7O0FBTUo7RUFDSTs7O0FBRUE7RUFDSTs7O0FBR0o7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBT1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBUko7SUFTUTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBR0E7RUFESjtJQUVROzs7QUFLSjtFQURKO0lBRVE7OztBQUtKO0VBREo7SUFFUTs7O0FBR1I7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFFQTtFQUpKO0lBS1E7OztBQUlSO0VBQ0k7RUFDQTs7O0FBRUE7RUFKSjtJQUtROzs7QUFLWjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUVBO0VBRUk7OztBQUdKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUdBO0VBREo7SUFFUTs7O0FBR1I7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBR0o7RUFDSTs7O0FBRUE7RUFISjtJQUlROzs7QUFJUjtFQUNJOzs7QUFFQTtFQUhKO0lBSVE7OztBQUlKO0VBREo7SUFFUTs7O0FBS1o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtJQUNJOztFQUdKO0lBQ0k7OztBQUlSO0VBQ0k7SUFDSTs7RUFHSjtJQUNJOzs7QUFJUjtFQUNJO0lBQ0k7O0VBR0o7SUFDSTs7O0FBSVI7RUFDSTtJQUNJOztFQUdKO0lBQ0k7OztBQUlSO0VBQ0k7SUFDSTs7RUFHSjtJQUNJOzs7QUFLUjtFQUNJO0lBQ0k7OztBQU9SO0VBQ0k7RUFDQTs7O0FBS0o7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBTUo7RUFDSTs7O0FBTUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS1o7RUFDSTs7O0FBRUE7RUFDSTs7O0FBSVI7RUFDSTs7O0FBRUE7RUFDSTs7O0FBSVI7RUFDSTs7O0FBRUE7RUFDSTs7O0FBSVI7RUFDSTs7O0FBRUE7RUFDSTs7O0FBU0o7RUFDSTs7O0FBTUo7RUFDSTs7O0FBTUo7RUFDSTs7O0FBTUo7RUFDSTs7O0FBSVI7RUFDSTs7O0FBRUo7RUFDSTs7O0FBR0o7RUFDSTtJQUNJOztFQUVKO0lBQ0k7OztBQUdSO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQ3RjSjtFQUNJO0VBQ0E7RUFDQTtFQUtBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUtBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUtBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUtBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUtBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUtBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUtBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUtBO0VBQ0E7RUFDQTs7QUNyRko7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOzs7QUFFQTtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBTUo7RUFDSTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUlBO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdSO0VBQ0k7OztBQU1KO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUlBO0VBREo7SUFFUTs7O0FBS0o7RUFESjtJQUVROzs7QUFPUjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFNSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUN4Uko7RUFDSTs7O0FBTEE7RUFDSTs7O0FBUUo7RUFDSTs7O0FBVko7RUFDSTs7O0FDRlI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFFQTtFQUpKO0lBS1E7SUFDQTs7O0FBR0o7RUFUSjtJQVVRO0lBQ0E7OztBQUtKO0VBREo7SUFFUTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUVBO0VBTEo7SUFNUTtJQUNBOzs7QUFHSjtFQVZKO0lBV1E7OztBQUtKO0VBREo7SUFFUTs7O0FBR0o7RUFMSjtJQU1ROzs7QUFJQTtFQUNJO0VBQ0E7OztBQVNJO0VBREo7SUFFUTtJQUNBOzs7QUFNUjtFQURKO0lBRVE7OztBQUlBO0VBREo7SUFFUTtJQUNBOzs7QUFNUjtFQURKO0lBRVE7OztBQUlBO0VBREo7SUFFUTs7O0FBTVI7RUFESjtJQUVROzs7QUFJQTtFQURKO0lBRVE7SUFDQTtJQUNBOzs7QUFRaEI7RUFESjtJQUVROzs7QUFHSjtFQUxKO0lBTVE7OztBQUdKO0VBVEo7SUFVUTs7O0FBS0k7RUFDSTtFQUNBOzs7QUFFQTtFQUpKO0lBS1E7OztBQU1SO0VBQ0k7RUFDQTs7O0FBT1o7RUFESjtJQUVROzs7QUFHSjtFQUxKO0lBTVE7OztBQU1SO0VBREo7SUFFUTs7O0FBR0o7RUFMSjtJQU1ROzs7QUFHSjtFQVRKO0lBVVE7OztBQUlBO0VBREo7SUFFUTs7O0FBR0o7RUFMSjtJQU1ROzs7QUFHSjtFQVRKO0lBVVE7OztBQU1KO0VBREo7SUFFUTs7O0FBR0o7RUFMSjtJQU1ROzs7QUFHSjtFQVRKO0lBVVE7OztBQU1SO0VBREo7SUFFUTs7O0FBR0o7RUFMSjtJQU1ROzs7QUFJUjtFQUNJOzs7QUFFQTtFQUhKO0lBSVE7OztBQUdKO0VBUEo7SUFRUTs7O0FBR0o7RUFYSjtJQVlROzs7QUFJUjtFQUNJOzs7QUFLSTtFQUNJOzs7QUFDQTtFQUZKO0lBR087OztBQUlQO0VBQ0k7OztBQUNBO0VBRko7SUFHUTs7O0FBUVI7RUFDSTs7O0FBQ0E7RUFGSjtJQUdPOzs7QUFJUDtFQUNJOzs7QUFDQTtFQUZKO0lBR1E7OztBQ2pScEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTs7O0FBR0o7RUFFSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBSUE7RUFDSTs7O0FBS1o7RUFDSTs7O0FBQ0E7RUFDSTs7O0FBQ0E7RUFDSTs7O0FBTWhCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDNURKO0VBQ0k7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7OztBQUVBO0VBbENKO0lBbUNROzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTs7O0FBR0o7RUFJSTtFQUNBO0VBQ0E7OztBQUdBO0VBQ0c7RUFDQzs7O0FBTUo7RUFDRztFQUNDOzs7QUFLUjtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTs7O0FBR0o7RUFJSTtFQUNBO0VBQ0E7OztBQUdBO0VBQ0E7RUFDSTs7O0FBTUo7RUFDQTtFQUNJOzs7QUFRaEI7RUFDSTtJQUNJO0lBQ0E7O0VBRUo7SUFDSTtJQUNBOztFQUVKO0lBQ0k7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7OztBQUlSO0VBQ0k7SUFDSTtJQUNBOztFQUVKO0lBQ0k7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7O0VBRUo7SUFDSTtJQUNBOzs7QUFJUjtFQUNJO0lBQ0k7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7O0VBRUo7SUFDSTtJQUNBOztFQUVKO0lBQ0k7SUFDQTs7O0FBSVI7RUFDSTtJQUNJO0lBQ0E7O0VBRUo7SUFDSTtJQUNBOztFQUVKO0lBQ0k7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7OztBQy9MUjtFQUNJOzs7QUFFQTtFQUVJOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBOzs7QUFFQTtFQUNJOzs7QUFFQTtFQUhKO0lBSVE7OztBQUlBO0VBREo7SUFFUTs7O0FBSVI7RUFDSTs7O0FBSUo7RUFDSTs7O0FBS1o7RUFDSTs7O0FBR0o7RUFyQ0o7SUFzQ1E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFSSjtJQVNROzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBRUE7RUFMSjtJQU1ROzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7O0FBRUE7RUFMSjtJQU1ROzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUtJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFJQTtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFPUjtFQUVJO0VBQ0E7OztBQUxSO0VBU0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQXZCSjtJQXdCUTs7O0FBR0o7RUEzQko7SUE0QlE7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBOzs7QUFFQTtFQVhKO0lBWVE7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBYko7SUFjUTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlSO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7OztBQU1SO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVJKO0lBU1E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBbEJKO0lBbUJROzs7QUFHSjtFQXRCSjtJQXVCUTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUM3VXhCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUQyVXdCO0VBQ0E7OztBQUlBO0VBQ0k7OztBQVlaO0VBQ0k7OztBQUdKO0VBS0k7RUFDQTs7O0FBRUE7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBSVI7RUFDSTs7O0FBRUE7RUFDSTs7O0FBS0o7RUFDSTs7O0FBRUE7RUFDSTs7O0FBSVI7RUFDSTs7O0FBR0o7RUFDSTs7O0FBRUE7RUFDSTs7O0FBT1I7RUFDSTtFQUNBOzs7QUFFQTtFQUNJOzs7QUFVaEM7RUFDSTs7O0FBRUE7RUFDSTs7O0FFcGJSO0VBRUk7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDN0JSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBOzs7QUNmUjtFQUNJO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTs7O0FBRUE7RUFDSTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFFQTtFQUNJOzs7QUFLWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQ25FWjtFQUNJO0VBQ0E7OztBQUVBO0VBQ0k7OztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFPUjtFQURKO0lBRVE7OztBQUtKO0VBQ0k7OztBQUVJO0VBQ0k7RUFDQTs7O0FBRUE7RUFDSTtFQUNBOzs7QUFvQlo7RUFESjtJQUVRO0lBQ0E7SUFDQTs7O0FBUVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBSVI7RUFDSTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBRUE7RUFISjtJQUlROzs7QUFHSjtFQUNJO0VBQ0E7OztBQUVBO0VBSko7SUFLUTs7O0FBS1o7RUFDSTs7O0FBRUE7RUFISjtJQUlROzs7QUFHSjtFQUNJO0VBQ0E7OztBQU1oQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBRUE7RUFISjtJQUlROzs7QUFHSjtFQUNJO0VBQ0E7OztBQUVBO0VBSko7SUFLUTs7O0FBS1o7RUFDSTs7O0FBRUE7RUFISjtJQUlROzs7QUFHSjtFQUNJO0VBQ0E7OztBQUlSO0VBQ0k7OztBQUVBO0VBSEo7SUFJUTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFPaEI7RUFDSTs7O0FBT0k7RUFFSTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFvQ1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtaO0VBQ0k7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUVBO0VBSEo7SUFJUTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFFQTtFQUpKO0lBS1E7OztBQUtaO0VBQ0k7OztBQUVBO0VBSEo7SUFJUTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFNaEI7RUFDSTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0E7RUFuQko7SUFvQlE7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQU1aO0VBQ0k7RUFDQTs7O0FBRUE7RUFKSjtJQUtROzs7QUFHSjtFQVJKO0lBU1E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQWJKO0lBY1E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFQSjtJQVFRO0lBQ0E7SUFDQTs7O0FBSUo7RUFDSTtFQUNBOzs7QUFFQTtFQUpKO0lBS1E7SUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFUSjtJQVVRO0lBQ0E7SUFDQTtJQUNBOzs7QUFHSjtFQWhCSjtJQWlCUTs7O0FBR0o7RUFwQko7SUFxQlE7OztBQUlKO0VBRUk7RUFDQTs7O0FBTUE7RUFESjtJQUVROzs7QUFNSjtFQURKO0lBRVE7OztBQVFoQjtFQUNJO0VBQ0E7OztBQUVBO0VBSko7SUFLUTtJQUNBOzs7QUFRWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHQTtFQW5CSjtJQW9CUTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0E7RUFQSjtJQVFRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBR0o7RUF0Qko7SUF1QlE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFiSjtJQWNROzs7QUFNSjtFQUZKO0lBR1E7SUFDQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFQSjtJQVFROzs7QUFHSjtFQUNJOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBVko7SUFXUTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBUXhCO0VBQ0k7OztBQUVBO0VBQ0k7OztBQUtaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBOzs7QUFNaEI7RUFDSTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFSSjtJQVNRO0lBQ0E7SUFDQTtJQUNBOzs7QUFHSjtFQUNJOzs7QUFFQTtFQUNJO0VBQ0E7OztBQUVBO0VBSko7SUFLUTs7O0FBR0o7RUFFSTtFQUNBOzs7QUFLSjtFQUNJOzs7QUFJSjtFQUNJOzs7QUM5eEJwQjtFQUNJO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTs7O0FBRUE7RUFDSTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFNaEI7RUFDSTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7OztBQUlSO0VBQ0k7RUFDQTs7O0FBT3BCO0VBQ0k7OztBQUtRO0VBQ0k7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7OztBQU9BO0VBQ0k7RUFDQTs7O0FBU3hCO0VBQ0k7OztBQUdJO0VBRUk7RUFDQTtFQUNBOzs7QUFFQTtFQU5KO0lBT1E7SUFDQTs7O0FBSVI7RUFDSTs7O0FBR0o7RUFDSTs7O0FBTVI7RUFFSTtFQUNBOzs7QUMzSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBWEo7SUFZUTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBWEo7SUFZUTtJQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFSSjtJQVNROzs7QUFHSjtFQUNJOzs7QUFFQTtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQU5KO0lBT1E7OztBQUdKO0VBVko7SUFXUTs7O0FBTWhCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVJKO0lBU1E7SUFDQTs7O0FBSUo7RUFkSjtJQWVROzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVRKO0lBVVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFkSjtJQWVRO0lBQ0E7SUFDQTtJQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBT3BCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVhKO0lBWVE7OztBQUdKO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBVko7SUFXUTtJQUNBO0lBQ0E7OztBQUlBO0VBQ0k7OztBQUNBO0VBRko7SUFHUTs7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0k7RUFDSTs7O0FBR0o7RUFDSTs7O0FBUXhCO0VBQ0k7OztBQUVBO0VBQ0k7OztBQUlRO0VBQ0k7OztBQUdKO0VBQ0k7OztBQVNJO0VBQ0k7OztBQUVBO0VBQ0k7RUFDQTs7O0FBUWhCO0VBRUk7OztBQVFBO0VBQ0k7OztBQVM1QjtFQUNJOzs7QUFFSTtFQUNJOzs7QUFLWTtFQUNJOzs7QUFHSjtFQUNJOzs7QUFPWjtFQUNJOzs7QUFLUTtFQUNJOzs7QUFHQTtFQUNJO0VBQ0E7OztBQVNRO0VBQ0k7OztBQVc1QjtFQUVJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVBKO0lBUVE7OztBQUdSO0VBRUk7RUFDQTtFQUNBO0VBQ0E7OztBQVFoQjtFQUNJO0VBQ0E7RUFDQTs7O0FBRUE7RUFMSjtJQU1RO0lBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBRUE7RUFKSjtJQUtROzs7QUFLSTtFQUNJOzs7QUFHSjtFQUNJOzs7QUFlSjtFQURKO0lBRVE7OztBQU1JO0VBQ0k7OztBQUVBO0VBQ0k7RUFDQTs7O0FBUWhCO0VBQ0k7OztBQUVKO0VBQ0k7OztBQVNBO0VBQ0k7RUFDQTtFQUNBOzs7QUFFQTtFQUNJOzs7QUFJQTtFQUNJOzs7QUFJUjtFQUlJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJOzs7QUFJQTtFQUNJOzs7QUFXaEI7RUFDSTs7O0FBY1I7RUFDSTtFQUNBO0VBQ0E7OztBQUlBO0VBQ0k7OztBQVdoQztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBUEo7SUFRTzs7O0FBR0g7RUFDSTs7O0FDemlCUjtFQUNJOzs7QUFLWTtFQURKO0lBRVE7OztBQUVKO0VBQ0k7RUFDQTs7O0FBRUE7RUFDSSIsImZpbGUiOiJtYWluLm1pbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6cm9vdCB7XG4gICAgLS1jb2xvci1saWdodDogI2ZmZmZmZjtcbiAgICAtLWNvbG9yLWRhcms6ICMxMTExMTE7IC8vIGNvbG9yZSBkZWZhdWx0IHRlc3RpXG5cbiAgICAtLWNvbG9yLWxpZ2h0LWdyZXk6ICNGM0YzRjM7XG4gICAgLS1jb2xvci10ZXh0OiAjODg4ODg4O1xuICAgIC0tZ29sZDogI0RDQzc2RjtcblxuICAgIC0tY29sb3ItZGVmYXVsdDogdmFyKC0tY29sb3ItZGFyayk7IC8vQ29sb3JlIGRlZmF1bHQgZGVsIHRlc3RvXG59IiwiLyoqXG4qXG4qIFZhcmlhYmlsaSBnbG9iYWxpIHByb2dldHRvXG4qIFxuKiAwMSAtIENPTlRFTklUT1JJXG4qIDAyIC0gU0VQQVJBVE9SSVxuKiAwMyAtIFRSQU5TSVpJT05JXG4qIDA0IC0gRk9OVFNcbipcbiovXG5cbjpyb290IHtcbiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICogMDEgLSBDT05URU5JVE9SSVxuICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiAgICAtLWNvbnRhaW5lci1iaWctd2lkdGg6IDE4NTBweDsgLy9Db250YWluZXIgbWFzc2ltb1xuICAgIC0tY29udGFpbmVyLXdpZHRoOiAxNjcwcHg7IC8vQ29udGFpbmVyIHByaW5jaXBhbGUgeFxuICAgIC0tY29udGFpbmVyLWxhcmdlLXdpZHRoOiAxNTQwcHg7IC8vQ29udGFpbmVyIHByaW5jaXBhbGUgeFxuICAgIC0tY29udGFpbmVyLW1lZGl1bS13aWR0aDogMTI5MHB4OyAvL0NvbnRhaW5lciBtZWRpbyB4XG4gICAgLS1jb250YWluZXItc21hbGwtd2lkdGg6IDExODBweDsgLy9Db250YWluZXIgbWVkaW8geFxuICAgIFxuICAgIC0tY29udGFpbmVyLWV4dHJhLXNtYWxsLXdpZHRoOiA5ODBweDtcbiAgICAtLWNvbnRhaW5lci1taW5pLXdpZHRoOiA2MzBweDtcbiAgICBcbiAgICAtLWJsb2NrLW1pbi13aWR0aDogNDIwcHg7XG4gICAgLS1ibG9jay1leHRyYS1taW4td2lkdGg6IDI4MHB4O1xuXG4gICAgLS1ibG9jay1taW4taGVpZ2h0OiA1ODBweDsgLy9BbHRlenphIG1pbmltYSBibG9jY2hpIGltbWFnaW5lL3Rlc3RvXG5cbiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICogMDIgLSBTRVBBUkFUT1JJXG4gICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICAgIC0tc3BhY2VyLWJpZzogMzBweDtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgLS1zcGFjZXItYmlnOiAzMHB4O1xuICAgIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTY4MXB4KSB7XG4gICAgICAgIC0tc3BhY2VyLWJpZzogNTBweDtcbiAgICB9XG5cbiAgICAtLXNwYWNlci1sYXJnZTogMjBweDsgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIC0tc3BhY2VyLWxhcmdlOiAzMHB4O1xuICAgIH1cblxuICAgIC0tc3BhY2VyLW1lZGl1bTogMjVweDtcbiAgICAtLXNwYWNlci1zbWFsbDogMjBweDtcbiAgICAtLXNwYWNlci1leHRyYS1zbWFsbDogMTBweDtcbiAgICBcbiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICogMDMgLSBUUkFOU0laSU9OSVxuICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiAgICAtLXRyYW5zaXRpb24tZGVmYXVsdDogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgXG4gICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAqIDA0IC0gRk9OVFNcbiAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gICAgLS1mb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gICAgLS1mb250LWZhbWlseS10aXRsZTogJ0J3IERpYWdyaWQnLCBzYW5zLXNlcmlmO1xuICAgIC0tZm9udC1mYW1pbHktbWVudTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gICAgXG4gICAgLS1mb250LXNpemU6ICN7Y2xhbXAtcmVtKDE4cHgsIDF2dywgMjBweCl9O1xuIFxuICAgIC0taDEtZm9udC1zaXplOiAje2NsYW1wLXJlbSg0NHB4LCAzdncsIDUycHgpfTtcbiAgICAtLWgxLWZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgLS1oMS1tYXJnaW4tYm90dG9tOiAxMHB4O1xuIFxuICAgIC0taDItZm9udC1zaXplOiAje2NsYW1wLXJlbSgzMHB4LCAzdncsIDQycHgpfTtcbiAgICAtLWgyLWZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgLS1oMi1tYXJnaW4tYm90dG9tOiAxMHB4O1xuIFxuICAgIC0taDMtZm9udC1zaXplOiAje2NsYW1wLXJlbSgyNnB4LCAydncsIDMycHgpfTtcbiAgICAtLWgzLWZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgLS1oMy1tYXJnaW4tYm90dG9tOiAxMHB4O1xuIFxuICAgIC0taDQtZm9udC1zaXplOiAje2NsYW1wLXJlbSgyMHB4LCAydncsIDI4cHgpfTtcbiAgICAtLWg0LWZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgLS1oNC1tYXJnaW4tYm90dG9tOiAxMHB4O1xuIFxuICAgIC0taDUtZm9udC1zaXplOiAje3B4LXRvLXJlbSgxNnB4KX07XG4gICAgLS1oNS1mb250LXdlaWdodDogNDAwO1xuICAgIC0taDUtbWFyZ2luLWJvdHRvbTogMTBweDtcbiBcbiAgICAtLWg2LWZvbnQtc2l6ZTogI3tweC10by1yZW0oMTRweCl9O1xuICAgIC0taDYtZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAtLWg2LW1hcmdpbi1ib3R0b206IDEwcHg7ICAgXG5cbn0iLCJALXdlYmtpdC1rZXlmcmFtZXMgbWVudS1zaG93IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIG1lbnUtc2hvdyB7XG4gIDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMDAlKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbWVudS1zaG93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG4uYW5pbWF0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAxJTtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcblxuICAuYW5pbWF0ZWQge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZS11cCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VTY3JvbGwge1xuXG4gIDAlLFxuICAyMCUsXG4gIDUwJSxcbiAgODAlLFxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XG4gIH1cblxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7XG4gIH1cbn1cblxuLmJvdW5jZVNjcm9sbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogQXNzaWN1cmF0aSBjaGUgbCdlbGVtZW50byBzaWEgdmlzaWJpbGUgZSBpbmxpbmUgKi9cbiAgYW5pbWF0aW9uOiBib3VuY2VTY3JvbGwgMnMgaW5maW5pdGU7XG59XG5cblxuXG4vKiBJbml0aWFsIHN0YXRlIGZvciB0aGUgZWxlbWVudHMgKi9cbi5zaW1wbGVGYWRlSW4ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEwMDBtcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApLCB0cmFuc2Zvcm0gMTAwMG1zIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XG5cbiAgJi52aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5zaW1wbGVGYWRlSW5MZWZ0IHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDB2dyk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTAwMG1zIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCksIHRyYW5zZm9ybSAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcblxuICAmLnZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbi5zaW1wbGVGYWRlSW5SaWdodCB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDB2dyk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTAwMG1zIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCksIHRyYW5zZm9ybSAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcblxuICAmLnZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbi5hbmltYXRlVG9wIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEzMHB4KTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKSwgdHJhbnNmb3JtIDEwMDBtcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xuXG4gICYudmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLmFuaW1hdGVSaWdodCB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMzBweCwgMTAwcHgpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEwMDBtcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApLCB0cmFuc2Zvcm0gMTAwMG1zIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XG5cbiAgJi52aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDApO1xuICB9XG59XG5cblxuXG5cbiIsIi8qKlxuKlxuKiBTdGlsaSBiYXNlIGdlbmVyaWNpIHBlciBvZ25pIHRpcG8gZGkgdGVtcGxhdGVcbiogXG4qIDAxIC0gU0VQQVJBVE9SSVxuKiAwMiAtIENPTlRFTklUT1JJXG4qIDAzIC0gV0lEVEhcbiogMDQgLSBNQVJHSU5cbiogMDUgLSBQQURESU5HXG4qIDA2IC0gQkFDS0dST1VORFxuKiAwNyAtIENPTE9SU1xuKlxuKi9cblxuaHRtbCxcbmJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyAgICBcbn1cblxuaW1nIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5vYmplY3QtY292ZXIge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG5hIHsgXG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG59XG5cbioge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5oLWZ1bGwge1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLm92ZXJmbG93LXZpc2libGUge1xuICAgIG92ZXJmbG93OnZpc2libGVcbn1cblxuLm92ZXJmbG93LXgtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG59XG5cbi5vdmVyZmxvdy1oaWRkZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5ib3JkZXItYm90dG9tIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItZGFyayk7XG5cbiAgICAmLmxpZ2h0LWdyZXkge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxOCwgMTgsIDE4LCAuMTApO1xuICAgIH1cbn1cblxuLmJvcmRlci1yYWRpdXMge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogMDEgLSBTRVBBUkFUT1JJXG4qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc3BhY2VyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBcbiAgICAmLmJpZyB7XG4gICAgICAgIGhlaWdodDogdmFyKC0tc3BhY2VyLWJpZyk7XG4gICAgfVxuICAgIFxuICAgICYubGFyZ2Uge1xuICAgICAgICBoZWlnaHQ6IHZhcigtLXNwYWNlci1sYXJnZSk7XG4gICAgfVxuICAgICYubWVkaXVtIHtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1zcGFjZXItbWVkaXVtKTtcbiAgICB9XG4gICAgJi5zbWFsbCB7XG4gICAgICAgIGhlaWdodDogdmFyKC0tc3BhY2VyLXNtYWxsKTtcbiAgICB9XG4gICAgJi5leHRyYS1zbWFsbCB7XG4gICAgICAgIGhlaWdodDogdmFyKC0tc3BhY2VyLWV4dHJhLXNtYWxsKTtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qIDAyIC0gQ09OVEVOSVRPUklcbiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLXdpZHRoKTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMzVweDtcbiAgICB9XG4gICAgXG4gICAgJi5mbHVpZCB7XG4gICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgfVxuICAgIFxuICAgICYuYmlnIHtcbiAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItYmlnLXdpZHRoKTtcbiAgICB9XG4gICAgJi5sYXJnZSB7XG4gICAgICAgIG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLWxhcmdlLXdpZHRoKTtcbiAgICB9XG4gICAgJi5tZWRpdW0ge1xuICAgICAgICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci1tZWRpdW0td2lkdGgpO1xuICAgIH1cbiAgICAmLnNtYWxsIHtcbiAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItc21hbGwtd2lkdGgpO1xuICAgIH1cbiAgICAmLmV4dHJhLXNtYWxsIHtcbiAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItZXh0cmEtc21hbGwtd2lkdGgpO1xuICAgIH1cbiAgICAmLm1pbmkge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDo5OTJweCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItbWluaS13aWR0aCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi5taW4td2lkdGgge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDo5OTJweCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1ibG9jay1taW4td2lkdGgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5leHRyYS1taW4td2lkdGgge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDo5OTJweCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1ibG9jay1leHRyYS1taW4td2lkdGgpO1xuICAgICAgICB9XG4gICAgfVxuICAgICYucmVsYXRpdmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIFxuICAgICYuZmxvYXRlZC1yaWdodCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOjk5MXB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYuZmxvYXRlZC1sZWZ0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgXG4gICAgICAgIEBtZWRpYShtYXgtd2lkdGg6OTkxcHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wLXJlbGF0aXZlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbn1cblxuLmQtZmxleCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBcbiAgICAmOjphZnRlcixcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAmLmRpcmVjdGlvbi1jb2x1bW4ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICAmLmRpcmVjdGlvbi1yb3cge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICAmLmFsaWduLWNlbnRlciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgICYuYWxpZ24tc3RhcnQge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB9XG4gICAgJi5hbGlnbi1lbmQge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgfVxuICAgICYuZmxleC13cmFwIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgICAmLmp1c3RpZnktY2VudGVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgICYuanVzdGlmeS1tb2JpbGUtY2VudGVyIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmp1c3RpZnktc3BhY2UtYmV0d2VlbiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gICAgJi5qdXN0aWZ5LXNwYWNlLWV2ZW5seSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICAgIH1cbiAgICAmLmp1c3RpZnktc3BhY2UtYXJvdW5kIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgfVxuICAgICYuanVzdGlmeS1zdGFydCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgJi5qdXN0aWZ5LWVuZCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgJi5qdXN0aWZ5LWRlc2t0b3Atc3RhcnQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuanVzdGlmeS1kZXNrdG9wLWVuZCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmp1c3RpZnktbW9iaWxlLXN0YXJ0IHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5kLW5vbmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmQtYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAgIC5kLXNtLWJsb2NrIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLmQtc20tbm9uZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZC1tZC1ibG9jayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIC5kLW1kLW5vbmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmQtbGctYmxvY2sge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAuZC1sZy1ub25lIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5kLXhsLWJsb2NrIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLmQteGwtbm9uZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTYwMXB4KSB7XG4gICAgLmQteHhsLWJsb2NrIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLmQteHhsLW5vbmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuZC1sZy1pbmxpbmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qIDAzIC0gV0lEVEhcbiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5mdWxsLXdpZHRoIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogMDQgLSBNQVJHSU5cbiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5tLTAge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuLm1iLTAge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi5tbC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xufVxuLm1yLTAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAwNSAtIFBBRERJTkdcbiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wLTAge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogMDYgLSBCQUNLR1JPVU5EXG4qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYmctc2VjdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgXG4gICAgJi53aXRoLW92ZXJsYXkge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGhzbGEoMCwgMCUsIDAlLCAuMik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5iZy1kYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICBcbiAgICAmOm5vdCguYnRuKTpub3QoLmZhLWNoZXZyb24tcmlnaHQpOm5vdCguZmEtdXBsb2FkKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgfVxufVxuXG4uYmctbGlnaHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICBcbiAgICAmOm5vdCguYnRuKTpub3QoLmZhLWNoZXZyb24tcmlnaHQpOm5vdCguZmEtdXBsb2FkKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICB9XG59XG5cbi5iZy1saWdodC1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1saWdodC1ncmV5KTtcbiAgICBcbiAgICAmOm5vdCguYnRuKTpub3QoLmZhLWNoZXZyb24tcmlnaHQpOm5vdCguZmEtdXBsb2FkKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICB9XG59XG5cbi5iZy1kYXJrLWxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3LCAxNywgMTcsIC4wNSk7XG4gICAgXG4gICAgJjpub3QoLmJ0bik6bm90KC5mYS1jaGV2cm9uLXJpZ2h0KTpub3QoLmZhLXVwbG9hZCkge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAwNyAtIENPTE9SU1xuKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmNvbG9yLWRhcmssXG4uY29sb3ItZGFyayAqIHtcbiAgICAmOm5vdCguYnRuKTpub3QoLmZhLWNoZXZyb24tcmlnaHQpOm5vdCguZmEtdXBsb2FkKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICB9XG59XG5cbi5jb2xvci1saWdodCxcbi5jb2xvci1saWdodCAqIHtcbiAgICAmOm5vdCguYnRuKTpub3QoLmZhLWNoZXZyb24tcmlnaHQpOm5vdCguZmEtdXBsb2FkKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgfVxufVxuXG4uY29sb3ItbGlnaHQtZ3JleSxcbi5jb2xvci1saWdodC1ncmV5ICoge1xuICAgICY6bm90KC5idG4pOm5vdCguZmEtY2hldnJvbi1yaWdodCk6bm90KC5mYS11cGxvYWQpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0LWdyZXkpO1xuICAgIH1cbn1cblxuLmNvbG9yLXRleHQsXG4uY29sb3ItdGV4dCAqIHtcbiAgICAmOm5vdChoMSk6bm90KGgyKTpub3QoaDMpOm5vdChoNCk6bm90KGg1KTpub3QoaDYpOm5vdCguYnRuKTpub3QoLmZhLWNoZXZyb24tcmlnaHQpOm5vdCguZmEtdXBsb2FkKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICB9XG59XG5cbi5vcmRlci0xIHtcbiAgICBvcmRlcjogMTtcbn1cbi5vcmRlci0yIHtcbiAgICBvcmRlcjogMjtcbn1cblxuQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAub3JkZXItbGctMSB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgICAub3JkZXItbGctMiB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgIH1cbn1cbi5vcmRlci0zIHtcbiAgICBvcmRlcjogMyAhaW1wb3J0YW50O1xufVxuLm9yZGVyLTQge1xuICAgIG9yZGVyOiA0ICFpbXBvcnRhbnQ7XG59XG4ub3JkZXItNSB7XG4gICAgb3JkZXI6IDUgIWltcG9ydGFudDtcbn1cbi5vcmRlci02IHtcbiAgICBvcmRlcjogNiAhaW1wb3J0YW50O1xufSIsIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnQncgRGlhZ3JpZCc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL0J3RGlhZ3JpZC1SZWd1bGFyLmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9Cd0RpYWdyaWQtUmVndWxhci5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL0J3RGlhZ3JpZC1SZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL0J3RGlhZ3JpZC1SZWd1bGFyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Cd0RpYWdyaWQtUmVndWxhci50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvQndEaWFncmlkLVJlZ3VsYXIuc3ZnI0J3RGlhZ3JpZC1SZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvV29ya1NhbnMtTGlnaHQuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1dvcmtTYW5zLUxpZ2h0LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvV29ya1NhbnMtTGlnaHQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvV29ya1NhbnMtTGlnaHQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1dvcmtTYW5zLUxpZ2h0LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Xb3JrU2Fucy1MaWdodC5zdmcjV29ya1NhbnMtTGlnaHQnKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9Xb3JrU2Fucy1SZWd1bGFyLmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9Xb3JrU2Fucy1SZWd1bGFyLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvV29ya1NhbnMtUmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Xb3JrU2Fucy1SZWd1bGFyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Xb3JrU2Fucy1SZWd1bGFyLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Xb3JrU2Fucy1SZWd1bGFyLnN2ZyNXb3JrU2Fucy1SZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvV29ya1NhbnMtTWVkaXVtLmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9Xb3JrU2Fucy1NZWRpdW0uZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Xb3JrU2Fucy1NZWRpdW0ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvV29ya1NhbnMtTWVkaXVtLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Xb3JrU2Fucy1NZWRpdW0udHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1dvcmtTYW5zLU1lZGl1bS5zdmcjV29ya1NhbnMtTWVkaXVtJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvV29ya1NhbnMtU2VtaUJvbGQuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1dvcmtTYW5zLVNlbWlCb2xkLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvV29ya1NhbnMtU2VtaUJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvV29ya1NhbnMtU2VtaUJvbGQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1dvcmtTYW5zLVNlbWlCb2xkLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Xb3JrU2Fucy1TZW1pQm9sZC5zdmcjV29ya1NhbnMtU2VtaUJvbGQnKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9Xb3JrU2Fucy1Cb2xkLmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9Xb3JrU2Fucy1Cb2xkLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvV29ya1NhbnMtQm9sZC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Xb3JrU2Fucy1Cb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Xb3JrU2Fucy1Cb2xkLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Xb3JrU2Fucy1Cb2xkLnN2ZyNXb3JrU2Fucy1Cb2xkJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1dvcmsgU2Fucyc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1dvcmtTYW5zLUV4dHJhQm9sZC5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvV29ya1NhbnMtRXh0cmFCb2xkLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvV29ya1NhbnMtRXh0cmFCb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1dvcmtTYW5zLUV4dHJhQm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvV29ya1NhbnMtRXh0cmFCb2xkLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Xb3JrU2Fucy1FeHRyYUJvbGQuc3ZnI1dvcmtTYW5zLUV4dHJhQm9sZCcpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9Xb3JrU2Fucy1CbGFjay5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvV29ya1NhbnMtQmxhY2suZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Xb3JrU2Fucy1CbGFjay53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Xb3JrU2Fucy1CbGFjay53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvV29ya1NhbnMtQmxhY2sudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1dvcmtTYW5zLUJsYWNrLnN2ZyNXb3JrU2Fucy1CbGFjaycpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5cblxuIiwiLyoqXG4qXG4qIFN0aWxpIHJlbGF0aXZpIGFpIGZvbnRcbiogXG4qIDAxIC0gSEVBRElOR1xuKiAwMiAtIEFMSUdOTUVOVFxuKiAwMyAtIFRSQU5TRk9STVxuKiAwNCAtIFdFSUdIVFxuKiAwNSAtIE9DQ0hJRUxMT1xuKiAwNiAtIExJTkUgSEVJR0hUXG4qXG4qL1xuXG4vLyBJbXBvcnQgYWxsIGZvbnRzXG5AaW1wb3J0IFwiZm9udHMvZm9udHNcIjtcblxuYm9keSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZGVmYXVsdCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcblxuICAgIGZvbnQtc21vb3RoOiBhdXRvOyAvKiBvIGFudGlhbGlhc2VkICovXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC8qIFBlciBXZWJLaXQgKi9cbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyAvKiBQZXIgbWFjT1MgKi9cblxuICAgIC5saWdodCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgfVxuXG4gICAgLnJlZ3VsYXIge1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cblxuICAgIC5tZWRpdW0ge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cblxuICAgIC5zZW1pYm9sZCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gICAgLmJvbGQge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cbn1cblxuLmluaGVyaXQge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuXG5wLCAucCwgc3Ryb25nLCBiLCB0aW1lLCBpIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kZWZhdWx0KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuXG5hIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kZWZhdWx0KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxudWwge1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAyNXB4O1xufVxuXG51bCwgbGkge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWRlZmF1bHQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplKTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG5zdHJvbmcsIGIsIC5zdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi50ZXh0LXNoYWRvdyB7XG4gICAgdGV4dC1zaGFkb3c6IDFweCAxcHggMCB2YXIoLS1jb2xvci1saWdodCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qIDAxIC0gSEVBRElOR1xuKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LXRpdGxlKTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgcCwgLnAsIHVsLCBsaSwgYSwgc3Bhbiwgc3Ryb25nLCAuc3Ryb25nLCBiLCB0aW1lLCBpIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGluaGVyaXQ7XG4gICAgICAgIG1hcmdpbi10b3A6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgJi5wLXN0eWxlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICB9XG59XG5cbi5oMSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1oMS1mb250LXNpemUpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1oMS1mb250LXdlaWdodCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDEtbWFyZ2luLWJvdHRvbSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cbi5oMiB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1oMi1mb250LXNpemUpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1oMi1mb250LXdlaWdodCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDItbWFyZ2luLWJvdHRvbSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xufVxuLmgzIHtcbiAgICBmb250LXNpemU6IHZhcigtLWgzLWZvbnQtc2l6ZSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWgzLWZvbnQtd2VpZ2h0KTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1oMy1tYXJnaW4tYm90dG9tKTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG4uaDQge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0taDQtZm9udC1zaXplKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0taDQtZm9udC13ZWlnaHQpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWg0LW1hcmdpbi1ib3R0b20pO1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG4uaDUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0taDUtZm9udC1zaXplKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0taDUtZm9udC13ZWlnaHQpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWg1LW1hcmdpbi1ib3R0b20pO1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG4uaDYge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0taDYtZm9udC1zaXplKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0taDYtZm9udC13ZWlnaHQpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWg2LW1hcmdpbi1ib3R0b20pO1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi5wIHtcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LXRpdGxlKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWgxLWZvbnQtc2l6ZSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWgxLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgfVxuICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1oMi1mb250LXNpemUpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1oMi1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgIH1cbiAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0taDMtZm9udC1zaXplKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDMtbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICB9XG4gICAgaDQge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWg0LW1hcmdpbi1ib3R0b20pO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgfVxuICAgIGg1IHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1oNS1mb250LXNpemUpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1oNS1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgIH1cbiAgICBoNiB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0taDYtZm9udC1zaXplKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDYtbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICB9XG59XG5hIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kZWZhdWx0KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICYuaDEsICYuaDIsICYuaDMsICYuaDQsICYuaDUsICYuaDYge1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGVmYXVsdCk7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxufVxuLnRleHQtdW5kZXJsaW5lIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogMDIgLSBBTElHTk1FTlRcbiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi50ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi50ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG5cbi50ZXh0LWRlc2t0b3AtcmlnaHQge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG59XG5cbi50ZXh0LWNlbnRlci1tb2JpbGUge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAwMyAtIFRSQU5TRk9STVxuKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRleHQtdXBwZXJjYXNlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLnRleHQtbG93ZXJjYXNlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xufVxuLnRleHQtY2FwaXRhbGl6ZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qIDA0IC0gV0VJR0hUXG4qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGV4dC1leHRyYWxpZ2h0IHtcbiAgICBmb250LXdlaWdodDogMjAwO1xufVxuLnRleHQtbGlnaHQge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG4udGV4dC1ub3JtYWwge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4udGV4dC1zZW1pYm9sZCB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi50ZXh0LWJvbGQge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4udGV4dC1leHRyYS1ib2xkIHtcbiAgICBmb250LXdlaWdodDogODAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAwNSAtIE9DQ0hJRUxMT1xuKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAwNiAtIERFQ09SQVRJT05cbiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiIsIkBtaXhpbiBkZWJ1Zy1jc3MoJGNvbG9yKSB7XG4gICAgKiB7XG4gICAgICAgIG91dGxpbmU6IDFweCBkYXNoZWQgJGNvbG9yO1xuICAgIH1cbn1cbi5kZWJ1Z1xcOmNzcyB7XG4gICAgLS1kZWJ1Zy1jb2xvcjogdmFyKC0tY29sb3ItZGVmYXVsdCk7XG5cbiAgICBAaW5jbHVkZSBkZWJ1Zy1jc3ModmFyKC0tZGVidWctY29sb3IpKTtcblxuICAgICZcXDpyZWQge1xuICAgICAgICAtLWRlYnVnLWNvbG9yOiByZWQ7XG5cbiAgICAgICAgQGluY2x1ZGUgZGVidWctY3NzKHZhcigtLWRlYnVnLWNvbG9yKSk7XG4gICAgfVxufVxuIiwiLmJsb2NrLWdyaWRzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdyaWQtZ2FwOiAxMHB4O1xuICAgIGdhcDogMTBweDtcblxuICAgICYubm8tZ2FwIHtcbiAgICAgICAgZ3JpZC1nYXA6IDA7XG4gICAgICAgIGdhcDogMDtcbiAgICB9XG5cbiAgICAmLnNtYWxsLWdhcCB7XG4gICAgICAgIGdyaWQtZ2FwOiAyMHB4O1xuICAgICAgICBnYXA6IDIwcHg7XG4gICAgfVxuXG4gICAgJi5taW4tZ2FwIHtcbiAgICAgICAgZ3JpZC1nYXA6IDMycHg7XG4gICAgICAgIGdhcDogMzJweDtcbiAgICB9XG5cbiAgICAmLmJpZy1nYXAge1xuICAgICAgICBncmlkLWdhcDogMjVweDtcbiAgICAgICAgZ2FwOiAyNXB4O1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgZ3JpZC1nYXA6IDUwcHg7XG4gICAgICAgICAgICBnYXA6IDUwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICBncmlkLWdhcDogMTAwcHg7XG4gICAgICAgICAgICBnYXA6IDEwMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYuY29sdW1ucy0yIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgIH1cblxuICAgICAgICAmLm1lbnUtYmxvY2sge1xuICAgICAgICAgICAgZ3JpZC1nYXA6IDAgMjBweDtcbiAgICAgICAgICAgIGdhcDogMCAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTYwcHg7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAuOGZyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jYXRlZ29yaWUtYmxvY2sge1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMS4yZnI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ncmlkIHtcbiAgICAgICAgICAgICAgICAuY2xpcC1pbWcge1xuICAgICAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDE2LzEwO1xuICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg0bisxKSB7IC8qIFBhdHRlcm46IDEsNSw5LDEzLDE3Li4uICovXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAvLyBtYXJnaW4tdG9wOiAtODBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAuY2xpcC1pbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDRuKzIpIHsgLyogUGF0dGVybjogMiw2LDEwLDE0LDE4Li4uICovXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMzAwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuY2xpcC1pbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxNi85O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoNG4rMykgeyAvKiBQYXR0ZXJuOiAzLDcsMTEsMTUsMTkuLi4gKi9cbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtOTBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5jbGlwLWltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDEvMS4yO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoNG4rNCkgeyAvKiBQYXR0ZXJuOiA0LDgsMTIsMTYsMjAuLi4gKi9cbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzMDBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5jbGlwLWltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDEwLzE2O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmJsb2ctc2VjdGlvbi1ibG9jayB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDEuMmZyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMS4yZnI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ncmlkIHtcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTYvMTA7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxMi85O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxNi8xMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5zZXJ2aXppLWdyaWQge1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMS4yZnI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi5jb2x1bW5zLTMge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYnRuLWJsb2NrIHtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAuN2ZyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIC43ZnI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgICYuYXJyb3ctYmxvY2sge1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIC4yZnI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgLjJmcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLmNvbHVtbnMtNCB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDFmcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLmNvbHVtbnMtNSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICBcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnIgMWZyO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5ncmlkIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICYuaW52ZXJ0ZWQge1xuICAgICAgICAuZ3JpZCB7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm1vYmlsZS1pbnZlcnRlZCB7XG4gICAgICAgID4uZ3JpZCB7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJ1bC5icmVhZGNydW1icyB7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgIFxuICAgIGxpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICAvL21hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCI+XCI7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5saWdodCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYWJzLWJyZWFkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMjtcbn0iLCIuYnRuIHtcbiAgICAtLWJvcmRlci1yYWRpdXM6IDUwcHg7XG5cbiAgICAtLWJnLWNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAtLXRleHQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAtLWJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgXG4gICAgLS1iZy1jb2xvci1ob3ZlcjogdHJhbnNwYXJlbnQ7XG4gICAgLS10ZXh0LWNvbG9yLWhvdmVyOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAtLWJvcmRlci1jb2xvci1ob3ZlcjogdmFyKC0tY29sb3ItZGFyayk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDE0cHggNDBweCAxNHB4IDE2cHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29sb3IpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcblxuICAgIEBtZWRpYShtaW4td2lkdGg6MTIwMHB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDE4cHggNDBweCAxOHB4IDIwcHg7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbmUvYXJyb3ctbGlnaHQuc3ZnJyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTBweCAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuICAgXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJjpub3QoOmRpc2FibGVkKTphY3RpdmUge1xuICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1ob3Zlcik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbG9yLWhvdmVyKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItY29sb3ItaG92ZXIpO1xuXG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgIGFuaW1hdGlvbjogYXJyb3ctZGlzYXBwZWFyLXJlYXBwZWFyIDFzIGN1YmljLWJlemllciguMTksMSwuMjIsMSkgZm9yd2FyZHM7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29uZS9hcnJvdy1kYXJrLnN2ZycpO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmOm5vdCg6aG92ZXIpIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgIGFuaW1hdGlvbjogYXJyb3ctZGlzYXBwZWFyLXJlYXBwZWFyLXJldmVyc2UgMXMgY3ViaWMtYmV6aWVyKC4xOSwxLC4yMiwxKSBmb3J3YXJkcztcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb25lL2Fycm93LWxpZ2h0LnN2ZycpO1xuICAgICAgICB9XG4gICAgfVxuICAgXG5cbiAgICAmLmJ0bi1saWdodCB7XG4gICAgICAgIC0tYmctY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgLS10ZXh0LWNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgLS1ib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcblxuICAgICAgICAtLWJnLWNvbG9yLWhvdmVyOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgLS10ZXh0LWNvbG9yLWhvdmVyOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgIC0tYm9yZGVyLWNvbG9yLWhvdmVyOiB2YXIoLS1jb2xvci1saWdodCk7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29uZS9hcnJvdy1kYXJrLnN2ZycpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICY6bm90KDpkaXNhYmxlZCk6YWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWhvdmVyKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbG9yLWhvdmVyKTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWNvbG9yLWhvdmVyKTtcblxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogYXJyb3ctZGlzYXBwZWFyLXJlYXBwZWFyIDFzIGN1YmljLWJlemllciguMTksMSwuMjIsMSkgZm9yd2FyZHM7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbmUvYXJyb3ctbGlnaHQuc3ZnJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpob3Zlcikge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBhbmltYXRpb246IGFycm93LWRpc2FwcGVhci1yZWFwcGVhci1yZXZlcnNlIDFzIGN1YmljLWJlemllciguMTksMSwuMjIsMSkgZm9yd2FyZHM7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbmUvYXJyb3ctZGFyay5zdmcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIFxuICAgIH0gICBcbn1cblxuXG5Aa2V5ZnJhbWVzIGRpc2FwcGVhci1yZWFwcGVhciB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICAgIH1cbiAgICA1MC4wMSUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBkaXNhcHBlYXItcmVhcHBlYXItcmV2ZXJzZSB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICAgIH1cbiAgICA1MC4wMSUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBhcnJvdy1kaXNhcHBlYXItcmVhcHBlYXIge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDIwcHgpOyAvKiBzcGFyaXNjZSBhbmRhbmRvIGEgZGVzdHJhICovXG4gICAgfVxuICAgIDUwLjAxJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC0yMHB4KTsgLyogcmVzZXQgYSBzaW5pc3RyYSAqL1xuICAgIH1cbiAgICAyMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoMCk7IC8qIHRvcm5hIHZpc2liaWxlICovXG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFycm93LWRpc2FwcGVhci1yZWFwcGVhci1yZXZlcnNlIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDApO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgyMHB4KTtcbiAgICB9XG4gICAgNTAuMDElIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTIwcHgpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufSIsIi5mb3JtLWNvbnRhdHRpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIC5jb250YWN0LWZvcm0ge1xuICAgICAgICAvL21heC13aWR0aDogOTEycHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG5cbiAgICAgICAgICAgICYuYm9yZGVyLXRvcCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5QTkxODc7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgICAgIC5mb3JtLWlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzlBOTE4NztcblxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOjc2N3B4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6NzY3cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzlBOTE4NztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYubm8tYm9yZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5ib3JkZXItYm90dG9tIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzlBOTE4NztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgZ3JpZC1nYXA6IDA7XG4gICAgICAgICAgICAgICAgZ2FwOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFsbGVnYXRvLWZvcm0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZvcm0taW5wdXQge1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuY3VzdG9tLXdpZHRoLWlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCA1MHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmN1c3RvbS13aWR0aC10ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTgwMHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcblxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAudGl0bGUtZm9ybSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAje3B4LXRvLXJlbSgyMHB4KX07XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbiAgICAgICAgICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogI3tweC10by1yZW0oMjBweCl9O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgICAgICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjY2NjY2NjO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjY2NjY2NjO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2NjY2NjYztcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLmNvbG9yLWxpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG4gICAgICAgICAgICAgICAgICAgIC8qIENocm9tZSwgU2FmYXJpLCBFZGdlLCBPcGVyYSAqL1xuICAgICAgICAgICAgICAgICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuICAgICAgICAgICAgICAgICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8qIEZpcmVmb3ggKi9cbiAgICAgICAgICAgICAgICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5NyUgY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2ljb25lL3NlbGVjdC5wbmcpO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDE0NDFweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJisuc2VsZWN0LWFycm93IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS10aXRsZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5wcml2YWN5LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxODAwcHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcblxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDUwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmNoZWNrbWFyayB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDlweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cig5cHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTk5OTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaW5wdXQ6Y2hlY2tlZH4uY2hlY2ttYXJrOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWwgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnBzZXVkby1pbnB1dC1maWxlIHtcbiAgICAgICAgICAgICAgICAgICAgW3R5cGU9XCJmaWxlXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAucHNldWRvLWZpbGVzLWxpc3Qge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5wc2V1ZG8tYnV0dG9uLWlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC0tY29sb3ItYm9yZGVyOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA3cHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogMTQ0MXB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiB2YXIoLS1jb2xvci1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGVfZnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5saWdodCB7XG4gICAgICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICAgICAgLmZvcm0taW5wdXQge1xuXG4gICAgICAgICAgICAgICAgICAgIC50aXRsZS1mb3JtIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4gICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICYrLnNlbGVjdC1hcnJvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiBpbnZlcnQoMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLnByaXZhY3ktY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jaGVja21hcmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk5OTk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQ6Y2hlY2tlZH4uY2hlY2ttYXJrOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICBcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgLnBzZXVkby1pbnB1dC1maWxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5wc2V1ZG8tYnV0dG9uLWlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLWNvbG9yLWJvcmRlcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuW2RhdGEtZm9ybS10b2dnbGVdIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59IiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcInNhc3M6bWV0YVwiO1xuXG5AbWl4aW4gYWJzb2x1dGVfZnVsbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbn1cblxuQG1peGluIGRfZmxleCB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWl4aW4gYXNwZWN0X3JhdGlvKCRsYXJnaGV6emEsICRhbHRlenphKSB7XG4gICAgaGVpZ2h0OiAwcHg7XG4gICAgcGFkZGluZy1ib3R0b206ICgoMTAwICogJGFsdGV6emEpIC8gJGxhcmdoZXp6YSkgKiAxJTtcbn1cblxuQG1peGluIHZlcnRpY2FsQWxpZ24oJHBvc2l0aW9uOiByZWxhdGl2ZSkge1xuICAgIHBvc2l0aW9uOiAkcG9zaXRpb247XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG5AbWl4aW4gaG9yaXpvbnRhbEFsaWduKCRwb3NpdGlvbjogcmVsYXRpdmUpIHtcbiAgICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uOiByZWxhdGl2ZSkge1xuICAgIHBvc2l0aW9uOiAkcG9zaXRpb247XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkdmFsdWUpIHtcbiAgICBAaWYgbWV0YS50eXBlLW9mKCR2YWx1ZSk9PSdudW1iZXInIGFuZCBtYXRoLnVuaXQoJHZhbHVlKSAhPVwiXCIge1xuICAgICAgICBAcmV0dXJuIG1hdGguZGl2KCR2YWx1ZSwgJHZhbHVlICogMCArIDEpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gcHgtdG8tcmVtKCRweCwgJGJhc2U6IDE2KSB7XG4gICAgQHJldHVybiBtYXRoLmRpdihzdHJpcC11bml0KCRweCksICRiYXNlKSAqIDFyZW07XG59XG5cbkBmdW5jdGlvbiBjbGFtcC1yZW0oJG1pbiwgJHByZWZlcnJlZCwgJG1heCwgJGJhc2U6IDE2KSB7XG4gICAgJG1pbi1yZW06IGlmKG1hdGgudW5pdCgkbWluKT09cHgsIHB4LXRvLXJlbSgkbWluLCAkYmFzZSksICRtaW4pO1xuICAgICRtYXgtcmVtOiBpZihtYXRoLnVuaXQoJG1heCk9PXB4LCBweC10by1yZW0oJG1heCwgJGJhc2UpLCAkbWF4KTtcbiAgICBAcmV0dXJuIGNsYW1wKCN7JG1pbi1yZW19LCAjeyRwcmVmZXJyZWR9LCAjeyRtYXgtcmVtfSk7XG59IiwiLmludHJvLWF0Zi1zbGlkZXIsXG4uaW50cm8tYXRmIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LWhlaWdodDogMTAwdmg7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEsIDEsIDEsIC42KTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAuaW1nLWF0ZiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmFicy1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxufSIsIi5sb2FkZXItdHJhbnNpdGlvbi1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjQ4LCAyNDcsIDI0NSwgMSk7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjZzIGVhc2UtaW4tb3V0O1xuICAgIFxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjZzIGVhc2UtaW4tb3V0O1xuICAgIH1cbn0iLCIucGFnaW5hdGlvbiB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmJ0bi1wYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiA0MnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdvbGQpO1xuXG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nb2xkKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuXG4gICAgICAgICAgICAgICAgaSwgc3BhbntcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3VycmVudCB7XG4gICAgICAgICAgICB3aWR0aDogNDJweDtcbiAgICAgICAgICAgIGhlaWdodDogNDJweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ29sZCk7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1nb2xkKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuYW5pbWF0aW9uLWltYWdlLWNsaXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjRzIGVhc2UtaW4tb3V0O1xuXG4gICAgLmltZy1jb250ZW50ICB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuY2xpcC1pbWFnZS1hbmltYXRlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjbGlwLXBhdGggLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO1xuICAgICAgICAgICAgY2xpcC1wYXRoOiBpbnNldCgwIDAgMTAwJSAwKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgXG4gICAgICAgICAgICAuY2xpcC1pbWcgIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC40cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLm1heC0zMDAge1xuICAgICAgICBAbWVkaWEobWluLXdpZHRoOjk5MnB4KSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi53aXRoLWhvdmVyIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjRzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgLmltZy1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAuY2xpcC1pbWFnZS1hbmltYXRlIHtcbiAgICAgICAgICAgICAgICAgICAgY2xpcC1wYXRoOiBpbnNldCgwIDAgMCAwKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY2xpcC1wYXRoIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgLmNsaXAtaW1nICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC40cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJsb2NrLXN0aWNreS1ncmlke1xuICAgIC5maXgtYmxvY2sge1xuICAgICAgICAvKiBAbWVkaWEobWluLXdpZHRoOjk5MnB4KSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB0b3A6IDEwMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA4MHZoO1xuICAgICAgICB9ICovXG5cbiAgICAgICAgJi5oLWF1dG97XG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOjk5MnB4KSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0b3A6IHVuc2V0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2Vydml6aSB7XG4gICAgLmltZy1zZXJ2aXppbyB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zZXJ2aXppLW1lbnUge1xuICAgIHBhZGRpbmc6IDI0cHggMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxNywgMTcsIDE3LCAuMik7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDE3LCAxNywgMTcsIC4yKTtcbiAgICB9XG59XG5cbi5wcm9kdXppb25lLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgIC5wcm9kdXppb25lLWJsb2NrIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgLjVmcik7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICBcbiAgICAgICAgLmdyaWQtaXRlbSB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzLCB0cmFuc2Zvcm0gMC4zcztcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgXG4gICAgICAgICAgICAmLmhpZGUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAmLnNtYWxsIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiA3O1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAzO1xuICAgICAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDE2LzEwO1xuICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDEyLzEwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgICAgICYud2lkZSB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gNztcbiAgICBcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gNDtcbiAgICAgICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxNi8xMDtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxvYWQtcHJvZHV6aW9uaSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICYuaGlkZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgZm9udC1zaXplOiA4MHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdG9wOiAyMCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdXppb25lLWRldHRhZ2xpby1ibG9jayB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg5LCAuNWZyKTtcbiAgICBnYXA6IDEwcHg7XG5cbiAgICAuZ3JpZC1pdGVtIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYuc21hbGwge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gOTtcblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gNDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDE2LzEwO1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTIvOS40O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIFxuICAgICAgICAmLndpZGUge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gOTtcblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gNTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDE2LzEwO1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi50aGluIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDk7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxMC8xNjtcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4ucHJvZG90dGktY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAucHJvZG90dGktYmxvY2sge1xuICAgICAgICAvL2Rpc3BsYXk6IGdyaWQ7XG4gICAgICAgIC8vZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoOSwgLjVmcik7XG4gICAgICAgIC8vZ2FwOiAxMHB4O1xuXG4gICAgICAgIC5ncmlkLWl0ZW0sXG4gICAgICAgIC5ncmlkIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcywgdHJhbnNmb3JtIDAuM3M7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXG4gICAgICAgICAgICAmLmhpZGUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgLyogICYuc21hbGwge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDk7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxNi8xMDtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDEwLzE1Ljk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAgICAgJi53aWRlIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiA5O1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxNi8xMDtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSAqL1xuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9hZC1wcm9kb3R0aSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICYuaGlkZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgZm9udC1zaXplOiA4MHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdG9wOiAyMCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ibG9nLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIC41ZnIpO1xuICAgIGdhcDogMTBweDtcblxuICAgIC5ncmlkLWl0ZW0ge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzLCB0cmFuc2Zvcm0gMC4zcztcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG5cbiAgICAgICAgJi5oaWRlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLnNtYWxsIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDc7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxNi8xMDtcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDEyLzEwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIFxuICAgICAgICAmLndpZGUge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gNztcblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gNDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDE2LzEwO1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmlsdHJpLWNhdGVnb3JpZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLm9wZW4tZmlsdHJpIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAxOHB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBtYXJnaW46IDAgMTVweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGZvbnQtc2l6ZTogI3tweC10by1yZW0oMjBweCl9O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nb2xkKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOjk5MnB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAje3B4LXRvLXJlbSgyNHB4KX07XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5maWx0ZXItY29udGFpbmVyIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxNywgMTcsIDE3LCAuMik7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTcsIDE3LCAxNywgLjIpO1xuICAgIFxuICAgIEBtZWRpYShtaW4td2lkdGg6OTkycHgpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIEBtZWRpYShtYXgtd2lkdGg6OTkxcHgpIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHBhZGRpbmc6IDI1cHggNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICAgICAgei1pbmRleDogNDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJi5tZW51LW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzIGVhc2UtaW4tb3V0O1xuICAgIH1cblxuICAgIC5jbG9zZS1maWx0cmkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggNXB4O1xuICAgICAgICBtYXJnaW46IDAgMTVweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBmb250LXNpemU6ICN7cHgtdG8tcmVtKDIwcHgpfTtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOjk5MnB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOjEyMDBweCkge1xuICAgICAgICAgICAgZ2FwOiAyMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIFxuICAgICAgICBsaSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOjk5MnB4KSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDo5OTJweCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICN7cHgtdG8tcmVtKDE2cHgpfTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOjEyMDBweCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICN7cHgtdG8tcmVtKDIwcHgpfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDoxNjAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNDBweDtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuYWN0aXZlLWZpbHRlcixcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWdvbGQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6OTkycHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6OTkycHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnByb2RvdHRpLWZpbHRlcnMge1xuICAgICAgICB1bCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6OTkycHgpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2Vydml6aS1ncmlkIHtcbiAgICAub3Blbi1maWx0cmkge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDE4cHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIG1hcmdpbjogMCAxNXB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgZm9udC1zaXplOiAje3B4LXRvLXJlbSgyMHB4KX07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdvbGQpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB2aXNpYmlsaXR5OiBpbmhlcml0O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC44cyBlYXNlLWluLW91dDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6OTkycHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLnNlcnZpemktZ3JpZC12aXNpYmxlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlcnZpemktZml4LWJsb2NrIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHBhZGRpbmc6IDI1cHggNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcblxuICAgICAgICBcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDo5OTJweCkge1xuICAgICAgICAgICAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xuICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHRvcDogMTA0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMDRweCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBsZWZ0OiB1bnNldDtcbiAgICAgICAgICAgIHJpZ2h0OiB1bnNldDtcbiAgICAgICAgICAgIGJvdHRvbTogdW5zZXQ7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOjk5MXB4KSB7XG4gICAgICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5tZW51LW9wZW4ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICAuY2xvc2UtZmlsdHJpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCA1cHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgMTVweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICBmb250LXNpemU6ICN7cHgtdG8tcmVtKDIwcHgpfTtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDo5OTJweCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5zZXJ2aXppLW1lbnUtZmlsdHJpIHtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDo5OTJweCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOjk5MnB4KSB7ICAgXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6OTkycHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxNXB4IDVweCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ib3JkZXItYm90dG9tIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTcsIDE3LCAxNywgLjIpO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udGFncy1saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMTBweDtcblxuICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE3LCAxNywgMTcsIC4yKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nb2xkKTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWdvbGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYWRkcmVzcy1jb250YWluZXIge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDE3LCAxNywgMTcsIC44KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxNywgMTcsIDE3LCAuOCk7XG4gICAgXG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6NzY4cHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBnYXA6IDIwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOjk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nb2xkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLm1haW5TbGlkZXJBdGYge1xuICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuXG4gICAgLnN3aXBlci13cmFwcGVyIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwdmg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuXG4gICAgICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4udGh1bWJTbGlkZXJBdGYge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIC5zd2lwZXItd3JhcHBlciB7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICB3aWR0aDogMzAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAuYXV0b3BsYXktcHJvZ3Jlc3Mge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7IFxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDE3LCAxNywgMTcsIC42KTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwcztcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgJi5zaG93IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDNzIGxpbmVhcjtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2xpZGVyUHJvZHV6aW9uZS5zd2lwZXIge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIFxuICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmltZy1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIC5pbWctY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG59XG5cbi5zbGlkZXJNYWNjaGluYXJpLnN3aXBlciB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgXG4gICAgLnN3aXBlci1zbGlkZSB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICAvL2FzcGVjdC1yYXRpbzogMTYvMTA7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMzU4cHg7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzNThweDtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1NThweDtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA1NThweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgICB3aWR0aDogNDUlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICB3aWR0aDogNTUlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubWFjY2hpbmFyaS1hcnJvdyB7XG4gICAgLnN3aXBlci1idXR0b24tbmV4dC1jdXN0b20sXG4gICAgLnN3aXBlci1idXR0b24tcHJldi1jdXN0b20ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIH1cbn0iLCJoZWFkZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiA0O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgaGVpZ2h0OiA2MHB4O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIH1cbiAgICBcbiAgICAuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgICAgICAgXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMzVweDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5sb2dvLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDY1cHgpO1xuICAgICAgICAgICAgb3JkZXI6IDE7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzNjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAubG9nby1kYXJrIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLmxvZ28tbGlnaHQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1NHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDU3NnB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA3MHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBuYXYubWVudS1jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDY1cHg7XG4gICAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzYwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzYwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICB1bC5tZW51IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMHZ3KTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA2MHB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICAmLmxpbmstbWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA+YSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktbWVudSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC43O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5oYW1idXJnZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sYW5nLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogNzBweDtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxpbmstY3RhIHtcbiAgICAgICAgICAgICAgICAmLmRlc2t0b3Age1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxhbmd1YWdlLW1lbnUtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIC5zZWxlY3RlZC1sYW5ndWFnZSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0xNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubGFuZ3VhZ2UtbWVudSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJi5oaWRlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYubGlnaHQtaGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICBcbiAgICAgICAgLmhlYWRlci1jb250YWluZXIge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMzYsIDQ1LCA0OSwgMCk7XG5cbiAgICAgICAgICAgIC5sb2dvLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIC5sb2dvLWRhcmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIC5sb2dvLWxpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgXG4gICAgICAgICAgICBuYXYubWVudS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHVsLm1lbnUgeyAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYubGluay1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspOyBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAuaGFtYnVyZ2VyIHtcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxhbmctY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAubGFuZ3VhZ2UtbWVudS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAuc2VsZWN0ZWQtbGFuZ3VhZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWxpZ2h0LWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5ib2R5IHtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICYubWVudS1vcGVuIHtcbiAgICAgICAgaGVhZGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmhlYWRlci1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIC5sb2dvLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmxvZ28tZGFyayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIC5sb2dvLWxpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBuYXYubWVudS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHVsLm1lbnUge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cbiAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgJi5saW5rLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYubWVnYW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhW2RhdGEtb3Blbi1zdWJtZW51XSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucGx1cyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ZnIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC5oYW1idXJnZXIge1xuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy9hbmltYXRpb24tbmFtZTogaGFtYnVyZ2VyX3RvZ2dsZV9iZWZvcmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IC41cztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDdweCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvL2FuaW1hdGlvbi1uYW1lOiBoYW1idXJnZXJfdG9nZ2xlX2FmdGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNXM7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLnN0aWNreS1oZWFkZXIge1xuICAgICAgICBoZWFkZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuOCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIGhlaWdodDogODBweDtcblxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubG9nby1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5sb2dvLWRhcmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAubG9nby1saWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLyogaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0NnB4O1xuICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNjVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9ICovXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBuYXYubWVudS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICB1bC5tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA3MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5saW5rLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTsgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIC5oYW1idXJnZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5sYW5nLWNvbnRhaW5lciB7XG5cbiAgICAgICAgICAgICAgICAgICAgLmxpbmstY3RhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYuZGVza3RvcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmJ0bi1saWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmFycm93IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29uZS9hcnJvdy1saWdodC5zdmcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29uZS9hcnJvdy1kYXJrLnN2ZycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmxhbmd1YWdlLW1lbnUtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zZWxlY3RlZC1sYW5ndWFnZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmxhbmd1YWdlLW1lbnUtb3BlbiB7XG4gICAgICAgIGhlYWRlciB7XG4gICAgICAgICAgICAuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgLmxhbmctY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgLmxhbmd1YWdlLW1lbnUtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5sYW5ndWFnZS1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAuc2VsZWN0ZWQtbGFuZ3VhZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi53aGF0c2FwcC1maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogNXB4O1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHotaW5kZXg6IDI7XG4gICAgd2lkdGg6IDU4cHg7XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG59IiwiZm9vdGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuY29weXJpZ2h0IHtcbiAgICAgICAgLmJsb2NrLWdyaWRzIHtcbiAgICAgICAgICAgICYuY29sdW1ucy0yIHtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjNmciAuN2ZyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59Il19 */
