@charset "UTF-8";
.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__arrow{-ms-flex-align:center;align-items:center;background:#ccc;border:0;border-radius:50%;cursor:pointer;display:-ms-flexbox;display:flex;height:2em;-ms-flex-pack:center;justify-content:center;opacity:.7;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:2em;z-index:1}.splide__arrow svg{fill:#000;height:1.2em;width:1.2em}.splide__arrow:hover:not(:disabled){opacity:.9}.splide__arrow:disabled{opacity:.3}.splide__arrow:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide__arrow--prev{left:1em}.splide__arrow--prev svg{transform:scaleX(-1)}.splide__arrow--next{right:1em}.splide.is-focus-in .splide__arrow:focus{outline:3px solid #0bf;outline-offset:3px}.splide__pagination{bottom:.5em;left:0;padding:0 1em;position:absolute;right:0;z-index:1}.splide__pagination__page{background:#ccc;border:0;border-radius:50%;display:inline-block;height:8px;margin:3px;opacity:.7;padding:0;position:relative;transition:transform .2s linear;width:8px}.splide__pagination__page.is-active{background:#fff;transform:scale(1.4);z-index:1}.splide__pagination__page:hover{cursor:pointer;opacity:.9}.splide__pagination__page:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__pagination__page:focus{outline:3px solid #0bf;outline-offset:3px}.splide__progress__bar{background:#ccc;height:3px}.splide__slide{-webkit-tap-highlight-color:rgba(0,0,0,0)}.splide__slide:focus{outline:0}@supports(outline-offset:-3px){.splide__slide:focus-visible{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide__slide:focus-visible{border:3px solid #0bf}}@supports(outline-offset:-3px){.splide.is-focus-in .splide__slide:focus{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide.is-focus-in .splide__slide:focus{border:3px solid #0bf}.splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus{border-color:#0bf}}.splide__toggle{cursor:pointer}.splide__toggle:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__toggle:focus{outline:3px solid #0bf;outline-offset:3px}.splide__track--nav>.splide__list>.splide__slide{border:3px solid transparent;cursor:pointer}.splide__track--nav>.splide__list>.splide__slide.is-active{border:3px solid #000}.splide__arrows--rtl .splide__arrow--prev{left:auto;right:1em}.splide__arrows--rtl .splide__arrow--prev svg{transform:scaleX(1)}.splide__arrows--rtl .splide__arrow--next{left:1em;right:auto}.splide__arrows--rtl .splide__arrow--next svg{transform:scaleX(-1)}.splide__arrows--ttb .splide__arrow{left:50%;transform:translate(-50%)}.splide__arrows--ttb .splide__arrow--prev{top:1em}.splide__arrows--ttb .splide__arrow--prev svg{transform:rotate(-90deg)}.splide__arrows--ttb .splide__arrow--next{bottom:1em;top:auto}.splide__arrows--ttb .splide__arrow--next svg{transform:rotate(90deg)}.splide__pagination--ttb{bottom:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;left:auto;padding:1em 0;right:.5em;top:0}
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after {
  content: "";
  content: none;
}

q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px white inset;
}

:root {
  --c-white-alt: #fefbf2;
  --c-white: hsl(0, 0%, 98%);
  --c-bg-alt: #f5f5f5;
  --c-blue-1: #131F43ff;
  --c-blue-2: #355dcc;
  --c-blue-3: #35C1DEff;
  --c-gray: #5F6780ff;
  --c-red: #FE2324ff;
  --c-text: #111;
  --c-bg: var(--c-white);
  --c-bg-dark: var(--c-blue-1);
  --c-border: var(--c-gray);
  --c-primary: var(--c-blue-1);
  --c-primary-light: var(--c-blue-2);
  --c-secondary: var(--c-red);
}

/* SCSS Gradient */
* {
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: "Roboto", sans-serif;
}

html {
  font-size: 62.5%;
}

body {
  font-size: 1.8rem;
  line-height: 1.4;
}
@media (max-width: 767px) {
  body {
    font-size: 1.6rem;
    line-height: 1.2;
  }
}

@font-face {
  font-family: "Roboto";
  src: url("../../fonts/Roboto/Roboto-VariableFont_wdth,wght.ttf") format("truetype");
  font-weight: 300 800;
  font-style: normal;
}
@font-face {
  font-family: "Montserrat";
  src: url("../../fonts/montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
  font-weight: 300 800;
  font-style: normal;
}
@font-face {
  font-family: "Barlow";
  src: url("../../fonts/barlow/Barlow-Regular.ttf") format("truetype");
  font-weight: 400;
}
@font-face {
  font-family: "Barlow";
  src: url("../../fonts/barlow/Barlow-Medium.ttf") format("truetype");
  font-weight: 500;
}
@font-face {
  font-family: "Barlow";
  src: url("../../fonts/barlow/Barlow-SemiBold.ttf") format("truetype");
  font-weight: 600;
}
@font-face {
  font-family: "Barlow";
  src: url("../../fonts/barlow/Barlow-Bold.ttf") format("truetype");
  font-weight: 700;
}
@font-face {
  font-family: "Barlow";
  src: url("../../fonts/barlow/Barlow-ExtraBold.ttf") format("truetype");
  font-weight: 800;
}
@font-face {
  font-family: "Barlow";
  src: url("../../fonts/barlow/Barlow-Black.ttf") format("truetype");
  font-weight: 900;
}
:root {
  --space-4: 4px;
  --space-8: 8px;
  --space-12: 12px;
  --space-16: 16px;
  --space-24: 24px;
  --space-32: 32px;
  --space-48: 48px;
  --space-64: 64px;
  --space-96: 96px;
}

.wrapper-narrow-x2, .wrapper-narrow, .wrapper {
  max-width: calc(1600px + var(--space-32) * 2);
  padding: 0 var(--space-32);
  margin: 0 auto;
  position: relative;
}
@media (max-width: 1199px) {
  .wrapper-narrow-x2, .wrapper-narrow, .wrapper {
    padding: 0 var(--space-24);
  }
}
@media (max-width: 767px) {
  .wrapper-narrow-x2, .wrapper-narrow, .wrapper {
    padding: 0 var(--space-16);
  }
}

.wrapper-narrow {
  max-width: calc(1200px + var(--space-32) * 2);
}

.wrapper-narrow-x2 {
  max-width: calc(70ch + var(--space-32) * 2);
}

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

body {
  background-color: var(--c-bg) !important;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100vh;
}

a {
  text-decoration: none;
  transition: all 100ms ease-in-out;
  color: var(--c-primary-light);
  font-weight: 500;
}
a:hover {
  text-decoration: underline;
}

button {
  background-color: transparent;
  border: 0;
  cursor: pointer;
}

picture {
  line-height: 0;
  font-size: 0;
}
picture img {
  display: block;
}

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

hr {
  height: 1px;
  width: 100%;
  background-color: var(--c-primary-light);
  border: 0;
  margin: 1rem 0;
}

.icon {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.loading {
  position: relative;
}

.loading::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.6);
}

.loading::before {
  content: "";
  position: fixed;
  top: 50%;
  left: 50%;
  margin-top: -40px;
  margin-bottom: -40px;
  border: 10px solid var(--c-secondary);
  border-top: 10px solid var(--c-primary-light);
  border-radius: 50%;
  width: 80px;
  height: 80px;
  animation: spin 2s linear infinite;
  z-index: 1;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
section.text-image .content .text .alignright, .editor .alignright {
  float: right;
  margin: 0 0 2rem 2rem !important;
}
@media (max-width: 480px) {
  section.text-image .content .text .alignright, .editor .alignright {
    float: none;
    margin: 2rem;
    width: calc(100% - 4rem);
  }
}
@media (max-width: mobile-small) {
  section.text-image .content .text .alignright, .editor .alignright {
    float: none;
    margin: 2rem;
    width: calc(100% - 4rem);
  }
}
section.text-image .content .text .alignleft, .editor .alignleft {
  float: right;
  margin: 0 2rem 2rem 0 !important;
}
@media (max-width: 480px) {
  section.text-image .content .text .alignleft, .editor .alignleft {
    float: none;
    margin: 2rem;
    width: calc(100% - 4rem);
  }
}
@media (max-width: mobile-small) {
  section.text-image .content .text .alignleft, .editor .alignleft {
    float: none;
    margin: 2rem;
    width: calc(100% - 4rem);
  }
}
section.text-image .content .text .aligncenter, .editor .aligncenter {
  margin: 0 2rem;
}
section.text-image .content .text blockquote, .editor blockquote {
  font-size: 2.2rem;
  max-width: 90rem;
  margin: 0 auto;
}
@media (max-width: 767px) {
  section.text-image .content .text blockquote, .editor blockquote {
    font-size: 2rem;
  }
}
section.text-image .content .text h3, .editor h3 {
  text-transform: none !important;
}
section.text-image .content .text p + p, .editor p + p {
  margin-top: 1.4rem;
}
section.text-image .content .text p + *, .editor p + * {
  margin-top: 2rem;
}
section.text-image .content .text p:empty, .editor p:empty {
  margin-top: 0;
}
@media (max-width: 767px) {
  section.text-image .content .text p img, .editor p img {
    max-width: 40vw;
  }
}
@media (max-width: 767px) {
  section.text-image .content .text table tr, .editor table tr {
    display: flex;
    flex-direction: column;
  }
}
section.text-image .content .text table tr td, .editor table tr td {
  padding-right: 2rem;
}
@media (max-width: 767px) {
  section.text-image .content .text table tr td, .editor table tr td {
    padding-right: 0;
    margin-bottom: 1.8rem;
    width: 100% !important;
  }
}

.modal {
  position: fixed;
  width: 100vw;
  height: 100vh;
  padding: 0;
  top: 0;
  left: 0;
  z-index: 99;
}
.modal:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(20px);
  z-index: 0;
}
.modal .touch-target {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.modal button {
  position: absolute;
  width: 4rem;
  height: 4rem;
  border-radius: 2rem;
  border: 0;
  background-color: var(--c-bg);
  font-family: monospace;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1;
  color: var(--c-text);
}
.modal button:active {
  background-color: var(--c-primary-light);
}
.modal button.close {
  font-size: 2rem;
  top: 2rem;
  right: 2rem;
}
.modal button.nav {
  font-size: 3rem;
  top: 50%;
  transform: translateY(-50%);
  line-height: 3rem;
  padding-bottom: 4px;
  z-index: 1;
}
.modal button.nav:disabled {
  pointer-events: none;
  opacity: 0.5;
}
.modal button.nav.prev {
  left: 2rem;
}
.modal button.nav.next {
  right: 2rem;
}
.modal img,
.modal video {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.modal .media {
  z-index: 0;
  position: relative;
  pointer-events: none;
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.modal .media label {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 1.4rem 3.4rem;
  background: var(--c-bg);
}

.nf-form-cont nf-fields-wrap nf-field {
  margin-top: 2rem;
  display: block;
}
.nf-form-cont .nf-field-container {
  margin-bottom: 0;
}
.nf-form-cont .nf-after-field .nf-error-msg {
  text-align: left;
  font-weight: 600;
}
.nf-form-cont .nf-form-errors {
  margin: 4rem 0 2rem 0;
  font-weight: 600;
}
.nf-form-cont .nf-response-msg {
  margin: 2rem 0;
}

form select,
form input[type=text],
form input[type=search],
form input[type=email],
form textarea {
  -webkit-appearance: none;
  border-radius: 0;
  background-color: #fff;
  color: var(--c-text);
  font-size: 1.8rem;
  padding: 1rem 2rem;
  border: 2px solid var(--c-border);
  width: 100%;
}
form select::placeholder,
form input[type=text]::placeholder,
form input[type=search]::placeholder,
form input[type=email]::placeholder,
form textarea::placeholder {
  color: var(--c-border);
}
form select,
form input[type=text],
form input[type=search],
form input[type=email] {
  height: 48px;
}
form button[type=submit],
form input[type=submit] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  transition: 100ms all ease-in-out;
  cursor: pointer;
  border-radius: 2px;
  padding: var(--space-12) var(--space-24);
  font-size: 1.6rem;
  min-height: 4.2rem;
  text-transform: uppercase;
  border: 0;
  color: var(--c-bg);
  background-color: var(--c-primary);
  height: 48px;
  -webkit-appearance: none;
  opacity: 0.8;
}
@media (max-width: 480px) {
  form button[type=submit],
  form input[type=submit] {
    padding: var(--space-12) var(--space-12);
    font-size: 1.4rem;
    min-height: 2.4rem;
  }
}
@media (max-width: mobile-small) {
  form button[type=submit],
  form input[type=submit] {
    padding: var(--space-12) var(--space-12);
    font-size: 1.4rem;
    min-height: 2.4rem;
  }
}
form button[type=submit]:hover,
form input[type=submit]:hover {
  text-decoration: none;
}
form button[type=submit]:hover, form button[type=submit]:active,
form input[type=submit]:hover,
form input[type=submit]:active {
  background-color: var(--c-secondary);
}

.splide {
  visibility: visible !important;
}
.splide .splide__pagination {
  margin-bottom: 1.4rem;
  bottom: 0;
}
.splide .splide__pagination.bg-light .splide__pagination__page {
  margin: 6px;
  background: var(--c-border);
}
.splide .splide__pagination.bg-light .splide__pagination__page.is-active {
  background: var(--c-text);
}
.splide .splide__pagination .splide__pagination__page {
  margin: 6px;
  transition: 100ms all ease-in-out;
  background: var(--c-primary);
}
.splide .splide__pagination .splide__pagination__page.is-active {
  background: var(--c-bg);
  margin: 6px 10px;
}
.splide .splide__pagination .splide__pagination__page.is-active {
  transform: scale(1.7);
}
.splide .splide__slide {
  width: 100%;
  height: 600px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background-attachment: fixed;
  background-size: cover;
}
.splide .splide__slide::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: linear-gradient(to right, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.5));
  z-index: 0;
}
.splide .splide__slide .wrapper-narrow {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  height: 100%;
  gap: 2rem;
}
.splide .splide__slide h1, .splide .splide__slide p {
  color: var(--c-bg);
  padding-right: 440px;
}
@media (max-width: 1024px) {
  .splide .splide__slide h1, .splide .splide__slide p {
    padding-right: 0;
  }
}
.splide .splide__slide h1 {
  margin-bottom: 0;
  text-transform: uppercase;
  position: relative;
  font-weight: 600;
}
.splide .splide__slide p {
  font-size: 2rem;
}
.splide .splide__slide .ctas {
  display: flex;
  gap: 2rem;
  justify-content: center;
}
.splide .splide__slide .ctas a:first-child {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  transition: 100ms all ease-in-out;
  cursor: pointer;
  border-radius: 2px;
  padding: var(--space-12) var(--space-24);
  font-size: 1.6rem;
  min-height: 4.2rem;
  text-transform: uppercase;
  border: 0;
  color: var(--c-bg);
  background-color: var(--c-primary);
  background-color: var(--c-blue-2);
}
@media (max-width: 480px) {
  .splide .splide__slide .ctas a:first-child {
    padding: var(--space-12) var(--space-12);
    font-size: 1.4rem;
    min-height: 2.4rem;
  }
}
@media (max-width: mobile-small) {
  .splide .splide__slide .ctas a:first-child {
    padding: var(--space-12) var(--space-12);
    font-size: 1.4rem;
    min-height: 2.4rem;
  }
}
.splide .splide__slide .ctas a:first-child:hover {
  text-decoration: none;
}
.splide .splide__slide .ctas a:first-child:hover, .splide .splide__slide .ctas a:first-child:active {
  background-color: var(--c-secondary);
}
.splide .splide__slide .ctas a:last-child {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  transition: 100ms all ease-in-out;
  cursor: pointer;
  border-radius: 2px;
  padding: var(--space-12) var(--space-24);
  font-size: 1.6rem;
  min-height: 4.2rem;
  background-color: transparent;
  border: 1px solid var(--c-border);
  color: var(--c-text);
  background-color: var(--c-border);
  color: var(--c-bg);
}
@media (max-width: 480px) {
  .splide .splide__slide .ctas a:last-child {
    padding: var(--space-12) var(--space-12);
    font-size: 1.4rem;
    min-height: 2.4rem;
  }
}
@media (max-width: mobile-small) {
  .splide .splide__slide .ctas a:last-child {
    padding: var(--space-12) var(--space-12);
    font-size: 1.4rem;
    min-height: 2.4rem;
  }
}
.splide .splide__slide .ctas a:last-child:hover {
  text-decoration: none;
}
.splide .splide__slide .ctas a:last-child:hover, .splide .splide__slide .ctas a:last-child:active {
  background-color: var(--c-border);
  color: var(--c-bg);
}
.splide .splide__slide .ctas a:last-child:hover {
  background-color: var(--c-bg);
  color: var(--c-text);
}

