@charset "UTF-8";
/*
A simple little SCSS mixin for creating scrim gradients 
Inspired by Andreas Larson - https://github.com/larsenwork
https://css-tricks.com/easing-linear-gradients/
*/
html {
  --clr-gold: #D5A75E;
  --clr-goldDark: #AE7A28;
  --clr-text: #23211D;
  --clr-text20: rgba(35, 33, 29, 0.2);
  --clr-bg: #F6F0E8;
  --clr-bg2: #E4D8C9;
  --clr-link: #D5A75E;
  --pageMargin: 1.25rem;
  --verticalMargin: 4rem;
}
@media screen and (min-width: 420px) {
  html {
    --pageMargin: 1.5rem;
    --verticalMargin: 5rem;
  }
}
@media screen and (min-width: 960px) {
  html {
    --pageMargin: 2.5rem;
    --verticalMargin: 6rem;
  }
}
@media screen and (min-width: 960px) {
  html {
    --pageMargin: 3rem;
    --verticalMargin: 8rem;
  }
}
@media screen and (min-width: 1280px) {
  html {
    --verticalMargin: 10rem;
  }
}

html.dark {
  --clr-text: #F6F0E8;
  --clr-text20: rgba(246, 240, 232, 0.2);
  --clr-bg: #23211D;
  --clr-bg2: #413B32;
}

@font-face {
  font-family: "Gambarino-Regular";
  src: url("../fonts/Gambarino-Regular.woff2") format("woff2"), url("../fonts/Gambarino-Regular.woff") format("woff");
  font-weight: 400;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: "Neutraface Text";
  src: url("../fonts/NeutrafaceText-Light.woff2") format("woff2"), url("../fonts/NeutrafaceText-Light.woff") format("woff");
  font-style: normal;
  font-weight: 300;
  font-stretch: normal;
}
@font-face {
  font-family: "Neutraface Text";
  src: url("../fonts/NeutrafaceText-LightItalic.woff2") format("woff2"), url("../fonts/NeutrafaceText-LightItalic.woff") format("woff");
  font-style: italic;
  font-weight: 300;
  font-stretch: normal;
}
@font-face {
  font-family: "Neutraface Text";
  src: url("../fonts/NeutrafaceText-Book.woff2") format("woff2"), url("../fonts/NeutrafaceText-Book.woff") format("woff");
  font-style: normal;
  font-weight: normal;
  font-stretch: normal;
}
@font-face {
  font-family: "Neutraface Text";
  src: url("../fonts/NeutrafaceText-BookItalic.woff2") format("woff2"), url("../fonts/NeutrafaceText-BookItalic.woff") format("woff");
  font-style: italic;
  font-weight: normal;
  font-stretch: normal;
}
@font-face {
  font-family: "Neutraface Text";
  src: url("../fonts/NeutrafaceText-Demi.woff2") format("woff2"), url("../fonts/NeutrafaceText-Demi.woff") format("woff");
  font-style: normal;
  font-weight: 600;
  font-stretch: normal;
}
@font-face {
  font-family: "Neutraface Text";
  src: url("../fonts/NeutrafaceText-DemiItalic.woff2") format("woff2"), url("../fonts/NeutrafaceText-DemiItalic.woff") format("woff");
  font-style: italic;
  font-weight: 600;
  font-stretch: normal;
}
@font-face {
  font-family: "Neutraface Text";
  src: url("../fonts/NeutrafaceText-Bold.woff2") format("woff2"), url("../fonts/NeutrafaceText-Bold.woff") format("woff");
  font-style: normal;
  font-weight: bold;
  font-stretch: normal;
}
@font-face {
  font-family: "Neutraface Text";
  src: url("../fonts/NeutrafaceText-BoldItalic.woff2") format("woff2"), url("../fonts/NeutrafaceText-BoldItalic.woff") format("woff");
  font-style: italic;
  font-weight: bold;
  font-stretch: normal;
}
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1 {
  font-size: calc(2.0833333333vw + 30px);
}
@media screen and (min-width: 1920px) {
  h1 {
    font-size: 70px;
  }
}
h1 {
  line-height: 1.15em;
  margin-top: 0;
  font-family: "Gambarino-Regular";
  font-weight: normal;
}

h2 {
  margin: 0px;
}

.section > h2 {
  text-align: center;
}

.t-h2 {
  font-size: calc(0.7692307692vw + 22.9230769231px);
}
@media screen and (max-width: 400px) {
  .t-h2 {
    font-size: 26px;
  }
}
@media screen and (min-width: 2740px) {
  .t-h2 {
    font-size: 44px;
  }
}
.t-h2 {
  font-family: "Gambarino-Regular";
  line-height: 1.15em;
  font-weight: normal;
}

.t-lead {
  font-size: calc(0.5769230769vw + 21.6923076923px);
}
@media screen and (max-width: 400px) {
  .t-lead {
    font-size: 24px;
  }
}
@media screen and (min-width: 2306px) {
  .t-lead {
    font-size: 35px;
  }
}
@media screen and (max-width: 419px) {
  .t-lead {
    hyphens: auto;
  }
}

.t-h3 {
  font-size: calc(0.4807692308vw + 18.0769230769px);
}
@media screen and (max-width: 400px) {
  .t-h3 {
    font-size: 20px;
  }
}
@media screen and (min-width: 1856px) {
  .t-h3 {
    font-size: 27px;
  }
}
.t-h3 {
  font-weight: 600;
}

.t-big {
  font-size: calc(0.3846153846vw + 16.4615384615px);
}
@media screen and (max-width: 400px) {
  .t-big {
    font-size: 18px;
  }
}
@media screen and (min-width: 2480px) {
  .t-big {
    font-size: 26px;
  }
}

.t-base {
  font-size: calc(0.3846153846vw + 16.4615384615px);
}
@media screen and (max-width: 400px) {
  .t-base {
    font-size: 18px;
  }
}
@media screen and (min-width: 1960px) {
  .t-base {
    font-size: 24px;
  }
}

.t-small {
  font-size: calc(0.3846153846vw + 14.4615384615px);
}
@media screen and (max-width: 400px) {
  .t-small {
    font-size: 16px;
  }
}
@media screen and (min-width: 1960px) {
  .t-small {
    font-size: 22px;
  }
}

.linkButton {
  font-size: calc(0.3819444444vw + 16.5px);
}
@media screen and (min-width: 1920px) {
  .linkButton {
    font-size: 23.8333333333px;
  }
}

.nav__link {
  font-size: calc(0.2777777778vw + 12px);
}
@media screen and (min-width: 1920px) {
  .nav__link {
    font-size: 17.3333333333px;
  }
}
.nav__link {
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.subnav__link {
  font-size: calc(0.2546296296vw + 18.3333333333px);
}
@media screen and (min-width: 1920px) {
  .subnav__link {
    font-size: 23.2222222222px;
  }
}
.subnav__link {
  font-weight: 400;
}

.legalContent {
  font-size: calc(0.3846153846vw + 16.4615384615px);
}
@media screen and (max-width: 400px) {
  .legalContent {
    font-size: 18px;
  }
}
@media screen and (min-width: 1960px) {
  .legalContent {
    font-size: 24px;
  }
}
.legalContent h2 {
  font-family: "Gambarino-Regular";
  line-height: 1.15em;
  font-weight: normal;
}
.legalContent h2:not(:first-child) {
  margin-top: calc(var(--verticalMargin) / 2);
}

html {
  box-sizing: border-box;
}

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

html {
  font-family: "Neutraface Text", sans-serif;
  text-rendering: optimizeLegibility;
  color: var(--clr-text);
}

body.headerTheme--dark {
  --clr-text: #F6F0E8;
  --clr-text20: rgba(246, 240, 232, 0.2);
  --clr-bg: #413B32;
  --clr-bg2: #23211D;
}
body {
  margin: 0;
  padding: 0;
  background-color: #413B32;
}
body > * {
  background-color: var(--clr-bg);
}

main {
  padding: 0 var(--pageMargin);
  min-height: 100vh;
  padding-bottom: 2rem;
}

a {
  color: var(--clr-text);
}

address a, p > a {
  text-decoration-line: underline;
  text-decoration-thickness: 0.035em;
  text-underline-offset: 3px;
}

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

figure {
  margin: 0;
}

.no-content {
  width: 100%;
  height: 100%;
  min-height: 200px;
  background-color: var(--clr-text20);
  color: var(--clr-text);
  display: flex;
  align-items: center;
  justify-content: center;
}

.visuallyHidden:not(:focus):not(:active) {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

figcaption {
  max-width: 40em;
}

.lineHover {
  position: relative;
}
.lineHover::before, .lineHover::after {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
  transition: width 0.3s ease-in, height 0.3s ease-in, opacity 0.4s ease-in;
}
.lineHover::before {
  bottom: -1px;
  left: -1px;
  border-left: 1px solid var(--clr-gold);
  border-bottom: 1px solid var(--clr-gold);
}
.lineHover::after {
  top: -1px;
  right: -1px;
  border-top: 1px solid var(--clr-gold);
  border-right: 1px solid var(--clr-gold);
}
a:hover .lineHover::before, a:hover .lineHover::after, .lineHover:hover::before, .lineHover:hover::after {
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  opacity: 1;
  transition: width 0.4s cubic-bezier(0.23, 0.24, 0, 1), height 0.4s cubic-bezier(0.23, 0.24, 0, 1), opacity 0.2s ease-out;
}

.navHeaderSpacer {
  position: absolute;
  height: 30px;
}
@media screen and (min-width: 600px) {
  .navHeaderSpacer {
    height: 60px;
  }
}

main, footer {
  transition: opacity 0.25s cubic-bezier(0.4, 0, 0.3, 1);
}

.menu-open {
  overflow: hidden;
}
.menu-open main, .menu-open footer {
  opacity: 0;
}

.navHeader {
  --clr-text: #F6F0E8;
  --clr-text20: rgba(246, 240, 232, 0.2);
  --clr-bg: #413B32;
  --clr-bg2: #23211D;
  --clr-link: #D5A75E;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 99;
  background-color: transparent;
  height: 120px;
}
@media screen and (min-width: 960px) {
  .navHeader {
    background-color: transparent;
    display: flex;
    justify-content: center;
  }
}
.navHeader.--sticky {
  box-shadow: 0 0px 20px 10px rgba(0, 0, 0, 0.2);
  background-color: var(--clr-bg);
  height: 60px;
}
.navHeader.--open {
  box-shadow: none;
}
.navHeader__logoMenu {
  padding-top: 1rem;
  background-color: transparent;
  height: 120px;
  position: absolute;
  z-index: 2;
}
.--animation .navHeader__logoMenu {
  transition: background-color 0.25s step-start;
}
.--sticky .navHeader__logoMenu {
  height: 60px;
  background-color: var(--clr-bg);
}
.--open .navHeader__logoMenu {
  height: 120px;
  background-color: transparent;
}
@media screen and (max-width: 959px) {
  .navHeader__logoMenu {
    width: 100%;
  }
}
@media screen and (min-width: 960px) {
  .navHeader__logoMenu {
    background-color: transparent;
    background: none;
  }
  .--sticky .navHeader__logoMenu {
    background-color: transparent;
  }
}
.navHeader__logo {
  width: 3.5rem;
  margin: 0 auto;
  transform: translateY(0);
  display: block;
  height: 100%;
}
.navHeader__logomark {
  display: block;
  width: 2.5rem;
  margin: 0 auto 0.5rem auto;
  opacity: 1;
  transform: translateY(0);
}
.--animation .navHeader__logomark {
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.3, 1), opacity 0.25s linear;
}
.--sticky .navHeader__logomark {
  opacity: 0.1;
  transform: translateY(-16px);
}
.--open .navHeader__logomark {
  transform: translateY(0);
  opacity: 1;
}
.navHeader__logomark path {
  fill: var(--clr-gold);
}
.--animation .navHeader__logotype {
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.3, 1), background-color 0.25s cubic-bezier(0.4, 0, 0.3, 1);
}
.--sticky:not(.--open) .navHeader__logotype {
  transform: translateY(-63px);
}
.navHeader__logotype path {
  fill: var(--clr-text);
}
.navHeader--bright:not(.--open):not(.--sticky) .navHeader__logotype path {
  fill: #413B32;
}
.navHeader__button {
  margin: 0;
  padding: 0;
  position: absolute;
  top: var(--pageMargin);
  right: var(--pageMargin);
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: none;
  border: none;
  font-weight: 700;
  font-size: 0.75rem;
}
.--animation .navHeader__button {
  transition: top 0.25s cubic-bezier(0.4, 0, 0.3, 1);
}
.--sticky .navHeader__button {
  top: 1rem;
}
@media screen and (min-width: 960px) {
  .navHeader__button {
    display: none;
  }
}
.navHeader__icon {
  width: 32px;
  height: 32px;
  overflow: visible;
  position: relative;
  transition: width 0.25s cubic-bezier(0.4, 0, 0.3, 1), height 0.25s cubic-bezier(0.4, 0, 0.3, 1);
}
.navHeader__icon line {
  stroke-width: 1px;
  stroke: var(--clr-gold);
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.3, 1), opacity 0.25s cubic-bezier(0.4, 0, 0.3, 1);
  opacity: 1;
}
.--open .navHeader__icon line:nth-child(1) {
  transform: translate(15%, 15%) rotate(45deg);
}
.--open .navHeader__icon line:nth-child(2) {
  transform: translateX(8px);
  opacity: 0;
}
.--open .navHeader__icon line:nth-child(3) {
  transform: translateX(8px);
  opacity: 0;
}
.--open .navHeader__icon line:nth-child(4) {
  transform: translateX(8px);
  opacity: 0;
}
.--open .navHeader__icon line:nth-child(5) {
  transform: translate(-48%, 22%) rotate(-45deg);
}
.navHeader--bright:not(.--open):not(.--sticky) .navHeader__icon line {
  stroke: var(--clr-goldDark);
}

.nav {
  width: 100%;
  pointer-events: none;
  height: 0;
  position: relative;
}
@media screen and (max-width: 959px) {
  .nav {
    overflow-y: scroll;
    opacity: 0;
    padding-bottom: 4rem;
    transform: translateY(-2rem);
  }
  .--animation .nav {
    transition: opacity 0.25s cubic-bezier(0.4, 0, 0.3, 1), transform 0.25s cubic-bezier(0.4, 0, 0.3, 1), height 0.25s step-end;
  }
  .--animation.--open .nav {
    transition: opacity 0.25s cubic-bezier(0.4, 0, 0.3, 1), transform 0.25s cubic-bezier(0.4, 0, 0.3, 1), height 0.25s step-start;
  }
  .--open .nav {
    height: calc(100vh - 10px);
    height: 100dvh;
    opacity: 1;
    pointer-events: all;
    transform: translateY(0);
  }
  .nav::before {
    content: "";
    display: block;
    width: 100%;
    height: 9rem;
    position: sticky;
    top: 0;
    z-index: 2;
    opacity: 0;
    transform: translateY(-10rem);
    background: linear-gradient(to bottom, var(--clr-bg) 50%, transparent) 100%;
    transition: transform 1.5s ease-out;
  }
  .nav::after {
    content: "";
    display: block;
    width: 100%;
    position: sticky;
    height: 5rem;
    bottom: 0;
    transform: translateY(15rem);
    z-index: 1;
    background: linear-gradient(to top, var(--clr-bg) 30%, transparent) 100%;
    transition: transform 1.5s ease-out;
  }
  .--open .nav::before {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.25s;
  }
  .--open .nav::after {
    opacity: 1;
    transform: translateY(5rem);
    transition-delay: 0.25s;
  }
}
@media screen and (min-width: 960px) {
  .nav {
    height: auto;
    opacity: 1;
    pointer-events: all;
    margin-top: 2rem;
    right: 0;
    transition: margin-top 0.25s cubic-bezier(0.4, 0, 0.3, 1);
  }
  .--sticky .nav {
    margin-top: 12px;
  }
  .--animation .nav {
    transition: margin-top 0.25s cubic-bezier(0.4, 0, 0.3, 1);
  }
}
.nav__list {
  padding: 0;
  margin: 0;
}
@media screen and (max-width: 959px) {
  .nav__list {
    border-bottom: 1px solid var(--clr-text20);
  }
}
@media screen and (min-width: 960px) {
  .nav__list {
    display: flex;
    width: auto;
    gap: 5vw;
  }
  .nav__list--right {
    justify-content: flex-end;
    margin-right: var(--pageMargin);
  }
  .nav__list--center {
    justify-content: center;
  }
}
.nav__item {
  list-style-type: none;
}
@media screen and (max-width: 959px) {
  .nav__item {
    width: 100%;
    border-top: 1px solid var(--clr-text20);
  }
  .--open .nav__item {
    transform: translateY(0);
  }
}
@media screen and (min-width: 960px) {
  .nav__item {
    position: relative;
  }
  .nav__item:hover {
    padding-bottom: 55px;
  }
}
.nav .subnav__item {
  list-style-type: none;
}
@media screen and (max-width: 959px) {
  .nav .subnav__item {
    border-top: 1px solid var(--clr-text20);
  }
}
@media screen and (min-width: 960px) {
  .nav__list--4 .nav__item:nth-child(3) {
    margin-left: 15vw;
  }
}
@media screen and (min-width: 960px) {
  .nav__list--5 .nav__item:nth-child(4), .nav__list--6 .nav__item:nth-child(4) {
    margin-left: 15vw;
  }
}
@media screen and (min-width: 960px) {
  .nav__list--7 .nav__item:nth-child(5), .nav__list--8 .nav__item:nth-child(5) {
    margin-left: 15vw;
  }
}
.nav__link {
  color: var(--clr-text);
}
.navHeader--bright:not(.--sticky) .nav__link {
  color: #413B32;
}
@media screen and (max-width: 959px) {
  .nav__item:not(.nav__item--contact) .nav__link {
    opacity: 0.4;
  }
  .navHeader--bright.--open .nav__link {
    color: var(--clr-text);
  }
}
@media screen and (min-width: 960px) {
  .nav__item:hover .nav__link {
    color: var(--clr-link);
  }
  .navHeader--bright:not(.--sticky) .nav__item:hover .nav__link {
    color: var(--clr-goldDark);
  }
  .nav__item:hover .nav__link::after {
    opacity: 1;
  }
}
@media screen and (min-width: 960px) {
  .nav .subnav__link:hover {
    color: var(--clr-link);
  }
  .nav .subnav__link:hover::after {
    opacity: 1;
  }
}
.nav__link, .nav .subnav__link {
  text-decoration: none;
}
@media screen and (max-width: 959px) {
  .nav__link, .nav .subnav__link {
    flex-grow: 1;
    display: flex;
    height: 3.5rem;
    align-items: center;
    padding: 0 1.5rem;
  }
}
@media screen and (min-width: 960px) {
  .nav__link, .nav .subnav__link {
    height: auto;
    position: relative;
    padding: 0.5rem;
    display: block;
  }
  .nav__link::after, .nav .subnav__link::after {
    content: "";
    display: block;
    position: absolute;
    box-sizing: content-box;
    top: -1px;
    left: -1px;
    width: calc(100% + 1px);
    height: calc(100% + 1px);
    border: 1px solid var(--clr-link);
    opacity: 0;
  }
}

