@charset "UTF-8";
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;
}

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 .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 {
  background-color: --clr-text;
  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--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);
  z-index: 2;
}
.header--dark .header__image::before {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.6), transparent);
}
.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(45vh - 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);
}
.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;
  }
}

.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: 960px) {
  .collection {
    width: 50%;
    margin-bottom: calc(var(--verticalMargin) / 2);
  }
  .collection:nth-child(3n-1) {
    margin-left: 50%;
  }
  .collection:nth-child(3n) {
    margin-left: 200px;
  }
}
.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 {
  height: 60vh;
  min-height: 300px;
  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, var(--clr-bg) 0%, transparent 40%);
}
.plCollection[data-theme=dark]::after {
  background: linear-gradient(20deg, #000 0%, transparent 40%);
}
.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-text50: rgba(246, 240, 232, 0.5);
  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-text50);
}
.footer__nav {
  display: flex;
  gap: 1rem;
}
.footer__navItem {
  list-style: none;
}
.footer__navLink {
  text-decoration: none;
  color: var(--clr-text50);
}

.some {
  font-size: 1rem;
  font-weight: 300;
  display: flex;
  align-items: center;
  color: var(--clr-text50);
}
.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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9wYXJ0aWFscy9fdmFyaWFibGVzLnNjc3MiLCJfcGFydGlhbHMvX21peGlucy5zY3NzIiwiX3BhcnRpYWxzL190eXBvZ3JhcGh5LnNjc3MiLCJfcGFydGlhbHMvX2Jhc2Uuc2NzcyIsIl9wYXJ0aWFscy9faGVhZGVyLnNjc3MiLCJfcGFydGlhbHMvX2xheW91dC5zY3NzIiwiX3BhcnRpYWxzL19jb21wb25lbnRzLnNjc3MiLCJfcGFydGlhbHMvX2Jsb2Nrcy5zY3NzIiwiX3BhcnRpYWxzL19jb2xsZWN0aW9ucy5zY3NzIiwiX3BhcnRpYWxzL19wcm9kdWN0cy5zY3NzIiwiX3BhcnRpYWxzL19wcm9kdWN0bGlzdC5zY3NzIiwiX3BhcnRpYWxzL19maWx0ZXIuc2NzcyIsIl9wYXJ0aWFscy9fZm9vdGVyLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQTRCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTs7QUNuQ0E7RUR5Qko7SUFhUTtJQUNBOzs7QUN2Q0o7RUR5Qko7SUFrQlE7SUFDQTs7O0FDNUNKO0VEeUJKO0lBdUJRO0lBQ0E7OztBQ2pESjtFRHlCSjtJQTRCUTs7OztBQUtSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBRTlESjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VEdERJOztBQUVBO0VDb0RKO0lEbkRROzs7QUNt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QUdKO0lBQ0k7OztBQUlKO0VBQ0k7OztBQ2hjWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7OztBQ3hCUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7OztBQUdSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHUjtFQUNJOztBQUdKO0VBQ0k7OztBQUdSO0VBQ0k7SUFDSTs7RUFFSjtJQUNJOzs7QUFJSjtFQUNJOztBQUVKO0VBQ0k7O0FBTFI7RUFRSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0s7O0FBR0w7RUFDSTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR1I7RUFDSTtFQUVBO0VBQ0E7RUFD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Ozs7QVZwUFo7RVV3T0E7SUFnQlE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUdSO0VBQ0k7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7O0FBR1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBOzs7QUNqU1I7RUFDSTtFQUNBO0VBQ0E7RUFFQSxrQlpGUTtFWUdSO0VBQ0E7O0FBR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QVhmSjtFV1dBO0lBT1E7OztBQUdSO0VBQ0k7O0FBRUo7RUFDSTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDSTs7QVh0Q1I7RVc4QkE7SUFhUTs7O0FYM0NSO0VXK0NRO0lBQ0k7O0VBRUo7SUFDSTs7O0FBTVo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBS0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7O0FBRUo7RUFDSTs7QUFFSjtFQUNJO0VBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0EiLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICdtaXhpbnMnO1xuXG4vLyBjb2xvcnNcblxuJGdvbGQ6ICNENUE3NUU7XG4kZ29sZERhcms6ICNBRTdBMjg7XG4kYW50aHJheml0RGFyazogIzIzMjExRDtcbiRhbnRocmF6aXQ6ICM0MTNCMzI7XG4kd2FybVdoaXRlOiAjRjZGMEU4O1xuJGJlaWdlTGlnaHQ6ICNFNEQ4Qzk7XG4kYmVpZ2VEYXJrOiAjN0I3MDY2O1xuXG5cbi8vIG1hcmdpbnNcblxuJHBhZ2VNYXJnaW5TOiAxLjI1cmVtO1xuJHBhZ2VNYXJnaW5MOiAyLjVyZW07XG5cbi8vIGJyZWFrcG9pbnRzXG4kczogNDIwcHg7XG4kbTogNjAwcHg7XG4kbDogOTYwcHg7XG4keGw6IDEyODBweDtcbiR4eGw6IDE5MjBweDtcblxuJGhvdmVyQW5pbWF0aW9uOiAwLjE1cyBlYXNlLW91dDtcblxuXG5odG1sIHtcbiAgICAtLWNsci1nb2xkOiAjeyRnb2xkfTtcbiAgICAtLWNsci1nb2xkRGFyazogI3skZ29sZERhcmt9O1xuICAgIC0tY2xyLXRleHQ6ICN7JGFudGhyYXppdERhcmt9O1xuICAgIC0tY2xyLXRleHQyMDogI3tyZ2JhKCRjb2xvcjogJGFudGhyYXppdERhcmssICRhbHBoYTogMC4yKX07XG4gICAgLS1jbHItYmc6ICN7JHdhcm1XaGl0ZX07XG4gICAgLS1jbHItYmcyOiAjeyRiZWlnZUxpZ2h0fTtcbiAgICAtLWNsci1saW5rOiAjeyRnb2xkfTtcblxuICAgIC0tcGFnZU1hcmdpbjogMS4yNXJlbTtcbiAgICAtLXZlcnRpY2FsTWFyZ2luOiA0cmVtO1xuXG4gICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKCRzKXtcbiAgICAgICAgLS1wYWdlTWFyZ2luOiAxLjVyZW07XG4gICAgICAgIC0tdmVydGljYWxNYXJnaW46IDVyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKCRsKXtcbiAgICAgICAgLS1wYWdlTWFyZ2luOiAyLjVyZW07XG4gICAgICAgIC0tdmVydGljYWxNYXJnaW46IDZyZW07XG5cbiAgICB9XG4gICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKCRsKXtcbiAgICAgICAgLS1wYWdlTWFyZ2luOiAzcmVtO1xuICAgICAgICAtLXZlcnRpY2FsTWFyZ2luOiA4cmVtO1xuXG4gICAgfVxuICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSgkeGwpe1xuICAgICAgICAtLXZlcnRpY2FsTWFyZ2luOiAxMHJlbTtcblxuICAgIH1cbn1cblxuaHRtbC5kYXJrIHtcbiAgICAtLWNsci10ZXh0OiAjeyR3YXJtV2hpdGV9O1xuICAgIC0tY2xyLXRleHQyMDogI3tyZ2JhKCRjb2xvcjogJHdhcm1XaGl0ZSwgJGFscGhhOiAwLjIpfTtcbiAgICAtLWNsci1iZzogI3skYW50aHJheml0RGFya307XG4gICAgLS1jbHItYmcyOiAjeyRhbnRocmF6aXR9O1xuXG59IiwiQHVzZSAnc2FzczptYXRoJztcblxuQG1peGluIGFib3ZlKCRzKXtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkcyl7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIGJlbG93KCRzKXtcbiAgICAkc3M6ICRzIC0gMXB4OyBcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc3Mpe1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBkeW5hbWljRm9udCgkcywgJGEpeyAvLyAkczogZm9udC1zaXplIGF0IDE0NDBweCwgJGE6IHNjYWxlLXJhdGlvXG4gICAgJHI6IGNhbGMoMTQ0MCAvICRzKTtcbiAgICAkbzogY2FsYygkcyAtICgkcyAvICRhKSk7XG4gICAgJG1heDogY2FsYygkcyArICgkcyAvICgzICogJGEpKSk7XG4gICAgZm9udC1zaXplOiBjYWxjKDEwMHZ3IC8gJHIgLyAkYSArICRvICogMXB4KTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAgICAgICBmb250LXNpemU6IGNhbGMoJG1heCAqIDFweCk7XG4gICAgfVxufVxuXG5cblxuQG1peGluIGR5bmFtaWNGb250MigkbWluLCAkdGFyZ2V0LCAkbWF4KXsgLy8gXG4gICAgJG1pblc6IDQwMDtcbiAgICAkdGFyZ2V0VzogMTQ0MDtcbiAgICAkcmFuZ2U6ICR0YXJnZXRXIC0gJG1pblc7XG4gICAgJHN0ZXA6IGNhbGMoJHJhbmdlIC8gKCR0YXJnZXQgLSAkbWluKSk7XG4gICAgJG1heFNpemU6IGNhbGMoKCgkbWF4IC0gJHRhcmdldCkgKiAkc3RlcCArICR0YXJnZXRXKSAqIDFweCk7XG4gICAgLy8gKyAoJG1pbiAtIDEgLSAoJG1pblcgLyAkc3RlcCAtIDEpKSAqIDFweClcbiAgICBmb250LXNpemU6IGNhbGMoMTAwdncgLyAkc3RlcCArICgkbWluIC0gMSAtICgkbWluVyAvICRzdGVwIC0gMSkpICogMXB4KSA7IFxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiBjYWxjKCRtaW4gKiAxcHgpO1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXRoLmZsb29yKCRtYXhTaXplKSkge1xuICAgICAgICBmb250LXNpemU6IGNhbGMoJG1heCAqIDFweCk7XG4gICAgfVxufSIsIkB1c2UgJ3ZhcmlhYmxlcyc7XG5AdXNlICdtaXhpbnMnO1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdHYW1iYXJpbm8tUmVndWxhcic7XG4gIHNyYzogdXJsKCcuLi9mb250cy9HYW1iYXJpbm8tUmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgdXJsKCcuLi9mb250cy9HYW1iYXJpbm8tUmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJOZXV0cmFmYWNlIFRleHRcIjtcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL05ldXRyYWZhY2VUZXh0LUxpZ2h0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9OZXV0cmFmYWNlVGV4dC1MaWdodC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zdHJldGNoOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJOZXV0cmFmYWNlIFRleHRcIjtcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL05ldXRyYWZhY2VUZXh0LUxpZ2h0SXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9OZXV0cmFmYWNlVGV4dC1MaWdodEl0YWxpYy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zdHJldGNoOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJOZXV0cmFmYWNlIFRleHRcIjtcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL05ldXRyYWZhY2VUZXh0LUJvb2sud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL05ldXRyYWZhY2VUZXh0LUJvb2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiTmV1dHJhZmFjZSBUZXh0XCI7XG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy9OZXV0cmFmYWNlVGV4dC1Cb29rSXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9OZXV0cmFmYWNlVGV4dC1Cb29rSXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIk5ldXRyYWZhY2UgVGV4dFwiO1xuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvTmV1dHJhZmFjZVRleHQtRGVtaS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvTmV1dHJhZmFjZVRleHQtRGVtaS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zdHJldGNoOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJOZXV0cmFmYWNlIFRleHRcIjtcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL05ldXRyYWZhY2VUZXh0LURlbWlJdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL05ldXRyYWZhY2VUZXh0LURlbWlJdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiTmV1dHJhZmFjZSBUZXh0XCI7XG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy9OZXV0cmFmYWNlVGV4dC1Cb2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9OZXV0cmFmYWNlVGV4dC1Cb2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zdHJldGNoOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJOZXV0cmFmYWNlIFRleHRcIjtcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL05ldXRyYWZhY2VUZXh0LUJvbGRJdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL05ldXRyYWZhY2VUZXh0LUJvbGRJdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbn1cblxuaHRtbCB7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuaDEge1xuICAgIEBpbmNsdWRlIG1peGlucy5keW5hbWljRm9udCg2MCwgMik7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTVlbTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGZvbnQtZmFtaWx5OiAnR2FtYmFyaW5vLVJlZ3VsYXInO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbmgyIHtcbiAgICBtYXJnaW46IDBweDtcbn1cblxuLnNlY3Rpb24+aDIsIC5oZWFkaW5nMiAge1xuICAgIFxufVxuLnNlY3Rpb24+aDIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi50LWgye1xuICAgIEBpbmNsdWRlIG1peGlucy5keW5hbWljRm9udDIoMjYsIDM0LCA0NCk7XG4gICAgZm9udC1mYW1pbHk6ICdHYW1iYXJpbm8tUmVndWxhcic7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTVlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLnQtbGVhZCB7XG4gICAgQGluY2x1ZGUgbWl4aW5zLmR5bmFtaWNGb250MigyNCwgMzAsIDM1KTtcbiAgICBAaW5jbHVkZSBtaXhpbnMuYmVsb3codmFyaWFibGVzLiRzKXtcbiAgICAgICAgaHlwaGVuczogYXV0bztcbiAgICB9XG59XG4udC1oMyB7XG4gICBAaW5jbHVkZSBtaXhpbnMuZHluYW1pY0ZvbnQyKDIwLCAyNSwgMjcpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDBcbn1cbi50LWJpZyB7XG4gICAgQGluY2x1ZGUgbWl4aW5zLmR5bmFtaWNGb250MigxOCwgMjIsIDI2KTtcblxufVxuLnQtYmFzZSB7XG4gICAgQGluY2x1ZGUgbWl4aW5zLmR5bmFtaWNGb250MigxOCwgMjIsIDI0KTtcbn1cbi50LXNtYWxsIHtcbiAgICBAaW5jbHVkZSBtaXhpbnMuZHluYW1pY0ZvbnQyKDE2LCAyMCwgMjIpO1xufVxuLmxpbmtCdXR0b24ge1xuICAgIEBpbmNsdWRlIG1peGlucy5keW5hbWljRm9udCgyMiwgNCk7XG59XG5cbi5uYXZfX2xpbmsge1xuICAgIEBpbmNsdWRlIG1peGlucy5keW5hbWljRm9udCgxNiwgNCk7IFxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuLnN1Ym5hdl9fbGluayB7XG4gICAgQGluY2x1ZGUgbWl4aW5zLmR5bmFtaWNGb250KDIyLCA2KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xufSIsIkB1c2UgJ3ZhcmlhYmxlcyc7XG5AdXNlICdtaXhpbnMnO1xuXG5odG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuKiwgKjo6YmVmb3JlLCAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgICBcbn1cblxuXG5odG1sIHtcbiAgICBmb250LWZhbWlseTogXCJOZXV0cmFmYWNlIFRleHRcIiwgc2Fucy1zZXJpZjtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgIGNvbG9yOiB2YXIoLS1jbHItdGV4dCk7XG5cbn1cblxuYm9keSB7XG4gICAgJi5oZWFkZXJUaGVtZS0tZGFyayB7XG4gICAgICAgIC0tY2xyLXRleHQ6ICN7dmFyaWFibGVzLiR3YXJtV2hpdGV9O1xuICAgICAgICAtLWNsci10ZXh0MjA6ICN7cmdiYSgkY29sb3I6IHZhcmlhYmxlcy4kd2FybVdoaXRlLCAkYWxwaGE6IDAuMil9O1xuICAgICAgICAtLWNsci1iZzogI3t2YXJpYWJsZXMuJGFudGhyYXppdH07XG4gICAgICAgIC0tY2xyLWJnMjogI3t2YXJpYWJsZXMuJGFudGhyYXppdERhcmt9O1xuICAgIH1cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXJpYWJsZXMuJGFudGhyYXppdDtcbiAgICAmPioge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbHItYmcpO1xuICAgIH1cbn1cblxubWFpbiB7XG4gICAgcGFkZGluZzogMCB2YXIoLS1wYWdlTWFyZ2luKTsgXG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG59XG5hIHtcbiAgICBjb2xvcjogdmFyKC0tY2xyLXRleHQpXG59XG5hZGRyZXNzIGEsIHA+YSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcbiAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAwLjAzNWVtO1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogM3B4O1xuICAgIFxufVxuaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5maWd1cmUge1xuICAgIG1hcmdpbjogMDsgXG59XG4ubm8tY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsci10ZXh0MjApO1xuICAgIGNvbG9yOiB2YXIoLS1jbHItdGV4dCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vLyBzbmlwcGV0IGJ5IENocmlzIENveWllciwgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9pbmNsdXNpdmVseS1oaWRkZW4vXG4udmlzdWFsbHlIaWRkZW46bm90KDpmb2N1cyk6bm90KDphY3RpdmUpIHtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApOyBcbiAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgXG4gICAgd2lkdGg6IDFweDtcbn1cblxuZmlnY2FwdGlvbiB7XG4gICAgbWF4LXdpZHRoOiA0MGVtO1xufVxuXG4ubGluZUhvdmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZS1pbiwgaGVpZ2h0IDAuM3MgZWFzZS1pbiwgb3BhY2l0eSAwLjRzIGVhc2UtaW47XG4gICAgfVxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgbGVmdDogLTFweDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1jbHItZ29sZCk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jbHItZ29sZCk7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICByaWdodDogLTFweDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNsci1nb2xkKTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY2xyLWdvbGQpO1xuICAgIH1cbiAgICBhOmhvdmVyICY6OmJlZm9yZSwgYTpob3ZlciAmOjphZnRlciwgJjpob3Zlcjo6YmVmb3JlLCAmOmhvdmVyOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAycHgpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDJweCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNHMgY3ViaWMtYmV6aWVyKC4yMywuMjQsMCwxKSwgaGVpZ2h0IDAuNHMgY3ViaWMtYmV6aWVyKC4yMywuMjQsMCwxKSwgb3BhY2l0eSAwLjJzIGVhc2Utb3V0O1xuICAgIH1cbn1cblxuLy8gLmJnLWZpeCB7XG4vLyAgICAgcG9zaXRpb246IHN0aWNreTtcbi8vICAgICB3aWR0aDogMTAwJTtcbi8vICAgICBsZWZ0OiAwO1xuLy8gICAgIHJpZ2h0OiAwO1xuLy8gICAgIGJvdHRvbTogMDtcbi8vICAgICBoZWlnaHQ6IDVweDtcbi8vICAgICB6LWluZGV4OiAyMDA7XG4vLyB9IiwiQHVzZSAndmFyaWFibGVzJztcbkB1c2UgJ21peGlucyc7XG5cbiRzdGlja3lUcmFuc2l0aW9uRHVyYXRpb246IDAuMjVzO1xuJHN0aWNreVRyYW5zaXRpb246ICRzdGlja3lUcmFuc2l0aW9uRHVyYXRpb24gY3ViaWMtYmV6aWVyKC40LDAsLjMsMSk7XG5cbi5uYXZIZWFkZXJTcGFjZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDMwcHg7XG5cbiAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRtKXtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgIH1cbn1cbm1haW4sIGZvb3RlciB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkc3RpY2t5VHJhbnNpdGlvbjtcbn1cbi5tZW51LW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBtYWluLCBmb290ZXIge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxufVxuLm5hdkhlYWRlciB7XG4gICAgXG4gICAgLS1jbHItdGV4dDogI3t2YXJpYWJsZXMuJHdhcm1XaGl0ZX07XG4gICAgLS1jbHItdGV4dDIwOiAje3JnYmEoJGNvbG9yOiB2YXJpYWJsZXMuJHdhcm1XaGl0ZSwgJGFscGhhOiAwLjIpfTtcbiAgICAtLWNsci1iZzogI3t2YXJpYWJsZXMuJGFudGhyYXppdH07XG4gICAgLS1jbHItYmcyOiAje3ZhcmlhYmxlcy4kYW50aHJheml0RGFya307XG4gICAgLS1jbHItbGluazogI3t2YXJpYWJsZXMuJGdvbGR9O1xuICAgXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OjA7XG4gICAgei1pbmRleDogOTk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgaGVpZ2h0OiAxMjBweDtcblxuXG4gICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCl7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmLi0tc3RpY2t5e1xuICAgICAgICBib3gtc2hhZG93OiAwIDAwcHggMjBweCAxMHB4IHJnYmEoMCwwLDAsMC4yKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2xyLWJnKTtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgIH1cbiAgICAmLi0tb3BlbntcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgIH1cbiAgIFxuICAgICZfX2xvZ29NZW51e1xuICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICAuLS1hbmltYXRpb24gJiB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIHN0ZXAtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgICAgLi0tc3RpY2t5ICYge1xuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2xyLWJnKTtcbiAgICAgICAgfVxuICAgICAgICAuLS1vcGVuICYge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMjBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmJlbG93KHZhcmlhYmxlcy4kbCl7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRsKXtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIC4tLXN0aWNreSAmIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG4gICAgJl9fbG9nbyB7XG4gICAgICAgIHdpZHRoOiAzLjVyZW07XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgICZfX2xvZ29tYXJrIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAyLjVyZW07XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDAuNXJlbSBhdXRvO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cbiAgICAgICAgLi0tYW5pbWF0aW9uICYge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRzdGlja3lUcmFuc2l0aW9uLCBvcGFjaXR5IDAuMjVzIGxpbmVhcjtcbiAgICAgICAgfVxuICAgICAgICAuLS1zdGlja3kgJiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE2cHgpO1xuICAgICAgICB9XG4gICAgICAgIC4tLW9wZW4gJiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgIGZpbGw6IHZhcigtLWNsci1nb2xkKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19sb2dvdHlwZSB7XG5cbiAgICAgICAgLi0tYW5pbWF0aW9uICYge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRzdGlja3lUcmFuc2l0aW9uLCBiYWNrZ3JvdW5kLWNvbG9yICRzdGlja3lUcmFuc2l0aW9uO1xuICAgICAgICB9XG4gICAgICAgIC4tLXN0aWNreTpub3QoLi0tb3BlbikgJiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTYzcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICBmaWxsOiB2YXIoLS1jbHItdGV4dCk7XG5cbiAgICAgICAgICAgIC5uYXZIZWFkZXItLWJyaWdodDpub3QoLi0tb3Blbik6bm90KC4tLXN0aWNreSkgJiB7XG4gICAgICAgICAgICAgICAgZmlsbDogdmFyaWFibGVzLiRhbnRocmF6aXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiB2YXIoLS1wYWdlTWFyZ2luKTtcbiAgICAgICAgcmlnaHQ6IHZhcigtLXBhZ2VNYXJnaW4pO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDAuNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG5cbiAgICAgICAgLi0tYW5pbWF0aW9uICYge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdG9wICRzdGlja3lUcmFuc2l0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgLi0tc3RpY2t5ICYge1xuICAgICAgICAgICAgdG9wOiAxcmVtXG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRsKXtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9faWNvbiB7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoICRzdGlja3lUcmFuc2l0aW9uLCBoZWlnaHQgJHN0aWNreVRyYW5zaXRpb247XG5cbiAgICB9XG4gICAgJl9faWNvbiBsaW5lIHtcbiAgICAgICAgc3Ryb2tlLXdpZHRoOiAxcHg7XG4gICAgICAgIHN0cm9rZTogdmFyKC0tY2xyLWdvbGQpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHN0aWNreVRyYW5zaXRpb24sIG9wYWNpdHkgJHN0aWNreVRyYW5zaXRpb247XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIFxuICAgICAgICAuLS1vcGVuICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDE1JSwgMTUlKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG4gICAgICAgIC4tLW9wZW4gJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDhweCk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICAgIC4tLW9wZW4gJjpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDhweCk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICAgIC4tLW9wZW4gJjpudGgtY2hpbGQoNCkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDhweCk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICAgIC4tLW9wZW4gJjpudGgtY2hpbGQoNSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTQ4JSwgMjIlKSAgcm90YXRlKC00NWRlZykgO1xuXG4gICAgICAgIH1cbiAgICB9XG4gICAgLm5hdkhlYWRlci0tYnJpZ2h0Om5vdCguLS1vcGVuKTpub3QoLi0tc3RpY2t5KSAmX19pY29uIGxpbmUge1xuICAgICAgICBzdHJva2U6IHZhcigtLWNsci1nb2xkRGFyayk7XG4gICAgfVxufVxuXG4ubmF2IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBoZWlnaHQ6IDA7IFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIG1peGlucy5iZWxvdyh2YXJpYWJsZXMuJGwpeyBcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsOyAgXG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2xyLWJnKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDRyZW07XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnJlbSk7XG5cbiAgICAgICAgLi0tYW5pbWF0aW9uICYge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkc3RpY2t5VHJhbnNpdGlvbiwgdHJhbnNmb3JtICRzdGlja3lUcmFuc2l0aW9uLCBoZWlnaHQgJHN0aWNreVRyYW5zaXRpb25EdXJhdGlvbiBzdGVwLWVuZDtcbiAgICAgICAgfVxuICAgICAgICAuLS1hbmltYXRpb24uLS1vcGVuICYge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkc3RpY2t5VHJhbnNpdGlvbiwgdHJhbnNmb3JtICRzdGlja3lUcmFuc2l0aW9uLCBoZWlnaHQgJHN0aWNreVRyYW5zaXRpb25EdXJhdGlvbiBzdGVwLXN0YXJ0O1xuICAgICAgICB9XG4gICAgICAgIC4tLW9wZW4gJiB7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMHB4KTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwZHZoO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6IHZhcigtLWNsci1iZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmV7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDlyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcmVtKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHZhcigtLWNsci1iZykgNTAlLCB0cmFuc3BhcmVudCkgMTAwJTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxLjVzIGVhc2Utb3V0O1xuXG4gICAgICAgIH1cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgICAgIGhlaWdodDogNXJlbTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNXJlbSk7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgdmFyKC0tY2xyLWJnKSAzMCUsIHRyYW5zcGFyZW50KSAxMDAlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEuNXMgZWFzZS1vdXQ7XG4gICAgICAgIH1cbiAgICAgICAgLi0tb3BlbiAmOjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICRzdGlja3lUcmFuc2l0aW9uRHVyYXRpb247XG4gICAgICAgIH1cbiAgICAgICAgLi0tb3BlbiAmOjphZnRlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDVyZW0pO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogJHN0aWNreVRyYW5zaXRpb25EdXJhdGlvbjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRsKXsgXG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG1hcmdpbi10b3AgJHN0aWNreVRyYW5zaXRpb247XG5cbiAgICAgICAgLi0tc3RpY2t5ICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgICAgfVxuICAgICAgICAuLS1hbmltYXRpb24gJiB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXJnaW4tdG9wICRzdGlja3lUcmFuc2l0aW9uO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYmVsb3codmFyaWFibGVzLiRsKXtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jbHItdGV4dDIwKTtcblxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJGwpe1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgZ2FwOiA1dnc7XG4gICAgICAgICAgICAmLS1yaWdodHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tcGFnZU1hcmdpbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLS1jZW50ZXIge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9faXRlbSB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5iZWxvdyh2YXJpYWJsZXMuJGwpe1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC4yKTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jbHItdGV4dDIwKTtcblxuICAgICAgICAgICAgXG5cbiAgICAgICAgICAgIC4tLW9wZW4gJiB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJGwpe1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuc3VibmF2X19pdGVtIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5iZWxvdyh2YXJpYWJsZXMuJGwpe1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNsci10ZXh0MjApO1xuICAgICAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbHItYmcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdC0tNCAmX19pdGVtOm50aC1jaGlsZCgzKXtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCl7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygxNXZ3KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19saXN0LS01ICZfX2l0ZW06bnRoLWNoaWxkKDQpLCAmX19saXN0LS02ICZfX2l0ZW06bnRoLWNoaWxkKDQpe1xuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRsKXtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE1dncpO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2xpc3QtLTcgJl9faXRlbTpudGgtY2hpbGQoNSksICZfX2xpc3QtLTggJl9faXRlbTpudGgtY2hpbGQoNSl7XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJGwpe1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTV2dyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJl9fbGluayB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jbHItdGV4dCk7XG5cbiAgICAgICAgLm5hdkhlYWRlci0tYnJpZ2h0Om5vdCguLS1zdGlja3kpICYge1xuICAgICAgICAgICAgY29sb3I6IHZhcmlhYmxlcy4kYW50aHJheml0O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5iZWxvdyh2YXJpYWJsZXMuJGwpe1xuICAgICAgICAgICAgLm5hdl9faXRlbTpub3QoLm5hdl9faXRlbS0tY29udGFjdCkgJntcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm5hdkhlYWRlci0tYnJpZ2h0Li0tb3BlbiAme1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jbHItdGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCl7XG4gICAgICAgICAgICAubmF2X19pdGVtOmhvdmVyICZ7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNsci1saW5rKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5uYXZIZWFkZXItLWJyaWdodCAubmF2X19pdGVtOmhvdmVyICZ7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNsci1nb2xkRGFyayk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubmF2X19pdGVtOmhvdmVyICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5zdWJuYXZfX2xpbmsge1xuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRsKXtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jbHItbGluayk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19saW5rLCAuc3VibmF2X19saW5rIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5iZWxvdyh2YXJpYWJsZXMuJGwpe1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGhlaWdodDogMy41cmVtO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMS41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCl7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogLTFweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMXB4KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDFweCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2xyLWxpbmspO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zdWJuYXYge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjVyZW0pO1xuICAgIG1hcmdpbjogMCAwIDAgMS41cmVtO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY2xyLXRleHQyMCk7XG4gICAgcGFkZGluZzogMDtcblxuXG4gICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCl7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNDhweDtcbiAgICAgICAgbGVmdDogLTFweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY2xyLWxpbmspO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbHItYmcpO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxMnB4IDE4cHggLTNweCByZ2JhKDAsMCwwLDAuMyk7XG5cbiAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICBtYXJnaW46IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICAubmF2X19pdGVtOmhvdmVyICYge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fbGluayB7XG4gICAgICAgIC5uYXZIZWFkZXItLWJyaWdodCAmIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jbHItdGV4dCk7XG4gICAgICAgIH1cbiAgICB9XG59IiwiQHVzZSAndmFyaWFibGVzJztcbkB1c2UgJ21peGlucyc7XG5cbi5zZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS12ZXJ0aWNhbE1hcmdpbik7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS12ZXJ0aWNhbE1hcmdpbikgKiAxKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBzY3JvbGwtbWFyZ2luLXRvcDogMTAwcHg7XG5cbiAgICAmOm50aC1jaGlsZCgyKXtcbiAgICAgICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS12ZXJ0aWNhbE1hcmdpbikgLyAxLjUpO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICAgIH1cblxuICAgICZfX2xlYWQge1xuICAgICAgICBtYXgtd2lkdGg6IDM1ZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMuNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgJj4qOmxhc3QtY2hpbGR7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG5cbiIsIkB1c2UgJ3ZhcmlhYmxlcyc7XG5AdXNlICdtaXhpbnMnO1xuXG4ubGlua0J1dHRvbiB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tY2xyLWxpbmspO1xuICAgIG1pbi1oZWlnaHQ6IDEuNnJlbTtcblxuICAgICZfX2ljb24ge1xuICAgICAgICBoZWlnaHQ6IDEuNnJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjJyZW07XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY2xyLWxpbmspO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIGxlZnQ6IC0xMXB4O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2xyLWxpbmspO1xuICAgICAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDEwcHgpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX190ZXh0IHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC41ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgICB9XG5cbiAgICAmOmhvdmVyICZfX3RleHQsIGE6aG92ZXIgJiAmX190ZXh0IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDZweCk7XG4gICAgfVxuXG4gICAgJjpob3ZlciAmX19pY29uOjpiZWZvcmUsIGE6aG92ZXIgJl9faWNvbjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0wLjVweCkgcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG59XG4ubGlua0V4dGVybiB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiB2YXIoLS1jbHItbGluayk7XG4gICAgcGFkZGluZy10b3A6IDAuNWVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcmlhYmxlcy4kaG92ZXJBbmltYXRpb247XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgLS1jbHItbGluazogdmFyKC0tY2xyLXRleHQpO1xuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyaWFibGVzLiRob3ZlckFuaW1hdGlvbjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgfVxuICAgICY6aG92ZXIgJl9fdGV4dCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xuICAgIH1cbiAgICAmX19pY29uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTNweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgIGhlaWdodDogMmVtO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWNsci1saW5rKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTVweCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXJpYWJsZXMuJGhvdmVyQW5pbWF0aW9uO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OicnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMS41ZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDEuNWVtO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2xyLWxpbmspO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcmlhYmxlcy4kaG92ZXJBbmltYXRpb247XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZSgtMTdweCwgLTEycHgpO1xuICAgICAgICB9XG4gICAgfVxuICAgICY6aG92ZXIgJl9faWNvbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDNweCwgLThweCkgcm90YXRlKC00NWRlZyk7XG5cbiAgICB9XG4gICAgJjpob3ZlciAmX19pY29uOjpiZWZvcmV7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlKC0xNXB4LCAtMTBweCk7XG4gICAgfVxufVxuQGtleWZyYW1lcyB6b29tSW4ge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuLmhlYWRlciB7XG4gICAgJi0tZGFyayB7XG4gICAgICAgIC0tY2xyLWJnOiAje3ZhcmlhYmxlcy4kYW50aHJheml0RGFya307XG4gICAgfVxuICAgICYtLWhvbWUuaGVhZGVyLS1kYXJrIHtcbiAgICAgICAgLS1jbHItdGV4dDogI3t2YXJpYWJsZXMuJHdhcm1XaGl0ZX07XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogLS1jbHItdGV4dDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogdmFyKC0tY2xyLXRleHQpO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLXBhZ2VNYXJnaW4pICogLTEpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1wYWdlTWFyZ2luKSAqIC0xKTtcbiAgICBcblxuICAgICYtLWhvbWUge1xuICAgICAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS12ZXJ0aWNhbE1hcmdpbikgLyAzICsgMTB2aCk7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIGhlaWdodDogMTAwc3ZoO1xuICAgIH1cbiAgICAmLS1zdGFuZGFyZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLXZlcnRpY2FsTWFyZ2luKSAvIDMgKyAxMHZoKTtcblxuICAgIH1cbiAgICAmLS1zdGFuZGFyZCwgJi0taW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXZlcnRpY2FsTWFyZ2luKSAvIDIpO1xuICAgIH1cblxuICAgICYtLWhvbWUgJl9faW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgICYtLWhvbWUgJl9faW1hZ2UgaW1ne1xuICAgICAgICBhbmltYXRpb246IHpvb21JbiAycyBjdWJpYy1iZXppZXIoLjIsLjIyLC40LDEpO1xuICAgIH1cbiAgICAmLS1pbWFnZSAmX19pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDYwdmg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgICZfX2ltYWdlIGltZ3tcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICAgICZfX2ltYWdlOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDI1MHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHZhcigtLWNsci1iZyksIHRyYW5zcGFyZW50KTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gICAgJi0tZGFyayAmX19pbWFnZTo6YmVmb3JlIHtcbiAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwwLDAsMC42KSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAgXG4gICAgfVxuICAgICYtLWhvbWUgJl9faW1hZ2U+aW1nIHtcbiAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiA3MCUgNzAlO1xuICAgIH1cbiAgICAmX190aXRsZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogMTF2aDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXBhZ2VNYXJnaW4pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXBhZ2VNYXJnaW4pO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fbGVhZCB7XG4gICAgICAgIG1heC13aWR0aDogMzVlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tcGFnZU1hcmdpbik7XG4gICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tcGFnZU1hcmdpbik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXZoO1xuICAgIH1cbn1cbi5ob21lVGVhc2VyIHtcbiAgICBoZWlnaHQ6IGNhbGMoNDV2aCAtIHZhcigtLXBhZ2VNYXJnaW4pKTtcbiAgICAvL2JvcmRlcjogMXB4IHNvbGlkIHZhcmlhYmxlcy4kZ29sZDtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IHZhcigtLXBhZ2VNYXJnaW4pO1xuICAgIGxlZnQ6IHZhcigtLXBhZ2VNYXJnaW4pO1xuICAgIHJpZ2h0OiB2YXIoLS1wYWdlTWFyZ2luKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZ2FwOiAxLjVyZW07XG5cbiAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDonJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlICsgMnB4KTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgYW5pbWF0aW9uOiBzY2FsZUxpbmUgMXMgY3ViaWMtYmV6aWVyKC4yLC4yMiwuNCwxKTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuICAgIC5oZWFkZXItLWJyaWdodCAmOjpiZWZvcmUsIC5oZWFkZXItLWJyaWdodCAmOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY2xyLWdvbGREYXJrKTtcbiAgICB9XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgICBsZWZ0OiAtMXB4O1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWNsci1nb2xkKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNsci1nb2xkKTtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgIHJpZ2h0OiAtMXB4O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY2xyLWdvbGQpO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jbHItZ29sZCk7XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICAgICAgICBhbmltYXRpb246IGZhZGVVcCAxLjhzIGN1YmljLWJlemllciguMiwuMjIsLjQsMSk7XG4gICAgfVxuICAgICZfX2xpbmsge1xuICAgICAgICBhbmltYXRpb246IGZhZGVVcCAycyBjdWJpYy1iZXppZXIoLjIsLjIyLC40LDEpO1xuICAgIH1cbiAgICAuaGVhZGVyLS1icmlnaHQgJl9fbGluayB7XG4gICAgICAgIC0tY2xyLWxpbms6ICN7dmFyaWFibGVzLiRnb2xkRGFya307XG4gICAgfVxufVxuQGtleWZyYW1lcyBzY2FsZUxpbmUge1xuICAgIDAlIHtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAycHgpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDJweCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuQGtleWZyYW1lcyBmYWRlVXAge1xuICAgIDAlLCA1MCV7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cblxuLmltYWdlIHtcbiAgICAmLS1mdWxsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tcGFnZU1hcmdpbikgKiAtMSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1wYWdlTWFyZ2luKSAqIC0xKTtcbiAgICB9XG59XG5cbi5saW5rYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsci1iZzIpO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm94LXNoYWRvdzogMCAyMHB4IDIwcHggLTE1cHggcmdiYSgwLDAsMCwwLjI1KTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxNzUwcHg7XG4gICAgLy8gYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtcbiAgICAvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLDAsMCwwLjIpO1xuICAgIC8vYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2xyLXRleHQyMCk7XG5cbiAgICAuZGFyayAmIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4yKTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgwLDAsMCwwLjYpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLDAsMCwwLjgpO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRtKXtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICAuc2VjdGlvbjpudGgtb2YtdHlwZSgyKSAme1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCl7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA3MCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDM1MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJHhsKXtcbiAgICAgICAgICAgIGhlaWdodDogNDAwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9faW1hZ2UgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgfVxuICAgICZfX2xpbmtzIHtcbiAgICAgICAgLS1jbHItbGluazogI3t2YXJpYWJsZXMuJGFudGhyYXppdERhcmt9O1xuICAgICAgICAuZGFyayAmIHtcbiAgICAgICAgICAgIC0tY2xyLWxpbms6ICN7dmFyaWFibGVzLiR3YXJtV2hpdGV9O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBmbGV4LWJhc2lzOiAzMCU7XG4gICAgICAgIC8vbWluLWhlaWdodDogMjUwcHg7XG4gICAgICAgIHBhZGRpbmc6IDIuNXJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxleC1iYXNpczogNTAlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJGwpe1xuICAgICAgICAgICAgZmxleC1iYXNpczogMzAlO1xuICAgICAgICB9XG5cbiAgICB9XG4gICAgJl9fbGlzdCB7XG4gICAgICAgIHBhZGRpbmc6IDA7IFxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY2xyLXRleHQyMCk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxZW0pO1xuICAgIH1cbiAgICAmX19saXN0aXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDAuNzVyZW07XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jbHItdGV4dDIwKTtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgXG4gICAgfVxuXG59XG5cbi5jb250YWN0IHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS12ZXJ0aWNhbE1hcmdpbik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICB9XG5cbiAgICAmX19ib3gge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jbHItZ29sZCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbSkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMS41cmVtLCAtMS41cmVtKTtcbiAgICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMnJlbSwgLTJyZW0pO1xuXG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fdGV4dENvbnRlbnQge1xuICAgICAgICBcbiAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogMnJlbVxuICAgIH1cbiAgICAubGlua0V4dGVybiB7XG4gICAgICAgY29sb3I6IHZhcmlhYmxlcy4kYW50aHJheml0RGFyaztcblxuICAgICAgICZfX2ljb24sICZfX2ljb246OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcmlhYmxlcy4kYW50aHJheml0RGFyaztcbiAgICAgICB9XG4gICAgfVxuICAgICZfX2FkZHJlc3Mge1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5keW5hbWljRm9udCgzMCwgMik7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19vcGVuaW5nSG91cnMge1xuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuZHluYW1pY0ZvbnQoMjAsIDQpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIFxuICAgIH1cbiAgICAmX19jb2x1bW5zLS0yIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIFxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJG0pe1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGdhcDogM3JlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsci1nb2xkKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbSl7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgICBwYWRkaW5nOiAycmVtIDA7XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYmVsb3codmFyaWFibGVzLiRtKXtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRtKXtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19jb2x1bW5zLS0yICZfX2NvbHVtbjpudGgtY2hpbGQoMSl7XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5iZWxvdyh2YXJpYWJsZXMuJG0pe1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNsci1nb2xkKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRtKXtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2NvbHVtbjpudGgtY2hpbGQoMil7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYmVsb3codmFyaWFibGVzLiRtKXtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jbHItZ29sZCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxuICAgIFxufSIsIkB1c2UgJ3ZhcmlhYmxlcyc7XG5AdXNlICdtaXhpbnMnO1xuXG4uc3RlcHMge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNsci1nb2xkKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS12ZXJ0aWNhbE1hcmdpbik7XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMnJlbSAwO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY2xyLWdvbGQpO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRtKXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbSl7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA0MCU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3RleHRDb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbSl7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiA0MHJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJG0pe1xuICAgICAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgICB9XG4gICAgfSBcbiAgICAmX190ZXh0IHtcbiAgICAgICAgbWF4LXdpZHRoOiA0MHJlbTtcbiAgICAgICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG59XG4uaW1hZ2Uge1xuICAgXG59XG5cbi5jdGFUZWFzZXJ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA3MHZ3O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpe1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS12ZXJ0aWNhbE1hcmdpbik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbSl7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwdmg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCl7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdncgLyAyNCAqIDUpO1xuICAgICAgICB9XG4gICAgXG4gICAgXG4gICAgJl9fcGF0dGVybiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLXBhZ2VNYXJnaW4pICogLTEpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tcGFnZU1hcmdpbikgKiAtMSk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBoZWlnaHQ6IDcwdnc7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuNXB4IHZhcigtLWNsci1nb2xkKTtcblxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMCwgMWZyKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMTIsIGNhbGMoMTAwdncgLyAxMCkpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJG0pe1xuICAgICAgICAgICAgaGVpZ2h0OiA0MHZ3O1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTUsIDFmcik7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCg4LCBjYWxjKDEwMHZ3IC8gMTUpKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRsKXtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDB2dyAvIDI0ICogNSk7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyNCwgMWZyKTtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDUsIGNhbGMoMTAwdncgLyAyNCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDgwdncgKyAycHgpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoNDB2dyArIDJweCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwdnc7XG4gICAgICAgIHBhZGRpbmc6IDAgMi41cmVtIDAgMi41cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbHItYmcpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jbHItZ29sZCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDFyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbSl7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdncgLyAxNSAqIDMgKyAycHgpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTB2dztcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRsKXtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDVyZW07XG4gICAgICAgICAgICBnYXA6IDNyZW07XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDB2dyAvIDI0ICogMiArIDJweCk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBjYWxjKDEwMHZ3IC8gMjQpOztcbiAgICAgICAgfVxuXG4gICAgICAgIC5jdGFUZWFzZXItLWxpbmsgJiB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCl7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fbGluayB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jbHItdGV4dCk7XG5cbiAgICAgICAgLmxpbmtCdXR0b25fX2ljb24sIC5saW5rQnV0dG9uX19pY29uOjpiZWZvcmV7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNsci10ZXh0KTtcbiAgICAgICAgfSBcbiAgICB9XG4gICAgJl9fdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5keW5hbWljRm9udCg0MCwgMik7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnR2FtYmFyaW5vLVJlZ3VsYXInO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNWVtO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgLmZvcm0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjVweCB2YXIoLS1jbHItZ29sZCk7XG5cbiAgICAmLS1yOTAge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuICAgICYtLXIxODAge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbiAgICAmLS1yMjcwIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbn1cbn1cblxuXG4uaW1hZ2VzIHtcbiAgICBwYWRkaW5nOiAwIDJyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbHVtbi1jb3VudDogMTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS12ZXJ0aWNhbE1hcmdpbik7XG4gICAgXG4gICAgLnNlY3Rpb24gJjpsYXN0LWNoaWxke1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJG0pe1xuICAgICAgICBwYWRkaW5nOiAwIDNyZW07XG4gICAgICAgIGNvbHVtbi1nYXA6IDVyZW07XG4gICAgICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCl7XG4gICAgICAgIHBhZGRpbmc6IDAgOHZ3O1xuICAgICAgICBjb2x1bW4tZ2FwOiAxNnZ3O1xuICAgIH1cbiAgICBcbiAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiR4eGwpe1xuICAgICAgICBwYWRkaW5nOiAwIDN2dztcbiAgICAgICAgY29sdW1uLWdhcDogOHZ3O1xuICAgICAgICBjb2x1bW4tY291bnQ6IDM7XG4gICAgfVxuICAgICZfX2ltYWdlLS1jYXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB9XG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIFxuICAgICAgICAmW2RhdGEtb3JpZW50YXRpb249XCJwb3J0cmFpdFwiXXtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDRyZW0gMDtcbiAgICAgICAgfVxuICAgICAgICAmW2RhdGEtb3JpZW50YXRpb249XCJsYW5kc2NhcGVcIl17XG4gICAgICAgICAgICBtYXJnaW46IDAgLTJyZW0gNHJlbSAtMnJlbTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA0cmVtKTtcbiAgICAgICAgfVxuICAgICAgICBcblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRsKXtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDlyZW07XG4gICAgICAgICAgICAmLS1jYXB0aW9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbiAgICBcbiAgICAmX19pbWFnZSBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWF4LWhlaWdodDogMTAwdmg7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgfVxuICAgICZfX2NhcHRpb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG4uaWNvblRleHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDJyZW07IFxuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXZlcnRpY2FsTWFyZ2luKTtcblxuICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJGwpe1xuICAgICAgICBnYXA6IDRyZW07XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgXG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbSl7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDJyZW07XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCl7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAycmVtKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiR4eGwpe1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gM3JlbSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX190ZXh0Q29udGVudHtcblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRtKXtcbiAgICAgICAgICAgIC8vcGFkZGluZzogMCAzNXB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJHh4bCl7XG4gICAgICAgICAgICAvL3BhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgd2lkdGg6IDEwcmVtO1xuICAgICAgICBoZWlnaHQ6IDEwcmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJGwpe1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0zNXB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJGwpe1xuICAgICAgICAgICAgd2lkdGg6IDEycmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMnJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX190aXRsZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgfSBcbiAgICAmX190ZXh0IHtcbiAgICAgICAgbWF4LXdpZHRoOiA0MHJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgXG4gICAgfVxuICAgICZfX3RleHQgcDpmaXJzdC1jaGlsZHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbn1cblxuLmZsb3cge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS12ZXJ0aWNhbE1hcmdpbik7XG4gICAgei1pbmRleDogMTtcblxuICAgICZfX3RleHRDb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiA0MHJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiR4bCl7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUwcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXZlcnRpY2FsTWFyZ2luKTtcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1vZi10eXBlKDJuICsgMSl7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJG0pe1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4keGwpe1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDJyZW0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9faW1hZ2Uge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tdmVydGljYWxNYXJnaW4pO1xuICAgICAgICB9XG5cblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRzKXtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDgwJTtcblxuICAgICAgICB9XG4gICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiR4bCl7XG4gICAgICAgICAgICB3aWR0aDogNzAlO1xuXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wYXR0ZXJuU3RyaXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB3aWR0aDogMTVyZW07XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IGNhbGModmFyKC0tdmVydGljYWxNYXJnaW4pICogLTAuNCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGJvcmRlcjogMC41cHggc29saWQgdmFyKC0tY2xyLWdvbGQpO1xuICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJG0pe1xuICAgICAgICB3aWR0aDogMjByZW07XG4gICAgfVxuICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJGwpe1xuICAgICAgICB3aWR0aDogMzByZW07XG4gICAgfVxuICAgIFxufVxuLmZvcm0geyBcbiAgICB3aWR0aDogMTAwJTtcbiAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgXG4gICAgJi0tMSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvZm9ybS8xZi5zdmcpO1xuICAgIH1cbiAgICAmLS0yIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9mb3JtLzJmLnN2Zyk7XG4gICAgfVxuICAgICYtLTMge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2Zvcm0vM2Yuc3ZnKTtcbiAgICB9XG4gICAgJi0tNCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvZm9ybS80Zi5zdmcpO1xuICAgIH1cbiAgICAmLS01IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9mb3JtLzVmLnN2Zyk7XG4gICAgfVxuICAgICYtLTYge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2Zvcm0vNmYuc3ZnKTtcbiAgICB9XG4gICAgJi0tcjkwIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIH1cbiAgICAmLS1yMTgwIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG4gICAgJi0tcjI3MCB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gICAgfVxufVxuXG4uaW1hZ2VUZXh0Q2FyZHMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgcm93LWdhcDogNHJlbTtcbiAgICBjb2x1bW4tZ2FwOiAycmVtO1xuICAgIHotaW5kZXg6IDE7XG5cblxuICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJG0pe1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICBcbiAgICB9XG4gICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCl7XG4gICAgICAgIGNvbHVtbi1nYXA6IDNyZW07XG5cbiAgICB9XG4gICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4keGwpe1xuICAgICAgICBjb2x1bW4tZ2FwOiA0cmVtO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgIFxuICAgIH1cbiAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiR4eGwpe1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDEuNXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJGwpe1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRsKXtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDEwcmVtO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbiAgICAmX19pbWFnZSBpbWcge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG5cblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRtKXtcblxuICAgICAgICB9XG4gICAgfVxuICAgICZfX3RleHRDb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMTByZW0gMXJlbSAxcmVtIDFyZW07XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNsci1nb2xkKTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBcblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRsKXtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcmVtIDJyZW0gMnJlbSAycmVtO1xuICAgICAgICB9XG4gICAgfVxufSIsIkB1c2UgJ3ZhcmlhYmxlcyc7XG5AdXNlICdtaXhpbnMnO1xuXG4uY29sbGVjdGlvbkxpc3Qge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXZlcnRpY2FsTWFyZ2luKTtcbiAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRsKXtcbiAgICAgICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS12ZXJ0aWNhbE1hcmdpbikgLyAyKTtcblxuICAgIH1cbn1cblxuLmNvbGxlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXZlcnRpY2FsTWFyZ2luKTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRsKXtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS12ZXJ0aWNhbE1hcmdpbikgLyAyKTtcblxuICAgICAgICAmOm50aC1jaGlsZCgzbiAtIDEpe1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCgzbil7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjAwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgICZfX2ltYWdlIGltZywgJl9fdGl0bGUsICZfX2xpbmsge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyaWFibGVzLiRob3ZlckFuaW1hdGlvbjtcbiAgICB9XG4gICAgJjpob3ZlciAmX19pbWFnZSBpbWcge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICAgIH1cbiAgICAvLyAmOmhvdmVyICZfX3RpdGxlIHtcbiAgICAvLyAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7XG4gICAgLy8gfVxuICAgIC8vICY6aG92ZXIgJl9fbGluayB7XG4gICAgLy8gICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzcHgpO1xuICAgIC8vIH1cbn1cbi5jb2xsZWN0aW9uU2VjdGlvbiB7XG4gICAgJi0tbW9vZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXZlcnRpY2FsTWFyZ2luKTtcbiAgICB9XG4gICAgJi0tcHJvZHVjdHMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS12ZXJ0aWNhbE1hcmdpbik7XG4gICAgfVxufSIsIkB1c2UgJ3ZhcmlhYmxlcyc7XG5AdXNlICdtaXhpbnMnO1xuXG5cbi5wcm9kdWN0SGVhZGVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIHBhZGRpbmctdG9wOiAxMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBhZ2VNYXJnaW4pICogMik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICBjb2x1bW4tZ2FwOiB2YXIoLS1wYWdlTWFyZ2luKTtcbiAgICBAaW5jbHVkZSBtaXhpbnMuZHluYW1pY0ZvbnQoMjAsIDQpO1xuXG4gICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCl7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXBhZ2VNYXJnaW4pO1xuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gNTtcblxuICAgICAgICAmIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDYwdmg7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY2xyLXRleHQyMCk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jbHItdGV4dDIwKTtcbiAgICAgICAgcGFkZGluZzogMXJlbSAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIDU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4keGwpe1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyA0O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJHh4bCl7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIDI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fZGVzY3JpcHRpb24ge1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDA7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gNTtcblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiR4bCl7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIDQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY2xyLXRleHQyMCk7XG5cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiR4eGwpe1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNsci10ZXh0MjApO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyA0O1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2luZm9zIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNsci10ZXh0MjApO1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIDU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCl7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZ2FwOiAycmVtO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJHhsKXtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiA0IC8gNTtcbiAgICAgICAgICAgIGdyaWQtcm93OiAyIC8gNDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNsci10ZXh0MjApO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJHh4bCl7XG4gICAgICAgICAgICBncmlkLXJvdzogMiAvIDM7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9faW5mb2l0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDA7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jbHItdGV4dDIwKTtcblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRsKXtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jbHItdGV4dDIwKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiR4bCl7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2xhYmVsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG4gICAgJl9fdmFsdWUge1xuICAgICAgICBcbiAgICB9XG5cbn1cblxuLnByb2R1Y3RDVEEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMnJlbTtcbiAgICAvLyBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1wYWdlTWFyZ2luKSAqIC0xKTtcbiAgICAvLyBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tcGFnZU1hcmdpbikgKiAtMSk7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogNHJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbHItYmcyKTtcblxuICAgIEBpbmNsdWRlIG1peGlucy5iZWxvdyh2YXJpYWJsZXMuJGwpe1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1wYWdlTWFyZ2luKSAqIC0xKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLXBhZ2VNYXJnaW4pICogLTEpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRtKXtcbiAgICAgICAgcGFkZGluZzogMi41cmVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRsKXtcbiAgICAgICAgcGFkZGluZzogM3JlbTtcbiAgICB9XG4gICAgXG4gICAgJl9fdGV4dENvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMnJlbVxuICAgIH1cbiAgICAmX190ZXh0IHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MHJlbTtcbiAgICB9XG4gICAgJl9fdGV4dCBwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAmX19idXR0b25XcmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYmVsb3codmFyaWFibGVzLiRsKXtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsci1saW5rKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuZHluYW1pY0ZvbnQoMjAsIDQpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyaWFibGVzLiRob3ZlckFuaW1hdGlvbjtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTMwJTtcbiAgICAgICAgICAgIHRvcDogLTE1JTtcbiAgICAgICAgICAgIGxlZnQ6IDEwJTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNsci1saW5rKTtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggdmFyaWFibGVzLiRob3ZlckFuaW1hdGlvbiwgaGVpZ2h0IHZhcmlhYmxlcy4kaG92ZXJBbmltYXRpb24sIGxlZnQgdmFyaWFibGVzLiRob3ZlckFuaW1hdGlvbiwgdG9wIHZhcmlhYmxlcy4kaG92ZXJBbmltYXRpb247XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXI6OmFmdGVye1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxNnB4KTtcbiAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgbGVmdDogOHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCJcbkB1c2UgJ3ZhcmlhYmxlcyc7XG5AdXNlICdtaXhpbnMnO1xuXG5cbi5wcm9kdWN0TGlzdFdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLXBhZ2VNYXJnaW4pICogLTEpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1wYWdlTWFyZ2luKSAqIC0xICsgMXB4KTtcbn1cbi5wcm9kdWN0TGlzdCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyaWFibGVzLiR3YXJtV2hpdGU7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IGRlbnNlO1xuICAgIFxuXG4gICAgQGluY2x1ZGUgbWl4aW5zLmJlbG93KHZhcmlhYmxlcy4kbCl7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDUwJSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJGwpe1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuXG4gICAgfVxuICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJHhsKXtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcblxuICAgIH1cbiAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiR4eGwpe1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xuICAgIH1cbn1cbi5wbGFjZWhvbGRlci1mb3JtIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxcHgpO1xuICAgIGhlaWdodDogY2FsYygxMDAlICsgMXB4KTtcbiAgICBvYmplY3QtZml0OiBmaWxsO1xuICAgIGJvcmRlcjogMC41cHggc29saWQgdmFyKC0tY2xyLWxpbmspO1xuICAgIFxuXG4gICAgJjpudGgtb2YtdHlwZSgxKXtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmJlbG93KHZhcmlhYmxlcy4kbCl7XG4gICAgICAgICAgICBkaXNwbGF5OiB2YXIoLS1waDIpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJGwpe1xuICAgICAgICAgICAgZGlzcGxheTogdmFyKC0tcGgzKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiR4bCl7XG4gICAgICAgICAgICBkaXNwbGF5OiB2YXIoLS1waDQpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJHh4bCl7XG4gICAgICAgICAgICBkaXNwbGF5OiB2YXIoLS1waDUpO1xuICAgICAgICB9XG4gICAgfVxuICAgICY6bnRoLW9mLXR5cGUoMil7XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJG0pe1xuICAgICAgICAgICAgZGlzcGxheTogdmFyKC0tcGgyKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRsKXtcbiAgICAgICAgICAgIGRpc3BsYXk6IHZhcigtLXBoMyk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4keGwpe1xuICAgICAgICAgICAgZGlzcGxheTogdmFyKC0tcGg0KTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiR4eGwpe1xuICAgICAgICAgICAgZGlzcGxheTogdmFyKC0tcGg1KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmOm50aC1vZi10eXBlKDMpe1xuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRtKXtcbiAgICAgICAgICAgIGRpc3BsYXk6IHZhcigtLXBoMik7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbCl7XG4gICAgICAgICAgICBkaXNwbGF5OiB2YXIoLS1waDMpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJHhsKXtcbiAgICAgICAgICAgIGRpc3BsYXk6IHZhcigtLXBoNCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4keHhsKXtcbiAgICAgICAgICAgIGRpc3BsYXk6IHZhcigtLXBoNSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJjpudGgtb2YtdHlwZSg0KXtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbSl7XG4gICAgICAgICAgICBkaXNwbGF5OiB2YXIoLS1waDIpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJGwpe1xuICAgICAgICAgICAgZGlzcGxheTogdmFyKC0tcGgzKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiR4bCl7XG4gICAgICAgICAgICBkaXNwbGF5OiB2YXIoLS1waDQpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSh2YXJpYWJsZXMuJHh4bCl7XG4gICAgICAgICAgICBkaXNwbGF5OiB2YXIoLS1waDUpO1xuICAgICAgICB9XG4gICAgfVxufVxuLnByb2R1Y3Qge1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgei1pbmRleDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWNsci10ZXh0KTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcmlhYmxlcy4kaG92ZXJBbmltYXRpb247XG4gICAgY29sb3I6IHZhcmlhYmxlcy4kYW50aHJheml0RGFyaztcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxcHgpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDFweCk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNsci1nb2xkKTtcbiAgICB9XG4gICAgJl9fdGV4dENvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGhlaWdodDogMnJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRtKXtcbiAgICAgICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xZW07XG4gICAgfVxuICAgICZfX2xpbmsge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMHJlbSk7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcmlhYmxlcy4kaG92ZXJBbmltYXRpb247XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbSl7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdDpob3ZlciAmIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4ucGxDb2xsZWN0aW9uIHtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICAgIGFzcGVjdC1yYXRpbzogMjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgXG4gICAgXG4gICAgJltkYXRhLXRoZW1lPVwiZGFya1wiXXtcbiAgICAgICAgY29sb3I6IHZhcigtLWNsci1iZyk7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDonJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMXB4KTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAxcHgpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jbHItZ29sZCk7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDonJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gICAgJltkYXRhLXRoZW1lPVwiYnJpZ2h0XCJdOjphZnRlcntcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDIwZGVnLCB2YXIoLS1jbHItYmcpIDAlLCB0cmFuc3BhcmVudCA0MCUpO1xuICAgIH1cbiAgICAmW2RhdGEtdGhlbWU9XCJkYXJrXCJdOjphZnRlcntcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDIwZGVnLCAjMDAwIDAlLCB0cmFuc3BhcmVudCA0MCUpO1xuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcmlhYmxlcy4kaG92ZXJBbmltYXRpb247XG4gICAgICAgICAgICAgLnBsQ29sbGVjdGlvbjpob3ZlciAmIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgXG4gICAgfVxuICAgICZfX3RleHRDb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IDNyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbSl7XG4gICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbSl7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiA1cmVtOyAgICBcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbn1cblxuLmxvYWRNb3JlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDJyZW0gMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS12ZXJ0aWNhbE1hcmdpbikgLyA0KTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS12ZXJ0aWNhbE1hcmdpbik7XG5cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgcGFkZGluZzogMC43NXJlbSAxLjVyZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsci1iZyk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNsci1saW5rKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXJpYWJsZXMuJGhvdmVyQW5pbWF0aW9uO1xuICAgICAgICBjb2xvcjogdmFyKC0tY2xyLXRleHQpO1xuICAgICAgICBcbiAgICAgICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2UtaW4sIGhlaWdodCAwLjNzIGVhc2UtaW4sIG9wYWNpdHkgMC40cyBlYXNlLWluO1xuICAgICAgICB9XG4gICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm90dG9tOiAtNXB4O1xuICAgICAgICAgICAgbGVmdDogLTVweDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY2xyLWdvbGQpO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNsci1nb2xkKTtcbiAgICAgICAgfVxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICB0b3A6IC01cHg7XG4gICAgICAgICAgICByaWdodDogLTVweDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jbHItZ29sZCk7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jbHItZ29sZCk7XG4gICAgICAgIH1cbiAgICAgICBcbiAgICAgICAgXG4gICAgfVxuICAgICZfX2J1dHRvblRleHQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIFxuICAgIH1cbiAgICAmX19idXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG4gICAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDEwcHgpO1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAxMHB4KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjRzIGN1YmljLWJlemllciguMjMsLjI0LDAsMSksIGhlaWdodCAwLjRzIGN1YmljLWJlemllciguMjMsLjI0LDAsMSksIG9wYWNpdHkgMC4ycyBlYXNlLW91dDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCJAdXNlICdzYXNzOmNvbG9yJztcbkB1c2UgJ3ZhcmlhYmxlcyc7XG5AdXNlICdtaXhpbnMnO1xuXG5cblxuJGZpbHRlckJyZWFrcG9pbnQ6IHZhcmlhYmxlcy4kbTtcblxuLmZpbHRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS12ZXJ0aWNhbE1hcmdpbikgLyAyKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG5cbiAgICAmW2RhdGEtY2hvc2VuPVwidHJ1ZVwiXSB7XG4gICAgICAgIFxuICAgICAgICAuZmlsdGVyX19hbW91bnQge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuICAgICZbZmlsdGVyLXRvLWFwcGx5PVwidHJ1ZVwiXSB7XG4gICAgICAgIC5maWx0ZXJfX3N1Ym1pdEJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgICAmID4gLmZpbHRlcl9fYnV0dG9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSgkZmlsdGVyQnJlYWtwb2ludCl7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9faXRlbXMgeyAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5iZWxvdygkZmlsdGVyQnJlYWtwb2ludCl7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0b3A6IDQ3cHg7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsci1iZyk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5maWx0ZXJbZGF0YS1vcGVuPVwidHJ1ZVwiXSAme1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogbWluLWNvbnRlbnQgMWZyO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCA0MHB4IHJnYmEoMCwwLDAsMC4yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUoJGZpbHRlckJyZWFrcG9pbnQpe1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2l0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKCRmaWx0ZXJCcmVha3BvaW50KXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJltkYXRhLWNob3Nlbj1cInRydWVcIl0ge1xuICAgICAgICAgICAgLmZpbHRlcl9fcmVtb3ZlQnV0dG9ue1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYgPiAmX19idXR0b25zIHtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKCRmaWx0ZXJCcmVha3BvaW50KXtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fYnV0dG9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNsci1saW5rKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIFxuXG4gICAgICAgIC5maWx0ZXJfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1peGlucy5iZWxvdygkZmlsdGVyQnJlYWtwb2ludCl7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSgkZmlsdGVyQnJlYWtwb2ludCl7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgfSAgIFxuICAgICAgICB9XG5cbiAgICAgICBcbiAgICAgICAgLmZpbHRlcl9faXRlbSAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY2xyLWxpbmspO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY2xyLWxpbmspO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiAgdHJhbnNsYXRlWSgtMTdweCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRvcCB2YXJpYWJsZXMuJGhvdmVyQW5pbWF0aW9uO1xuICAgICAgICB9XG4gICAgICAgIC5maWx0ZXJfX2l0ZW1bZGF0YS1vcGVuPVwidHJ1ZVwiXSAmOjphZnRlcntcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICB0b3A6IDEwMCU7ICAgICBcbiAgICAgICAgICAgIHRyYW5zZm9ybTogIHRyYW5zbGF0ZVkoOHB4KSByb3RhdGUoMjI1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAuZmlsdGVyX19pdGVtICY6aG92ZXI6OmFmdGVye1xuICAgICAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyAzcHgpO1xuICAgICAgICB9XG4gICAgICAgIC5maWx0ZXJfX2l0ZW1bZGF0YS1vcGVuPVwidHJ1ZVwiXSAmOmhvdmVyOjphZnRlcntcbiAgICAgICAgICAgIHRvcDogY2FsYygxMDAlIC0gM3B4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19zdWJtaXRCdXR0b24ge1xuICAgICAgICB3aWR0aDogM3JlbTtcbiAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsci1saW5rKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9pY29uL2ZpbHRlci5zdmcpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDYwJTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAvL3otaW5kZXg6IDEyO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBhbmltYXRpb246IHBvcFVwIDAuM3MgZWFzZS1vdXQ7XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgcG9wVXAge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG4gICAgICAgIDUwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3JlbW92ZUJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxLjJyZW07XG4gICAgICAgIGhlaWdodDogMS4ycmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOHJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOHJlbTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsci10ZXh0KTtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKC4uL2ltYWdlcy9pY29uL2Nyb3NzLnN2Zyk7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbHItbGluayk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYmVsb3coJGZpbHRlckJyZWFrcG9pbnQpe1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICAuZmlsdGVyX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkgJiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUoJGZpbHRlckJyZWFrcG9pbnQpe1xuICAgICAgICAgICAgLmZpbHRlcl9faXRlbTpub3QoOmxhc3QtY2hpbGQpICYge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgcGFkZGluZzowLjc1cmVtIDEuNXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNsci10ZXh0KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2xyLWJnKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXJpYWJsZXMuJGhvdmVyQW5pbWF0aW9uO1xuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuZHluYW1pY0ZvbnQoMTUsIDQpO1xuXG4gICAgICAgICYtLW1haW4ge1xuICAgICAgICAgICAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXXtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbHItYmcyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1peGlucy5hYm92ZSgkZmlsdGVyQnJlYWtwb2ludCl7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9faXRlbVtkYXRhLWNob3Nlbj1cInRydWVcIl0gJl9fbGFiZWw6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJzogJztcbiAgICB9XG4gICAgJl9fYW1vdW50IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMXJlbSk7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDAuMnJlbSk7XG4gICAgICAgICAgICB0b3A6IC0wLjA1cmVtO1xuICAgICAgICAgICAgbGVmdDogLTAuNXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IuYWRqdXN0KHZhcmlhYmxlcy4kZ29sZCwgJGxpZ2h0bmVzczogMTAlLCAkc3BhY2U6IGhzbCk7XG4gICAgICAgIH1cblxuICAgIH1cbiAgICAmX19jaG9pY2Uge1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICBcbiAgICB9XG4gICAgJl9fbGlzdHtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbHItYmcyKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2xyLWxpbmspO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmJlbG93KCRmaWx0ZXJCcmVha3BvaW50KXtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICAgICAgLmZpbHRlcl9faXRlbTpub3QoOmxhc3QtY2hpbGQpICYge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKCRmaWx0ZXJCcmVha3BvaW50KXtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyAxNXB4KTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAxOHB4IC0ycHggcmdiYSgwLDAsMCwwLjE4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19pdGVtW2RhdGEtb3Blbj1cInRydWVcIl0gJl9fbGlzdHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICZfX29wdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpe1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNsci1iZyk7XG4gICAgICAgIH1cbiAgICAgICAgJjpoYXMoLmZpbHRlcl9fcmFkaW86Y2hlY2tlZCl7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbHItbGluayk7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbHItYmcpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgfVxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fcmFkaW8ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgJl9fb3B0aW9uOmhhcyguZmlsdGVyX19yYWRpb1tkaXNhYmxlZF0pe1xuICAgICAgICBvcGFjaXR5OiAwLjI7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbn1cbiIsIkB1c2UgJ3ZhcmlhYmxlcyc7XG5AdXNlICdtaXhpbnMnO1xuXG5cbi5mb290ZXIge1xuICAgIC0tY2xyLXRleHQ6ICN7dmFyaWFibGVzLiR3YXJtV2hpdGV9O1xuICAgIC0tY2xyLXRleHQyMDogI3tyZ2JhKCRjb2xvcjogdmFyaWFibGVzLiR3YXJtV2hpdGUsICRhbHBoYTogMC4yKX07XG4gICAgLS1jbHItdGV4dDUwOiAje3JnYmEoJGNvbG9yOiB2YXJpYWJsZXMuJHdhcm1XaGl0ZSwgJGFscGhhOiAwLjUpfTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcmlhYmxlcy4kYW50aHJheml0O1xuICAgIGNvbG9yOiB2YXIoLS1jbHItdGV4dCk7XG4gICAgbWFyZ2luLWJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xuICAgIFxuXG4gICAgJl9fbWFpbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tcGFnZU1hcmdpbikgdmFyKC0tcGFnZU1hcmdpbik7XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbSkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgfVxuICAgIH1cbiAgICBwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICAgICZfX29wZW5pbmdIb3VycyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgfVxuICAgICZfX2FkZHJlc3Mge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuXG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmFib3ZlKHZhcmlhYmxlcy4kbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYWJvdmUodmFyaWFibGVzLiRsKSB7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwYW46bm90KC5maXJzdC1vZi1saW5lKTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnIOKAoiAnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cblxuICAgICZfX2JvdHRvbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY2xyLXRleHQyMCk7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gdmFyKC0tcGFnZU1hcmdpbik7XG4gICAgICAgIGdhcDogMXJlbTtcblxuICAgICAgIFxuICAgICAgICBcbiAgICB9XG4gICAgJl9fY29weXJpZ2h0IHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jbHItdGV4dDUwKTtcbiAgICB9XG4gICAgJl9fbmF2IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAxcmVtO1xuICAgIH1cbiAgICAmX19uYXZJdGVtIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gICAgJl9fbmF2TGluayB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNsci10ZXh0NTApO1xuICAgIH1cbn1cblxuLnNvbWUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tY2xyLXRleHQ1MCk7XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgfVxuICAgICZfX2xpc3RpdGVtIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgXG4gICAgfVxuICAgICZfX2ljb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICB3aWR0aDogMS4yNXJlbTtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgIH1cblxufSJdLCJmaWxlIjoibWFpbi5jc3MifQ== */