:root {
  --nav-height: 70px;
  --nav-height-tablet: 70px;
  --nav-height-mobile: 60px;
}

body > header {
  z-index: 9;
  position: relative;
  position: sticky;
  width: 100%;
  top: 0;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  background-color: rgba(255, 255, 255, 0.86);
  box-shadow: 0px 0px 10px -6px #000;
}
body > header nav {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
  gap: 2rem;
  position: relative;
  top: 0;
  left: 0;
  height: var(--nav-height);
}
@media (max-width: 1199px) {
  body > header nav {
    height: var(--nav-height-tablet);
  }
}
@media (max-width: 767px) {
  body > header nav {
    height: var(--nav-height-mobile);
  }
}
@media (max-width: 1024px) {
  body > header nav.active ul {
    display: block;
  }
}
body > header nav.active .burger div:nth-child(1) {
  transform: rotate(-45deg) translate(-9px, 7px);
}
body > header nav.active .burger div:nth-child(2) {
  transform: translateX(100%);
}
body > header nav.active .burger div:nth-child(3) {
  transform: rotate(45deg) translate(-8px, -7px);
}
body > header nav .logo {
  padding: 1.4rem 0;
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  body > header nav .logo {
    padding: 1rem 0;
    max-width: 140px;
  }
}
body > header nav .logo img {
  width: auto;
  height: 100%;
}
body > header nav ul {
  display: flex;
  justify-content: space-between;
  gap: 0;
}
body > header nav ul > li:not(:last-of-type) {
  margin-right: 1px;
}
body > header nav ul > li.current-page-ancestor a {
  background-color: var(--c-primary-light);
  color: var(--c-bg);
  margin: 0;
  color: var(--c-text);
}
body > header nav ul > li.current-page-ancestor a:before {
  border-bottom: 100% solid var(--c-primary-light);
}
body > header nav ul > li.current-page-ancestor a:after {
  border-top: 100% solid var(--c-primary-light);
}
body > header nav ul > li.active > a, body > header nav ul > li.current-page-ancestor > a, body > header nav ul > li.current-menu-item > a {
  margin: 0;
  color: var(--c-text);
  border-bottom-color: var(--c-primary-light);
}
body > header nav ul > li > a {
  position: relative;
  align-items: flex-end;
  display: inline-flex;
  padding: 0 2rem;
  font-size: 1.6rem;
  font-weight: 600;
  color: var(--c-bg);
  text-transform: uppercase;
  background-color: var(--c-text);
  height: 100%;
  border-bottom: 4px solid transparent;
  transition: 100ms all ease-in-out;
}
@media (max-width: 767px) {
  body > header nav ul > li > a {
    padding: 0 1.4rem;
  }
}
body > header nav ul > li > a:hover {
  background-color: linear-gradient(0deg, #fefefe, #131f43, #35c1de, #5f6780, #fe2324);
  text-decoration: none;
  border-bottom-color: var(--c-primary-light);
}
body > header nav ul > li > .sub-menu-toggle {
  display: none;
}
body > header nav ul > li > .sub-menu {
  display: none;
}
body > header nav ul {
  position: relative;
  z-index: 1;
}
@media (max-width: 1024px) {
  body > header nav ul {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    width: 90vw;
    max-width: 500px;
    flex-direction: column;
    height: 100vh;
    background-color: var(--c-bg);
    justify-content: flex-start;
    box-shadow: 0px 0px 10px -6px #000;
    padding-top: 75px;
  }
}
body > header nav ul li {
  margin-right: 0 !important;
}
@media (max-width: 1024px) {
  body > header nav ul li {
    border-bottom: 1px solid var(--c-text);
  }
}
body > header nav ul li:has(+ .current-menu-item)::after, body > header nav ul li:has(+ .current-page-ancestor)::after {
  color: var(--c-bg);
}
body > header nav ul li:not(:last-of-type):after {
  content: "/";
}
@media (max-width: 1024px) {
  body > header nav ul li:not(:last-of-type):after {
    display: none;
  }
}
body > header nav ul li a {
  background-color: transparent;
  color: var(--c-text);
  padding: 1rem 4rem;
}
@media (max-width: 1024px) {
  body > header nav ul li a {
    width: 100%;
  }
}
body > header nav ul li a:before, body > header nav ul li a:after {
  border-color: transparent;
}
@media (max-width: 1024px) {
  body > header nav ul li a:after {
    display: none;
  }
}
body > header .burger {
  cursor: pointer;
  display: none;
  margin: auto 0;
  position: relative;
  z-index: 2;
  overflow: hidden;
}
@media (max-width: 1024px) {
  body > header .burger {
    display: inline-block;
  }
}
body > header .burger div {
  width: 35px;
  height: 5px;
  background-color: var(--c-text);
  margin: 6px 0;
  transition: 200ms all ease-in-out;
}

body > main {
  margin: 0 0 auto;
}
body > main > section h1 {
  color: var(--c-primary);
  font-size: 5.4rem;
  line-height: 1;
  opacity: 0.7;
}
@media (max-width: 1199px) {
  body > main > section h1 {
    font-size: 4rem;
  }
}
body > main > section h2 {
  color: var(--c-primary);
  font-size: 4rem;
  margin-bottom: 1.6rem;
  font-weight: 600;
}
@media (max-width: 1024px) {
  body > main > section h2 {
    font-size: 3.2rem;
    margin-bottom: 1.4rem;
  }
}
@media (max-width: 767px) {
  body > main > section h2 {
    font-size: 3rem;
  }
}
@media (max-width: 480px) {
  body > main > section h2 {
    font-size: 2.68rem;
    margin-bottom: 1.2rem;
  }
}
@media (max-width: mobile-small) {
  body > main > section h2 {
    font-size: 2.68rem;
    margin-bottom: 1.2rem;
  }
}
body > main > section h2 a {
  color: var(--c-primary);
  transition: all 100ms ease-in-out;
}
body > main > section h2 a:hover {
  text-decoration: none;
  color: var(--c-primary-light);
}
body > main > section h3 {
  color: var(--c-primary);
  font-size: 3rem;
  margin-bottom: 1.4rem;
  line-height: 1;
}
@media (max-width: 1199px) {
  body > main > section h3 {
    font-size: 2.6rem;
  }
}
@media (max-width: 767px) {
  body > main > section h3 {
    font-size: 2rem;
    margin-bottom: 1.2rem;
  }
}
body > main > section .wrapper-narrow > h2, body > main > section .wrapper-narrow > .content {
  text-align: center;
  max-width: 80%;
  margin: 0 auto;
}
body > main section.archive,
body > main section.single,
body > main section.page {
  padding-top: 6rem;
  padding-bottom: 6rem;
  background-color: var(--c-bg);
}
@media (max-width: 1199px) {
  body > main section.archive,
  body > main section.single,
  body > main section.page {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
body > main section.archive h1,
body > main section.single h1,
body > main section.page h1 {
  color: var(--c-primary);
  font-size: 4rem;
  margin-bottom: 1.6rem;
  font-weight: 600;
}
@media (max-width: 1024px) {
  body > main section.archive h1,
  body > main section.single h1,
  body > main section.page h1 {
    font-size: 3.2rem;
    margin-bottom: 1.4rem;
  }
}
@media (max-width: 767px) {
  body > main section.archive h1,
  body > main section.single h1,
  body > main section.page h1 {
    font-size: 3rem;
  }
}
@media (max-width: 480px) {
  body > main section.archive h1,
  body > main section.single h1,
  body > main section.page h1 {
    font-size: 2.68rem;
    margin-bottom: 1.2rem;
  }
}
@media (max-width: mobile-small) {
  body > main section.archive h1,
  body > main section.single h1,
  body > main section.page h1 {
    font-size: 2.68rem;
    margin-bottom: 1.2rem;
  }
}
body > main section.archive h1 a,
body > main section.single h1 a,
body > main section.page h1 a {
  color: var(--c-primary);
  transition: all 100ms ease-in-out;
}
body > main section.archive h1 a:hover,
body > main section.single h1 a:hover,
body > main section.page h1 a:hover {
  text-decoration: none;
  color: var(--c-primary-light);
}
body > main section.archive .wrapper-narrow {
  display: flex;
  gap: 2rem;
}
@media (max-width: 767px) {
  body > main section.archive .wrapper-narrow {
    flex-direction: column;
  }
}
body > main section.archive aside {
  flex: 0 0 30%;
}
body > main section.archive aside select {
  display: none;
}
@media (max-width: 767px) {
  body > main section.archive aside select {
    display: block;
  }
}
body > main section.archive aside ul {
  display: flex;
  flex-direction: column;
  gap: 2.6rem;
}
@media (max-width: 767px) {
  body > main section.archive aside ul {
    display: none;
  }
}
body > main section.archive aside ul li {
  transition: all 100ms ease-in-out;
}
body > main section.archive aside ul li:first-child {
  font-size: 2.6rem;
}
body > main section.archive aside ul li.active a {
  color: var(--c-primary-light);
}
body > main section.archive aside ul li.active a svg {
  stroke: var(--c-primary-light);
}
body > main section.archive aside ul li a {
  color: var(--c-primary);
  gap: 1.4rem;
}
body > main section.archive aside ul li a:hover {
  text-decoration: none;
  color: var(--c-primary-light);
}
body > main section.archive aside ul li a:hover svg {
  stroke: var(--c-primary-light);
}
body > main section.archive aside ul li a svg {
  stroke: var(--c-border);
}

body > footer {
  background-color: var(--c-bg-dark);
  color: var(--c-bg);
  font-size: 1.6rem;
  padding: 6rem 0;
}
body > footer .wrapper {
  display: flex;
  justify-content: space-between;
  gap: 6rem;
  align-items: center;
}
@media (max-width: 1199px) {
  body > footer .wrapper {
    align-items: flex-end;
  }
}
@media (max-width: 767px) {
  body > footer .wrapper {
    flex-direction: column;
    align-items: start;
    gap: 2rem;
  }
}
body > footer .menus {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.6rem;
}
body > footer .disclaimer .nitida {
  color: #0c96ee;
  text-transform: uppercase;
  font-weight: 600;
}
body > footer nav {
  display: flex;
  justify-content: space-between;
  gap: 6rem;
  align-items: center;
}
@media (max-width: 1199px) {
  body > footer nav {
    flex-direction: column;
    align-items: start;
    gap: 2rem;
  }
}
body > footer nav img {
  width: 200px;
}
body > footer nav ul {
  display: flex;
  justify-content: space-between;
  gap: 0;
  align-items: center;
}
@media (max-width: 767px) {
  body > footer nav ul {
    flex-direction: column;
    align-items: start;
    gap: 1rem;
  }
}
@media (max-width: 1199px) {
  body > footer nav ul.social {
    margin-top: 1rem;
  }
}
@media (max-width: 767px) {
  body > footer nav ul.social {
    flex-direction: row;
    gap: 0;
  }
}
body > footer nav ul.social li.fb, body > footer nav ul.social li.ig {
  margin-right: 1rem;
}
body > footer nav ul.social li.fb:after, body > footer nav ul.social li.ig:after {
  display: none;
}
body > footer nav ul.social li.fb a, body > footer nav ul.social li.ig a {
  width: 3rem;
  height: 3rem;
  font-size: 0;
  display: flex;
}
body > footer nav ul.social li.fb a {
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2050%2050%22%20width%3D%2250px%22%20height%3D%2250px%22%20fill%3D%22rgb%28233%2C229%2C205%29%22%20style%3D%22%22%3E%20%3Cpath%20d%3D%22M41%2C4H9C6.24%2C4%2C4%2C6.24%2C4%2C9v32c0%2C2.76%2C2.24%2C5%2C5%2C5h32c2.76%2C0%2C5-2.24%2C5-5V9C46%2C6.24%2C43.76%2C4%2C41%2C4z%20M37%2C19h-2c-2.14%2C0-3%2C0.5-3%2C2%20v3h5l-1%2C5h-4v15h-5V29h-4v-5h4v-3c0-4%2C2-7%2C6-7c2.9%2C0%2C4%2C1%2C4%2C1V19z%22%2F%3E%3C%2Fsvg%3E);
}
body > footer nav ul.social li.ig a {
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2050%2050%22%20width%3D%2250px%22%20height%3D%2250px%22%20fill%3D%22rgb%28233%2C229%2C205%29%22%20style%3D%22%22%3E%20%3Cpath%20d%3D%22M%2016%203%20C%208.83%203%203%208.83%203%2016%20L%203%2034%20C%203%2041.17%208.83%2047%2016%2047%20L%2034%2047%20C%2041.17%2047%2047%2041.17%2047%2034%20L%2047%2016%20C%2047%208.83%2041.17%203%2034%203%20L%2016%203%20z%20M%2037%2011%20C%2038.1%2011%2039%2011.9%2039%2013%20C%2039%2014.1%2038.1%2015%2037%2015%20C%2035.9%2015%2035%2014.1%2035%2013%20C%2035%2011.9%2035.9%2011%2037%2011%20z%20M%2025%2014%20C%2031.07%2014%2036%2018.93%2036%2025%20C%2036%2031.07%2031.07%2036%2025%2036%20C%2018.93%2036%2014%2031.07%2014%2025%20C%2014%2018.93%2018.93%2014%2025%2014%20z%20M%2025%2016%20C%2020.04%2016%2016%2020.04%2016%2025%20C%2016%2029.96%2020.04%2034%2025%2034%20C%2029.96%2034%2034%2029.96%2034%2025%20C%2034%2020.04%2029.96%2016%2025%2016%20z%22%2F%3E%3C%2Fsvg%3E);
}
body > footer nav ul li:not(:last-of-type):after {
  content: "/";
  margin: 0 2rem;
}
@media (max-width: 767px) {
  body > footer nav ul li:not(:last-of-type):after {
    display: none;
  }
}
body > footer nav ul li a {
  color: var(--c-bg);
  text-transform: uppercase;
}

.product-card {
  padding: 2rem 4rem;
}
@media (max-width: 1199px) {
  .product-card {
    padding: 6rem 0;
  }
}
@media (max-width: 767px) {
  .product-card {
    padding: 4rem 0;
  }
}
.product-card h2 a {
  color: var(--c-primary);
}
.product-card a img {
  max-width: 200px;
}
article.product {
  padding: 4rem 0;
}
article.product .wrapper-narrow {
  gap: 3rem;
  display: grid;
  grid-template-areas: "header header" "info catalogs" "blocks blocks ";
  grid-template-rows: auto 1fr;
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 1024px) {
  article.product .wrapper-narrow {
    grid-template-areas: "header" "info" "catalogs" "blocks";
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
article.product h1 {
  color: var(--c-primary);
  font-size: 4rem;
  margin-bottom: 1.6rem;
  font-weight: 600;
}
@media (max-width: 1024px) {
  article.product h1 {
    font-size: 3.2rem;
    margin-bottom: 1.4rem;
  }
}
@media (max-width: 767px) {
  article.product h1 {
    font-size: 3rem;
  }
}
@media (max-width: 480px) {
  article.product h1 {
    font-size: 2.68rem;
    margin-bottom: 1.2rem;
  }
}
@media (max-width: mobile-small) {
  article.product h1 {
    font-size: 2.68rem;
    margin-bottom: 1.2rem;
  }
}
article.product h1 a {
  color: var(--c-primary);
  transition: all 100ms ease-in-out;
}
article.product h1 a:hover {
  text-decoration: none;
  color: var(--c-primary-light);
}
article.product .header {
  grid-area: header;
}
article.product .meta {
  margin-top: 2rem;
}
article.product .meta .icon {
  gap: 1rem;
}
article.product .meta .icon svg {
  stroke: var(--c-border);
  opacity: 0.9;
}
article.product .meta .icon a {
  FONT-WEIGHT: 600;
}
article.product .website {
  margin-top: 1rem;
}
article.product .website a {
  font-size: 1.6rem;
  font-family: monospace;
  letter-spacing: 0;
}
article.product .editor {
  max-width: 65ch;
  line-height: 1.6;
  margin-bottom: 2rem;
  grid-area: info;
}
article.product .catalogs {
  display: flex;
  flex-direction: column;
  grid-area: catalogs;
}
article.product .catalogs li {
  width: 100%;
  margin-top: -1px;
  border: 1px solid #ddd;
}
article.product .catalogs li:first-of-type {
  border-top-left-radius: 4px;
  border-top-right-radius: px;
}
article.product .catalogs li:last-of-type {
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}
article.product .catalogs li a {
  display: flex;
  gap: 1.4rem;
}
article.product .catalogs li a:hover {
  text-decoration: none;
  box-shadow: 0 0 10px -4px #999;
}
article.product .catalogs li a:hover .cta {
  background-color: var(--c-primary-light);
}
article.product .catalogs li a:hover .cta svg {
  stroke: var(--c-bg);
}
article.product .catalogs li .file-icon {
  padding-top: 0.2rem;
  padding: 2.2rem 0 2rem 2rem;
}
article.product .catalogs li .file-icon img {
  width: 48px;
  height: auto;
}
article.product .catalogs li .file-info {
  flex: 1;
  padding: 2rem 0;
}
article.product .catalogs li .file-info h3 {
  font-size: 1.8rem;
  font-weight: 600;
  color: var(--c-primary);
}
article.product .catalogs li .file-info p {
  color: var(--c-text);
  font-weight: 400;
  opacity: 0.7;
  font-size: 1.6rem;
}
article.product .catalogs li .file-info .file-size {
  font-size: 1.4rem;
  color: var(--c-secondary);
}
article.product .catalogs li .cta {
  padding: 0 0.5rem;
  transition: 100ms all ease-in-out;
}
article.product .catalogs li .cta svg {
  transition: 100ms all ease-in-out;
  stroke: var(--c-primary);
}
article.product .blocks {
  grid-area: blocks;
  margin-top: 4rem;
  margin-bottom: 2rem;
}
@media (max-width: 1024px) {
  article.product .blocks {
    margin-top: 2rem;
  }
}

section.hero {
  height: 300px;
  background-size: cover;
  background-position: 50%;
  background-attachment: fixed;
  position: relative;
}
section.hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  z-index: 0;
}
section.hero .wrapper-narrow {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: start;
  height: 100%;
}
section.hero .breadcrumbs {
  padding-top: 1.6rem;
  font-size: 1.6rem;
  color: var(--c-bg);
  display: flex;
  align-items: center;
  gap: 1rem;
}
section.hero .breadcrumbs svg,
section.hero .breadcrumbs a {
  color: var(--c-bg);
}
section.hero .logo {
  margin: auto auto 0 0;
  line-height: 0;
  padding: 1rem 2rem;
}
section.hero .logo img {
  width: 300px;
  max-height: 100px;
}

.product-list {
  margin-top: 4rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}
@media (max-width: 1199px) {
  .product-list {
    grid-template-columns: repeat(1, 1fr);
    margin-top: 2rem;
  }
}
.product-list .card {
  border: 6px solid #eee;
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  justify-content: start;
  height: 100%;
}
.product-list .card:hover {
  box-shadow: 0 0 10px -4px #999;
}
.product-list .card:hover img {
  transform: scale(1.03);
  transition: transform 100ms ease-in-out;
}
.product-list .card .brand {
  height: 90px;
  padding: 1rem;
}
.product-list .card .brand a {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.product-list .card .brand a img {
  max-width: 100%;
  height: 50px;
}
.product-list .card .content {
  padding: 2rem;
  flex: 1 1 auto;
}
.product-list .card .content p {
  opacity: 0.9;
}
.product-list .card .cta {
  padding: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  transition: 100ms all ease-in-out;
  cursor: pointer;
  border-radius: 2px;
  padding: var(--space-12) var(--space-24);
  font-size: 1.6rem;
  min-height: 4.2rem;
  text-transform: uppercase;
  border: 0;
  color: var(--c-bg);
  background-color: var(--c-primary);
  margin: 1rem auto 3rem;
  width: 200px;
}
@media (max-width: 480px) {
  .product-list .card .cta {
    padding: var(--space-12) var(--space-12);
    font-size: 1.4rem;
    min-height: 2.4rem;
  }
}
@media (max-width: mobile-small) {
  .product-list .card .cta {
    padding: var(--space-12) var(--space-12);
    font-size: 1.4rem;
    min-height: 2.4rem;
  }
}
.product-list .card .cta:hover {
  text-decoration: none;
}
.product-list .card .cta:hover, .product-list .card .cta:active {
  background-color: var(--c-secondary);
}

section.featured {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media (max-width: 1199px) {
  section.featured {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
section.featured .items {
  margin-top: 4rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}
@media (max-width: 1199px) {
  section.featured .items {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  section.featured .items {
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
  }
}
@media (max-width: mobile-small) {
  section.featured .items {
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
  }
}
section.featured .items a {
  border: 6px solid #eee;
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  justify-content: end;
  align-items: center;
  height: 100%;
  gap: 2rem;
  padding: 2rem;
}
section.featured .items a:hover {
  text-decoration: none;
  box-shadow: 0 0 10px -4px #999;
}
section.featured .items a:hover img {
  transform: scale(1.03);
  transition: transform 100ms ease-in-out;
}
section.featured .items a:hover span, section.featured .items a:hover span.dark {
  color: var(--c-bg);
  background-color: var(--c-primary-light);
  border-color: var(--c-primary-light);
}
section.featured .items a figure {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50%;
}
section.featured .items a img {
  height: auto;
  width: auto;
  max-height: 100px;
}
section.featured .items a span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  transition: 100ms all ease-in-out;
  cursor: pointer;
  border-radius: 2px;
  padding: var(--space-12) var(--space-24);
  font-size: 1.6rem;
  min-height: 4.2rem;
  background-color: transparent;
  border: 1px solid var(--c-border);
  color: var(--c-text);
  border: 1px solid;
  pointer-events: none;
  margin-bottom: 1rem;
}
@media (max-width: 480px) {
  section.featured .items a span {
    padding: var(--space-12) var(--space-12);
    font-size: 1.4rem;
    min-height: 2.4rem;
  }
}
@media (max-width: mobile-small) {
  section.featured .items a span {
    padding: var(--space-12) var(--space-12);
    font-size: 1.4rem;
    min-height: 2.4rem;
  }
}
section.featured .items a span:hover {
  text-decoration: none;
}
section.featured .items a span:hover, section.featured .items a span:active {
  background-color: var(--c-border);
  color: var(--c-bg);
}
section.featured .items a span.dark {
  color: var(--c-white);
  border-color: var(--c-white);
}

section.categories {
  padding-top: 6rem;
  padding-bottom: 6rem;
  background-color: var(--c-bg-alt);
}
@media (max-width: 1199px) {
  section.categories {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
section.categories .items {
  margin-top: 4rem;
  gap: 2rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  justify-content: center;
  gap: 2rem;
}
@media (max-width: 767px) {
  section.categories .items {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 2rem;
    gap: 1rem;
  }
}
section.categories .items .item {
  flex: 1 1 0;
}
section.categories .items a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  padding: 2rem;
}
section.categories .items a:hover {
  text-decoration: none;
}
section.categories .items a:hover svg {
  stroke: var(--c-primary-light);
  transform: scale(1.05);
  transition: transform 100ms ease-in-out;
}
section.categories .items a:hover span {
  color: var(--c-primary-light);
}
section.categories .items a svg {
  height: auto;
  width: 50px;
  stroke: var(--c-primary);
}
section.categories .items a span {
  text-align: center;
  color: var(--c-primary);
}

section.corp {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media (max-width: 1199px) {
  section.corp {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
section.corp .wrapper-narrow {
  display: flex;
  gap: 4rem;
}
@media (max-width: 767px) {
  section.corp .wrapper-narrow {
    flex-direction: column;
    gap: 2rem;
  }
}
section.corp .content {
  margin-bottom: 2rem;
}
section.corp h2 {
  max-width: 80%;
}
section.corp .about,
section.corp .contact {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 0;
}
section.corp .about a,
section.corp .contact a {
  width: fit-content;
}
section.corp .about a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  transition: 100ms all ease-in-out;
  cursor: pointer;
  border-radius: 2px;
  padding: var(--space-12) var(--space-24);
  font-size: 1.6rem;
  min-height: 4.2rem;
  background-color: transparent;
  border: 1px solid var(--c-border);
  color: var(--c-text);
}
@media (max-width: 480px) {
  section.corp .about a {
    padding: var(--space-12) var(--space-12);
    font-size: 1.4rem;
    min-height: 2.4rem;
  }
}
@media (max-width: mobile-small) {
  section.corp .about a {
    padding: var(--space-12) var(--space-12);
    font-size: 1.4rem;
    min-height: 2.4rem;
  }
}
section.corp .about a:hover {
  text-decoration: none;
}
section.corp .about a:hover, section.corp .about a:active {
  background-color: var(--c-border);
  color: var(--c-bg);
}
section.corp .contact a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  transition: 100ms all ease-in-out;
  cursor: pointer;
  border-radius: 2px;
  padding: var(--space-12) var(--space-24);
  font-size: 1.6rem;
  min-height: 4.2rem;
  text-transform: uppercase;
  border: 0;
  color: var(--c-bg);
  background-color: var(--c-primary);
}
@media (max-width: 480px) {
  section.corp .contact a {
    padding: var(--space-12) var(--space-12);
    font-size: 1.4rem;
    min-height: 2.4rem;
  }
}
@media (max-width: mobile-small) {
  section.corp .contact a {
    padding: var(--space-12) var(--space-12);
    font-size: 1.4rem;
    min-height: 2.4rem;
  }
}
section.corp .contact a:hover {
  text-decoration: none;
}
section.corp .contact a:hover, section.corp .contact a:active {
  background-color: var(--c-secondary);
}

section.search {
  padding-top: 6rem;
  padding-bottom: 6rem;
  background-color: var(--c-bg-alt);
}
@media (max-width: 1199px) {
  section.search {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
section.search form {
  margin-top: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
@media (max-width: 767px) {
  section.search form {
    flex-direction: column;
  }
}
section.search form input {
  width: 500px;
}

section.search-results {
  margin-top: 4rem;
}
section.search-results h1 {
  color: var(--c-primary);
  font-size: 3rem;
  margin-bottom: 1.4rem;
  line-height: 1;
  margin-bottom: 4rem;
}
@media (max-width: 1199px) {
  section.search-results h1 {
    font-size: 2.6rem;
  }
}
@media (max-width: 767px) {
  section.search-results h1 {
    font-size: 2rem;
    margin-bottom: 1.2rem;
  }
}
section.search-results h2 {
  color: var(--c-primary);
  font-size: 2.4rem;
  margin-bottom: 1.2rem;
  line-height: 1;
}
@media (max-width: 1199px) {
  section.search-results h2 {
    font-size: 2rem;
  }
}
@media (max-width: 767px) {
  section.search-results h2 {
    font-size: 1.8rem;
    margin-bottom: 1rem;
  }
}
section.search-results .search-results-list {
  margin-bottom: 4rem;
}
section.search-results .search-results-list li {
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--c-border);
}

article.product {
  padding: 4rem 0;
}
article.product .wrapper-narrow {
  gap: 3rem;
  display: grid;
  grid-template-areas: "header header" "info catalogs" "blocks blocks ";
  grid-template-rows: auto 1fr;
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 1024px) {
  article.product .wrapper-narrow {
    grid-template-areas: "header" "info" "catalogs" "blocks";
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
article.product h1 {
  color: var(--c-primary);
  font-size: 4rem;
  margin-bottom: 1.6rem;
  font-weight: 600;
}
@media (max-width: 1024px) {
  article.product h1 {
    font-size: 3.2rem;
    margin-bottom: 1.4rem;
  }
}
@media (max-width: 767px) {
  article.product h1 {
    font-size: 3rem;
  }
}
@media (max-width: 480px) {
  article.product h1 {
    font-size: 2.68rem;
    margin-bottom: 1.2rem;
  }
}
@media (max-width: mobile-small) {
  article.product h1 {
    font-size: 2.68rem;
    margin-bottom: 1.2rem;
  }
}
article.product h1 a {
  color: var(--c-primary);
  transition: all 100ms ease-in-out;
}
article.product h1 a:hover {
  text-decoration: none;
  color: var(--c-primary-light);
}
article.product .header {
  grid-area: header;
}
article.product .meta {
  margin-top: 2rem;
}
article.product .meta .icon {
  gap: 1rem;
}
article.product .meta .icon svg {
  stroke: var(--c-border);
  opacity: 0.9;
}
article.product .meta .icon a {
  FONT-WEIGHT: 600;
}
article.product .website {
  margin-top: 1rem;
}
article.product .website a {
  font-size: 1.6rem;
  font-family: monospace;
  letter-spacing: 0;
}
article.product .editor {
  max-width: 65ch;
  line-height: 1.6;
  margin-bottom: 2rem;
  grid-area: info;
}
article.product .catalogs {
  display: flex;
  flex-direction: column;
  grid-area: catalogs;
}
article.product .catalogs li {
  width: 100%;
  margin-top: -1px;
  border: 1px solid #ddd;
}
article.product .catalogs li:first-of-type {
  border-top-left-radius: 4px;
  border-top-right-radius: px;
}
article.product .catalogs li:last-of-type {
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}
article.product .catalogs li a {
  display: flex;
  gap: 1.4rem;
}
article.product .catalogs li a:hover {
  text-decoration: none;
  box-shadow: 0 0 10px -4px #999;
}
article.product .catalogs li a:hover .cta {
  background-color: var(--c-primary-light);
}
article.product .catalogs li a:hover .cta svg {
  stroke: var(--c-bg);
}
article.product .catalogs li .file-icon {
  padding-top: 0.2rem;
  padding: 2.2rem 0 2rem 2rem;
}
article.product .catalogs li .file-icon img {
  width: 48px;
  height: auto;
}
article.product .catalogs li .file-info {
  flex: 1;
  padding: 2rem 0;
}
article.product .catalogs li .file-info h3 {
  font-size: 1.8rem;
  font-weight: 600;
  color: var(--c-primary);
}
article.product .catalogs li .file-info p {
  color: var(--c-text);
  font-weight: 400;
  opacity: 0.7;
  font-size: 1.6rem;
}
article.product .catalogs li .file-info .file-size {
  font-size: 1.4rem;
  color: var(--c-secondary);
}
article.product .catalogs li .cta {
  padding: 0 0.5rem;
  transition: 100ms all ease-in-out;
}
article.product .catalogs li .cta svg {
  transition: 100ms all ease-in-out;
  stroke: var(--c-primary);
}
article.product .blocks {
  grid-area: blocks;
  margin-top: 4rem;
  margin-bottom: 2rem;
}
@media (max-width: 1024px) {
  article.product .blocks {
    margin-top: 2rem;
  }
}

section.text-image {
  display: flex;
  margin: 0 auto;
  width: 100%;
  gap: 4rem;
}
@media (max-width: 767px) {
  section.text-image {
    flex-direction: column-reverse;
    gap: 2rem;
  }
}
section.text-image + section.text-image {
  margin-top: 4rem;
}
section.text-image.left {
  flex-direction: row-reverse;
}
@media (max-width: 767px) {
  section.text-image.left {
    flex-direction: column-reverse;
    gap: 1rem;
  }
}
section.text-image .content {
  flex: 1 1 50%;
  padding-top: 20px;
}
@media (max-width: 767px) {
  section.text-image .content {
    flex: 1 1 100%;
    padding-top: 0;
  }
}
section.text-image .content h2 {
  color: var(--c-primary);
  font-size: 4rem;
  margin-bottom: 1.6rem;
  font-weight: 600;
}
@media (max-width: 1024px) {
  section.text-image .content h2 {
    font-size: 3.2rem;
    margin-bottom: 1.4rem;
  }
}
@media (max-width: 767px) {
  section.text-image .content h2 {
    font-size: 3rem;
  }
}
@media (max-width: 480px) {
  section.text-image .content h2 {
    font-size: 2.68rem;
    margin-bottom: 1.2rem;
  }
}
@media (max-width: mobile-small) {
  section.text-image .content h2 {
    font-size: 2.68rem;
    margin-bottom: 1.2rem;
  }
}
section.text-image .content h2 a {
  color: var(--c-primary);
  transition: all 100ms ease-in-out;
}
section.text-image .content h2 a:hover {
  text-decoration: none;
  color: var(--c-primary-light);
}
section.text-image .content .subtitle {
  font-size: 1.25rem;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
section.text-image .content .cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  transition: 100ms all ease-in-out;
  cursor: pointer;
  border-radius: 2px;
  padding: var(--space-12) var(--space-24);
  font-size: 1.6rem;
  min-height: 4.2rem;
  text-transform: uppercase;
  border: 0;
  color: var(--c-bg);
  background-color: var(--c-primary);
  margin-top: 2rem;
}
@media (max-width: 480px) {
  section.text-image .content .cta {
    padding: var(--space-12) var(--space-12);
    font-size: 1.4rem;
    min-height: 2.4rem;
  }
}
@media (max-width: mobile-small) {
  section.text-image .content .cta {
    padding: var(--space-12) var(--space-12);
    font-size: 1.4rem;
    min-height: 2.4rem;
  }
}
section.text-image .content .cta:hover {
  text-decoration: none;
}
section.text-image .content .cta:hover, section.text-image .content .cta:active {
  background-color: var(--c-secondary);
}
section.text-image .image {
  flex: 1 1 50%;
  height: auto;
}
@media (max-width: 767px) {
  section.text-image .image {
    flex: 1 1 100%;
    max-height: 50vw;
    overflow: hidden;
  }
}
section.text-image .image img {
  object-fit: cover;
  height: 100%;
}
@media (max-width: 767px) {
  section.text-image .image img {
    height: auto;
  }
}

section.search {
  padding-top: 6rem;
  padding-bottom: 6rem;
  background-color: var(--c-bg-alt);
}
@media (max-width: 1199px) {
  section.search {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
section.search form {
  margin-top: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
@media (max-width: 767px) {
  section.search form {
    flex-direction: column;
  }
}
section.search form input {
  width: 500px;
}

section.search-results {
  margin-top: 4rem;
}
section.search-results h1 {
  color: var(--c-primary);
  font-size: 3rem;
  margin-bottom: 1.4rem;
  line-height: 1;
  margin-bottom: 4rem;
}
@media (max-width: 1199px) {
  section.search-results h1 {
    font-size: 2.6rem;
  }
}
@media (max-width: 767px) {
  section.search-results h1 {
    font-size: 2rem;
    margin-bottom: 1.2rem;
  }
}
section.search-results h2 {
  color: var(--c-primary);
  font-size: 2.4rem;
  margin-bottom: 1.2rem;
  line-height: 1;
}
@media (max-width: 1199px) {
  section.search-results h2 {
    font-size: 2rem;
  }
}
@media (max-width: 767px) {
  section.search-results h2 {
    font-size: 1.8rem;
    margin-bottom: 1rem;
  }
}
section.search-results .search-results-list {
  margin-bottom: 4rem;
}
section.search-results .search-results-list li {
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--c-border);
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhc2UvX3Jlc2V0LnNjc3MiLCJiYXNlL19jb2xvcnMuc2NzcyIsImJhc2UvX2ZvbnRzLnNjc3MiLCJiYXNlL19icmVha3BvaW50cy5zY3NzIiwiYmFzZS9fc3BhY2luZy5zY3NzIiwiYmFzZS9fd3JhcHBlci5zY3NzIiwiYmFzZS9fYmFzZS5zY3NzIiwiYmFzZS9fbG9hZGluZy5zY3NzIiwiY29tcG9uZW50cy9fd3AtZWRpdG9yLnNjc3MiLCJjb21wb25lbnRzL19tb2RhbC5zY3NzIiwiY29tcG9uZW50cy9fZm9ybS5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwiY29tcG9uZW50cy9fc2xpZGVzLnNjc3MiLCJsYXlvdXQvX2hlYWRlci5zY3NzIiwiY29tcG9uZW50cy9fbmF2LWJhci5zY3NzIiwibGF5b3V0L19tYWluLnNjc3MiLCJsYXlvdXQvX2Zvb3Rlci5zY3NzIiwiYmFzZS9fdXRpbHMuc2NzcyIsImJsb2Nrcy9fcHJvZHVjdC1jYXJkLnNjc3MiLCJzZWN0aW9ucy9fcHJvZHVjdC5zY3NzIiwiYmFzZS9fYm9yZGVyLnNjc3MiLCJzZWN0aW9ucy9faGVyby5zY3NzIiwic2VjdGlvbnMvX3Byb2R1Y3QtbGlzdC5zY3NzIiwic2VjdGlvbnMvX2ZlYXR1cmVkLnNjc3MiLCJzZWN0aW9ucy9fY2F0ZWdvcmllcy5zY3NzIiwic2VjdGlvbnMvX2NvcnAuc2NzcyIsInNlY3Rpb25zL19zZWFyY2guc2NzcyIsInNlY3Rpb25zL190ZXh0LWltYWdlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7OztBQUVGO0FBRUE7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBR0E7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUVKO0VBQ0U7RUFDQTs7O0FBRUY7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FDN0NGO0VBR0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNRjtBQ3hCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7O0FDUkU7RURNSjtJQUtJO0lBQ0E7Ozs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FFcEVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUNURjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBRk9FO0VFWEo7SUFPSTs7O0FGRkE7RUVMSjtJQVdJOzs7O0FBUUo7RUFFRTs7O0FBR0Y7RUFFRTs7O0FDMUJGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOztBQUVBO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FDdERGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7SUFBSzs7RUFDTDtJQUFPOzs7QUMvQlA7RUFDRTtFQUNBOztBTERBO0VLREY7SUFLSTtJQUNBO0lBQ0E7OztBTFlGO0VLbkJGO0lBS0k7SUFDQTtJQUNB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RjtJQVFJOzs7QUFHRjtFQUNFOzs7QUFTTjtFQUNFOztBQUVBO0V4QjRDQTtFQTJDRTtFQUVBO0VBQ0E7RXdCeEZBOztBdkJuQkE7RXVCaUJGO0l4QjZGSTs7O0FDcEhGO0V1QnVCRjtJeEJpR0k7SUFDQTs7O0F3QjdGSjtFeEJ1Q0E7RUEyREU7RUFDQTtFQUNBOztBQzFIQTtFdUJzQkY7SXhCdUdJOzs7QUNuSUY7RXVCNEJGO0l4QjJHSTtJQUNBOzs7QXdCeEdKO0VBQ0U7O0FBRUE7RUFDRTtFQUNBO0VBQ0EiLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGh0dHA6Ly9tZXllcndlYi5jb20vZXJpYy90b29scy9jc3MvcmVzZXQvXG4gICB2Mi4wIHwgMjAxMTAxMjZcbiAgIExpY2Vuc2U6IG5vbmUgKHB1YmxpYyBkb21haW4pXG4qL1xuXG5odG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSwgYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLCBkZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsIHNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsIGIsIHUsIGksIGNlbnRlciwgZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSwgZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsIHRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLCBhcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCwgZmlndXJlLCBmaWdjYXB0aW9uLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSwgdGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLy8gZm9udDogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi8qIEhUTUw1IGRpc3BsYXktcm9sZSByZXNldCBmb3Igb2xkZXIgYnJvd3NlcnMgKi9cblxuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBzZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuYm9keSB7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbm9sLCB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuYmxvY2txdW90ZSwgcSB7XG4gIHF1b3Rlczogbm9uZTsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGNvbnRlbnQ6IG5vbmU7IH0gfVxuXG5xIHtcbiAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGNvbnRlbnQ6IG5vbmU7IH0gfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwOyB9XG5cbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlICB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMzBweCB3aGl0ZSBpbnNldDtcbn1cbiIsIjpyb290IHtcbiAgXG4gIC8vIGJyYW5kXG4gIC0tYy13aGl0ZS1hbHQ6ICNmZWZiZjI7XG4gIC0tYy13aGl0ZTogaHNsKDAsIDAlLCA5OCUpO1xuICAtLWMtYmctYWx0OiAjZjVmNWY1O1xuICAtLWMtYmx1ZS0xOiAjMTMxRjQzZmY7XG4gIC0tYy1ibHVlLTI6ICMzNTVkY2M7XG4gIC0tYy1ibHVlLTM6ICMzNUMxREVmZjtcbiAgLS1jLWdyYXk6ICM1RjY3ODBmZjtcbiAgLS1jLXJlZDogI0ZFMjMyNGZmO1xuICBcbiAgLS1jLXRleHQ6ICMxMTE7XG4gIC0tYy1iZzogdmFyKC0tYy13aGl0ZSk7XG4gIC0tYy1iZy1kYXJrOiB2YXIoLS1jLWJsdWUtMSk7XG4gIC0tYy1ib3JkZXI6IHZhcigtLWMtZ3JheSk7XG4gIC0tYy1wcmltYXJ5OiB2YXIoLS1jLWJsdWUtMSk7XG4gIC0tYy1wcmltYXJ5LWxpZ2h0OiB2YXIoLS1jLWJsdWUtMik7XG4gIC0tYy1zZWNvbmRhcnk6IHZhcigtLWMtcmVkKTtcbn1cblxuXG5cblxuLyogU0NTUyBHcmFkaWVudCAqL1xuXG4kZ3JhZGllbnQtdG9wOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgI0ZFRkVGRWZmLCAjMTMxRjQzZmYsICMzNUMxREVmZiwgIzVGNjc4MGZmLCAjRkUyMzI0ZmYpO1xuJGdyYWRpZW50LXJpZ2h0OiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNGRUZFRkVmZiwgIzEzMUY0M2ZmLCAjMzVDMURFZmYsICM1RjY3ODBmZiwgI0ZFMjMyNGZmKTtcbiRncmFkaWVudC1ib3R0b206IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNGRUZFRkVmZiwgIzEzMUY0M2ZmLCAjMzVDMURFZmYsICM1RjY3ODBmZiwgI0ZFMjMyNGZmKTtcbiRncmFkaWVudC1sZWZ0OiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCAjRkVGRUZFZmYsICMxMzFGNDNmZiwgIzM1QzFERWZmLCAjNUY2NzgwZmYsICNGRTIzMjRmZik7XG4kZ3JhZGllbnQtdG9wLXJpZ2h0OiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICNGRUZFRkVmZiwgIzEzMUY0M2ZmLCAjMzVDMURFZmYsICM1RjY3ODBmZiwgI0ZFMjMyNGZmKTtcbiRncmFkaWVudC1ib3R0b20tcmlnaHQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNGRUZFRkVmZiwgIzEzMUY0M2ZmLCAjMzVDMURFZmYsICM1RjY3ODBmZiwgI0ZFMjMyNGZmKTtcbiRncmFkaWVudC10b3AtbGVmdDogbGluZWFyLWdyYWRpZW50KDIyNWRlZywgI0ZFRkVGRWZmLCAjMTMxRjQzZmYsICMzNUMxREVmZiwgIzVGNjc4MGZmLCAjRkUyMzI0ZmYpO1xuJGdyYWRpZW50LWJvdHRvbS1sZWZ0OiBsaW5lYXItZ3JhZGllbnQoMzE1ZGVnLCAjRkVGRUZFZmYsICMxMzFGNDNmZiwgIzM1QzFERWZmLCAjNUY2NzgwZmYsICNGRTIzMjRmZik7XG4kZ3JhZGllbnQtcmFkaWFsOiByYWRpYWwtZ3JhZGllbnQoI0ZFRkVGRWZmLCAjMTMxRjQzZmYsICMzNUMxREVmZiwgIzVGNjc4MGZmLCAjRkUyMzI0ZmYpOyIsIioge1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBzYW5zLXNlcmlmO1xufVxuXG5odG1sIHtcbiAgZm9udC1zaXplOiA2Mi41JTtcbn1cblxuYm9keSB7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUpIHtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICB9XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIjtcbiAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL1JvYm90by9Sb2JvdG8tVmFyaWFibGVGb250X3dkdGgsd2dodC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiAzMDAgODAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCI7XG4gIHNyYzogdXJsKCcuLi8uLi9mb250cy9tb250c2VycmF0L01vbnRzZXJyYXQtVmFyaWFibGVGb250X3dnaHQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogMzAwIDgwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93XCI7XG4gIHNyYzogdXJsKCcuLi8uLi9mb250cy9iYXJsb3cvQmFybG93LVJlZ3VsYXIudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93XCI7XG4gIHNyYzogdXJsKCcuLi8uLi9mb250cy9iYXJsb3cvQmFybG93LU1lZGl1bS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJCYXJsb3dcIjtcbiAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL2Jhcmxvdy9CYXJsb3ctU2VtaUJvbGQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93XCI7XG4gIHNyYzogdXJsKCcuLi8uLi9mb250cy9iYXJsb3cvQmFybG93LUJvbGQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93XCI7XG4gIHNyYzogdXJsKCcuLi8uLi9mb250cy9iYXJsb3cvQmFybG93LUV4dHJhQm9sZC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJCYXJsb3dcIjtcbiAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL2Jhcmxvdy9CYXJsb3ctQmxhY2sudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogOTAwO1xufVxuXG5AbWl4aW4gaGVhZGluZygkbGV2ZWwpIHtcbiAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gIFxuICBAaWYgJGxldmVsID09IDEge1xuICAgIGZvbnQtc2l6ZTogNS40cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG9wYWNpdHk6IC43O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICB9XG4gIH1cblxuICBAaWYgJGxldmVsID09IDIge1xuICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjZyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXNtYWxsKSB7XG4gICAgICBmb250LXNpemU6IDMuMnJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNHJlbTsgICAgICAgIFxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgICBmb250LXNpemU6IDNyZW07ICAgXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtc21hbGwpIHtcbiAgICAgIGZvbnQtc2l6ZTogMi42OHJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTsgICAgICAgIFxuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMTAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICBcbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXByaW1hcnktbGlnaHQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbGV2ZWwgPT0gMyB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICAgIC8vIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogMS40cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07ICAgICAgICBcbiAgICB9XG4gIH0gIFxuXG4gIEBpZiAkbGV2ZWwgPT0gNCB7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZSkge1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyAgICAgICAgXG4gICAgfVxuICB9XG59IiwiQG1peGluIGJyZWFrcG9pbnQoJHNpemUsICRrZXk6IG1heCkge1xuICBAaWYgJHNpemUgPT0gbW9iaWxlLXNtYWxsIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJHNpemUgPT0gbW9iaWxlIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkc2l6ZSA9PSB0YWJsZXQtc21hbGwge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkc2l6ZSA9PSB0YWJsZXQge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkc2l6ZSA9PSBkZXNrdG9wIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTQ0MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJHNpemUgPT0gd2lkZSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDFweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgKCN7JGtleX0td2lkdGg6ICRzaXplKSB7IEBjb250ZW50OyB9XG4gIH1cbn1cbiIsIjpyb290IHtcbiAgLS1zcGFjZS00OiA0cHg7XG4gIC0tc3BhY2UtODogOHB4O1xuICAtLXNwYWNlLTEyOiAxMnB4O1xuICAtLXNwYWNlLTE2OiAxNnB4O1xuICAtLXNwYWNlLTI0OiAyNHB4O1xuICAtLXNwYWNlLTMyOiAzMnB4O1xuICAtLXNwYWNlLTQ4OiA0OHB4O1xuICAtLXNwYWNlLTY0OiA2NHB4O1xuICAtLXNwYWNlLTk2OiA5NnB4O1xufVxuXG5AbWl4aW4gcGFkZGluZyAoKSB7XG4gIHBhZGRpbmc6IDJyZW07XG59XG5cblxuQG1peGluIHBhZGRpbmctY29udGVudCAoKSB7XG4gIHBhZGRpbmctdG9wOiA2cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNnJlbTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgIHBhZGRpbmctdG9wOiA0cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xuICB9XG59XG5cbkBtaXhpbiBwYWRkaW5nLXNlY3Rpb24gKCkge1xuICBwYWRkaW5nOiAycmVtIDRyZW07XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgIHBhZGRpbmc6IDZyZW0gMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgcGFkZGluZzogNHJlbSAwO1xuICB9XG59XG4iLCIld3JhcHBlciB7XG4gIG1heC13aWR0aDogY2FsYygxNjAwcHggKyB2YXIoLS1zcGFjZS0zMikgKiAyKTtcbiAgcGFkZGluZzogMCB2YXIoLS1zcGFjZS0zMik7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLTI0KTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgcGFkZGluZzogMCB2YXIoLS1zcGFjZS0xNik7XG4gIH1cbn1cblxuLndyYXBwZXIge1xuICBAZXh0ZW5kICV3cmFwcGVyO1xufVxuXG4ud3JhcHBlci1uYXJyb3cge1xuICBAZXh0ZW5kICV3cmFwcGVyO1xuICBtYXgtd2lkdGg6IGNhbGMoMTIwMHB4ICsgdmFyKC0tc3BhY2UtMzIpICogMik7XG59XG5cbi53cmFwcGVyLW5hcnJvdy14MiB7XG4gIEBleHRlbmQgJXdyYXBwZXI7XG4gIG1heC13aWR0aDogY2FsYyg3MGNoICsgdmFyKC0tc3BhY2UtMzIpICogMik7XG59XG4iLCIqLCAqOjpiZWZvcmUsICo6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtYmcpICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWluLWhlaWdodDogMTAwdmg7XG59XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAxMDBtcyBlYXNlLWluLW91dDtcbiAgY29sb3I6IHZhcigtLWMtcHJpbWFyeS1saWdodCk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbn1cblxuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5waWN0dXJlIHtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIGZvbnQtc2l6ZTogMDtcblxuICBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5ociB7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1wcmltYXJ5LWxpZ2h0KTtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDFyZW0gMDtcbn1cblxuLmljb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDAuNXJlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn0iLCIubG9hZGluZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmxvYWRpbmc6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG59XG5cbi5sb2FkaW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6IC00MHB4O1xuICBtYXJnaW4tYm90dG9tOiAtNDBweDtcbiAgYm9yZGVyOiAxMHB4IHNvbGlkIHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCB2YXIoLS1jLXByaW1hcnktbGlnaHQpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHdpZHRoOiA4MHB4O1xuICBoZWlnaHQ6IDgwcHg7XG4gIGFuaW1hdGlvbjogc3BpbiAycyBsaW5lYXIgaW5maW5pdGU7XG4gIHotaW5kZXg6IDE7XG59XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbn1cbiIsIiVlZGl0b3Ige1xuICAuYWxpZ25yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbjogMCAwIDJyZW0gMnJlbSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtc21hbGwpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luOiAycmVtO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDRyZW0pO1xuICAgIH1cbiAgfVxuXG4gIC5hbGlnbmxlZnQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW46IDAgMnJlbSAycmVtIDAgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLXNtYWxsKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbjogMnJlbTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0cmVtKTtcbiAgICB9XG4gIH1cblxuICAuYWxpZ25jZW50ZXIge1xuICAgIG1hcmdpbjogMCAycmVtO1xuICB9XG5cbiAgYmxvY2txdW90ZSB7XG4gICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgfVxuICB9XG5cbiAgaDMge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICBwIHtcbiAgICAmICsgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjRyZW07XG4gICAgfVxuXG4gICAgJiArICoge1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICB9XG5cbiAgICAmOmVtcHR5IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgICAgIG1heC13aWR0aDogNDB2dztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBwLCBcbiAgLy8gYmxvY2txdW90ZSB7XG4gIC8vICAgYSB7XG4gIC8vICAgICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAvLyAgICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAvLyAgICAgJjpob3ZlciB7XG4gIC8vICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgLy8gfVxuXG4gIHRhYmxlIHtcbiAgICB0ciB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZSkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuXG4gICAgICB0ZCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZSkge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44cmVtO1xuICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmVkaXRvciB7XG4gIEBleHRlbmQgJWVkaXRvcjtcbn0iLCIubW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgcGFkZGluZzogMDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA5OTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICAvL2JhY2tncm91bmQtY29sb3I6IHJnYmEoMjcsIDYsIDQ4LCAuNik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyMHB4KTtcbiAgICB6LWluZGV4OiAwO1xuICB9XG5cbiAgLnRvdWNoLXRhcmdldCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBidXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNHJlbTtcbiAgICBoZWlnaHQ6IDRyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMnJlbTtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1iZyk7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHotaW5kZXg6IDE7XG4gICAgY29sb3I6IHZhcigtLWMtdGV4dCk7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXByaW1hcnktbGlnaHQpO1xuICAgIH1cblxuICAgICYuY2xvc2Uge1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgdG9wOiAycmVtO1xuICAgICAgcmlnaHQ6IDJyZW07XG4gICAgfVxuXG4gICAgJi5uYXYge1xuICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICBsaW5lLWhlaWdodDogM3JlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIH1cblxuICAgICAgJi5wcmV2IHtcbiAgICAgICAgbGVmdDogMnJlbTtcbiAgICAgIH1cblxuICAgICAgJi5uZXh0IHtcbiAgICAgICAgcmlnaHQ6IDJyZW07XG4gICAgICB9XG4gICAgfSAgXG4gIH1cblxuICBpbWcsXG4gIHZpZGVvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgfVxuICBcbiAgLm1lZGlhIHtcbiAgICB6LWluZGV4OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgbGFiZWwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiAxLjRyZW0gMy40cmVtO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1iZyk7XG4gICAgfVxuICB9XG59XG4iLCIubmYtZm9ybS1jb250IHtcbiAgbmYtZmllbGRzLXdyYXAge1xuICAgIG5mLWZpZWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbiAgXG5cbiAgLm5mLWZpZWxkLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5uZi1hZnRlci1maWVsZCB7XG4gICAgLm5mLWVycm9yLW1zZyB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG4gIH1cblxuICAubmYtZm9ybS1lcnJvcnMge1xuICAgIG1hcmdpbjogNHJlbSAwIDJyZW0gMDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgLm5mLXJlc3BvbnNlLW1zZyB7XG4gICAgbWFyZ2luOiAycmVtIDA7XG4gIH1cbn1cblxuZm9ybSB7XG4gIHNlbGVjdCxcbiAgaW5wdXRbdHlwZT10ZXh0XSxcbiAgaW5wdXRbdHlwZT1zZWFyY2hdLFxuICBpbnB1dFt0eXBlPWVtYWlsXSxcbiAgdGV4dGFyZWEge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY29sb3I6IHZhcigtLWMtdGV4dCk7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgXG4gICAgcGFkZGluZzogMXJlbSAycmVtO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWMtYm9yZGVyKTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jLWJvcmRlcik7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0LFxuICBpbnB1dFt0eXBlPXRleHRdLFxuICBpbnB1dFt0eXBlPXNlYXJjaF0sXG4gIGlucHV0W3R5cGU9ZW1haWxdIHtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gIH1cblxuICBidXR0b25bdHlwZT1zdWJtaXRdLFxuICBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1wcmltYXJ5O1xuICAgIGhlaWdodDogNDhweDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgb3BhY2l0eTogLjg7XG4gIH1cbn0iLCJAbWl4aW4gYnV0dG9uICgkc2l6ZTogJ20nKSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdHJhbnNpdGlvbjogMTAwbXMgYWxsIGVhc2UtaW4tb3V0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcblxuICBAaWYgKCRzaXplID09ICdzJykge1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UtMTIpO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIG1pbi1oZWlnaHQ6IDNyZW07XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtc21hbGwpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgbWluLWhlaWdodDogMi4ycmVtO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHNpemUgPT0gJ20nKSB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMTIpIHZhcigtLXNwYWNlLTI0KTtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBtaW4taGVpZ2h0OiA0LjJyZW07XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtc21hbGwpIHtcbiAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTEyKSB2YXIoLS1zcGFjZS0xMik7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIG1pbi1oZWlnaHQ6IDIuNHJlbTtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1wcmltYXJ5KCRzaXplOiAnbScpIHtcbiAgQGluY2x1ZGUgYnV0dG9uKCRzaXplKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogdmFyKC0tYy1iZyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLXNlY29uZGFyeSgkc2l6ZTogJ20nKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbigkc2l6ZSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAgXG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtYm9yZGVyKTtcbiAgY29sb3I6IHZhcigtLWMtdGV4dCk7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtYm9yZGVyKTtcbiAgICBjb2xvcjogdmFyKC0tYy1iZyk7XG4gIH1cbn1cbiIsIi5zcGxpZGUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG5cbiAgLnNwbGlkZV9fcGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS40cmVtO1xuICAgIGJvdHRvbTogMDtcblxuICAgICYuYmctbGlnaHQge1xuICAgICAgLnNwbGlkZV9fcGFnaW5hdGlvbl9fcGFnZSB7XG4gICAgICAgIG1hcmdpbjogNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJvcmRlcik7XG4gICAgICAgIFxuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy10ZXh0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5zcGxpZGVfX3BhZ2luYXRpb25fX3BhZ2Uge1xuICAgICAgbWFyZ2luOiA2cHg7XG4gICAgICB0cmFuc2l0aW9uOiAxMDBtcyBhbGwgZWFzZS1pbi1vdXQ7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgICAgXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtYmcpO1xuICAgICAgICBtYXJnaW46IDZweCAxMHB4O1xuICAgICAgfVxuICAgIFxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNwbGlkZV9fc2xpZGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNjAwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIC8vIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC44KSwgcmdiYSgwLCAwLCAwLCAwLjUpKTtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuXG4gICAgLndyYXBwZXItbmFycm93IHtcbiAgICAgIC8vIG1heC13aWR0aDogODAwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgIC8vIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgLy8gYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGdhcDogMnJlbTsgIFxuICAgIH1cblxuICAgIGgxLCBwIHtcbiAgICAgIC8vIHBhZGRpbmc6IDFyZW0gNXJlbTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jLWJnKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQ0MHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1zbWFsbCkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgXG4gICAgaDEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgLy8gY29sb3I6IHZhcigtLWMtdGV4dCk7XG4gICAgfVxuXG4gICAgLmN0YXMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGdhcDogMnJlbTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICBhIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXByaW1hcnk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1ibHVlLTIpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zZWNvbmRhcnk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1ib3JkZXIpO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLWJnKTtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1iZyk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy10ZXh0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI6cm9vdCB7XG4gIC0tbmF2LWhlaWdodDogNzBweDtcbiAgLS1uYXYtaGVpZ2h0LXRhYmxldDogNzBweDtcbiAgLS1uYXYtaGVpZ2h0LW1vYmlsZTogNjBweDtcbn1cblxuYm9keSA+IGhlYWRlciB7XG4gIHotaW5kZXg6IDk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgXG4gIC8vIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHdpZHRoOiAxMDAlO1xuICB0b3A6IDA7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDZweCk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cig2cHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC44Nik7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMTBweCAtNnB4ICMwMDA7XG4gIFxuICBuYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgZ2FwOiAycmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IHZhcigtLW5hdi1oZWlnaHQpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgIGhlaWdodDogdmFyKC0tbmF2LWhlaWdodC10YWJsZXQpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgICBoZWlnaHQ6IHZhcigtLW5hdi1oZWlnaHQtbW9iaWxlKTtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXNtYWxsKSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmJ1cmdlciB7XG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoLTlweCwgN3B4KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAvLyBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoLThweCwgLTdweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5sb2dvIHtcbiAgICAgIHBhZGRpbmc6IDEuNHJlbSAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMDsgICAgICAgIFxuICAgICAgICBtYXgtd2lkdGg6IDE0MHB4O1xuICAgICAgfVxuICAgICAgXG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgICAgICAgLy8gd2lkdGg6IDE1MHB4OyAgICBcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG5hdi1iYXIoMTAwJSwgdHJ1ZSk7XG4gICAgXG4gICAgXG4gICAgdWwge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogOTB2dztcbiAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1iZyk7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IC02cHggIzAwMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDc1cHg7XG4gICAgICB9XG5cbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYy10ZXh0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHJlbW92ZSBzZXBhcmF0b3IgZnJvbSBiZWZvcmUgYW5kIGFmdGVyIGl0ZW1zXG4gICAgICAgICY6aGFzKCsgLmN1cnJlbnQtbWVudS1pdGVtKSxcbiAgICAgICAgJjpoYXMoKyAuY3VycmVudC1wYWdlLWFuY2VzdG9yKSB7XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgLy8gY29udGVudDogJycgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLWJnKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY3VycmVudC1tZW51LWl0ZW0sXG4gICAgICAgICYuY3VycmVudC1wYWdlLWFuY2VzdG9yIHtcbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAvLyBjb250ZW50OiAnJyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgLy8gY29sb3I6IHZhcigtLWMtYmcpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gIFxuXG4gICAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnLyc7XG4gICAgICAgICAgLy8gY29udGVudDogJ1xcMDBCNyc7XG4gICAgICAgICAgLy8gbWFyZ2luOiAwIDFweCAwIDA7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tYy10ZXh0KTtcbiAgICAgICAgICBwYWRkaW5nOiAxcmVtIDRyZW07XG4gICAgICAgICAgXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgICAgIC8vIHBhZGRpbmc6IDAgNHJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICAgIFxuICAgICAgICAgICY6YmVmb3JlLCBcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5idXJnZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbjogYXV0byAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1zbWFsbCkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH0gICAgIFxuXG4gICAgZGl2IHtcbiAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXRleHQpO1xuICAgICAgbWFyZ2luOiA2cHggMDtcbiAgICAgIHRyYW5zaXRpb246IDIwMG1zIGFsbCBlYXNlLWluLW91dDtcbiAgICB9ICAgICAgXG4gIH0gIFxufVxuIiwiQG1peGluIG5hdi1iYXIoJGhlaWdodDogMTAwJSwgJGFuY2VzdG9yOiBmYWxzZSkge1xuICB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiAwO1xuXG4gICAgJiA+IGxpIHtcbiAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gICAgICB9XG5cbiAgICAgIEBpZiAoJGFuY2VzdG9yID09IHRydWUpIHtcbiAgICAgICAgJi5jdXJyZW50LXBhZ2UtYW5jZXN0b3Ige1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1wcmltYXJ5LWxpZ2h0KTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLWJnKTtcbiAgICAgICAgICAgIC8vIHBhZGRpbmc6IDAgMnJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXRleHQpO1xuICBcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCB2YXIoLS1jLXByaW1hcnktbGlnaHQpOyBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgdmFyKC0tYy1wcmltYXJ5LWxpZ2h0KTtcbiAgICAgICAgICAgIH0gICAgICAgICAgXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBcbiAgICAgICYuYWN0aXZlLFxuICAgICAgJi5jdXJyZW50LXBhZ2UtYW5jZXN0b3IsXG4gICAgICAmLmN1cnJlbnQtbWVudS1pdGVtIHtcbiAgICAgICAgJiA+IGEge1xuICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHJpbWFyeS1saWdodCk7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXRleHQpOyAgICAgXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tYy1wcmltYXJ5LWxpZ2h0KTtcbiAgICAgICAgfVxuICAgICAgfSAgICAgXG4gICAgICBcbiAgICAgICYgPiBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBwYWRkaW5nOiAwIDJyZW07ICAgICAgICBcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLWJnKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy10ZXh0KTtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRyYW5zaXRpb246IDEwMG1zIGFsbCBlYXNlLWluLW91dDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZSkge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMS40cmVtOyAgXG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXByaW1hcnktbGlnaHQpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmFkaWVudC10b3A7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWMtcHJpbWFyeS1saWdodCk7XG4gICAgICAgIH0gICAgICAgIFxuICAgICAgfVxuXG4gICAgICAmID4gLnN1Yi1tZW51LXRvZ2dsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYgPiAuc3ViLW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiYm9keSA+IG1haW4ge1xuICBtYXJnaW46IDAgMCBhdXRvO1xuXG4gICYgPiBzZWN0aW9uIHsgICBcbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBoZWFkaW5nKDEpO1xuICAgIH1cbiAgICBcbiAgICBoMiB7XG4gICAgICBAaW5jbHVkZSBoZWFkaW5nKDIpO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIEBpbmNsdWRlIGhlYWRpbmcoMyk7ICAgICAgXG4gICAgfVxuXG4gICAgLndyYXBwZXItbmFycm93IHtcbiAgICAgICYgPiBoMixcbiAgICAgICYgPiAuY29udGVudCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfSAgXG5cbiAgICAgICYgPiAuaXRlbXMge31cbiAgICB9XG4gIH1cblxuICBzZWN0aW9uLmFyY2hpdmUsIFxuICBzZWN0aW9uLnNpbmdsZSxcbiAgc2VjdGlvbi5wYWdlIHtcbiAgICBAaW5jbHVkZSBwYWRkaW5nLWNvbnRlbnQ7ICBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJnKTtcblxuICAgIGgxIHtcbiAgICAgIEBpbmNsdWRlIGhlYWRpbmcoMik7XG4gICAgfVxuICB9XG5cbiAgc2VjdGlvbi5hcmNoaXZlIHtcbiAgICAud3JhcHBlci1uYXJyb3cge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGdhcDogMnJlbTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgYXNpZGUge1xuICAgICAgZmxleDogMCAwIDMwJTtcblxuICAgICAgc2VsZWN0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMi42cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICBcbiAgICAgICAgbGkge1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAxMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgICBcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5LWxpZ2h0KTtcblxuICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHN0cm9rZTogdmFyKC0tYy1wcmltYXJ5LWxpZ2h0KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICAgICAgICAgIGdhcDogMS40cmVtO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5LWxpZ2h0KTtcblxuICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHN0cm9rZTogdmFyKC0tYy1wcmltYXJ5LWxpZ2h0KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSAgXG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgIHN0cm9rZTogdmFyKC0tYy1ib3JkZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gIFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJib2R5ID4gZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1iZy1kYXJrKTtcbiAgY29sb3I6IHZhcigtLWMtYmcpO1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgcGFkZGluZzogNnJlbSAwO1xuXG4gIC53cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDZyZW07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHRhYmxldCkge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1vYmlsZSkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICAgIGdhcDogMnJlbTtcbiAgICB9XG4gIH1cblxuICAubWVudXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IC42cmVtO1xuICB9XG5cbiAgLmRpc2NsYWltZXIge1xuICAgIC5uaXRpZGEgIHtcbiAgICAgIGNvbG9yOiAjMGM5NmVlO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICB9XG5cbiAgbmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDZyZW07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICh0YWJsZXQpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgICBnYXA6IDJyZW07XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAyMDBweDtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgZ2FwOiAwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobW9iaWxlKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgfVxuXG4gICAgICAmLnNvY2lhbCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHRhYmxldCkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtb2JpbGUpIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGdhcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAmLmZiLFxuICAgICAgICAgICYuaWcge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAzcmVtO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmZiIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBpY29uKGZiLCAjZTllNWNkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmlnIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBpY29uKGlnLCAjZTllNWNkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICAmOm5vdCg6bGFzdC1vZi10eXBlKTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJy8nO1xuICAgICAgICAgIG1hcmdpbjogMCAycmVtO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobW9iaWxlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLWJnKTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gaWNvbigkaWNvbiwgJG9wdGlvbnMuLi4pIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBzYXNzdmcoJGljb24sICRvcHRpb25zLi4uKTtcbn1cbiIsIi5wcm9kdWN0LWNhcmQge1xuICBcbiAgQGluY2x1ZGUgcGFkZGluZy1zZWN0aW9uKCk7XG4gIC8vIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoKTtcbiAgLy8gQGluY2x1ZGUgc2hhZG93LXNvZnQoKTtcbiAgXG5cbiAgaDIge1xuICAgIGEge1xuICAgICAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgfVxuICB9XG5cbiAgcMKge31cblxuICBhLmN0YSB7fVxufSIsImFydGljbGUucHJvZHVjdCB7XG4gIHBhZGRpbmc6IDRyZW0gMDtcblxuICAud3JhcHBlci1uYXJyb3cge1xuICAgIC8vIGRpc3BsYXk6IGZsZXg7XG4gICAgLy8gZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDNyZW07XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcbiAgICAgIFwiaGVhZGVyIGhlYWRlclwiXG4gICAgICBcImluZm8gY2F0YWxvZ3NcIlxuICAgICAgXCJibG9ja3MgYmxvY2tzIFwiO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAxZnI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtc21hbGwpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFxuICAgICAgICBcImhlYWRlclwiXG4gICAgICAgIFwiaW5mb1wiXG4gICAgICAgIFwiY2F0YWxvZ3NcIlxuICAgICAgICBcImJsb2Nrc1wiO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICBnYXA6IDJyZW07XG4gICAgfVxuICB9XG5cbiAgaDEge1xuICAgIEBpbmNsdWRlIGhlYWRpbmcoMik7XG4gIH1cblxuICAuaGVhZGVyIHtcbiAgICBncmlkLWFyZWE6IGhlYWRlcjtcbiAgfVxuXG4gIC5tZXRhIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIC5pY29uIHtcbiAgICAgIGdhcDogMXJlbTtcblxuICAgICAgc3ZnIHtcbiAgICAgICAgc3Ryb2tlOiB2YXIoLS1jLWJvcmRlcik7XG4gICAgICAgIG9wYWNpdHk6IC45O1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgRk9OVC1XRUlHSFQ6IDYwMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgXG4gIC53ZWJzaXRlIHsgICAgXG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICBhIHtcbiAgICAgIC8vIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMHB4O1xuICAgICAgICBcbiAgICB9XG4gIH1cblxuICAuZWRpdG9yIHtcbiAgICBtYXgtd2lkdGg6IDY1Y2g7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIGdyaWQtYXJlYTogaW5mbztcbiAgfVxuICBcbiAgLmNhdGFsb2dzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLy8gZ2FwOiAxcmVtO1xuICAgIGdyaWQtYXJlYTogY2F0YWxvZ3M7XG4gICAgLy8gYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGRkO1xuICAgIC8vIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgICBcblxuICAgIGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gICAgICAvLyBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgXG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBweDtcbiAgICAgIH0gXG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAxLjRyZW07XG4gICAgICAgIFxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgIEBpbmNsdWRlIHNoYWRvdy1zb2Z0O1xuXG4gICAgICAgICAgLmN0YSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXByaW1hcnktbGlnaHQpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICBzdHJva2U6IHZhcigtLWMtYmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZmlsZS1pY29uIHtcbiAgICAgICAgcGFkZGluZy10b3A6IC4ycmVtO1xuICAgICAgICBwYWRkaW5nOiAyLjJyZW0gMCAycmVtIDJyZW07ICBcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgXG4gICAgICAuZmlsZS1pbmZvIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgcGFkZGluZzogMnJlbSAwOyAgXG5cbiAgICAgICAgaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIHAge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXRleHQpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgb3BhY2l0eTogLjc7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuZmlsZS1zaXplIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgLmN0YSB7XG4gICAgICAgIHBhZGRpbmc6IDAgLjVyZW07XG4gICAgICAgIHRyYW5zaXRpb246IDEwMG1zIGFsbCBlYXNlLWluLW91dDtcbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgICBcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAxMDBtcyBhbGwgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgc3Ryb2tlOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH0gXG5cbiAgLmJsb2NrcyB7XG4gICAgZ3JpZC1hcmVhOiBibG9ja3M7XG4gICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtc21hbGwpIHtcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgfVxuICB9XG59IiwiQG1peGluIGJvcmRlci1yYWRpdXMge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbkBtaXhpbiBzaGFkb3cge1xuICBib3gtc2hhZG93OiAwIDAgMTBweCAtNXB4ICMwMDA7XG59XG5cbkBtaXhpbiBzaGFkb3ctc29mdCB7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IC00cHggIzk5OTtcbn1cblxuQG1peGluIGJvcmRlci1mYXQge1xuICBib3JkZXI6IDZweCBzb2xpZCAjZWVlO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xufSIsInNlY3Rpb24uaGVybyB7XG4gIC8vIG1heC1oZWlnaHQ6IDUwcmVtO1xuICBoZWlnaHQ6IDMwMHB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgICB6LWluZGV4OiAwO1xuICB9XG5cbiAgLndyYXBwZXItbmFycm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuYnJlYWRjcnVtYnMge1xuICAgIHBhZGRpbmctdG9wOiAxLjZyZW07XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgY29sb3I6IHZhcigtLWMtYmcpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDFyZW07XG5cbiAgICBzdmcsXG4gICAgYSB7XG4gICAgICBjb2xvcjogdmFyKC0tYy1iZyk7XG4gICAgfVxuICB9XG5cbiAgLmxvZ28ge1xuICAgIG1hcmdpbjogYXV0byBhdXRvIDAgMDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwYWRkaW5nOiAxcmVtIDJyZW07XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgbWF4LWhlaWdodDogMTAwcHg7ICBcbiAgICB9XG4gIH1cbiAgIFxuICAvLyAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gIC8vICAgLy8gICBwYWRkaW5nOiAwO1xuICAvLyAgIC8vIH1cbiAgLy8gfVxuICBcbiAgLy8gaDEsIHAge1xuICAvLyAgIHBhZGRpbmc6IDFyZW0gNXJlbTtcbiAgLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJnKTtcbiAgICBcbiAgLy8gICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZSkge1xuICAvLyAgICAgcGFkZGluZzogMnJlbSAycmVtO1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gIC8vIGgxIHtcbiAgLy8gICBtYXJnaW4tYm90dG9tOiAwO1xuICAvLyAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIC8vICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIC8vICAgbGV0dGVyLXNwYWNpbmc6IDRweDtcbiAgICBcbiAgICBcbiAgLy8gfVxufVxuIiwiLnByb2R1Y3QtbGlzdCB7XG4gIG1hcmdpbi10b3A6IDRyZW07XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIGdhcDogMnJlbTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgfVxuXG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItZmF0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgICY6aG92ZXIge1xuICAgICAgQGluY2x1ZGUgc2hhZG93LXNvZnQ7XG4gICAgICBcbiAgICAgIGltZyB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMDBtcyBlYXNlLWluLW91dDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnJhbmQge1xuICAgICAgaGVpZ2h0OiA5MHB4O1xuICAgICAgcGFkZGluZzogMXJlbTsgICAgIFxuXG4gICAgICBhIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgICAgICAgXG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmc7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcblxuICAgICAgcCB7XG4gICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY3RhIHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmc7XG4gICAgICBAaW5jbHVkZSBidXR0b24tcHJpbWFyeTtcbiAgICAgIG1hcmdpbjogMXJlbSBhdXRvIDNyZW07XG4gICAgICB3aWR0aDogMjAwcHg7XG4gICAgfVxuICB9XG59Iiwic2VjdGlvbi5mZWF0dXJlZCB7XG4gIEBpbmNsdWRlIHBhZGRpbmctY29udGVudDtcblxuICAuaXRlbXMge1xuICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgIC8vIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDIsIGF1dG8pO1xuICAgIGdhcDogMnJlbTtcbiAgICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICB9XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtc21hbGwpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgICBnYXA6IDFyZW07XG4gICAgfVxuICAgIFxuICAgIC5pdGVtIHtcbiAgICB9XG4gICAgXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItZmF0O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBnYXA6IDJyZW07XG4gICAgICBwYWRkaW5nOiAycmVtO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBAaW5jbHVkZSBzaGFkb3ctc29mdDtcbiAgICAgICAgXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAmLCAmLmRhcmsge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtYmcpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1wcmltYXJ5LWxpZ2h0KTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYy1wcmltYXJ5LWxpZ2h0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZmlndXJlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGhlaWdodDogNTAlO1xuICAgICAgfVxuXG4gICAgICBpbWcge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDBweFxuICAgICAgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXNlY29uZGFyeTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgICAgICYuZGFyayB7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJzZWN0aW9uLmNhdGVnb3JpZXMge1xuICBAaW5jbHVkZSBwYWRkaW5nLWNvbnRlbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtYmctYWx0KTtcblxuICAud3JhcHBlci1uYXJyb3cge1xuICAgIC8vIGRpc3BsYXk6IGZsZXg7XG4gICAgLy8gYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgIC8vIGdhcDogMnJlbTtcbiAgfVxuXG4gIC5pdGVtcyB7XG4gICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICAvLyBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMnJlbTtcbiAgICAvLyB3aWR0aDogMTAwJTtcbiAgICAvLyBAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuICAgIC8vIGJvcmRlcjogMnB4IHNvbGlkICNlZWU7XG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1iZyk7XG4gICAgXG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgIC8vIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAycmVtO1xuICAgIFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgIGdhcDogMXJlbTtcbiAgICB9XG5cbiAgICAuaXRlbSB7XG4gICAgICBmbGV4OiAxIDEgMDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiAycmVtO1xuICAgICAgcGFkZGluZzogMnJlbTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgIHN0cm9rZTogdmFyKC0tYy1wcmltYXJ5LWxpZ2h0KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXByaW1hcnktbGlnaHQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIHN0cm9rZTogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgICB9XG5cbiAgICAgIC8vIHNwYW4ge1xuICAgICAgLy8gICBAaW5jbHVkZSBidXR0b24tc2Vjb25kYXJ5O1xuICAgICAgLy8gICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgIC8vICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgIC8vICAgJi5kYXJrIHtcbiAgICAgIC8vICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgICAvLyAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgIC8vICAgfVxuICAgICAgLy8gfVxuICAgIH1cbiAgfVxufSIsInNlY3Rpb24uY29ycCB7XG4gIEBpbmNsdWRlIHBhZGRpbmctY29udGVudDtcblxuICAud3JhcHBlci1uYXJyb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiA0cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IDJyZW07XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIH1cblxuICBoMiB7XG4gICAgbWF4LXdpZHRoOiA4MCU7XG4gIH1cblxuICAuYWJvdXQsIFxuICAuY29udGFjdCB7XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogMDtcblxuICAgIGEge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC5hYm91dCB7XG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tc2Vjb25kYXJ5O1xuICAgIH1cbiAgfVxuXG4gIC5jb250YWN0IHtcbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1wcmltYXJ5O1xuICAgIH1cbiAgfVxufSIsInNlY3Rpb24uc2VhcmNoIHtcbiAgQGluY2x1ZGUgcGFkZGluZy1jb250ZW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJnLWFsdCk7XG5cbiAgZm9ybSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAxcmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgd2lkdGg6IDUwMHB4O1xuICAgIH1cblxuICAgIC8vIGJ1dHRvbiB7XG4gICAgLy8gICBAaW5jbHVkZSBidXR0b24tcHJpbWFyeTtcbiAgICAvLyB9XG4gIH1cbn1cblxuc2VjdGlvbi5zZWFyY2gtcmVzdWx0cyB7XG4gIG1hcmdpbi10b3A6IDRyZW07XG4gIFxuICBoMSB7XG4gICAgQGluY2x1ZGUgaGVhZGluZygzKTtcbiAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICB9XG5cbiAgaDIge1xuICAgIEBpbmNsdWRlIGhlYWRpbmcoNCk7XG4gIH1cblxuICAuc2VhcmNoLXJlc3VsdHMtbGlzdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAgICBcbiAgICBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYy1ib3JkZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5jdGEge1xuICAvLyAgIEBpbmNsdWRlIGJ1dHRvbi1zZWNvbmRhcnk7XG4gIC8vICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgLy8gfVxufSIsInNlY3Rpb24udGV4dC1pbWFnZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgZ2FwOiA0cmVtO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIGdhcDogMnJlbTtcbiAgfVxuXG4gICYgKyBzZWN0aW9uLnRleHQtaW1hZ2Uge1xuICAgIG1hcmdpbi10b3A6IDRyZW07XG4gIH1cblxuICAmLmxlZnQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICBnYXA6IDFyZW07XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIGZsZXg6IDEgMSA1MCU7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUpIHtcbiAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgQGluY2x1ZGUgaGVhZGluZygyKTtcbiAgICB9XG5cbiAgICAuc3VidGl0bGUge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgQGV4dGVuZCAlZWRpdG9yO1xuICAgIH1cblxuICAgIC5jdGEge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXByaW1hcnk7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIH1cbiAgfVxuXG4gIC5pbWFnZSB7XG4gICAgZmxleDogMSAxIDUwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZSkge1xuICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICBtYXgtaGVpZ2h0OiA1MHZ3O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iXX0= */