.subnav {
  width: calc(100% - 1.5rem);
  margin: 0 0 0 1.5rem;
  border-left: 1px solid var(--clr-text20);
  padding: 0;
}
@media screen and (min-width: 960px) {
  .subnav {
    display: none;
    width: auto;
    position: absolute;
    top: 48px;
    left: -1px;
    margin-left: 0;
    border-left: 1px solid var(--clr-link);
    background-color: var(--clr-bg);
    z-index: 10;
    box-shadow: 0 12px 18px -3px rgba(0, 0, 0, 0.3);
  }
  .subnav__item {
    margin: 1rem;
  }
  .nav__item:hover .subnav {
    display: block;
  }
}
.navHeader--bright .subnav__link {
  color: var(--clr-text);
}

.section {
  margin-top: var(--verticalMargin);
  margin-bottom: calc(var(--verticalMargin) * 1);
  display: flex;
  flex-direction: column;
  align-items: center;
  scroll-margin-top: 100px;
}
.section:nth-child(2) {
  margin-top: calc(var(--verticalMargin) / 1.5);
}
.section__title {
  margin-bottom: 2.5rem;
}
.section__lead {
  max-width: 35em;
  margin-top: 0;
  margin-bottom: 3.75rem;
  font-weight: 300;
  text-align: center;
}
.section > *:last-child {
  margin-bottom: 0;
}

.linkButton {
  text-decoration: none;
  display: flex;
  align-items: center;
  color: var(--clr-link);
  min-height: 1.6rem;
}
.linkButton__icon {
  height: 1.6rem;
  padding-left: 1.2rem;
  border-left: 1px solid var(--clr-link);
  position: relative;
  overflow: hidden;
}
.linkButton__icon::before {
  content: "";
  display: block;
  position: absolute;
  width: 20px;
  height: 20px;
  left: -11px;
  border: 1px solid var(--clr-link);
  top: calc(50% - 10px);
  transform: translateX(-6px) rotate(45deg);
  transition: transform 0.2s ease-in-out;
}
.linkButton__text {
  transition: transform 0.2s ease-in-out;
  display: inline-block;
  padding-right: 0.5em;
  line-height: 1.1em;
}
.linkButton:hover .linkButton__text, a:hover .linkButton .linkButton__text {
  transform: translateX(6px);
}
.linkButton:hover .linkButton__icon::before, a:hover .linkButton__icon::before {
  transform: translateX(-0.5px) rotate(45deg);
}

.linkExtern {
  text-decoration: none;
  display: block;
  color: var(--clr-link);
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  padding-right: 2em;
  position: relative;
  transition: color 0.15s ease-out;
}
.linkExtern:hover {
  --clr-link: var(--clr-text);
}
.linkExtern__text {
  transition: transform 0.15s ease-out;
  display: inline-block;
}
.linkExtern:hover .linkExtern__text {
  transform: translateX(3px);
}
.linkExtern__icon {
  display: inline-block;
  position: absolute;
  top: -3px;
  right: 0;
  width: 1em;
  height: 2em;
  border-left: 1px solid var(--clr-link);
  transform: translate(0, -5px) rotate(-45deg);
  transition: transform 0.15s ease-out;
  overflow: hidden;
}
.linkExtern__icon::before {
  content: "";
  display: block;
  width: 1.5em;
  height: 1.5em;
  border: 1px solid var(--clr-link);
  transition: transform 0.15s ease-out;
  transform: rotate(-45deg) translate(-17px, -12px);
}
.linkExtern:hover .linkExtern__icon {
  transform: translate(3px, -8px) rotate(-45deg);
}
.linkExtern:hover .linkExtern__icon::before {
  transform: rotate(-45deg) translate(-15px, -10px);
}

@keyframes zoomIn {
  0% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
.header--dark {
  --clr-bg: #23211D;
}
.header--home.header--dark {
  --clr-text: #F6F0E8;
}
.header {
  z-index: 2;
  position: relative;
  color: var(--clr-text);
  margin-left: calc(var(--pageMargin) * -1);
  margin-right: calc(var(--pageMargin) * -1);
}
.header--home {
  padding-top: calc(var(--verticalMargin) / 3 + 10vh);
  height: 100vh;
  height: 100svh;
}
.header--standard {
  padding-top: calc(var(--verticalMargin) / 3 + 10vh);
}
.header--standard, .header--image {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: calc(var(--verticalMargin) / 2);
}
.header__image {
  background-color: var(--clr-bg);
}
.header--home .header__image {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
  overflow: hidden;
}
.header--home .header__image img {
  animation: zoomIn 2s cubic-bezier(0.2, 0.22, 0.4, 1);
}
.header--image .header__image {
  width: 100%;
  height: 60vh;
  overflow: hidden;
}
.header__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.header__image::before {
  content: "";
  display: block;
  width: 100%;
  height: 250px;
  position: absolute;
  background: linear-gradient(to bottom, var(--clr-bg), transparent);
  background: linear-gradient(to bottom, #f6f0e8 0%, rgba(246, 240, 232, 0.738) 35.2%, rgba(246, 240, 232, 0.541) 47.2%, rgba(246, 240, 232, 0.382) 57.6%, rgba(246, 240, 232, 0.278) 65.2%, rgba(246, 240, 232, 0.194) 72%, rgba(246, 240, 232, 0.126) 78.4%, rgba(246, 240, 232, 0.075) 84.16%, rgba(246, 240, 232, 0.042) 88.88%, rgba(246, 240, 232, 0.021) 92.8%, rgba(246, 240, 232, 0.008) 96.16%, rgba(246, 240, 232, 0.002) 98.56%, rgba(246, 240, 232, 0) 100%);
  z-index: 2;
}
.header--dark .header__image::before {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.6), transparent);
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.4428) 27.1%, rgba(0, 0, 0, 0.3246) 40.6%, rgba(0, 0, 0, 0.2292) 52.3%, rgba(0, 0, 0, 0.1668) 60.85%, rgba(0, 0, 0, 0.1164) 68.5%, rgba(0, 0, 0, 0.0756) 75.7%, rgba(0, 0, 0, 0.045) 82.18%, rgba(0, 0, 0, 0.0252) 87.49%, rgba(0, 0, 0, 0.0126) 91.9%, rgba(0, 0, 0, 0.0048) 95.68%, rgba(0, 0, 0, 0.0012) 98.38%, rgba(0, 0, 0, 0) 100%);
}
.header--home .header__image > img {
  object-position: 70% 70%;
}
.header__title {
  text-align: center;
  margin-top: 11vh;
  margin-left: var(--pageMargin);
  margin-right: var(--pageMargin);
}
.header__title:last-child {
  margin-bottom: 0;
}
.header__lead {
  max-width: 35em;
  margin: 0;
  margin-left: var(--pageMargin);
  margin-right: var(--pageMargin);
  font-weight: 300;
  text-align: center;
  margin-bottom: 5vh;
}

.homeTeaser {
  height: calc(55svh - var(--pageMargin));
  padding: 1rem;
  position: absolute;
  bottom: var(--pageMargin);
  left: var(--pageMargin);
  right: var(--pageMargin);
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1.5rem;
}
.homeTeaser::before, .homeTeaser::after {
  content: "";
  display: block;
  position: absolute;
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  opacity: 1;
  animation: scaleLine 1s cubic-bezier(0.2, 0.22, 0.4, 1);
  z-index: -1;
}
.header--bright .homeTeaser::before, .header--bright .homeTeaser::after {
  border-color: var(--clr-goldDark);
}
.homeTeaser::before {
  bottom: -1px;
  left: -1px;
  border-left: 1px solid var(--clr-gold);
  border-bottom: 1px solid var(--clr-gold);
}
.homeTeaser::after {
  top: -1px;
  right: -1px;
  border-top: 1px solid var(--clr-gold);
  border-right: 1px solid var(--clr-gold);
}
.homeTeaser__title {
  font-weight: 600;
  line-height: 1.1em;
  animation: fadeUp 1.8s cubic-bezier(0.2, 0.22, 0.4, 1);
}
.homeTeaser__link {
  animation: fadeUp 2s cubic-bezier(0.2, 0.22, 0.4, 1);
}
.header--bright .homeTeaser__link {
  --clr-link: #AE7A28;
}

@keyframes scaleLine {
  0% {
    width: 0;
    height: 0;
    opacity: 0;
  }
  100% {
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    opacity: 1;
  }
}
@keyframes fadeUp {
  0%, 50% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.image--full {
  margin-left: calc(var(--pageMargin) * -1);
  margin-right: calc(var(--pageMargin) * -1);
}

.linkbox {
  display: flex;
  background-color: var(--clr-bg2);
  flex-direction: column;
  width: 100%;
  border-radius: 3px;
  overflow: hidden;
  box-shadow: 0 20px 20px -15px rgba(0, 0, 0, 0.25);
  margin-left: auto;
  margin-right: auto;
  max-width: 1750px;
}
.dark .linkbox {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  border-right: 1px solid rgba(0, 0, 0, 0.6);
  border-bottom: 1px solid rgba(0, 0, 0, 0.8);
  border-left: 1px solid rgba(255, 255, 255, 0.1);
}
@media screen and (min-width: 600px) {
  .linkbox {
    flex-direction: row;
  }
  .section:nth-of-type(2) .linkbox {
    flex-direction: row-reverse;
  }
}
.linkbox__image {
  flex-basis: 50%;
}
@media screen and (min-width: 960px) {
  .linkbox__image {
    flex-basis: 70%;
    height: 350px;
  }
}
@media screen and (min-width: 1280px) {
  .linkbox__image {
    height: 400px;
  }
}
.linkbox__image img {
  height: 100%;
  object-fit: cover;
}
.linkbox__title {
  font-size: 1.5em;
  margin-top: 0;
  margin-bottom: 0.5rem;
}
.linkbox__links {
  --clr-link: #23211D;
}
.dark .linkbox__links {
  --clr-link: #F6F0E8;
}
.linkbox__links {
  flex-basis: 30%;
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  flex-basis: 50%;
}
@media screen and (min-width: 960px) {
  .linkbox__links {
    flex-basis: 30%;
  }
}
.linkbox__list {
  padding: 0;
  border-bottom: 1px solid var(--clr-text20);
  width: calc(100% - 1em);
}
.linkbox__listitem {
  padding: 0.75rem;
  border-top: 1px solid var(--clr-text20);
  list-style: none;
}

.contact {
  padding-top: 1.5rem;
  padding-right: 1.5rem;
  margin-bottom: var(--verticalMargin);
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 960px) {
  .contact {
    padding-top: 2rem;
    padding-right: 2rem;
  }
}
.contact__box {
  display: flex;
  border: 1px solid var(--clr-gold);
  width: 100%;
  flex-direction: column-reverse;
}
@media screen and (min-width: 600px) {
  .contact__box {
    flex-direction: row;
  }
}
.contact__image {
  flex-basis: 50%;
  transform: translate(1.5rem, -1.5rem);
  z-index: -1;
}
@media screen and (min-width: 960px) {
  .contact__image {
    transform: translate(2rem, -2rem);
  }
}
.contact__textContent {
  flex-basis: 50%;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  gap: 2rem;
}
.contact .linkExtern {
  color: #23211D;
}
.contact .linkExtern__icon, .contact .linkExtern__icon::before {
  border-color: #23211D;
}
.contact__address {
  font-style: normal;
  font-weight: 300;
  font-size: calc(1.0416666667vw + 15px);
}
@media screen and (min-width: 1920px) {
  .contact__address {
    font-size: 35px;
  }
}
.contact__address span {
  display: block;
}
.contact__openingHours {
  font-size: calc(0.3472222222vw + 15px);
}
@media screen and (min-width: 1920px) {
  .contact__openingHours {
    font-size: 21.6666666667px;
  }
}
.contact__openingHours {
  width: 100%;
  position: relative;
}
.contact__columns--2 {
  display: flex;
  justify-content: center;
  flex-direction: column;
}
@media screen and (min-width: 600px) {
  .contact__columns--2 {
    flex-direction: row;
    gap: 3rem;
  }
}
.contact__columns--2::after {
  content: "";
  display: block;
  height: 1px;
  background-color: var(--clr-gold);
}
@media screen and (min-width: 600px) {
  .contact__columns--2::after {
    width: 1px;
    height: auto;
    flex-shrink: 0;
  }
}
.contact__column {
  width: 100%;
  flex-shrink: 1;
  padding: 2rem 0;
}
@media screen and (max-width: 599px) {
  .contact__column {
    text-align: center;
  }
}
@media screen and (min-width: 600px) {
  .contact__column {
    width: 100%;
  }
}
.contact__column p {
  margin: 0;
}
@media screen and (max-width: 599px) {
  .contact__columns--2 .contact__column:nth-child(1) {
    border-top: 1px solid var(--clr-gold);
  }
}
@media screen and (min-width: 600px) {
  .contact__columns--2 .contact__column:nth-child(1) {
    text-align: right;
  }
}
.contact__column:nth-child(2) {
  order: 1;
}
@media screen and (max-width: 599px) {
  .contact__column:nth-child(2) {
    border-bottom: 1px solid var(--clr-gold);
  }
}
.contact__title {
  font-size: inherit;
  margin-bottom: 1rem;
}

.steps {
  padding: 0;
  border-bottom: 1px solid var(--clr-gold);
  width: 100%;
  margin-bottom: var(--verticalMargin);
  max-width: calc(1920px + 2 * var(--pageMargin));
}
.steps__item {
  list-style: none;
  padding: 2rem 0;
  border-top: 1px solid var(--clr-gold);
  width: 100%;
}
@media screen and (min-width: 600px) {
  .steps__item {
    display: flex;
    justify-content: space-between;
  }
}
.steps__image {
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 600px) {
  .steps__image {
    flex-basis: 40%;
    margin-bottom: 0;
  }
}
@media screen and (min-width: 600px) {
  .steps__textContent {
    flex-basis: 50%;
  }
}
.steps__title {
  width: auto;
  max-width: 40rem;
  margin-bottom: 0.8rem;
}
@media screen and (min-width: 600px) {
  .steps__title {
    margin-top: 0;
  }
}
.steps__text {
  max-width: 40rem;
}
.steps__text p:last-child {
  margin-top: 0;
}
.steps__text p:last-child {
  margin-bottom: 0;
}

.ctaTeaser {
  width: 100%;
  height: 70vw;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1;
}
.ctaTeaser:not(:last-child) {
  margin-bottom: var(--verticalMargin);
}
@media screen and (min-width: 600px) {
  .ctaTeaser {
    height: 40vh;
  }
}
@media screen and (min-width: 960px) {
  .ctaTeaser {
    height: 20.8333333333vw;
  }
}
.ctaTeaser__pattern {
  margin-left: calc(var(--pageMargin) * -1);
  margin-right: calc(var(--pageMargin) * -1);
  width: 100%;
  z-index: -1;
  position: absolute;
  display: grid;
  overflow: hidden;
  height: 70vw;
  box-shadow: 0 0 0 0.5px var(--clr-gold);
  grid-template-columns: repeat(10, 1fr);
  grid-template-rows: repeat(12, 10vw);
}
@media screen and (min-width: 600px) {
  .ctaTeaser__pattern {
    height: 40vw;
    grid-template-columns: repeat(15, 1fr);
    grid-template-rows: repeat(8, 6.6666666667vw);
  }
}
@media screen and (min-width: 960px) {
  .ctaTeaser__pattern {
    height: 20.8333333333vw;
    grid-template-columns: repeat(24, 1fr);
    grid-template-rows: repeat(5, 4.1666666667vw);
  }
}
.ctaTeaser__content {
  width: calc(80vw + 2px);
  height: calc(40vw + 2px);
  border-radius: 20vw;
  padding: 0 2.5rem 0 2.5rem;
  background-color: var(--clr-bg);
  border: 1px solid var(--clr-gold);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 1rem;
}
@media screen and (min-width: 600px) {
  .ctaTeaser__content {
    height: calc(20vw + 2px);
    border-radius: 10vw;
  }
}
@media screen and (min-width: 960px) {
  .ctaTeaser__content {
    flex-direction: row;
    padding: 0 5rem;
    gap: 3rem;
    width: auto;
    height: calc(8.3333333333vw + 2px);
    border-radius: 4.1666666667vw;
  }
}
.ctaTeaser--link .ctaTeaser__content {
  padding-top: 1rem;
}
@media screen and (min-width: 960px) {
  .ctaTeaser--link .ctaTeaser__content {
    padding-top: 0;
  }
}
.ctaTeaser__link {
  color: var(--clr-text);
}
.ctaTeaser__link .linkButton__icon, .ctaTeaser__link .linkButton__icon::before {
  border-color: var(--clr-text);
}
.ctaTeaser__text {
  font-size: calc(1.3888888889vw + 20px);
}
@media screen and (min-width: 1920px) {
  .ctaTeaser__text {
    font-size: 46.6666666667px;
  }
}
.ctaTeaser__text {
  font-family: "Gambarino-Regular";
  line-height: 1.15em;
  font-weight: normal;
  text-align: center;
  margin: 0;
}
.ctaTeaser .form {
  width: 100%;
  height: 100%;
  box-shadow: 0 0 0 0.5px var(--clr-gold);
}
.ctaTeaser .form--r90 {
  transform: rotate(90deg);
}
.ctaTeaser .form--r180 {
  transform: rotate(180deg);
}
.ctaTeaser .form--r270 {
  transform: rotate(270deg);
}
.ctaTeaser .form svg {
  width: 100%;
  height: 100%;
}

.images {
  padding: 0 2rem;
  width: 100%;
  position: relative;
  column-count: 1;
  margin-bottom: var(--verticalMargin);
}
.section .images:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 600px) {
  .images {
    padding: 0 3rem;
    column-gap: 5rem;
    column-count: 2;
  }
}
@media screen and (min-width: 960px) {
  .images {
    padding: 0 8vw;
    column-gap: 16vw;
  }
}
@media screen and (min-width: 1920px) {
  .images {
    padding: 0 3vw;
    column-gap: 8vw;
    column-count: 3;
  }
}
.images__image--caption {
  margin-bottom: 2rem;
}
.images__image {
  display: inline-block;
}
.images__image[data-orientation=portrait] {
  margin: 0 0 4rem 0;
}
.images__image[data-orientation=landscape] {
  margin: 0 -2rem 4rem -2rem;
  width: calc(100% + 4rem);
}
@media screen and (min-width: 960px) {
  .images__image {
    margin-bottom: 9rem;
  }
  .images__image--caption {
    margin-bottom: 6rem;
  }
}
.images__image img {
  display: block;
  max-height: 100vh;
  object-fit: contain;
}
.images__caption {
  margin-top: 1rem;
  text-align: center;
}

.iconText {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-bottom: var(--verticalMargin);
}
@media screen and (min-width: 960px) {
  .iconText {
    gap: 4rem;
    flex-direction: row;
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 600px) {
  .iconText__item {
    padding: 0 2rem;
  }
}
@media screen and (min-width: 960px) {
  .iconText__item {
    width: calc(50% - 2rem);
  }
}
@media screen and (min-width: 1920px) {
  .iconText__item {
    width: calc(25% - 3rem);
    padding: 0 0.5rem;
  }
}
.iconText__icon {
  width: 10rem;
  height: 10rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 960px) {
  .iconText__icon {
    margin-left: -35px;
  }
}
@media screen and (min-width: 960px) {
  .iconText__icon {
    width: 12rem;
    height: 12rem;
  }
}
.iconText__title {
  width: auto;
  margin-top: 0;
  margin-bottom: 0.5rem;
}
.iconText__text {
  max-width: 40rem;
  margin-bottom: 0;
}
.iconText__text p:first-child {
  margin-top: 0;
}

.flow {
  width: 100%;
  position: relative;
  margin-bottom: var(--verticalMargin);
  z-index: 1;
}
.flow__textContent {
  max-width: 40rem;
}
@media screen and (min-width: 1280px) {
  .flow__textContent {
    max-width: 50rem;
  }
}
.flow__textContent:not(:last-child) {
  margin-bottom: var(--verticalMargin);
}
@media screen and (min-width: 600px) {
  .flow__textContent:nth-of-type(2n + 1) {
    margin-left: auto;
  }
}
@media screen and (min-width: 1280px) {
  .flow__textContent:nth-of-type(2n + 1) {
    margin-left: calc(50% + 2rem);
  }
}
.flow__image:not(:last-child) {
  margin-bottom: var(--verticalMargin);
}
@media screen and (min-width: 420px) {
  .flow__image {
    margin-left: auto;
    margin-right: auto;
    width: 80%;
  }
}
@media screen and (min-width: 1280px) {
  .flow__image {
    width: 70%;
  }
}

.patternStrip {
  position: absolute;
  z-index: -1;
  width: 15rem;
  height: 100%;
  left: 50%;
  top: calc(var(--verticalMargin) * -0.4);
  transform: translateX(-50%);
  border: 0.5px solid var(--clr-gold);
  opacity: 0.25;
  overflow: hidden;
}
@media screen and (min-width: 600px) {
  .patternStrip {
    width: 20rem;
  }
}
@media screen and (min-width: 960px) {
  .patternStrip {
    width: 30rem;
  }
}

.form {
  width: 100%;
  aspect-ratio: 1;
}
.form--1 {
  background-image: url(../images/form/1f.svg);
}
.form--2 {
  background-image: url(../images/form/2f.svg);
}
.form--3 {
  background-image: url(../images/form/3f.svg);
}
.form--4 {
  background-image: url(../images/form/4f.svg);
}
.form--5 {
  background-image: url(../images/form/5f.svg);
}
.form--6 {
  background-image: url(../images/form/6f.svg);
}
.form--r90 {
  transform: rotate(90deg);
}
.form--r180 {
  transform: rotate(180deg);
}
.form--r270 {
  transform: rotate(270deg);
}

.imageTextCards {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 4rem;
  column-gap: 2rem;
  z-index: 1;
}
@media screen and (min-width: 600px) {
  .imageTextCards {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 960px) {
  .imageTextCards {
    column-gap: 3rem;
  }
}
@media screen and (min-width: 1280px) {
  .imageTextCards {
    column-gap: 4rem;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 1920px) {
  .imageTextCards {
    grid-template-columns: repeat(4, 1fr);
  }
}
.imageTextCards__item {
  padding-left: 1.5rem;
  padding-top: 1.5rem;
  position: relative;
}
@media screen and (min-width: 960px) {
  .imageTextCards__item {
    padding-left: 1rem;
    padding-top: 1rem;
  }
}
@media screen and (min-width: 960px) {
  .imageTextCards__item {
    padding-left: 2rem;
    padding-top: 2rem;
  }
}
.imageTextCards__image {
  position: absolute;
  height: 10rem;
  top: 0;
  left: 0;
  z-index: -1;
}
.imageTextCards__image img {
  height: 100%;
  width: calc(100% - 2rem);
  object-fit: cover;
}
.imageTextCards__textContent {
  padding: 10rem 1rem 1rem 1rem;
  border: 1px solid var(--clr-gold);
  height: 100%;
}
@media screen and (min-width: 960px) {
  .imageTextCards__textContent {
    padding: 10rem 2rem 2rem 2rem;
  }
}

.legalContent {
  max-width: 40em;
  margin-left: auto;
  margin-right: auto;
}
.legalContent h2:not(:first-child) {
  border-top: 1px solid var(--clr-gold);
  margin-top: calc(var(--verticalMargin) / 4);
  padding-top: calc(var(--verticalMargin) / 4);
}
.legalContent p {
  text-align: left;
}

.textImageColumns {
  display: flex;
  justify-content: space-between;
  max-width: calc(1920px + 2 * var(--pageMargin));
}
.textImageColumns--order2 {
  flex-direction: row-reverse;
}
.textImageColumns__image {
  flex-basis: 40%;
}
.textImageColumns__textContent {
  flex-basis: 50%;
}

.collectionList {
  margin-top: var(--verticalMargin);
}
@media screen and (min-width: 960px) {
  .collectionList {
    margin-top: calc(var(--verticalMargin) / 2);
  }
}

.collection {
  display: block;
  margin-bottom: var(--verticalMargin);
  color: inherit;
  text-decoration: none;
}
@media screen and (min-width: 600px) {
  .collection {
    width: 70%;
  }
  .collection:nth-child(6n-4) {
    margin-left: auto;
  }
  .collection:nth-child(6n-3) {
    margin-left: 15vw;
    margin-right: auto;
  }
  .collection:nth-child(6n-2) {
    margin-left: auto;
  }
  .collection:nth-child(6n) {
    margin-left: auto;
    margin-right: 15vw;
  }
}
@media screen and (min-width: 960px) {
  .collection {
    width: 50%;
    margin-bottom: calc(var(--verticalMargin) / 2);
  }
}
.collection__image {
  margin-bottom: 1rem;
  overflow: hidden;
}
.collection__image img, .collection__title, .collection__link {
  transition: transform 0.15s ease-out;
}
.collection:hover .collection__image img {
  transform: scale(1.03);
}

.collectionSection--mood {
  margin-top: var(--verticalMargin);
}
.collectionSection--products {
  margin-bottom: var(--verticalMargin);
}

.productHeader {
  display: grid;
  padding-top: 120px;
  margin-bottom: calc(var(--pageMargin) * 2);
  grid-template-columns: repeat(4, 1fr);
  column-gap: var(--pageMargin);
  font-size: calc(0.3472222222vw + 15px);
}
@media screen and (min-width: 1920px) {
  .productHeader {
    font-size: 21.6666666667px;
  }
}
@media screen and (min-width: 960px) {
  .productHeader {
    margin-bottom: var(--pageMargin);
  }
}
.productHeader__image {
  display: flex;
  justify-content: center;
  grid-column: 1/5;
}
.productHeader__image img {
  width: 100%;
  min-height: 300px;
}
@media screen and (min-width: 600px) {
  .productHeader__image img {
    height: 60vh;
    width: auto;
  }
}
.productHeader__title {
  border-top: 1px solid var(--clr-text20);
  border-bottom: 1px solid var(--clr-text20);
  padding: 1rem 0;
  margin-bottom: 0;
  grid-column: 1/5;
}
@media screen and (min-width: 1280px) {
  .productHeader__title {
    grid-column: 1/4;
  }
}
@media screen and (min-width: 1920px) {
  .productHeader__title {
    grid-column: 1/2;
  }
}
.productHeader__description {
  padding: 1rem 0;
  grid-column: 1/5;
}
@media screen and (min-width: 1280px) {
  .productHeader__description {
    grid-column: 1/4;
    border-bottom: 1px solid var(--clr-text20);
  }
}
@media screen and (min-width: 1920px) {
  .productHeader__description {
    border-top: 1px solid var(--clr-text20);
    grid-column: 2/4;
  }
}
.productHeader__infos {
  border-bottom: 1px solid var(--clr-text20);
  grid-column: 1/5;
}
@media screen and (min-width: 960px) {
  .productHeader__infos {
    display: flex;
    gap: 2rem;
    border-bottom: none;
  }
}
@media screen and (min-width: 1280px) {
  .productHeader__infos {
    grid-column: 4/5;
    grid-row: 2/4;
    display: block;
    border-bottom: 1px solid var(--clr-text20);
  }
}
@media screen and (min-width: 1920px) {
  .productHeader__infos {
    grid-row: 2/3;
  }
}
.productHeader__infoitem {
  padding: 1rem 0;
  border-top: 1px solid var(--clr-text20);
}
@media screen and (min-width: 960px) {
  .productHeader__infoitem {
    flex-grow: 1;
    border-bottom: 1px solid var(--clr-text20);
  }
}
@media screen and (min-width: 1280px) {
  .productHeader__infoitem {
    border-bottom: none;
  }
}
.productHeader__label {
  font-weight: 600;
}
.productCTA {
  display: flex;
  padding: 2rem;
  justify-content: space-between;
  gap: 4rem;
  background-color: var(--clr-bg2);
}
@media screen and (max-width: 959px) {
  .productCTA {
    flex-direction: column;
    margin-left: calc(var(--pageMargin) * -1);
    margin-right: calc(var(--pageMargin) * -1);
  }
}
@media screen and (min-width: 600px) {
  .productCTA {
    padding: 2.5rem;
  }
}
@media screen and (min-width: 960px) {
  .productCTA {
    padding: 3rem;
  }
}
.productCTA__textContent {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  gap: 2rem;
}
.productCTA__text {
  max-width: 50rem;
}
.productCTA__text p {
  margin: 0;
}
.productCTA__buttonWrapper {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 959px) {
  .productCTA__buttonWrapper {
    width: 100%;
    justify-content: center;
  }
}
.productCTA__button {
  white-space: nowrap;
  padding: 1rem 1.5rem;
  background-color: var(--clr-link);
  text-decoration: none;
  font-weight: 600;
  font-size: calc(0.3472222222vw + 15px);
}
@media screen and (min-width: 1920px) {
  .productCTA__button {
    font-size: 21.6666666667px;
  }
}
.productCTA__button {
  position: relative;
  transition: background-color 0.15s ease-out;
}
.productCTA__button::after {
  content: "";
  display: block;
  position: absolute;
  width: 80%;
  height: 130%;
  top: -15%;
  left: 10%;
  border: 1px solid var(--clr-link);
  pointer-events: none;
  transition: width 0.15s ease-out, height 0.15s ease-out, left 0.15s ease-out, top 0.15s ease-out;
}
.productCTA__button:hover {
  background-color: #fff;
}
.productCTA__button:hover::after {
  width: calc(100% - 16px);
  height: calc(100% - 16px);
  top: 8px;
  left: 8px;
}

.productListWrapper {
  margin-left: calc(var(--pageMargin) * -1);
  margin-right: calc(var(--pageMargin) * -1 + 1px);
}

.productList {
  display: grid;
  padding: 0;
  margin: 0;
  grid-template-columns: 100%;
  background-color: #F6F0E8;
  grid-auto-flow: dense;
}
@media screen and (max-width: 959px) {
  .productList {
    grid-template-columns: repeat(2, 50%);
  }
}
@media screen and (min-width: 960px) {
  .productList {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 1280px) {
  .productList {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (min-width: 1920px) {
  .productList {
    grid-template-columns: repeat(5, 1fr);
  }
}

.placeholder-form {
  display: none;
  width: calc(100% + 1px);
  height: calc(100% + 1px);
  object-fit: fill;
  border: 0.5px solid var(--clr-link);
}
@media screen and (max-width: 959px) {
  .placeholder-form:nth-of-type(1) {
    display: var(--ph2);
  }
}
@media screen and (min-width: 960px) {
  .placeholder-form:nth-of-type(1) {
    display: var(--ph3);
  }
}
@media screen and (min-width: 1280px) {
  .placeholder-form:nth-of-type(1) {
    display: var(--ph4);
  }
}
@media screen and (min-width: 1920px) {
  .placeholder-form:nth-of-type(1) {
    display: var(--ph5);
  }
}
@media screen and (min-width: 600px) {
  .placeholder-form:nth-of-type(2) {
    display: var(--ph2);
  }
}
@media screen and (min-width: 960px) {
  .placeholder-form:nth-of-type(2) {
    display: var(--ph3);
  }
}
@media screen and (min-width: 1280px) {
  .placeholder-form:nth-of-type(2) {
    display: var(--ph4);
  }
}
@media screen and (min-width: 1920px) {
  .placeholder-form:nth-of-type(2) {
    display: var(--ph5);
  }
}
@media screen and (min-width: 600px) {
  .placeholder-form:nth-of-type(3) {
    display: var(--ph2);
  }
}
@media screen and (min-width: 960px) {
  .placeholder-form:nth-of-type(3) {
    display: var(--ph3);
  }
}
@media screen and (min-width: 1280px) {
  .placeholder-form:nth-of-type(3) {
    display: var(--ph4);
  }
}
@media screen and (min-width: 1920px) {
  .placeholder-form:nth-of-type(3) {
    display: var(--ph5);
  }
}
@media screen and (min-width: 600px) {
  .placeholder-form:nth-of-type(4) {
    display: var(--ph2);
  }
}
@media screen and (min-width: 960px) {
  .placeholder-form:nth-of-type(4) {
    display: var(--ph3);
  }
}
@media screen and (min-width: 1280px) {
  .placeholder-form:nth-of-type(4) {
    display: var(--ph4);
  }
}
@media screen and (min-width: 1920px) {
  .placeholder-form:nth-of-type(4) {
    display: var(--ph5);
  }
}

.product {
  padding: 0.5rem;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 1;
  text-decoration: none;
  color: var(--clr-text);
  transition: background-color 0.15s ease-out;
  color: #23211D;
}
.product:hover {
  background-color: #fff;
}
.product::before {
  content: "";
  display: block;
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% + 1px);
  height: calc(100% + 1px);
  border: 1px solid var(--clr-gold);
}
.product__textContent {
  display: flex;
  width: 100%;
  padding-left: 0.5rem;
  gap: 1rem;
  justify-content: center;
  align-items: center;
  height: 2rem;
}
@media screen and (min-width: 600px) {
  .product__textContent {
    height: 3rem;
  }
}
.product__title {
  font-weight: 600;
  font-size: 1em;
  line-height: 1.1em;
}
.product__link {
  padding-left: 0;
}
.product__image {
  aspect-ratio: 1;
  width: calc(100% - 0rem);
  z-index: -1;
  margin-left: -0.5rem;
  transition: transform 0.15s ease-out;
}
@media screen and (min-width: 600px) {
  .product__image {
    width: calc(100% - 3rem);
  }
}
.product:hover .product__image {
  transform: scale(1.04);
}

.plCollection {
  grid-column: span 2;
  aspect-ratio: 2;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  text-decoration: none;
}
.plCollection[data-theme=dark] {
  color: var(--clr-bg);
}
.plCollection::before {
  content: "";
  display: block;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% + 1px);
  height: calc(100% + 1px);
  border: 1px solid var(--clr-gold);
}
.plCollection::after {
  content: "";
  display: block;
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.plCollection[data-theme=bright]::after {
  background: linear-gradient(20deg, #f6f0e8 0%, rgba(246, 240, 232, 0.738) 7.6%, rgba(246, 240, 232, 0.541) 13.6%, rgba(246, 240, 232, 0.382) 18.8%, rgba(246, 240, 232, 0.278) 22.6%, rgba(246, 240, 232, 0.194) 26%, rgba(246, 240, 232, 0.126) 29.2%, rgba(246, 240, 232, 0.075) 32.08%, rgba(246, 240, 232, 0.042) 34.44%, rgba(246, 240, 232, 0.021) 36.4%, rgba(246, 240, 232, 0.008) 38.08%, rgba(246, 240, 232, 0.002) 39.28%, rgba(246, 240, 232, 0) 40%);
}
.plCollection[data-theme=dark]::after {
  background: linear-gradient(20deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.5166) 11.4%, rgba(0, 0, 0, 0.3787) 20.4%, rgba(0, 0, 0, 0.2674) 28.2%, rgba(0, 0, 0, 0.1946) 33.9%, rgba(0, 0, 0, 0.1358) 39%, rgba(0, 0, 0, 0.0882) 43.8%, rgba(0, 0, 0, 0.0525) 48.12%, rgba(0, 0, 0, 0.0294) 51.66%, rgba(0, 0, 0, 0.0147) 54.6%, rgba(0, 0, 0, 0.0056) 57.12%, rgba(0, 0, 0, 0.0014) 58.92%, rgba(0, 0, 0, 0) 60%);
}
.plCollection__image {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.plCollection__image img {
  transition: transform 0.15s ease-out;
}
.plCollection:hover .plCollection__image img {
  transform: scale(1.02);
}
.plCollection__textContent {
  display: flex;
  width: 100%;
  padding: 1rem;
  gap: 1rem;
  justify-content: flex-start;
  align-items: center;
  height: 3rem;
}
@media screen and (min-width: 600px) {
  .plCollection__textContent {
    height: 4rem;
    padding: 1.5rem;
  }
}
@media screen and (min-width: 600px) {
  .plCollection__textContent {
    padding: 2rem;
    height: 5rem;
  }
}
.plCollection__title {
  font-size: 1em;
  font-weight: 600;
}

.loadMore {
  display: flex;
  justify-content: center;
  padding: 2rem 0;
  position: relative;
  margin-top: calc(var(--verticalMargin) / 4);
  margin-bottom: var(--verticalMargin);
}
.loadMore__button {
  font-family: inherit;
  text-transform: uppercase;
  background: none;
  border: none;
  font-weight: 600;
  border-radius: 0;
  position: relative;
  padding: 0;
  z-index: 1;
  padding: 0.75rem 1.5rem;
  background-color: var(--clr-bg);
  border: 1px solid var(--clr-link);
  transition: background-color 0.15s ease-out;
  color: var(--clr-text);
}
.loadMore__button::before, .loadMore__button::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  width: 0;
  height: 0;
  opacity: 0;
  transition: width 0.3s ease-in, height 0.3s ease-in, opacity 0.4s ease-in;
}
.loadMore__button::before {
  bottom: -5px;
  left: -5px;
  border-left: 1px solid var(--clr-gold);
  border-bottom: 1px solid var(--clr-gold);
}
.loadMore__button::after {
  top: -5px;
  right: -5px;
  border-top: 1px solid var(--clr-gold);
  border-right: 1px solid var(--clr-gold);
}
.loadMore__buttonText {
  display: inline-block;
}
.loadMore__button:hover {
  background-color: #fff;
}
.loadMore__button:hover::before, .loadMore__button:hover::after {
  width: calc(100% + 10px);
  height: calc(100% + 10px);
  opacity: 1;
  transition: width 0.4s cubic-bezier(0.23, 0.24, 0, 1), height 0.4s cubic-bezier(0.23, 0.24, 0, 1), opacity 0.2s ease-out;
}

.filter {
  margin-bottom: calc(var(--verticalMargin) / 2);
  position: relative;
}
.filter[data-chosen=true] .filter__amount {
  display: inline-block;
}
.filter[filter-to-apply=true] .filter__submitButton {
  display: block;
}
.filter[filter-to-apply=true] > .filter__buttons {
  display: flex;
}
@media screen and (min-width: 600px) {
  .filter {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
  }
}
@media screen and (max-width: 599px) {
  .filter__items {
    display: none;
    position: absolute;
    width: 100%;
    top: 47px;
    z-index: 10;
    background-color: var(--clr-bg);
  }
  .filter[data-open=true] .filter__items {
    display: block;
    grid-template-rows: min-content 1fr;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
  }
}
@media screen and (min-width: 600px) {
  .filter__items {
    display: flex;
    justify-content: center;
  }
}
.filter__item {
  position: relative;
}
@media screen and (min-width: 600px) {
  .filter__item {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
.filter__item[data-chosen=true] .filter__removeButton {
  display: block;
}
@media screen and (min-width: 600px) {
  .filter > .filter__buttons {
    display: none;
  }
}
.filter__buttons {
  display: flex;
  border: 1px solid var(--clr-link);
  align-items: center;
  justify-content: center;
  z-index: 1;
}
@media screen and (max-width: 599px) {
  .filter__item:not(:last-child) .filter__buttons {
    border-bottom: none;
  }
}
@media screen and (min-width: 600px) {
  .filter__item:not(:last-child) .filter__buttons {
    border-right: none;
  }
}
.filter__item .filter__buttons::after {
  content: "";
  z-index: -1;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  position: absolute;
  top: 100%;
  border-bottom: 1px solid var(--clr-link);
  border-right: 1px solid var(--clr-link);
  transform: translateY(-17px) rotate(45deg);
  transition: top 0.15s ease-out;
}
.filter__item[data-open=true] .filter__buttons::after {
  z-index: 0;
  top: 100%;
  transform: translateY(8px) rotate(225deg);
}
.filter__item .filter__buttons:hover::after {
  top: calc(100% + 3px);
}
.filter__item[data-open=true] .filter__buttons:hover::after {
  top: calc(100% - 3px);
}
.filter__submitButton {
  width: 3rem;
  height: 3rem;
  background: none;
  border-radius: 0;
  border: none;
  background-color: var(--clr-link);
  background-image: url(../images/icon/filter.svg);
  background-size: 60%;
  background-repeat: no-repeat;
  background-position: center;
  display: none;
  animation: popUp 0.3s ease-out;
}
@keyframes popUp {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
.filter__removeButton {
  width: 1.2rem;
  height: 1.2rem;
  margin-right: 0.8rem;
  margin-left: 0.8rem;
  flex-shrink: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  display: none;
  position: relative;
  z-index: 1;
  background-color: var(--clr-text);
  mask-image: url(../images/icon/cross.svg);
}
.filter__removeButton:hover {
  background-color: var(--clr-link);
}
@media screen and (max-width: 599px) {
  .filter__removeButton {
    border-left: none;
  }
  .filter__item:not(:last-child) .filter__removeButton {
    border-bottom: none;
  }
}
@media screen and (min-width: 600px) {
  .filter__item:not(:last-child) .filter__removeButton {
    border-right: none;
  }
}
.filter__button {
  width: 100%;
  height: 3rem;
  font-family: inherit;
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  background: none;
  border-radius: 0;
  border: none;
  padding: 0.75rem 1.5rem;
  color: var(--clr-text);
  background-color: var(--clr-bg);
  transition: background-color 0.15s ease-out;
  font-size: calc(0.2604166667vw + 11.25px);
}
@media screen and (min-width: 1920px) {
  .filter__button {
    font-size: 16.25px;
  }
}
.filter__button--main[aria-expanded=true] {
  background-color: var(--clr-bg2);
}
@media screen and (min-width: 600px) {
  .filter__button--main {
    display: none;
  }
}
.filter__button span {
  pointer-events: none;
}
.filter__button:hover {
  background-color: #fff;
}
.filter__item[data-chosen=true] .filter__label::after {
  content: ": ";
}
.filter__amount {
  font-weight: 900;
  display: none;
  position: relative;
  z-index: 1;
  margin-left: 0.5rem;
}
.filter__amount:before {
  content: "";
  position: absolute;
  z-index: -1;
  width: calc(100% + 1rem);
  height: calc(100% + 0.2rem);
  top: -0.05rem;
  left: -0.5rem;
  border-radius: 3px;
  color: inherit;
  background-color: rgb(223.5517241379, 189.1083743842, 134.4482758621);
}
.filter__choice {
  font-weight: 900;
}
.filter__list {
  min-width: 100%;
  background-color: var(--clr-bg2);
  border: 1px solid var(--clr-link);
  display: none;
  overflow-y: scroll;
}
@media screen and (max-width: 599px) {
  .filter__list {
    max-height: 300px;
    margin-top: 0;
  }
  .filter__item:not(:last-child) .filter__list {
    border-bottom: none;
  }
}
@media screen and (min-width: 600px) {
  .filter__list {
    position: absolute;
    z-index: 10;
    top: calc(100% + 15px);
    min-width: 200px;
    max-height: 400px;
    border-radius: 2px;
    box-shadow: 0 10px 18px -2px rgba(0, 0, 0, 0.18);
  }
}
.filter__item[data-open=true] .filter__list {
  display: block;
}
.filter__option {
  display: block;
  padding: 0.75rem 1rem;
  white-space: nowrap;
}
.filter__option:not(:last-child) {
  border-bottom: 1px solid var(--clr-bg);
}
.filter__option:has(.filter__radio:checked) {
  background-color: var(--clr-link);
}
.filter__option:hover {
  background-color: var(--clr-bg);
  font-weight: 600;
}
.filter__option span {
  display: inline-block;
  white-space: nowrap;
}
.filter__radio {
  -webkit-appearance: none;
  appearance: none;
  background-color: inherit;
  margin: 0;
  z-index: -1;
  position: absolute;
}
.filter__option:has(.filter__radio[disabled]) {
  opacity: 0.2;
  pointer-events: none;
}

.footer {
  --clr-text: #F6F0E8;
  --clr-text20: rgba(246, 240, 232, 0.2);
  --clr-text65: rgba(246, 240, 232, 0.65);
  background-color: #413B32;
  color: var(--clr-text);
  margin-bottom: env(safe-area-inset-bottom);
}
.footer__main {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  padding: var(--pageMargin) var(--pageMargin);
}
@media screen and (min-width: 600px) {
  .footer__main {
    flex-direction: row;
  }
}
.footer p {
  margin: 0;
}
.footer__title {
  font-weight: 600;
}
.footer__openingHours {
  font-weight: 300;
}
.footer__address {
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 300;
  margin-bottom: 3rem;
}
.footer__address span {
  display: block;
}
@media screen and (min-width: 600px) {
  .footer__address {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 960px) {
  .footer__address span {
    display: inline;
  }
  .footer__address span:not(.first-of-line)::before {
    content: " • ";
  }
}
.footer__bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border-top: 1px solid var(--clr-text20);
  padding: 1rem var(--pageMargin);
  gap: 1rem;
}
.footer__copyright {
  font-size: 1rem;
  font-weight: 300;
  margin: 0;
  color: var(--clr-text65);
}
.footer__navlist {
  margin: 0;
  padding: 0;
  display: flex;
  gap: 1rem;
}
.footer__navItem {
  list-style: none;
}
.footer__navLink {
  text-decoration: none;
  color: var(--clr-text65);
}

.some {
  font-size: 1rem;
  font-weight: 300;
  display: flex;
  align-items: center;
  color: var(--clr-text65);
}
.some__list {
  display: flex;
  margin: 0;
  padding-left: 1rem;
}
.some__listitem {
  list-style: none;
}
.some__icon {
  display: block;
  height: 1.25rem;
  width: 1.25rem;
  opacity: 0.5;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9wYXJ0aWFscy9fbWl4aW5zLnNjc3MiLCJfcGFydGlhbHMvX3ZhcmlhYmxlcy5zY3NzIiwiX3BhcnRpYWxzL190eXBvZ3JhcGh5LnNjc3MiLCJfcGFydGlhbHMvX2Jhc2Uuc2NzcyIsIl9wYXJ0aWFscy9faGVhZGVyLnNjc3MiLCJfcGFydGlhbHMvX2xheW91dC5zY3NzIiwiX3BhcnRpYWxzL19jb21wb25lbnRzLnNjc3MiLCJfcGFydGlhbHMvX2Jsb2Nrcy5zY3NzIiwiX3BhcnRpYWxzL19jb2xsZWN0aW9ucy5zY3NzIiwiX3BhcnRpYWxzL19wcm9kdWN0cy5zY3NzIiwiX3BhcnRpYWxzL19wcm9kdWN0bGlzdC5zY3NzIiwiX3BhcnRpYWxzL19maWx0ZXIuc2NzcyIsIl9wYXJ0aWFscy9fZm9vdGVyLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQThDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDbEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBOztBRG5DQTtFQ3lCSjtJQWFRO0lBQ0E7OztBRHZDSjtFQ3lCSjtJQWtCUTtJQUNBOzs7QUQ1Q0o7RUN5Qko7SUF1QlE7SUFDQTs7O0FEakRKO0VDeUJKO0lBNEJROzs7O0FBS1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FDOURKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUZ0REk7O0FBRUE7RUVvREo7SUZuRFE7OztBRW1EUjtFQUVJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFNSjtFQUNJOzs7QUFFSjtFRnhESTs7QUFFQTtFRXNESjtJRnJEUTs7O0FBRUo7RUVtREo7SUZsRFE7OztBRWtEUjtFQUVJO0VBQ0E7RUFDQTs7O0FBRUo7RUY5REk7O0FBRUE7RUU0REo7SUYzRFE7OztBQUVKO0VFeURKO0lGeERROzs7QUEvQko7RUV1Rko7SUFHUTs7OztBQUdSO0VGcEVJOztBQUVBO0VFa0VKO0lGakVROzs7QUFFSjtFRStESjtJRjlEUTs7O0FFOERSO0VBRUk7OztBQUVKO0VGeEVJOztBQUVBO0VFc0VKO0lGckVROzs7QUFFSjtFRW1FSjtJRmxFUTs7OztBRXNFUjtFRjVFSTs7QUFFQTtFRTBFSjtJRnpFUTs7O0FBRUo7RUV1RUo7SUZ0RVE7Ozs7QUV5RVI7RUYvRUk7O0FBRUE7RUU2RUo7SUY1RVE7OztBQUVKO0VFMEVKO0lGekVROzs7O0FFNEVSO0VGbEdJOztBQUVBO0VFZ0dKO0lGL0ZROzs7O0FFbUdSO0VGdEdJOztBQUVBO0VFb0dKO0lGbkdROzs7QUVtR1I7RUFFSTtFQUNBO0VBQ0E7OztBQUVKO0VGNUdJOztBQUVBO0VFMEdKO0lGekdROzs7QUV5R1I7RUFFSTs7O0FBSUo7RUZsR0k7O0FBRUE7RUVnR0o7SUYvRlE7OztBQUVKO0VFNkZKO0lGNUZROzs7QUUrRko7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7O0FDM0laO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUtKO0VBQ0k7RUFDQTtFQUNBOzs7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUxSO0VBT0k7RUFDQTtFQUNBLGtCRnJCUTs7QUVzQlI7RUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQ3ZHUjtFQUNJO0VBQ0E7O0FKTEE7RUlHSjtJQUtROzs7O0FBR1I7RUFDSTs7O0FBRUo7RUFDSTs7QUFFQTtFQUNJOzs7QUFJUjtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUpwQ0E7RUlzQko7SUFrQlE7SUFDQTtJQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJOztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUVKO0VBQ0k7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7O0FKaEVSO0VJZ0RBO0lBb0JROzs7QUozRVI7RUl1REE7SUF1QlE7SUFDQTs7RUFDQTtJQUNJOzs7QUFLWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBRUo7RUFDSTtFQUNBOztBQUVKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOztBQUtKO0VBQ0k7O0FBRUo7RUFDSTs7QUFHSjtFQUNJOztBQUVBO0VBQ0ksTUg3SEo7O0FHaUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTs7QUp4SlI7RUlxSUE7SUF1QlE7OztBQUdSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBRUo7RUFDSTtFQUNBOztBQUVKO0VBQ0k7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7O0FBRUo7RUFDSTs7QUFJUjtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBSm5NQTtFSStMSjtJQU9RO0lBQ0E7SUFFQTtJQUNBOztFQUVBO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBRUE7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUo7SUFDSTtJQUNBO0lBQ0Esa0JBL1BlOztFQWlRbkI7SUFDSTtJQUNBO0lBQ0Esa0JBcFFlOzs7QUpBdkI7RUlzTUo7SUFtRVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0k7O0VBRUo7SUFDSTs7O0FBSVI7RUFDSTtFQUNBOztBSm5SSjtFSWlSQTtJQUtROzs7QUo3UlI7RUl3UkE7SUFTUTtJQUNBO0lBQ0E7O0VBQ0E7SUFDSTtJQUNBOztFQUVKO0lBQ0k7OztBQUtaO0VBQ0k7O0FKeFNKO0VJdVNBO0lBSVE7SUFFQTs7RUFJQTtJQUNJOzs7QUp6VFo7RUk4U0E7SUFlUTs7RUFFQTtJQUNJOzs7QUFJWjtFQUNJOztBSjlUSjtFSTZUQTtJQUlROzs7QUp4VVI7RUk2VUE7SUFFUTs7O0FKL1VSO0VJa1ZBO0lBRVE7OztBSnBWUjtFSXVWQTtJQUVROzs7QUFJUjtFQUNJOztBQUVBO0VBQ0ksT0g3VkE7O0FER1I7RUk2VlE7SUFDSTs7RUFHSjtJQUNJOzs7QUp6V1o7RUk2V1E7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7OztBSnBYWjtFSTBYUTtJQUNJOztFQUVKO0lBQ0k7OztBQUlaO0VBQ0k7O0FKNVhKO0VJMlhBO0lBSVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FKMVlSO0VJa1lBO0lBWVE7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7OztBQU1oQjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBSnZhQTtFSW1hSjtJQVFRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0k7O0VBR0o7SUFDSTs7O0FBSUo7RUFDSTs7O0FDaGNaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTs7O0FDeEJSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7O0FBR1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdSO0VBQ0k7O0FBR0o7RUFDSTs7O0FBR1I7RUFDSTtJQUNJOztFQUVKO0lBQ0k7OztBQUlKO0VBQ0k7O0FBRUo7RUFDSTs7QUFMUjtFQVFJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VOOUdKO0VNZ0hJOztB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QUNJO0VBQ0E7RUFDQTtFQUNBIiwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnc2FzczptYXRoJztcblxuQG1peGluIGFib3ZlKCRzKXtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkcyl7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIGJlbG93KCRzKXtcbiAgICAkc3M6ICRzIC0gMXB4OyBcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc3Mpe1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBkeW5hbWljRm9udCgkcywgJGEpeyAvLyAkczogZm9udC1zaXplIGF0IDE0NDBweCwgJGE6IHNjYWxlLXJhdGlvXG4gICAgJHI6IGNhbGMoMTQ0MCAvICRzKTtcbiAgICAkbzogY2FsYygkcyAtICgkcyAvICRhKSk7XG4gICAgJG1heDogY2FsYygkcyArICgkcyAvICgzICogJGEpKSk7XG4gICAgZm9udC1zaXplOiBjYWxjKDEwMHZ3IC8gJHIgLyAkYSArICRvICogMXB4KTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAgICAgICBmb250LXNpemU6IGNhbGMoJG1heCAqIDFweCk7XG4gICAgfVxufVxuXG5cblxuQG1peGluIGR5bmFtaWNGb250MigkbWluLCAkdGFyZ2V0LCAkbWF4KXsgLy8gXG4gICAgJG1pblc6IDQwMDtcbiAgICAkdGFyZ2V0VzogMTQ0MDtcbiAgICAkcmFuZ2U6ICR0YXJnZXRXIC0gJG1pblc7XG4gICAgJHN0ZXA6IGNhbGMoJHJhbmdlIC8gKCR0YXJnZXQgLSAkbWluKSk7XG4gICAgJG1heFNpemU6IGNhbGMoKCgkbWF4IC0gJHRhcmdldCkgKiAkc3RlcCArICR0YXJnZXRXKSAqIDFweCk7XG4gICAgLy8gKyAoJG1pbiAtIDEgLSAoJG1pblcgLyAkc3RlcCAtIDEpKSAqIDFweClcbiAgICBmb250LXNpemU6IGNhbGMoMTAwdncgLyAkc3RlcCArICgkbWluIC0gMSAtICgkbWluVyAvICRzdGVwIC0gMSkpICogMXB4KSA7IFxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiBjYWxjKCRtaW4gKiAxcHgpO1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXRoLmZsb29yKCRtYXhTaXplKSkge1xuICAgICAgICBmb250LXNpemU6IGNhbGMoJG1heCAqIDFweCk7XG4gICAgfVxufVxuXG5cbi8qXG5BIHNpbXBsZSBsaXR0bGUgU0NTUyBtaXhpbiBmb3IgY3JlYXRpbmcgc2NyaW0gZ3JhZGllbnRzIFxuSW5zcGlyZWQgYnkgQW5kcmVhcyBMYXJzb24gLSBodHRwczovL2dpdGh1Yi5jb20vbGFyc2Vud29ya1xuaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9lYXNpbmctbGluZWFyLWdyYWRpZW50cy9cbiovXG5cbkBtaXhpbiBzY3JpbUdyYWRpZW50KCRzdGFydENvbG9yOiAkY29sb3ItYmxhY2ssICRkaXJlY3Rpb246IHRvIGJvdHRvbSwgJHc6IDEsICRvOiAwLCAkYTogMSkge1xuICAgICRvZmZzZXQ6ICRvICogMTAwJTtcbiAgICBAaWYoJG8gPiAxIC0gJHcpe1xuICAgICAgICAkb2Zmc2V0OiBjYWxjKCgxIC0gJHcpICogMTAwJSk7XG4gICAgfVxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCBcbiAgICAgICAgcmdiYSgkY29sb3I6ICRzdGFydENvbG9yLCAkYWxwaGE6IGNhbGMoMSAqICRhKSkgMCUsXG4gICAgICAgIHJnYmEoJGNvbG9yOiAkc3RhcnRDb2xvciwgJGFscGhhOiBjYWxjKDAuNzM4ICogJGEpKSBjYWxjKDE5JSAqICR3ICsgJG9mZnNldCksXG4gICAgICAgIHJnYmEoJGNvbG9yOiAkc3RhcnRDb2xvciwgJGFscGhhOiBjYWxjKDAuNTQxICogJGEpKSBjYWxjKDM0JSAqICR3ICsgJG9mZnNldCksXG4gICAgICAgIHJnYmEoJGNvbG9yOiAkc3RhcnRDb2xvciwgJGFscGhhOiBjYWxjKDAuMzgyICogJGEpKSBjYWxjKDQ3JSAqICR3ICsgJG9mZnNldCksXG4gICAgICAgIHJnYmEoJGNvbG9yOiAkc3RhcnRDb2xvciwgJGFscGhhOiBjYWxjKDAuMjc4ICogJGEpKSBjYWxjKDU2LjUlICogJHcgKyAkb2Zmc2V0KSxcbiAgICAgICAgcmdiYSgkY29sb3I6ICRzdGFydENvbG9yLCAkYWxwaGE6IGNhbGMoMC4xOTQgKiAkYSkpIGNhbGMoNjUlICogJHcgKyAkb2Zmc2V0KSxcbiAgICAgICAgcmdiYSgkY29sb3I6ICRzdGFydENvbG9yLCAkYWxwaGE6IGNhbGMoMC4xMjYgKiAkYSkpIGNhbGMoNzMlICogJHcgKyAkb2Zmc2V0KSxcbiAgICAgICAgcmdiYSgkY29sb3I6ICRzdGFydENvbG9yLCAkYWxwaGE6IGNhbGMoMC4wNzUgKiAkYSkpIGNhbGMoODAuMiUgKiAkdyArICRvZmZzZXQpLFxuICAgICAgICByZ2JhKCRjb2xvcjogJHN0YXJ0Q29sb3IsICRhbHBoYTogY2FsYygwLjA0MiAqICRhKSkgY2FsYyg4Ni4xJSAqICR3ICsgJG9mZnNldCksXG4gICAgICAgIHJnYmEoJGNvbG9yOiAkc3RhcnRDb2xvciwgJGFscGhhOiBjYWxjKDAuMDIxICogJGEpKSBjYWxjKDkxJSAqICR3ICsgJG9mZnNldCksXG4gICAgICAgIHJnYmEoJGNvbG9yOiAkc3RhcnRDb2xvciwgJGFscGhhOiBjYWxjKDAuMDA4ICogJGEpKSBjYWxjKDk1LjIlICogJHcgKyAkb2Zmc2V0KSxcbiAgICAgICAgcmdiYSgkY29sb3I6ICRzdGFydENvbG9yLCAkYWxwaGE6IGNhbGMoMC4wMDIgKiAkYSkpIGNhbGMoOTguMiUgKiAkdyArICRvZmZzZXQpLFxuICAgICAgICByZ2JhKCRjb2xvcjogJHN0YXJ0Q29sb3IsICRhbHBoYTogMCkgY2FsYygxMDAlICogJHcgKyAkb2Zmc2V0KSAgIFxuICAgICk7XG5cbn0iLCJAdXNlICdtaXhpbnMnO1xuXG4vLyBjb2xvcnNcblxuJGdvbGQ6ICNENUE3NUU7XG4kZ29sZERhcms6ICNBRTdBMjg7XG4kYW50aHJheml0RGFyazogIzIzMjExRDtcbiRhbnRocmF6aXQ6ICM0MTNCMzI7XG4kd2FybVdoaXRlOiAjRjZGMEU4O1xuJGJlaWdlTGlnaHQ6ICNFNEQ4Qzk7XG4kYmVpZ2VEYXJrOiAjN0I3MDY2O1xuXG5cbi8vIG1hcmdpbnNcblxuJHBhZ2VNYXJnaW5TOiAxLjI1cmVtO1xuJHBhZ2VNYXJnaW5MOiAyLjVyZW07XG5cbi8vIGJyZWFrcG9pbnRzXG4kczogNDIwcHg7XG4kbTogNjAwcHg7XG4kbDogOTYwcHg7XG4keGw6IDEyODBweDtcbiR4eGw6IDE5MjBweDtcblxuJGhvdmVyQW5pbWF0aW9uOiAwLjE1cyBlYXNlLW91dDtcblxuXG5odG1sIHtcbiAgICAtLWNsci1nb2xkOiAjeyRnb2xkfTtcbiAgICAtLWNsci1nb2xkRGFyazogI3skZ29sZERhcmt9O1xuICAgIC0tY2xyLXRleHQ6ICN7JGFudGhyYXppdERhcmt9O1xuICAgIC0tY2xyLXRleHQyMDogI3tyZ2JhKCRjb2xvcjogJGFudGhyYXppdERhcmssICRhbHBoYTogMC4yKX07XG4gICAgLS1jbHItYmc6ICN7JHdhcm1XaGl0ZX07XG4gICAgLS1jbHItYmcyOiAjeyRiZWlnZUxpZ2h0fTtcbiAgICAtLWNsci1saW5rOiAjeyRnb2xkfTtcblxuICAgIC0tcGFnZU1hcmdpbjogMS4yNXJlbTtcbiAgICAtLXZlcnRpY2FsTWFyZ2luOiA0cmVtO1xuXG4gICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKCRzKXtcbiAgICAgICAgLS1wYWdlTWFyZ2luOiAxLjVyZW07XG4gICAgICAgIC0tdmVydGljYWxNYXJnaW46IDVyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKCRsKXtcbiAgICAgICAgLS1wYWdlTWFyZ2luOiAyLjVyZW07XG4gICAgICAgIC0tdmVydGljYWxNYXJnaW46IDZyZW07XG5cbiAgICB9XG4gICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKCRsKXtcbiAgICAgICAgLS1wYWdlTWFyZ2luOiAzcmVtO1xuICAgICAgICAtLXZlcnRpY2FsTWFyZ2luOiA4cmVtO1xuXG4gICAgfVxuICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSgkeGwpe1xuICAgICAgICAtLXZlcnRpY2FsTWFyZ2luOiAxMHJlbTtcblxuICAgIH1cbn1cblxuaHRtbC5kYXJrIHtcbiAgICAtLWNsci10ZXh0OiAjeyR3YXJtV2hpdGV9O1xuICAgIC0tY2xyLXRleHQyMDogI3tyZ2JhKCRjb2xvcjogJHdhcm1XaGl0ZSwgJGFscGhhOiAwLjIpfTtcbiAgICAtLWNsci1iZzogI3skYW50aHJheml0RGFya307XG4gICAgLS1jbHItYmcyOiAjeyRhbnRocmF6aXR9O1xuXG59IiwiQHVzZSAndmFyaWFibGVzJztcbkB1c2UgJ21peGlucyc7XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0dhbWJhcmluby1SZWd1bGFyJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL0dhbWJhcmluby1SZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJy4uL2ZvbnRzL0dhbWJhcmluby1SZWd1bGFyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIk5ldXRyYWZhY2UgVGV4dFwiO1xuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvTmV1dHJhZmFjZVRleHQtTGlnaHQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL05ldXRyYWZhY2VUZXh0LUxpZ2h0LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIk5ldXRyYWZhY2UgVGV4dFwiO1xuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvTmV1dHJhZmFjZVRleHQtTGlnaHRJdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL05ldXRyYWZhY2VUZXh0LUxpZ2h0SXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIk5ldXRyYWZhY2UgVGV4dFwiO1xuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvTmV1dHJhZmFjZVRleHQtQm9vay53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvTmV1dHJhZmFjZVRleHQtQm9vay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHJldGNoOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJOZXV0cmFmYWNlIFRleHRcIjtcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL05ldXRyYWZhY2VUZXh0LUJvb2tJdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL05ldXRyYWZhY2VUZXh0LUJvb2tJdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiTmV1dHJhZmFjZSBUZXh0XCI7XG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy9OZXV0cmFmYWNlVGV4dC1EZW1pLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9OZXV0cmFmYWNlVGV4dC1EZW1pLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIk5ldXRyYWZhY2UgVGV4dFwiO1xuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvTmV1dHJhZmFjZVRleHQtRGVtaUl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvTmV1dHJhZmFjZVRleHQtRGVtaUl0YWxpYy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zdHJldGNoOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJOZXV0cmFmYWNlIFRleHRcIjtcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL05ldXRyYWZhY2VUZXh0LUJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL05ldXRyYWZhY2VUZXh0LUJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIk5ldXRyYWZhY2UgVGV4dFwiO1xuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvTmV1dHJhZmFjZVRleHQtQm9sZEl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvTmV1dHJhZmFjZVRleHQtQm9sZEl0YWxpYy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xufVxuXG5odG1sIHtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5oMSB7XG4gICAgQGluY2x1ZGUgbWl4aW5zLmR5bmFtaWNGb250KDYwLCAyKTtcbiAgICBsaW5lLWhlaWdodDogMS4xNWVtO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgZm9udC1mYW1pbHk6ICdHYW1iYXJpbm8tUmVndWxhcic7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuaDIge1xuICAgIG1hcmdpbjogMHB4O1xufVxuXG4uc2VjdGlvbj5oMiwgLmhlYWRpbmcyICB7XG4gICAgXG59XG4uc2VjdGlvbj5oMiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnQtaDJ7XG4gICAgQGluY2x1ZGUgbWl4aW5zLmR5bmFtaWNGb250MigyNiwgMzQsIDQ0KTtcbiAgICBmb250LWZhbWlseTogJ0dhbWJhcmluby1SZWd1bGFyJztcbiAgICBsaW5lLWhlaWdodDogMS4xNWVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4udC1sZWFkIHtcbiAgICBAaW5jbHVkZSBtaXhpbnMuZHluYW1pY0ZvbnQyKDI0LCAzMCwgMzUpO1xuICAgIEBpbmNsdWRlIG1peGlucy5iZWxvdyh2YXJpYWJsZXMuJHMpe1xuICAgICAgICBoeXBoZW5zOiBhdXRvO1xuICAgIH1cbn1cbi50LWgzIHtcbiAgIEBpbmNsdWRlIG1peGlucy5keW5hbWljRm9udDIoMjAsIDI1LCAyNyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMFxufVxuLnQtYmlnIHtcbiAgICBAaW5jbHVkZSBtaXhpbnMuZHluYW1pY0ZvbnQyKDE4LCAyMiwgMjYpO1xuXG59XG4udC1iYXNlIHtcbiAgICBAaW5jbHVkZSBtaXhpbnMuZHluYW1pY0ZvbnQyKDE4LCAyMiwgMjQpO1xufVxuLnQtc21hbGwge1xuICAgIEBpbmNsdWRlIG1peGlucy5keW5hbWljRm9udDIoMTYsIDIwLCAyMik7XG59XG4ubGlua0J1dHRvbiB7XG4gICAgQGluY2x1ZGUgbWl4aW5zLmR5bmFtaWNGb250KDIyLCA0KTtcbn1cblxuLm5hdl9fbGluayB7XG4gICAgQGluY2x1ZGUgbWl4aW5zLmR5bmFtaWNGb250KDE2LCA0KTsgXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG4uc3VibmF2X19saW5rIHtcbiAgICBAaW5jbHVkZSBtaXhpbnMuZHluYW1pY0ZvbnQoMjIsIDYpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cblxuLmxlZ2FsQ29udGVudCB7XG4gICAgQGluY2x1ZGUgbWl4aW5zLmR5bmFtaWNGb250MigxOCwgMjIsIDI0KTtcblxuICAgIGgyIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdHYW1iYXJpbm8tUmVndWxhcic7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1ZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKXtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tdmVydGljYWxNYXJnaW4pIC8gMilcbiAgICAgICAgfVxuICAgIH1cbn0iLCJAdXNlICd2YXJpYWJsZXMnO1xuQHVzZSAnbWl4aW5zJztcblxuaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbiosICo6OmJlZm9yZSwgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgXG59XG5cblxuaHRtbCB7XG4gICAgZm9udC1mYW1pbHk6IFwiTmV1dHJhZmFjZSBUZXh0XCIsIHNhbnMtc2VyaWY7XG4gICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgICBjb2xvcjogdmFyKC0tY2xyLXRleHQpO1xuXG59XG5cbmJvZHkge1xuICAgICYuaGVhZGVyVGhlbWUtLWRhcmsge1xuICAgICAgICAtLWNsci10ZXh0OiAje3ZhcmlhYmxlcy4kd2FybVdoaXRlfTtcbiAgICAgICAgLS1jbHItdGV4dDIwOiAje3JnYmEoJGNvbG9yOiB2YXJpYWJsZXMuJHdhcm1XaGl0ZSwgJGFscGhhOiAwLjIpfTtcbiAgICAgICAgLS1jbHItYmc6ICN7dmFyaWFibGVzLiRhbnRocmF6aXR9O1xuICAgICAgICAtLWNsci1iZzI6ICN7dmFyaWFibGVzLiRhbnRocmF6aXREYXJrfTtcbiAgICB9XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyaWFibGVzLiRhbnRocmF6aXQ7XG4gICAgJj4qIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2xyLWJnKTtcbiAgICB9XG59XG5cbm1haW4ge1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tcGFnZU1hcmdpbik7IFxuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xufVxuYSB7XG4gICAgY29sb3I6IHZhcigtLWNsci10ZXh0KVxufVxuYWRkcmVzcyBhLCBwPmEge1xuICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMC4wMzVlbTtcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDNweDtcbiAgICBcbn1cbmltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuZmlndXJlIHtcbiAgICBtYXJnaW46IDA7IFxufVxuLm5vLWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbHItdGV4dDIwKTtcbiAgICBjb2xvcjogdmFyKC0tY2xyLXRleHQpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLy8gc25pcHBldCBieSBDaHJpcyBDb3lpZXIsIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vaW5jbHVzaXZlbHktaGlkZGVuL1xuLnZpc3VhbGx5SGlkZGVuOm5vdCg6Zm9jdXMpOm5vdCg6YWN0aXZlKSB7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTsgXG4gICAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IFxuICAgIHdpZHRoOiAxcHg7XG59XG5cbmZpZ2NhcHRpb24ge1xuICAgIG1heC13aWR0aDogNDBlbTtcbn1cblxuLmxpbmVIb3ZlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OicnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2UtaW4sIGhlaWdodCAwLjNzIGVhc2UtaW4sIG9wYWNpdHkgMC40cyBlYXNlLWluO1xuICAgIH1cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY2xyLWdvbGQpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY2xyLWdvbGQpO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgcmlnaHQ6IC0xcHg7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jbHItZ29sZCk7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNsci1nb2xkKTtcbiAgICB9XG4gICAgYTpob3ZlciAmOjpiZWZvcmUsIGE6aG92ZXIgJjo6YWZ0ZXIsICY6aG92ZXI6OmJlZm9yZSwgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAycHgpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjRzIGN1YmljLWJlemllciguMjMsLjI0LDAsMSksIGhlaWdodCAwLjRzIGN1YmljLWJlemllciguMjMsLjI0LDAsMSksIG9wYWNpdHkgMC4ycyBlYXNlLW91dDtcbiAgICB9XG59XG5cbi8vIC5iZy1maXgge1xuLy8gICAgIHBvc2l0aW9uOiBzdGlja3k7XG4vLyAgICAgd2lkdGg6IDEwMCU7XG4vLyAgICAgbGVmdDogMDtcbi8vICAgICByaWdodDogMDtcbi8vICAgICBib3R0b206IDA7XG4vLyAgICAgaGVpZ2h0OiA1cHg7XG4vLyAgICAgei1pbmRleDogMjAwO1xuLy8gfSIsIkB1c2UgJ3ZhcmlhYmxlcyc7XG5AdXNlICdtaXhpbnMnO1xuXG4kc3RpY2t5VHJhbnNpdGlvbkR1cmF0aW9uOiAwLjI1cztcbiRzdGlja3lUcmFuc2l0aW9uOiAkc3RpY2t5VHJhbnNpdGlvbkR1cmF0aW9uIGN1YmljLWJlemllciguNCwwLC4zLDEpO1xuXG4ubmF2SGVhZGVyU3BhY2VyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAzMHB4O1xuXG4gICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbSl7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICB9XG59XG5tYWluLCBmb290ZXIge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHN0aWNreVRyYW5zaXRpb247XG59XG4ubWVudS1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbWFpbiwgZm9vdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbn1cbi5uYXZIZWFkZXIge1xuICAgIFxuICAgIC0tY2xyLXRleHQ6ICN7dmFyaWFibGVzLiR3YXJtV2hpdGV9O1xuICAgIC0tY2xyLXRleHQyMDogI3tyZ2JhKCRjb2xvcjogdmFyaWFibGVzLiR3YXJtV2hpdGUsICRhbHBoYTogMC4yKX07XG4gICAgLS1jbHItYmc6ICN7dmFyaWFibGVzLiRhbnRocmF6aXR9O1xuICAgIC0tY2xyLWJnMjogI3t2YXJpYWJsZXMuJGFudGhyYXppdERhcmt9O1xuICAgIC0tY2xyLWxpbms6ICN7dmFyaWFibGVzLiRnb2xkfTtcbiAgIFxuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDowO1xuICAgIHotaW5kZXg6IDk5O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGhlaWdodDogMTIwcHg7XG5cblxuICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJGwpe1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJi4tLXN0aWNreXtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwMHB4IDIwcHggMTBweCByZ2JhKDAsMCwwLDAuMik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsci1iZyk7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICB9XG4gICAgJi4tLW9wZW57XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICB9XG4gICBcbiAgICAmX19sb2dvTWVudXtcbiAgICAgICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBoZWlnaHQ6IDEyMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgLi0tYW5pbWF0aW9uICYge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBzdGVwLXN0YXJ0O1xuICAgICAgICB9XG4gICAgICAgIC4tLXN0aWNreSAmIHtcbiAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsci1iZyk7XG4gICAgICAgIH1cbiAgICAgICAgLi0tb3BlbiAmIHtcbiAgICAgICAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5iZWxvdyh2YXJpYWJsZXMuJGwpe1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCl7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAuLS1zdGlja3kgJiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgfVxuICAgICZfX2xvZ28ge1xuICAgICAgICB3aWR0aDogMy41cmVtO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICAmX19sb2dvbWFyayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMi41cmVtO1xuICAgICAgICBtYXJnaW46IDAgYXV0byAwLjVyZW0gYXV0bztcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXG4gICAgICAgIC4tLWFuaW1hdGlvbiAmIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkc3RpY2t5VHJhbnNpdGlvbiwgb3BhY2l0eSAwLjI1cyBsaW5lYXI7XG4gICAgICAgIH1cbiAgICAgICAgLi0tc3RpY2t5ICYge1xuICAgICAgICAgICAgb3BhY2l0eTogMC4xO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNnB4KTtcbiAgICAgICAgfVxuICAgICAgICAuLS1vcGVuICYge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICBmaWxsOiB2YXIoLS1jbHItZ29sZCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fbG9nb3R5cGUge1xuXG4gICAgICAgIC4tLWFuaW1hdGlvbiAmIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkc3RpY2t5VHJhbnNpdGlvbiwgYmFja2dyb3VuZC1jb2xvciAkc3RpY2t5VHJhbnNpdGlvbjtcbiAgICAgICAgfVxuICAgICAgICAuLS1zdGlja3k6bm90KC4tLW9wZW4pICYge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02M3B4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHBhdGgge1xuICAgICAgICAgICAgZmlsbDogdmFyKC0tY2xyLXRleHQpO1xuXG4gICAgICAgICAgICAubmF2SGVhZGVyLS1icmlnaHQ6bm90KC4tLW9wZW4pOm5vdCguLS1zdGlja3kpICYge1xuICAgICAgICAgICAgICAgIGZpbGw6IHZhcmlhYmxlcy4kYW50aHJheml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIG1hcmdpbjowO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogdmFyKC0tcGFnZU1hcmdpbik7XG4gICAgICAgIHJpZ2h0OiB2YXIoLS1wYWdlTWFyZ2luKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuXG4gICAgICAgIC4tLWFuaW1hdGlvbiAmIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAkc3RpY2t5VHJhbnNpdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC4tLXN0aWNreSAmIHtcbiAgICAgICAgICAgIHRvcDogMXJlbVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCl7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2ljb24ge1xuICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAkc3RpY2t5VHJhbnNpdGlvbiwgaGVpZ2h0ICRzdGlja3lUcmFuc2l0aW9uO1xuXG4gICAgfVxuICAgICZfX2ljb24gbGluZSB7XG4gICAgICAgIHN0cm9rZS13aWR0aDogMXB4O1xuICAgICAgICBzdHJva2U6IHZhcigtLWNsci1nb2xkKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRzdGlja3lUcmFuc2l0aW9uLCBvcGFjaXR5ICRzdGlja3lUcmFuc2l0aW9uO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBcbiAgICAgICAgLi0tb3BlbiAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxNSUsIDE1JSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAuLS1vcGVuICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgICAuLS1vcGVuICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgICAuLS1vcGVuICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgICAuLS1vcGVuICY6bnRoLWNoaWxkKDUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC00OCUsIDIyJSkgIHJvdGF0ZSgtNDVkZWcpIDtcblxuICAgICAgICB9XG4gICAgfVxuICAgIC5uYXZIZWFkZXItLWJyaWdodDpub3QoLi0tb3Blbik6bm90KC4tLXN0aWNreSkgJl9faWNvbiBsaW5lIHtcbiAgICAgICAgc3Ryb2tlOiB2YXIoLS1jbHItZ29sZERhcmspO1xuICAgIH1cbn1cblxuLm5hdiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgaGVpZ2h0OiAwOyBcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBtaXhpbnMuYmVsb3codmFyaWFibGVzLiRsKXsgXG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgIFxuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6IHZhcigtLWNsci1iZyk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJyZW0pO1xuXG4gICAgICAgIC4tLWFuaW1hdGlvbiAmIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHN0aWNreVRyYW5zaXRpb24sIHRyYW5zZm9ybSAkc3RpY2t5VHJhbnNpdGlvbiwgaGVpZ2h0ICRzdGlja3lUcmFuc2l0aW9uRHVyYXRpb24gc3RlcC1lbmQ7XG4gICAgICAgIH1cbiAgICAgICAgLi0tYW5pbWF0aW9uLi0tb3BlbiAmIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHN0aWNreVRyYW5zaXRpb24sIHRyYW5zZm9ybSAkc3RpY2t5VHJhbnNpdGlvbiwgaGVpZ2h0ICRzdGlja3lUcmFuc2l0aW9uRHVyYXRpb24gc3RlcC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgICAuLS1vcGVuICYge1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTBweCk7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMGR2aDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbHItYmcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiA5cmVtO1xuICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHJlbSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB2YXIoLS1jbHItYmcpIDUwJSwgdHJhbnNwYXJlbnQpIDEwMCU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMS41cyBlYXNlLW91dDtcblxuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgICAgICBoZWlnaHQ6IDVyZW07XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTVyZW0pO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHZhcigtLWNsci1iZykgMzAlLCB0cmFuc3BhcmVudCkgMTAwJTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxLjVzIGVhc2Utb3V0O1xuICAgICAgICB9XG4gICAgICAgIC4tLW9wZW4gJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkc3RpY2t5VHJhbnNpdGlvbkR1cmF0aW9uO1xuICAgICAgICB9XG4gICAgICAgIC4tLW9wZW4gJjo6YWZ0ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cmVtKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICRzdGlja3lUcmFuc2l0aW9uRHVyYXRpb247XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCl7IFxuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXJnaW4tdG9wICRzdGlja3lUcmFuc2l0aW9uO1xuXG4gICAgICAgIC4tLXN0aWNreSAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICAgIH1cbiAgICAgICAgLi0tYW5pbWF0aW9uICYge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAkc3RpY2t5VHJhbnNpdGlvbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpc3Qge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmJlbG93KHZhcmlhYmxlcy4kbCl7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY2xyLXRleHQyMCk7XG5cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRsKXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGdhcDogNXZ3O1xuICAgICAgICAgICAgJi0tcmlnaHR7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXBhZ2VNYXJnaW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi0tY2VudGVyIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuICAgICZfX2l0ZW0ge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYmVsb3codmFyaWFibGVzLiRsKXtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuMik7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY2xyLXRleHQyMCk7XG5cbiAgICAgICAgICAgIFxuXG4gICAgICAgICAgICAuLS1vcGVuICYge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRsKXtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDU1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnN1Ym5hdl9faXRlbSB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYmVsb3codmFyaWFibGVzLiRsKXtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jbHItdGV4dDIwKTtcbiAgICAgICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2xyLWJnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpc3QtLTQgJl9faXRlbTpudGgtY2hpbGQoMyl7XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJGwpe1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTV2dyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fbGlzdC0tNSAmX19pdGVtOm50aC1jaGlsZCg0KSwgJl9fbGlzdC0tNiAmX19pdGVtOm50aC1jaGlsZCg0KXtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCl7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygxNXZ3KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19saXN0LS03ICZfX2l0ZW06bnRoLWNoaWxkKDUpLCAmX19saXN0LS04ICZfX2l0ZW06bnRoLWNoaWxkKDUpe1xuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRsKXtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE1dncpO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICZfX2xpbmsge1xuICAgICAgICBjb2xvcjogdmFyKC0tY2xyLXRleHQpO1xuXG4gICAgICAgIC5uYXZIZWFkZXItLWJyaWdodDpub3QoLi0tc3RpY2t5KSAmIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXJpYWJsZXMuJGFudGhyYXppdDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYmVsb3codmFyaWFibGVzLiRsKXtcbiAgICAgICAgICAgIC5uYXZfX2l0ZW06bm90KC5uYXZfX2l0ZW0tLWNvbnRhY3QpICZ7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC40O1xuICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5uYXZIZWFkZXItLWJyaWdodC4tLW9wZW4gJntcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY2xyLXRleHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJGwpe1xuICAgICAgICAgICAgLm5hdl9faXRlbTpob3ZlciAme1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jbHItbGluayk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubmF2SGVhZGVyLS1icmlnaHQ6bm90KC4tLXN0aWNreSkgLm5hdl9faXRlbTpob3ZlciAme1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jbHItZ29sZERhcmspO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm5hdl9faXRlbTpob3ZlciAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuc3VibmF2X19saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCl7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY2xyLWxpbmspO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fbGluaywgLnN1Ym5hdl9fbGluayB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYmVsb3codmFyaWFibGVzLiRsKXtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBoZWlnaHQ6IDMuNXJlbTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJGwpe1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgICAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDFweCk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAxcHgpO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNsci1saW5rKTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3VibmF2IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS41cmVtKTtcbiAgICBtYXJnaW46IDAgMCAwIDEuNXJlbTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWNsci10ZXh0MjApO1xuICAgIHBhZGRpbmc6IDA7XG5cblxuICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJGwpe1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDQ4cHg7XG4gICAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWNsci1saW5rKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2xyLWJnKTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMTJweCAxOHB4IC0zcHggcmdiYSgwLDAsMCwwLjMpO1xuXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luOiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdl9faXRlbTpob3ZlciAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2xpbmsge1xuICAgICAgICAubmF2SGVhZGVyLS1icmlnaHQgJiB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY2xyLXRleHQpO1xuICAgICAgICB9XG4gICAgfVxufSIsIkB1c2UgJ3ZhcmlhYmxlcyc7XG5AdXNlICdtaXhpbnMnO1xuXG4uc2VjdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tdmVydGljYWxNYXJnaW4pO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tdmVydGljYWxNYXJnaW4pICogMSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgc2Nyb2xsLW1hcmdpbi10b3A6IDEwMHB4O1xuXG4gICAgJjpudGgtY2hpbGQoMil7XG4gICAgICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tdmVydGljYWxNYXJnaW4pIC8gMS41KTtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgICB9XG5cbiAgICAmX19sZWFkIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzNWVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgICY+KjpsYXN0LWNoaWxke1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuXG4iLCJAdXNlICd2YXJpYWJsZXMnO1xuQHVzZSAnbWl4aW5zJztcblxuLmxpbmtCdXR0b24ge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLWNsci1saW5rKTtcbiAgICBtaW4taGVpZ2h0OiAxLjZyZW07XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgaGVpZ2h0OiAxLjZyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS4ycmVtO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWNsci1saW5rKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBsZWZ0OiAtMTFweDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNsci1saW5rKTtcbiAgICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fdGV4dCB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xZW07XG4gICAgfVxuXG4gICAgJjpob3ZlciAmX190ZXh0LCBhOmhvdmVyICYgJl9fdGV4dCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg2cHgpO1xuICAgIH1cblxuICAgICY6aG92ZXIgJl9faWNvbjo6YmVmb3JlLCBhOmhvdmVyICZfX2ljb246OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMC41cHgpIHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxufVxuLmxpbmtFeHRlcm4ge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogdmFyKC0tY2xyLWxpbmspO1xuICAgIHBhZGRpbmctdG9wOiAwLjVlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41ZW07XG4gICAgcGFkZGluZy1yaWdodDogMmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXJpYWJsZXMuJGhvdmVyQW5pbWF0aW9uO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIC0tY2xyLWxpbms6IHZhcigtLWNsci10ZXh0KTtcbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcmlhYmxlcy4kaG92ZXJBbmltYXRpb247XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIH1cbiAgICAmOmhvdmVyICZfX3RleHQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcbiAgICB9XG4gICAgJl9faWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0zcHg7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICBoZWlnaHQ6IDJlbTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1jbHItbGluayk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01cHgpIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyaWFibGVzLiRob3ZlckFuaW1hdGlvbjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDonJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEuNWVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjVlbTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNsci1saW5rKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXJpYWJsZXMuJGhvdmVyQW5pbWF0aW9uO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoLTE3cHgsIC0xMnB4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmOmhvdmVyICZfX2ljb24ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzcHgsIC04cHgpIHJvdGF0ZSgtNDVkZWcpO1xuXG4gICAgfVxuICAgICY6aG92ZXIgJl9faWNvbjo6YmVmb3Jle1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZSgtMTVweCwgLTEwcHgpO1xuICAgIH1cbn1cbkBrZXlmcmFtZXMgem9vbUluIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbn1cbi5oZWFkZXIge1xuICAgICYtLWRhcmsge1xuICAgICAgICAtLWNsci1iZzogI3t2YXJpYWJsZXMuJGFudGhyYXppdERhcmt9O1xuICAgIH1cbiAgICAmLS1ob21lLmhlYWRlci0tZGFyayB7XG4gICAgICAgIC0tY2xyLXRleHQ6ICN7dmFyaWFibGVzLiR3YXJtV2hpdGV9O1xuICAgIH1cblxuICAgIHotaW5kZXg6IDI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiB2YXIoLS1jbHItdGV4dCk7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tcGFnZU1hcmdpbikgKiAtMSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLXBhZ2VNYXJnaW4pICogLTEpO1xuICAgIFxuXG4gICAgJi0taG9tZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLXZlcnRpY2FsTWFyZ2luKSAvIDMgKyAxMHZoKTtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgaGVpZ2h0OiAxMDBzdmg7XG4gICAgfVxuICAgICYtLXN0YW5kYXJkIHtcbiAgICAgICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tdmVydGljYWxNYXJnaW4pIC8gMyArIDEwdmgpO1xuXG4gICAgfVxuICAgICYtLXN0YW5kYXJkLCAmLS1pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tdmVydGljYWxNYXJnaW4pIC8gMik7XG4gICAgfVxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2xyLWJnKTtcblxuICAgIH1cbiAgICAmLS1ob21lICZfX2ltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICAmLS1ob21lICZfX2ltYWdlIGltZ3tcbiAgICAgICAgYW5pbWF0aW9uOiB6b29tSW4gMnMgY3ViaWMtYmV6aWVyKC4yLC4yMiwuNCwxKTtcbiAgICB9XG4gICAgJi0taW1hZ2UgJl9faW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA2MHZoO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICAmX19pbWFnZSBpbWd7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbiAgICAmX19pbWFnZTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAyNTBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB2YXIoLS1jbHItYmcpLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5zY3JpbUdyYWRpZW50KHZhcmlhYmxlcy4kd2FybVdoaXRlLCB0byBib3R0b20sIDAuOCwgMC4yKTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gICAgJi0tZGFyayAmX19pbWFnZTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLDAsMCwwLjYpLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5zY3JpbUdyYWRpZW50KCMwMDAsIHRvIGJvdHRvbSwgMC45LCAwLjEsIDAuNik7XG4gICAgICAgICBcbiAgICB9XG4gICAgJi0taG9tZSAmX19pbWFnZT5pbWcge1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IDcwJSA3MCU7XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMXZoO1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tcGFnZU1hcmdpbik7XG4gICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tcGFnZU1hcmdpbik7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxke1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19sZWFkIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzNWVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1wYWdlTWFyZ2luKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1wYWdlTWFyZ2luKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1dmg7XG4gICAgfVxufVxuLmhvbWVUZWFzZXIge1xuICAgIGhlaWdodDogY2FsYyg1NXN2aCAtIHZhcigtLXBhZ2VNYXJnaW4pKTtcbiAgICAvL2JvcmRlcjogMXB4IHNvbGlkIHZhcmlhYmxlcy4kZ29sZDtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IHZhcigtLXBhZ2VNYXJnaW4pO1xuICAgIGxlZnQ6IHZhcigtLXBhZ2VNYXJnaW4pO1xuICAgIHJpZ2h0OiB2YXIoLS1wYWdlTWFyZ2luKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZ2FwOiAxLjVyZW07XG5cbiAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDonJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlICsgMnB4KTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgYW5pbWF0aW9uOiBzY2FsZUxpbmUgMXMgY3ViaWMtYmV6aWVyKC4yLC4yMiwuNCwxKTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuICAgIC5oZWFkZXItLWJyaWdodCAmOjpiZWZvcmUsIC5oZWFkZXItLWJyaWdodCAmOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY2xyLWdvbGREYXJrKTtcbiAgICB9XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgICBsZWZ0OiAtMXB4O1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWNsci1nb2xkKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNsci1nb2xkKTtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgIHJpZ2h0OiAtMXB4O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY2xyLWdvbGQpO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jbHItZ29sZCk7XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICAgICAgICBhbmltYXRpb246IGZhZGVVcCAxLjhzIGN1YmljLWJlemllciguMiwuMjIsLjQsMSk7XG4gICAgfVxuICAgICZfX2xpbmsge1xuICAgICAgICBhbmltYXRpb246IGZhZGVVcCAycyBjdWJpYy1iZXppZXIoLjIsLjIyLC40LDEpO1xuICAgIH1cbiAgICAuaGVhZGVyLS1icmlnaHQgJl9fbGluayB7XG4gICAgICAgIC0tY2xyLWxpbms6ICN7dmFyaWFibGVzLiRnb2xkRGFya307XG4gICAgfVxufVxuQGtleWZyYW1lcyBzY2FsZUxpbmUge1xuICAgIDAlIHtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAycHgpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDJweCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuQGtleWZyYW1lcyBmYWRlVXAge1xuICAgIDAlLCA1MCV7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cblxuLmltYWdlIHtcbiAgICAmLS1mdWxsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tcGFnZU1hcmdpbikgKiAtMSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1wYWdlTWFyZ2luKSAqIC0xKTtcbiAgICB9XG59XG5cbi5saW5rYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsci1iZzIpO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm94LXNoYWRvdzogMCAyMHB4IDIwcHggLTE1cHggcmdiYSgwLDAsMCwwLjI1KTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxNzUwcHg7XG4gICAgLy8gYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtcbiAgICAvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLDAsMCwwLjIpO1xuICAgIC8vYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2xyLXRleHQyMCk7XG5cbiAgICAuZGFyayAmIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4yKTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgwLDAsMCwwLjYpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLDAsMCwwLjgpO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRtKXtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICAuc2VjdGlvbjpudGgtb2YtdHlwZSgyKSAme1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCl7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA3MCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDM1MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJHhsKXtcbiAgICAgICAgICAgIGhlaWdodDogNDAwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9faW1hZ2UgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgfVxuICAgICZfX2xpbmtzIHtcbiAgICAgICAgLS1jbHItbGluazogI3t2YXJpYWJsZXMuJGFudGhyYXppdERhcmt9O1xuICAgICAgICAuZGFyayAmIHtcbiAgICAgICAgICAgIC0tY2xyLWxpbms6ICN7dmFyaWFibGVzLiR3YXJtV2hpdGV9O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBmbGV4LWJhc2lzOiAzMCU7XG4gICAgICAgIC8vbWluLWhlaWdodDogMjUwcHg7XG4gICAgICAgIHBhZGRpbmc6IDIuNXJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxleC1iYXNpczogNTAlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJGwpe1xuICAgICAgICAgICAgZmxleC1iYXNpczogMzAlO1xuICAgICAgICB9XG5cbiAgICB9XG4gICAgJl9fbGlzdCB7XG4gICAgICAgIHBhZGRpbmc6IDA7IFxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY2xyLXRleHQyMCk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxZW0pO1xuICAgIH1cbiAgICAmX19saXN0aXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDAuNzVyZW07XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jbHItdGV4dDIwKTtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgXG4gICAgfVxuXG59XG5cbi5jb250YWN0IHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS12ZXJ0aWNhbE1hcmdpbik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICB9XG5cbiAgICAmX19ib3gge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jbHItZ29sZCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbSkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMS41cmVtLCAtMS41cmVtKTtcbiAgICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMnJlbSwgLTJyZW0pO1xuXG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fdGV4dENvbnRlbnQge1xuICAgICAgICBcbiAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogMnJlbVxuICAgIH1cbiAgICAubGlua0V4dGVybiB7XG4gICAgICAgY29sb3I6IHZhcmlhYmxlcy4kYW50aHJheml0RGFyaztcblxuICAgICAgICZfX2ljb24sICZfX2ljb246OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcmlhYmxlcy4kYW50aHJheml0RGFyaztcbiAgICAgICB9XG4gICAgfVxuICAgICZfX2FkZHJlc3Mge1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5keW5hbWljRm9udCgzMCwgMik7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19vcGVuaW5nSG91cnMge1xuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuZHluYW1pY0ZvbnQoMjAsIDQpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIFxuICAgIH1cbiAgICAmX19jb2x1bW5zLS0yIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIFxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJG0pe1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGdhcDogM3JlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsci1nb2xkKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbSl7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgICBwYWRkaW5nOiAycmVtIDA7XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYmVsb3codmFyaWFibGVzLiRtKXtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRtKXtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19jb2x1bW5zLS0yICZfX2NvbHVtbjpudGgtY2hpbGQoMSl7XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5iZWxvdyh2YXJpYWJsZXMuJG0pe1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNsci1nb2xkKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRtKXtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2NvbHVtbjpudGgtY2hpbGQoMil7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYmVsb3codmFyaWFibGVzLiRtKXtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jbHItZ29sZCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxuICAgIFxufSIsIkB1c2UgJ3ZhcmlhYmxlcyc7XG5AdXNlICdtaXhpbnMnO1xuXG4uc3RlcHMge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNsci1nb2xkKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS12ZXJ0aWNhbE1hcmdpbik7XG4gICAgbWF4LXdpZHRoOiBjYWxjKHZhcmlhYmxlcy4keHhsICsgMiAqIHZhcigtLXBhZ2VNYXJnaW4pKTtcblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAycmVtIDA7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jbHItZ29sZCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJG0pe1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRtKXtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDQwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fdGV4dENvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRtKXtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX190aXRsZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDQwcmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbSl7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOjA7XG4gICAgICAgIH1cbiAgICB9IFxuICAgICZfX3RleHQge1xuICAgICAgICBtYXgtd2lkdGg6IDQwcmVtO1xuICAgICAgICBwOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgICBwOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbn1cbi5pbWFnZSB7XG4gICBcbn1cblxuLmN0YVRlYXNlcntcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDcwdnc7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXZlcnRpY2FsTWFyZ2luKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRtKXtcbiAgICAgICAgICAgIGhlaWdodDogNDB2aDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRsKXtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDB2dyAvIDI0ICogNSk7XG4gICAgICAgIH1cbiAgICBcbiAgICBcbiAgICAmX19wYXR0ZXJuIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tcGFnZU1hcmdpbikgKiAtMSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1wYWdlTWFyZ2luKSAqIC0xKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGhlaWdodDogNzB2dztcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC41cHggdmFyKC0tY2xyLWdvbGQpO1xuXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEwLCAxZnIpO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgxMiwgY2FsYygxMDB2dyAvIDEwKSk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbSl7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwdnc7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxNSwgMWZyKTtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDgsIGNhbGMoMTAwdncgLyAxNSkpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJGwpe1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZ3IC8gMjQgKiA1KTtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDI0LCAxZnIpO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoNSwgY2FsYygxMDB2dyAvIDI0KSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoODB2dyArIDJweCk7XG4gICAgICAgIGhlaWdodDogY2FsYyg0MHZ3ICsgMnB4KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjB2dztcbiAgICAgICAgcGFkZGluZzogMCAyLjVyZW0gMCAyLjVyZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsci1iZyk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNsci1nb2xkKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRtKXtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDB2dyAvIDE1ICogMyArIDJweCk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHZ3O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJGwpe1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNXJlbTtcbiAgICAgICAgICAgIGdhcDogM3JlbTtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZ3IC8gMjQgKiAyICsgMnB4KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoMTAwdncgLyAyNCk7O1xuICAgICAgICB9XG5cbiAgICAgICAgLmN0YVRlYXNlci0tbGluayAmIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRsKXtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19saW5rIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNsci10ZXh0KTtcblxuICAgICAgICAubGlua0J1dHRvbl9faWNvbiwgLmxpbmtCdXR0b25fX2ljb246OmJlZm9yZXtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY2xyLXRleHQpO1xuICAgICAgICB9IFxuICAgIH1cbiAgICAmX190ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmR5bmFtaWNGb250KDQwLCAyKTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdHYW1iYXJpbm8tUmVndWxhcic7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1ZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAuZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuNXB4IHZhcigtLWNsci1nb2xkKTtcblxuICAgICYtLXI5MCB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB9XG4gICAgJi0tcjE4MCB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuICAgICYtLXIyNzAge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxufVxufVxuXG5cbi5pbWFnZXMge1xuICAgIHBhZGRpbmc6IDAgMnJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sdW1uLWNvdW50OiAxO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXZlcnRpY2FsTWFyZ2luKTtcbiAgICBcbiAgICAuc2VjdGlvbiAmOmxhc3QtY2hpbGR7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbSl7XG4gICAgICAgIHBhZGRpbmc6IDAgM3JlbTtcbiAgICAgICAgY29sdW1uLWdhcDogNXJlbTtcbiAgICAgICAgY29sdW1uLWNvdW50OiAyO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRsKXtcbiAgICAgICAgcGFkZGluZzogMCA4dnc7XG4gICAgICAgIGNvbHVtbi1nYXA6IDE2dnc7XG4gICAgfVxuICAgIFxuICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJHh4bCl7XG4gICAgICAgIHBhZGRpbmc6IDAgM3Z3O1xuICAgICAgICBjb2x1bW4tZ2FwOiA4dnc7XG4gICAgICAgIGNvbHVtbi1jb3VudDogMztcbiAgICB9XG4gICAgJl9faW1hZ2UtLWNhcHRpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgXG4gICAgICAgICZbZGF0YS1vcmllbnRhdGlvbj1cInBvcnRyYWl0XCJde1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNHJlbSAwO1xuICAgICAgICB9XG4gICAgICAgICZbZGF0YS1vcmllbnRhdGlvbj1cImxhbmRzY2FwZVwiXXtcbiAgICAgICAgICAgIG1hcmdpbjogMCAtMnJlbSA0cmVtIC0ycmVtO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDRyZW0pO1xuICAgICAgICB9XG4gICAgICAgIFxuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJGwpe1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOXJlbTtcbiAgICAgICAgICAgICYtLWNhcHRpb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDZyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgfVxuICAgIFxuICAgICZfX2ltYWdlIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICB9XG4gICAgJl9fY2FwdGlvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cbi5pY29uVGV4dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMnJlbTsgXG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tdmVydGljYWxNYXJnaW4pO1xuXG4gICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCl7XG4gICAgICAgIGdhcDogNHJlbTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRtKXtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMnJlbTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRsKXtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDJyZW0pO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJHh4bCl7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygyNSUgLSAzcmVtKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMC41cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3RleHRDb250ZW50e1xuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJG0pe1xuICAgICAgICAgICAgLy9wYWRkaW5nOiAwIDM1cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4keHhsKXtcbiAgICAgICAgICAgIC8vcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICB3aWR0aDogMTByZW07XG4gICAgICAgIGhlaWdodDogMTByZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCl7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTM1cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCl7XG4gICAgICAgICAgICB3aWR0aDogMTJyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDEycmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICB9IFxuICAgICZfX3RleHQge1xuICAgICAgICBtYXgtd2lkdGg6IDQwcmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyBcbiAgICB9XG4gICAgJl9fdGV4dCBwOmZpcnN0LWNoaWxke1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxufVxuXG4uZmxvdyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXZlcnRpY2FsTWFyZ2luKTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgJl9fdGV4dENvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDQwcmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJHhsKXtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTByZW07XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tdmVydGljYWxNYXJnaW4pO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLW9mLXR5cGUoMm4gKyAxKXtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbSl7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiR4bCl7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMnJlbSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19pbWFnZSB7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS12ZXJ0aWNhbE1hcmdpbik7XG4gICAgICAgIH1cblxuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJHMpe1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuXG4gICAgICAgIH1cbiAgICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJHhsKXtcbiAgICAgICAgICAgIHdpZHRoOiA3MCU7XG5cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBhdHRlcm5TdHJpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHdpZHRoOiAxNXJlbTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogY2FsYyh2YXIoLS12ZXJ0aWNhbE1hcmdpbikgKiAtMC40KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgYm9yZGVyOiAwLjVweCBzb2xpZCB2YXIoLS1jbHItZ29sZCk7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbSl7XG4gICAgICAgIHdpZHRoOiAyMHJlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCl7XG4gICAgICAgIHdpZHRoOiAzMHJlbTtcbiAgICB9XG4gICAgXG59XG4uZm9ybSB7IFxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgICBcbiAgICAmLS0xIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9mb3JtLzFmLnN2Zyk7XG4gICAgfVxuICAgICYtLTIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2Zvcm0vMmYuc3ZnKTtcbiAgICB9XG4gICAgJi0tMyB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvZm9ybS8zZi5zdmcpO1xuICAgIH1cbiAgICAmLS00IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9mb3JtLzRmLnN2Zyk7XG4gICAgfVxuICAgICYtLTUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2Zvcm0vNWYuc3ZnKTtcbiAgICB9XG4gICAgJi0tNiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvZm9ybS82Zi5zdmcpO1xuICAgIH1cbiAgICAmLS1yOTAge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuICAgICYtLXIxODAge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbiAgICAmLS1yMjcwIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgICB9XG59XG5cbi5pbWFnZVRleHRDYXJkcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICByb3ctZ2FwOiA0cmVtO1xuICAgIGNvbHVtbi1nYXA6IDJyZW07XG4gICAgei1pbmRleDogMTtcblxuXG4gICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbSl7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICAgIFxuICAgIH1cbiAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRsKXtcbiAgICAgICAgY29sdW1uLWdhcDogM3JlbTtcblxuICAgIH1cbiAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiR4bCl7XG4gICAgICAgIGNvbHVtbi1nYXA6IDRyZW07XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgICAgXG4gICAgfVxuICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJHh4bCl7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCl7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJGwpe1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDogMTByZW07XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuICAgICZfX2ltYWdlIGltZyB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcblxuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJG0pe1xuXG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fdGV4dENvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAxMHJlbSAxcmVtIDFyZW0gMXJlbTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2xyLWdvbGQpO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIFxuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJGwpe1xuICAgICAgICAgICAgcGFkZGluZzogMTByZW0gMnJlbSAycmVtIDJyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5sZWdhbENvbnRlbnQge1xuICAgIG1heC13aWR0aDogNDBlbTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICBoMjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jbHItZ29sZCk7XG4gICAgICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tdmVydGljYWxNYXJnaW4pIC8gNCk7XG4gICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLXZlcnRpY2FsTWFyZ2luKSAvIDQpO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbn1cblxuLnRleHRJbWFnZUNvbHVtbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1heC13aWR0aDogY2FsYyh2YXJpYWJsZXMuJHh4bCArIDIgKiB2YXIoLS1wYWdlTWFyZ2luKSk7XG5cbiAgICAmLS1vcmRlcjIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBmbGV4LWJhc2lzOiA0MCU7XG5cbiAgICB9XG4gICAgJl9fdGV4dENvbnRlbnQge1xuICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgfVxufSIsIkB1c2UgJ3ZhcmlhYmxlcyc7XG5AdXNlICdtaXhpbnMnO1xuXG4uY29sbGVjdGlvbkxpc3Qge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXZlcnRpY2FsTWFyZ2luKTtcbiAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRsKXtcbiAgICAgICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS12ZXJ0aWNhbE1hcmdpbikgLyAyKTtcblxuICAgIH1cbn1cblxuLmNvbGxlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXZlcnRpY2FsTWFyZ2luKTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblxuICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJG0pe1xuICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAmOm50aC1jaGlsZCg2biAtIDQpe1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQoNm4gLSAzKXtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXZ3O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDZuIC0gMil7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCg2biAtIDEpe1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDZuKXtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXZ3O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCl7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tdmVydGljYWxNYXJnaW4pIC8gMik7XG5cbiAgICAgICAgXG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICAmX19pbWFnZSBpbWcsICZfX3RpdGxlLCAmX19saW5rIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcmlhYmxlcy4kaG92ZXJBbmltYXRpb247XG4gICAgfVxuICAgICY6aG92ZXIgJl9faW1hZ2UgaW1nIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgICB9XG4gICAgLy8gJjpob3ZlciAmX190aXRsZSB7XG4gICAgLy8gICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpO1xuICAgIC8vIH1cbiAgICAvLyAmOmhvdmVyICZfX2xpbmsge1xuICAgIC8vICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTtcbiAgICAvLyB9XG59XG4uY29sbGVjdGlvblNlY3Rpb24ge1xuICAgICYtLW1vb2Qge1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS12ZXJ0aWNhbE1hcmdpbik7XG4gICAgfVxuICAgICYtLXByb2R1Y3RzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tdmVydGljYWxNYXJnaW4pO1xuICAgIH1cbn0iLCJAdXNlICd2YXJpYWJsZXMnO1xuQHVzZSAnbWl4aW5zJztcblxuXG4ucHJvZHVjdEhlYWRlciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwYWRkaW5nLXRvcDogMTIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1wYWdlTWFyZ2luKSAqIDIpO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgY29sdW1uLWdhcDogdmFyKC0tcGFnZU1hcmdpbik7XG4gICAgQGluY2x1ZGUgbWl4aW5zLmR5bmFtaWNGb250KDIwLCA0KTtcblxuICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJGwpe1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1wYWdlTWFyZ2luKTtcbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIDU7XG5cbiAgICAgICAgJiBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgICAgICAgICAgIFxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRtKXtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwdmg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jbHItdGV4dDIwKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNsci10ZXh0MjApO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gNTtcblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiR4bCl7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIDQ7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4keHhsKXtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyA1O1xuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJHhsKXtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gNDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jbHItdGV4dDIwKTtcblxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJHh4bCl7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY2xyLXRleHQyMCk7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMiAvIDQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9faW5mb3Mge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY2xyLXRleHQyMCk7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gNTtcblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRsKXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBnYXA6IDJyZW07XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4keGwpe1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDQgLyA1O1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDIgLyA0O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY2xyLXRleHQyMCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4keHhsKXtcbiAgICAgICAgICAgIGdyaWQtcm93OiAyIC8gMztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19pbmZvaXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNsci10ZXh0MjApO1xuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJGwpe1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNsci10ZXh0MjApO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJHhsKXtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fbGFiZWwge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgICAmX192YWx1ZSB7XG4gICAgICAgIFxuICAgIH1cblxufVxuXG4ucHJvZHVjdENUQSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIC8vIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLXBhZ2VNYXJnaW4pICogLTEpO1xuICAgIC8vIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1wYWdlTWFyZ2luKSAqIC0xKTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiA0cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsci1iZzIpO1xuXG4gICAgQGluY2x1ZGUgbWl4aW5zLmJlbG93KHZhcmlhYmxlcy4kbCl7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLXBhZ2VNYXJnaW4pICogLTEpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tcGFnZU1hcmdpbikgKiAtMSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJG0pe1xuICAgICAgICBwYWRkaW5nOiAyLjVyZW07XG4gICAgfVxuICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJGwpe1xuICAgICAgICBwYWRkaW5nOiAzcmVtO1xuICAgIH1cbiAgICBcbiAgICAmX190ZXh0Q29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAycmVtXG4gICAgfVxuICAgICZfX3RleHQge1xuICAgICAgICBtYXgtd2lkdGg6IDUwcmVtO1xuICAgIH1cbiAgICAmX190ZXh0IHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgICZfX2J1dHRvbldyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5iZWxvdyh2YXJpYWJsZXMuJGwpe1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19idXR0b24ge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2xyLWxpbmspO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5keW5hbWljRm9udCgyMCwgNCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXJpYWJsZXMuJGhvdmVyQW5pbWF0aW9uO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMzAlO1xuICAgICAgICAgICAgdG9wOiAtMTUlO1xuICAgICAgICAgICAgbGVmdDogMTAlO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2xyLWxpbmspO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCB2YXJpYWJsZXMuJGhvdmVyQW5pbWF0aW9uLCBoZWlnaHQgdmFyaWFibGVzLiRob3ZlckFuaW1hdGlvbiwgbGVmdCB2YXJpYWJsZXMuJGhvdmVyQW5pbWF0aW9uLCB0b3AgdmFyaWFibGVzLiRob3ZlckFuaW1hdGlvbjtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3Zlcjo6YWZ0ZXJ7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgICBsZWZ0OiA4cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIlxuQHVzZSAndmFyaWFibGVzJztcbkB1c2UgJ21peGlucyc7XG5cblxuLnByb2R1Y3RMaXN0V3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tcGFnZU1hcmdpbikgKiAtMSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLXBhZ2VNYXJnaW4pICogLTEgKyAxcHgpO1xufVxuLnByb2R1Y3RMaXN0IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXJpYWJsZXMuJHdhcm1XaGl0ZTtcbiAgICBncmlkLWF1dG8tZmxvdzogZGVuc2U7XG4gICAgXG5cbiAgICBAaW5jbHVkZSBtaXhpbnMuYmVsb3codmFyaWFibGVzLiRsKXtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgNTAlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCl7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG5cbiAgICB9XG4gICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4keGwpe1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuXG4gICAgfVxuICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJHh4bCl7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XG4gICAgfVxufVxuLnBsYWNlaG9sZGVyLWZvcm0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDFweCk7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAxcHgpO1xuICAgIG9iamVjdC1maXQ6IGZpbGw7XG4gICAgYm9yZGVyOiAwLjVweCBzb2xpZCB2YXIoLS1jbHItbGluayk7XG4gICAgXG5cbiAgICAmOm50aC1vZi10eXBlKDEpe1xuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYmVsb3codmFyaWFibGVzLiRsKXtcbiAgICAgICAgICAgIGRpc3BsYXk6IHZhcigtLXBoMik7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCl7XG4gICAgICAgICAgICBkaXNwbGF5OiB2YXIoLS1waDMpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJHhsKXtcbiAgICAgICAgICAgIGRpc3BsYXk6IHZhcigtLXBoNCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4keHhsKXtcbiAgICAgICAgICAgIGRpc3BsYXk6IHZhcigtLXBoNSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJjpudGgtb2YtdHlwZSgyKXtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbSl7XG4gICAgICAgICAgICBkaXNwbGF5OiB2YXIoLS1waDIpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJGwpe1xuICAgICAgICAgICAgZGlzcGxheTogdmFyKC0tcGgzKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiR4bCl7XG4gICAgICAgICAgICBkaXNwbGF5OiB2YXIoLS1waDQpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJHh4bCl7XG4gICAgICAgICAgICBkaXNwbGF5OiB2YXIoLS1waDUpO1xuICAgICAgICB9XG4gICAgfVxuICAgICY6bnRoLW9mLXR5cGUoMyl7XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJG0pe1xuICAgICAgICAgICAgZGlzcGxheTogdmFyKC0tcGgyKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRsKXtcbiAgICAgICAgICAgIGRpc3BsYXk6IHZhcigtLXBoMyk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4keGwpe1xuICAgICAgICAgICAgZGlzcGxheTogdmFyKC0tcGg0KTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiR4eGwpe1xuICAgICAgICAgICAgZGlzcGxheTogdmFyKC0tcGg1KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmOm50aC1vZi10eXBlKDQpe1xuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRtKXtcbiAgICAgICAgICAgIGRpc3BsYXk6IHZhcigtLXBoMik7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCl7XG4gICAgICAgICAgICBkaXNwbGF5OiB2YXIoLS1waDMpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJHhsKXtcbiAgICAgICAgICAgIGRpc3BsYXk6IHZhcigtLXBoNCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4keHhsKXtcbiAgICAgICAgICAgIGRpc3BsYXk6IHZhcigtLXBoNSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4ucHJvZHVjdCB7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tY2xyLXRleHQpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyaWFibGVzLiRob3ZlckFuaW1hdGlvbjtcbiAgICBjb2xvcjogdmFyaWFibGVzLiRhbnRocmF6aXREYXJrO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDonJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDFweCk7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlICsgMXB4KTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2xyLWdvbGQpO1xuICAgIH1cbiAgICAmX190ZXh0Q29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgaGVpZ2h0OiAycmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJG0pe1xuICAgICAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgICB9XG4gICAgJl9fbGluayB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwcmVtKTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyaWFibGVzLiRob3ZlckFuaW1hdGlvbjtcblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRtKXtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0OmhvdmVyICYge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5wbENvbGxlY3Rpb24ge1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gICAgYXNwZWN0LXJhdGlvOiAyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBcbiAgICBcbiAgICAmW2RhdGEtdGhlbWU9XCJkYXJrXCJde1xuICAgICAgICBjb2xvcjogdmFyKC0tY2xyLWJnKTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OicnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxcHgpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDFweCk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNsci1nb2xkKTtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OicnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICAmW2RhdGEtdGhlbWU9XCJicmlnaHRcIl06OmFmdGVye1xuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuc2NyaW1HcmFkaWVudCh2YXJpYWJsZXMuJHdhcm1XaGl0ZSwgMjBkZWcsIDAuNCk7XG4gICAgfVxuICAgICZbZGF0YS10aGVtZT1cImRhcmtcIl06OmFmdGVye1xuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuc2NyaW1HcmFkaWVudCgjMDAwLCAyMGRlZywgMC42LCAwLCAwLjcpO1xuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcmlhYmxlcy4kaG92ZXJBbmltYXRpb247XG4gICAgICAgICAgICAgLnBsQ29sbGVjdGlvbjpob3ZlciAmIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgXG4gICAgfVxuICAgICZfX3RleHRDb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IDNyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbSl7XG4gICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbSl7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiA1cmVtOyAgICBcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbn1cblxuLmxvYWRNb3JlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDJyZW0gMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS12ZXJ0aWNhbE1hcmdpbikgLyA0KTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS12ZXJ0aWNhbE1hcmdpbik7XG5cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgcGFkZGluZzogMC43NXJlbSAxLjVyZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsci1iZyk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNsci1saW5rKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXJpYWJsZXMuJGhvdmVyQW5pbWF0aW9uO1xuICAgICAgICBjb2xvcjogdmFyKC0tY2xyLXRleHQpO1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2UtaW4sIGhlaWdodCAwLjNzIGVhc2UtaW4sIG9wYWNpdHkgMC40cyBlYXNlLWluO1xuICAgICAgICB9XG4gICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm90dG9tOiAtNXB4O1xuICAgICAgICAgICAgbGVmdDogLTVweDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY2xyLWdvbGQpO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNsci1nb2xkKTtcbiAgICAgICAgfVxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICB0b3A6IC01cHg7XG4gICAgICAgICAgICByaWdodDogLTVweDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jbHItZ29sZCk7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jbHItZ29sZCk7XG4gICAgICAgIH1cbiAgICAgICBcbiAgICAgICAgXG4gICAgfVxuICAgICZfX2J1dHRvblRleHQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIFxuICAgIH1cbiAgICAmX19idXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG4gICAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDEwcHgpO1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAxMHB4KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjRzIGN1YmljLWJlemllciguMjMsLjI0LDAsMSksIGhlaWdodCAwLjRzIGN1YmljLWJlemllciguMjMsLjI0LDAsMSksIG9wYWNpdHkgMC4ycyBlYXNlLW91dDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCJAdXNlICdzYXNzOmNvbG9yJztcbkB1c2UgJ3ZhcmlhYmxlcyc7XG5AdXNlICdtaXhpbnMnO1xuXG5cblxuJGZpbHRlckJyZWFrcG9pbnQ6IHZhcmlhYmxlcy4kbTtcblxuLmZpbHRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS12ZXJ0aWNhbE1hcmdpbikgLyAyKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG5cbiAgICAmW2RhdGEtY2hvc2VuPVwidHJ1ZVwiXSB7XG4gICAgICAgIFxuICAgICAgICAuZmlsdGVyX19hbW91bnQge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuICAgICZbZmlsdGVyLXRvLWFwcGx5PVwidHJ1ZVwiXSB7XG4gICAgICAgIC5maWx0ZXJfX3N1Ym1pdEJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgICAmID4gLmZpbHRlcl9fYnV0dG9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSgkZmlsdGVyQnJlYWtwb2ludCl7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9faXRlbXMgeyAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5iZWxvdygkZmlsdGVyQnJlYWtwb2ludCl7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0b3A6IDQ3cHg7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsci1iZyk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5maWx0ZXJbZGF0YS1vcGVuPVwidHJ1ZVwiXSAme1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogbWluLWNvbnRlbnQgMWZyO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCA0MHB4IHJnYmEoMCwwLDAsMC4yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUoJGZpbHRlckJyZWFrcG9pbnQpe1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2l0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKCRmaWx0ZXJCcmVha3BvaW50KXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJltkYXRhLWNob3Nlbj1cInRydWVcIl0ge1xuICAgICAgICAgICAgLmZpbHRlcl9fcmVtb3ZlQnV0dG9ue1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYgPiAmX19idXR0b25zIHtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKCRmaWx0ZXJCcmVha3BvaW50KXtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fYnV0dG9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNsci1saW5rKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIFxuXG4gICAgICAgIC5maWx0ZXJfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1peGlucy5iZWxvdygkZmlsdGVyQnJlYWtwb2ludCl7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSgkZmlsdGVyQnJlYWtwb2ludCl7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgfSAgIFxuICAgICAgICB9XG5cbiAgICAgICBcbiAgICAgICAgLmZpbHRlcl9faXRlbSAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY2xyLWxpbmspO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY2xyLWxpbmspO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiAgdHJhbnNsYXRlWSgtMTdweCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRvcCB2YXJpYWJsZXMuJGhvdmVyQW5pbWF0aW9uO1xuICAgICAgICB9XG4gICAgICAgIC5maWx0ZXJfX2l0ZW1bZGF0YS1vcGVuPVwidHJ1ZVwiXSAmOjphZnRlcntcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICB0b3A6IDEwMCU7ICAgICBcbiAgICAgICAgICAgIHRyYW5zZm9ybTogIHRyYW5zbGF0ZVkoOHB4KSByb3RhdGUoMjI1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAuZmlsdGVyX19pdGVtICY6aG92ZXI6OmFmdGVye1xuICAgICAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyAzcHgpO1xuICAgICAgICB9XG4gICAgICAgIC5maWx0ZXJfX2l0ZW1bZGF0YS1vcGVuPVwidHJ1ZVwiXSAmOmhvdmVyOjphZnRlcntcbiAgICAgICAgICAgIHRvcDogY2FsYygxMDAlIC0gM3B4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19zdWJtaXRCdXR0b24ge1xuICAgICAgICB3aWR0aDogM3JlbTtcbiAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsci1saW5rKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9pY29uL2ZpbHRlci5zdmcpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDYwJTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAvL3otaW5kZXg6IDEyO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBhbmltYXRpb246IHBvcFVwIDAuM3MgZWFzZS1vdXQ7XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgcG9wVXAge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG4gICAgICAgIDUwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3JlbW92ZUJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxLjJyZW07XG4gICAgICAgIGhlaWdodDogMS4ycmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOHJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOHJlbTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsci10ZXh0KTtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKC4uL2ltYWdlcy9pY29uL2Nyb3NzLnN2Zyk7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbHItbGluayk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYmVsb3coJGZpbHRlckJyZWFrcG9pbnQpe1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICAuZmlsdGVyX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkgJiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUoJGZpbHRlckJyZWFrcG9pbnQpe1xuICAgICAgICAgICAgLmZpbHRlcl9faXRlbTpub3QoOmxhc3QtY2hpbGQpICYge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgcGFkZGluZzowLjc1cmVtIDEuNXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNsci10ZXh0KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2xyLWJnKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXJpYWJsZXMuJGhvdmVyQW5pbWF0aW9uO1xuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuZHluYW1pY0ZvbnQoMTUsIDQpO1xuXG4gICAgICAgICYtLW1haW4ge1xuICAgICAgICAgICAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXXtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbHItYmcyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSgkZmlsdGVyQnJlYWtwb2ludCl7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9faXRlbVtkYXRhLWNob3Nlbj1cInRydWVcIl0gJl9fbGFiZWw6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJzogJztcbiAgICB9XG4gICAgJl9fYW1vdW50IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMXJlbSk7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDAuMnJlbSk7XG4gICAgICAgICAgICB0b3A6IC0wLjA1cmVtO1xuICAgICAgICAgICAgbGVmdDogLTAuNXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IuYWRqdXN0KHZhcmlhYmxlcy4kZ29sZCwgJGxpZ2h0bmVzczogMTAlLCAkc3BhY2U6IGhzbCk7XG4gICAgICAgIH1cblxuICAgIH1cbiAgICAmX19jaG9pY2Uge1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICBcbiAgICB9XG4gICAgJl9fbGlzdHtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbHItYmcyKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2xyLWxpbmspO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmJlbG93KCRmaWx0ZXJCcmVha3BvaW50KXtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICAgICAgLmZpbHRlcl9faXRlbTpub3QoOmxhc3QtY2hpbGQpICYge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKCRmaWx0ZXJCcmVha3BvaW50KXtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyAxNXB4KTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAxOHB4IC0ycHggcmdiYSgwLDAsMCwwLjE4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19pdGVtW2RhdGEtb3Blbj1cInRydWVcIl0gJl9fbGlzdHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICZfX29wdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpe1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNsci1iZyk7XG4gICAgICAgIH1cbiAgICAgICAgJjpoYXMoLmZpbHRlcl9fcmFkaW86Y2hlY2tlZCl7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbHItbGluayk7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbHItYmcpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgfVxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fcmFkaW8ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgJl9fb3B0aW9uOmhhcyguZmlsdGVyX19yYWRpb1tkaXNhYmxlZF0pe1xuICAgICAgICBvcGFjaXR5OiAwLjI7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbn1cbiIsIkB1c2UgJ3ZhcmlhYmxlcyc7XG5AdXNlICdtaXhpbnMnO1xuXG5cbi5mb290ZXIge1xuICAgIC0tY2xyLXRleHQ6ICN7dmFyaWFibGVzLiR3YXJtV2hpdGV9O1xuICAgIC0tY2xyLXRleHQyMDogI3tyZ2JhKCRjb2xvcjogdmFyaWFibGVzLiR3YXJtV2hpdGUsICRhbHBoYTogMC4yKX07XG4gICAgLS1jbHItdGV4dDY1OiAje3JnYmEoJGNvbG9yOiB2YXJpYWJsZXMuJHdhcm1XaGl0ZSwgJGFscGhhOiAwLjY1KX07XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXJpYWJsZXMuJGFudGhyYXppdDtcbiAgICBjb2xvcjogdmFyKC0tY2xyLXRleHQpO1xuICAgIG1hcmdpbi1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtcbiAgICBcblxuICAgICZfX21haW4ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXBhZ2VNYXJnaW4pIHZhcigtLXBhZ2VNYXJnaW4pO1xuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJG0pIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgICAmX19vcGVuaW5nSG91cnMge1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgIH1cbiAgICAmX19hZGRyZXNzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcblxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJG0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCkge1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzcGFuOm5vdCguZmlyc3Qtb2YtbGluZSk6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyDigKIgJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG5cbiAgICAmX19ib3R0b20ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNsci10ZXh0MjApO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIHZhcigtLXBhZ2VNYXJnaW4pO1xuICAgICAgICBnYXA6IDFyZW07XG5cbiAgICAgICBcbiAgICAgICAgXG4gICAgfVxuICAgICZfX2NvcHlyaWdodCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tY2xyLXRleHQ2NSk7XG4gICAgfVxuICAgICZfX25hdiB7XG4gICAgICAgIFxuICAgIH1cbiAgICAmX19uYXZsaXN0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgfVxuICAgICZfX25hdkl0ZW0ge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgICAmX19uYXZMaW5rIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogdmFyKC0tY2xyLXRleHQ2NSk7XG4gICAgfVxufVxuXG4uc29tZSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiB2YXIoLS1jbHItdGV4dDY1KTtcblxuICAgICZfX2xpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICB9XG4gICAgJl9fbGlzdGl0ZW0ge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBcbiAgICB9XG4gICAgJl9faWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgfVxuXG59Il0sImZpbGUiOiJtYWluLmNzcyJ9 */
