/** Shopify CDN: Minification failed

Line 3535:34 Expected "]" to go with "["
Line 3535:71 Unexpected "]"
Line 3781:33 Expected "]" to go with "["
Line 3781:52 Unexpected "]"
Line 3873:29 Expected "]" to go with "["
Line 3873:44 Unexpected "]"
Line 5167:32 Expected "]" to go with "["
Line 5167:59 Unexpected "]"
Line 5174:34 Expected "]" to go with "["
Line 5174:61 Unexpected "]"
... and 12 more hidden warnings

**/
/*!*****************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./src/beta/assets/styles/base.scss ***!
  \*****************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
html {
  /* 10px */
  font-size: 62.5%;
}

body {
  /* 16px */
  font-size: 1.6rem;
  font-family: var(--font-body-family);
  font-weight: var(--font-body-weight);
  font-style: var(--font-body-style);
  text-transform: var(--font-body-transform);
  color: var(--color-text);
  font-style: normal;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
}

html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
  min-height: 100%;
  scroll-behavior: smooth;
}

body {
  word-wrap: break-word;
  word-break: break-word;
}

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

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  padding: 0;
  margin: 0;
}

hr {
  overflow: visible;
  height: 0;
  color: inherit;
}

details,
main {
  display: block;
}

main {
  outline: 0;
}

summary {
  display: list-item;
}
summary::-webkit-details-marker {
  display: none;
}

small {
  font-size: 80%;
}

[hidden] {
  display: none;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted currentColor;
          text-decoration: underline dotted currentColor;
}

a {
  background-color: transparent;
  cursor: pointer;
}

a:active,
a:hover {
  outline-width: 0;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
}

pre {
  font-size: 1em;
  white-space: normal;
}

b,
strong {
  font-weight: bolder;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  border-color: inherit;
  text-indent: 0;
}

iframe {
  max-width: 100%;
}

input {
  border-radius: 0;
}

[disabled] {
  cursor: default;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -0.2rem;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
}

optgroup {
  font-weight: bold;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
  cursor: pointer;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

input[type=number] {
  -moz-appearance: textfield;
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentColor;
}

[dir="ltr"] fieldset{
  margin-left: 0;
}

[dir="rtl"] fieldset{
  margin-right: 0;
}

[dir="ltr"] fieldset{
  margin-right: 0;
}

[dir="rtl"] fieldset{
  margin-left: 0;
}

[dir="ltr"] fieldset{
  padding-left: 0;
}

[dir="rtl"] fieldset{
  padding-right: 0;
}

[dir="ltr"] fieldset{
  padding-right: 0;
}

[dir="rtl"] fieldset{
  padding-left: 0;
}

fieldset {
  padding-top: 0;
  padding-bottom: 0;
  border: none;
  min-width: -moz-min-content;
  min-width: min-content;
}

legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal;
  max-width: 100%;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
}

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true] {
  cursor: default;
}

*:-internal-direct-focus {
  outline-width: 0;
}

@media print {
  *,
  *::before,
  *::after {
    background: transparent !important;
    box-shadow: none !important;
    color: #000000 !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]::after {
    content: " (" attr(href) ")";
  }
  abbr[title]::after {
    content: " (" attr(title) ")";
  }
  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .features-bar,
  .hero-basic .img-absolute,
  .hero-basic .shopify-section .section__wrapper-background,
  .shopify-section .hero-basic .section__wrapper-background,
  .hero-basic .img-absolute--logo,
  .hero-basic .img-absolute--no-index,
  .related-articles,
  .recommended-products,
  .footer,
  .template-article .logos,
  .template-product .logos,
  .feature {
    display: none;
  }
  #nav-wrapper {
    position: relative !important;
    margin-top: 0 !important;
  }
  main {
    padding-top: 0;
  }
}
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

summary {
  cursor: pointer;
  list-style: none;
  position: relative;
}

details > * {
  box-sizing: border-box;
}

a {
  text-decoration: none;
  color: var(--color-text-links);
  transition: color 0.2s;
  backface-visibility: hidden;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, strong a, p a, table a, tr a, td a, th a {
  border-bottom: 1px solid;
}
a:hover, a:active, a:focus {
  color: var(--color-text-links-hover);
}
a:hover:not(.button):not(.button--circle):not(.disabled.button--circle):not(.button--circle:disabled):not([aria-disabled=true].button--circle):not(.button.disabled):not(.disabled.button--circle):not(.disabled.button--default):not(.disabled.button--primary):not(.disabled.button--inverted):not(.disabled.button--secondary):not(.disabled.button--pill):not(.disabled.button--add-to-cart--inverted):not(.disabled.button--add-to-cart--secondary):not(.disabled.button--xs):not(.disabled.button--xs-inverted):not(.disabled.button--xs-secondary):not(.disabled.button--sm):not(.disabled.button--sm-inverted):not(.disabled.button--sm-secondary):not(.disabled.button--lg):not(.disabled.button--lg-inverted):not(.disabled.button--lg-secondary):not(.disabled.button--xl):not(.disabled.button--xl-inverted):not(.disabled.button--xl-secondary):not(.button:disabled):not(.button--circle:disabled):not(.button--default:disabled):not(.button--primary:disabled):not(.button--inverted:disabled):not(.button--secondary:disabled):not(.button--pill:disabled):not(.button--add-to-cart--inverted:disabled):not(.button--add-to-cart--secondary:disabled):not(.button--xs:disabled):not(.button--xs-inverted:disabled):not(.button--xs-secondary:disabled):not(.button--sm:disabled):not(.button--sm-inverted:disabled):not(.button--sm-secondary:disabled):not(.button--lg:disabled):not(.button--lg-inverted:disabled):not(.button--lg-secondary:disabled):not(.button--xl:disabled):not(.button--xl-inverted:disabled):not(.button--xl-secondary:disabled):not(.button[aria-disabled=true]):not([aria-disabled=true].button--circle):not([aria-disabled=true].button--default):not([aria-disabled=true].button--primary):not([aria-disabled=true].button--inverted):not([aria-disabled=true].button--secondary):not([aria-disabled=true].button--pill):not([aria-disabled=true].button--add-to-cart--inverted):not([aria-disabled=true].button--add-to-cart--secondary):not([aria-disabled=true].button--xs):not([aria-disabled=true].button--xs-inverted):not([aria-disabled=true].button--xs-secondary):not([aria-disabled=true].button--sm):not([aria-disabled=true].button--sm-inverted):not([aria-disabled=true].button--sm-secondary):not([aria-disabled=true].button--lg):not([aria-disabled=true].button--lg-inverted):not([aria-disabled=true].button--lg-secondary):not([aria-disabled=true].button--xl):not([aria-disabled=true].button--xl-inverted):not([aria-disabled=true].button--xl-secondary):not(.button--xl):not(.button--xl-inverted):not(.button--xl-secondary):not(.button--lg):not(.button--lg-inverted):not(.button--lg-secondary):not(.button--sm):not(.button--sm-inverted):not(.button--sm-secondary):not(.button--xs):not(.button--xs-inverted):not(.button--xs-secondary):not(.button--inverted):not(.button--secondary):not(.button--pill):not(.button--add-to-cart--inverted):not(.button--add-to-cart--secondary):not(.button--xl-inverted):not(.button--xl-secondary):not(.button--lg-inverted):not(.button--lg-secondary):not(.button--sm-inverted):not(.button--sm-secondary):not(.button--xs-inverted):not(.button--xs-secondary):not(.button--default):not(.button--primary):not(.banner__wrapper) .icon, a:active:not(.button):not(.button--circle):not(.disabled.button--circle):not(.button--circle:disabled):not([aria-disabled=true].button--circle):not(.button.disabled):not(.disabled.button--circle):not(.disabled.button--default):not(.disabled.button--primary):not(.disabled.button--inverted):not(.disabled.button--secondary):not(.disabled.button--pill):not(.disabled.button--add-to-cart--inverted):not(.disabled.button--add-to-cart--secondary):not(.disabled.button--xs):not(.disabled.button--xs-inverted):not(.disabled.button--xs-secondary):not(.disabled.button--sm):not(.disabled.button--sm-inverted):not(.disabled.button--sm-secondary):not(.disabled.button--lg):not(.disabled.button--lg-inverted):not(.disabled.button--lg-secondary):not(.disabled.button--xl):not(.disabled.button--xl-inverted):not(.disabled.button--xl-secondary):not(.button:disabled):not(.button--circle:disabled):not(.button--default:disabled):not(.button--primary:disabled):not(.button--inverted:disabled):not(.button--secondary:disabled):not(.button--pill:disabled):not(.button--add-to-cart--inverted:disabled):not(.button--add-to-cart--secondary:disabled):not(.button--xs:disabled):not(.button--xs-inverted:disabled):not(.button--xs-secondary:disabled):not(.button--sm:disabled):not(.button--sm-inverted:disabled):not(.button--sm-secondary:disabled):not(.button--lg:disabled):not(.button--lg-inverted:disabled):not(.button--lg-secondary:disabled):not(.button--xl:disabled):not(.button--xl-inverted:disabled):not(.button--xl-secondary:disabled):not(.button[aria-disabled=true]):not([aria-disabled=true].button--circle):not([aria-disabled=true].button--default):not([aria-disabled=true].button--primary):not([aria-disabled=true].button--inverted):not([aria-disabled=true].button--secondary):not([aria-disabled=true].button--pill):not([aria-disabled=true].button--add-to-cart--inverted):not([aria-disabled=true].button--add-to-cart--secondary):not([aria-disabled=true].button--xs):not([aria-disabled=true].button--xs-inverted):not([aria-disabled=true].button--xs-secondary):not([aria-disabled=true].button--sm):not([aria-disabled=true].button--sm-inverted):not([aria-disabled=true].button--sm-secondary):not([aria-disabled=true].button--lg):not([aria-disabled=true].button--lg-inverted):not([aria-disabled=true].button--lg-secondary):not([aria-disabled=true].button--xl):not([aria-disabled=true].button--xl-inverted):not([aria-disabled=true].button--xl-secondary):not(.button--xl):not(.button--xl-inverted):not(.button--xl-secondary):not(.button--lg):not(.button--lg-inverted):not(.button--lg-secondary):not(.button--sm):not(.button--sm-inverted):not(.button--sm-secondary):not(.button--xs):not(.button--xs-inverted):not(.button--xs-secondary):not(.button--inverted):not(.button--secondary):not(.button--pill):not(.button--add-to-cart--inverted):not(.button--add-to-cart--secondary):not(.button--xl-inverted):not(.button--xl-secondary):not(.button--lg-inverted):not(.button--lg-secondary):not(.button--sm-inverted):not(.button--sm-secondary):not(.button--xs-inverted):not(.button--xs-secondary):not(.button--default):not(.button--primary):not(.banner__wrapper) .icon, a:focus:not(.button):not(.button--circle):not(.disabled.button--circle):not(.button--circle:disabled):not([aria-disabled=true].button--circle):not(.button.disabled):not(.disabled.button--circle):not(.disabled.button--default):not(.disabled.button--primary):not(.disabled.button--inverted):not(.disabled.button--secondary):not(.disabled.button--pill):not(.disabled.button--add-to-cart--inverted):not(.disabled.button--add-to-cart--secondary):not(.disabled.button--xs):not(.disabled.button--xs-inverted):not(.disabled.button--xs-secondary):not(.disabled.button--sm):not(.disabled.button--sm-inverted):not(.disabled.button--sm-secondary):not(.disabled.button--lg):not(.disabled.button--lg-inverted):not(.disabled.button--lg-secondary):not(.disabled.button--xl):not(.disabled.button--xl-inverted):not(.disabled.button--xl-secondary):not(.button:disabled):not(.button--circle:disabled):not(.button--default:disabled):not(.button--primary:disabled):not(.button--inverted:disabled):not(.button--secondary:disabled):not(.button--pill:disabled):not(.button--add-to-cart--inverted:disabled):not(.button--add-to-cart--secondary:disabled):not(.button--xs:disabled):not(.button--xs-inverted:disabled):not(.button--xs-secondary:disabled):not(.button--sm:disabled):not(.button--sm-inverted:disabled):not(.button--sm-secondary:disabled):not(.button--lg:disabled):not(.button--lg-inverted:disabled):not(.button--lg-secondary:disabled):not(.button--xl:disabled):not(.button--xl-inverted:disabled):not(.button--xl-secondary:disabled):not(.button[aria-disabled=true]):not([aria-disabled=true].button--circle):not([aria-disabled=true].button--default):not([aria-disabled=true].button--primary):not([aria-disabled=true].button--inverted):not([aria-disabled=true].button--secondary):not([aria-disabled=true].button--pill):not([aria-disabled=true].button--add-to-cart--inverted):not([aria-disabled=true].button--add-to-cart--secondary):not([aria-disabled=true].button--xs):not([aria-disabled=true].button--xs-inverted):not([aria-disabled=true].button--xs-secondary):not([aria-disabled=true].button--sm):not([aria-disabled=true].button--sm-inverted):not([aria-disabled=true].button--sm-secondary):not([aria-disabled=true].button--lg):not([aria-disabled=true].button--lg-inverted):not([aria-disabled=true].button--lg-secondary):not([aria-disabled=true].button--xl):not([aria-disabled=true].button--xl-inverted):not([aria-disabled=true].button--xl-secondary):not(.button--xl):not(.button--xl-inverted):not(.button--xl-secondary):not(.button--lg):not(.button--lg-inverted):not(.button--lg-secondary):not(.button--sm):not(.button--sm-inverted):not(.button--sm-secondary):not(.button--xs):not(.button--xs-inverted):not(.button--xs-secondary):not(.button--inverted):not(.button--secondary):not(.button--pill):not(.button--add-to-cart--inverted):not(.button--add-to-cart--secondary):not(.button--xl-inverted):not(.button--xl-secondary):not(.button--lg-inverted):not(.button--lg-secondary):not(.button--sm-inverted):not(.button--sm-secondary):not(.button--xs-inverted):not(.button--xs-secondary):not(.button--default):not(.button--primary):not(.banner__wrapper) .icon {
  color: var(--color-icon-hover);
}

p button {
  border-bottom: 1px solid;
  color: inherit;
}

a:empty,
ul:empty,
dl:empty,
div:empty:not(.product-recommendations):not(.swiper-scrollbar-drag):not(#arrow):not(.swiper-lazy-preloader),
section:empty,
article:empty,
p:empty,
h1:empty,
h2:empty,
h3:empty,
h4:empty,
h5:empty,
h6:empty {
  display: none;
}

p,
figure {
  margin: 0;
  padding: 0;
}

a,
area,
button,
input,
label,
select,
textarea,
[tabindex] {
  touch-action: manipulation;
}

[hreflang] > abbr[title] {
  text-decoration: none;
}

table {
  border-spacing: 0;
}

button {
  cursor: pointer;
  color: var(--color-text-links);
}
button:hover, button:active, button:focus {
  color: var(--color-text-links);
}

img {
  max-width: 100%;
  font-style: italic;
}

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

@media (max-width: 63.99em) {
  .swiper[data-mobile-layout=grid] {
    overflow: visible;
  }
}
@media (max-width: 63.99em) {
  .swiper[data-tablet-layout=grid] {
    overflow: visible;
  }
}
@media (min-width: 64em) {
  .swiper[data-desktop-layout=grid] {
    overflow: visible;
  }
}

.swiper-spacer {
  height: 0;
}

.swiper-button-next,
.swiper-button-prev {
  cursor: pointer;
  padding: 0 0.8rem;
  box-sizing: content-box;
  transition: all 0.4s;
  margin: 0;
  transform: translate(0, 0);
  color: var(--color-icon);
}
.swiper-button-next:hover, .swiper-button-next:active, .swiper-button-next:focus,
.swiper-button-prev:hover,
.swiper-button-prev:active,
.swiper-button-prev:focus {
  color: var(--color-icon-hover);
}
@media (min-width: 64em) {
  .swiper-button-next:hover, .swiper-button-next:active, .swiper-button-next:focus,
  .swiper-button-prev:hover,
  .swiper-button-prev:active,
  .swiper-button-prev:focus {
    transform: translate(0.4rem, 0);
  }
}

.swiper-button-prev {
  transform: translate(0, 0);
}
@media (min-width: 64em) {
  .swiper-button-prev:hover, .swiper-button-prev:active, .swiper-button-prev:focus {
    transform: translate(-0.4rem, 0);
  }
}

.swiper-scrollbar.swiper-scrollbar-horizontal {
  top: 0 !important;
  background: var(--color-background-alt) !important;
  border-radius: var(--border-radius) !important;
  position: relative !important;
  left: 0 !important;
  width: 100% !important;
}
.swiper-scrollbar.swiper-scrollbar-horizontal .swiper-scrollbar-drag {
  background: var(--color-icon) !important;
  border-radius: var(--border-radius) !important;
}
.swiper-scrollbar.swiper-scrollbar-horizontal .swiper-scrollbar-drag {
  cursor: pointer;
  height: 0.4rem;
}
.swiper-scrollbar.swiper-scrollbar-horizontal .swiper-scrollbar-drag:hover, .swiper-scrollbar.swiper-scrollbar-horizontal .swiper-scrollbar-drag:active, .swiper-scrollbar.swiper-scrollbar-horizontal .swiper-scrollbar-drag:focus {
  background: var(--color-icon-hover) !important;
}

.swiper-pagination {
  text-align: left;
  white-space: nowrap;
}
.swiper-pagination:not(.swiper-pagination-progressbar) {
  position: relative !important;
}
.swiper-pagination.swiper-pagination-fraction {
  padding: 0 1.6rem 0 0;
}
.swiper-pagination-progressbar {
  background: var(--color-background-alt);
  position: absolute;
  width: 100%;
  height: 0.4rem;
  left: 0;
  top: 0;
  border-radius: var(--border-radius);
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--color-icon);
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
  border-radius: var(--border-radius);
}
.swiper-pagination-bullets:not(.swiper-pagination-bullets-dynamic):not(.swiper-pagination-progressbar) span {
  padding: 0.8rem;
}
.swiper-pagination-bullets:not(.swiper-pagination-bullets-dynamic):not(.swiper-pagination-progressbar) span:before {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  background: var(--color-icon);
  border-radius: 100%;
  cursor: pointer;
  transform: scale(1);
  transition: all 0.4s;
}
.swiper-pagination-bullets:not(.swiper-pagination-bullets-dynamic):not(.swiper-pagination-progressbar) span:hover:before, .swiper-pagination-bullets:not(.swiper-pagination-bullets-dynamic):not(.swiper-pagination-progressbar) span.swiper-pagination-bullet-active:before {
  transform: scale(1.4);
  background: var(--color-icon-hover);
}
.swiper-pagination-bullets:not(.swiper-pagination-bullets-dynamic) {
  display: flex;
  flex-wrap: wrap;
}
.swiper-pagination-bullets.swiper-pagination-bullets-dynamic span {
  transform: scale(0);
  transition: 200ms transform, 200ms left;
  margin: 0 4px;
  position: relative;
  width: 0.8rem;
  height: 0.8rem;
  display: inline-block;
  border-radius: 50%;
  opacity: 0.2;
  background: var(--color-icon);
  margin: 0.8rem;
}
.swiper-pagination-bullets.swiper-pagination-bullets-dynamic span.swiper-pagination-bullet-active-next-next, .swiper-pagination-bullets.swiper-pagination-bullets-dynamic span.swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}
.swiper-pagination-bullets.swiper-pagination-bullets-dynamic span.swiper-pagination-bullet-active-next, .swiper-pagination-bullets.swiper-pagination-bullets-dynamic span.swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}
.swiper-pagination-bullets.swiper-pagination-bullets-dynamic span.swiper-pagination-bullet-active-main {
  transform: scale(1);
  opacity: 1;
  background: var(--color-icon-hover);
}

.swiper-thumbnails {
  width: 100%;
  overflow: hidden;
}
@media (min-width: 64em) {
  .swiper-thumbnails {
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 60px;
  }
}
.swiper-thumbnails-nav {
  display: none;
}
@media (min-width: 64em) {
  .swiper-thumbnails-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.8rem;
  }
}
.swiper-thumbnails-nav .icon {
  padding: 0;
}
.swiper-thumbnails-nav .icon:hover, .swiper-thumbnails-nav .icon:active, .swiper-thumbnails-nav .icon:focus {
  cursor: pointer;
  color: var(--color-icon-hover);
}
@media (min-width: 64em) {
  .swiper-thumbnails .swiper {
    overflow: hidden !important;
  }
  .swiper-thumbnails .swiper {
    height: 55rem;
  }
}
.swiper-thumbnails .swiper figure {
  border-radius: var(--border-radius);
  cursor: pointer;
  border: 1px solid transparent;
}
.swiper-thumbnails .swiper figure .icon {
  position: absolute;
  right: 0.4rem;
  bottom: 0.4rem;
  color: var(--color-icon);
  background: var(--color-background-body);
  border-radius: 100%;
  padding: 0.4rem;
  font-size: 1rem;
  width: 1.6rem;
  height: 1.6rem;
}
.swiper-thumbnails .swiper .swiper-slide.swiper-slide-thumb-active figure {
  border-color: var(--color-border);
}

.pagination {
  display: flex;
  flex-direction: row;
  margin: 4rem 0 0;
  padding: 1.6rem 3.2rem;
  background: var(--color-background-alt);
  border-radius: var(--border-radius);
  width: 100%;
  justify-content: center;
  grid-column: 1/-1;
}
.pagination a,
.pagination span {
  color: var(--color-text-links);
  padding: 1.6rem 2.4rem;
  font-weight: 500;
  display: flex;
  line-height: 1.5;
  align-items: center;
  gap: 0.8rem;
}
.pagination a:not(span):hover,
.pagination span:not(span):hover {
  color: var(--color-text-links-hover);
}
.pagination__item--current {
  position: relative;
}
.pagination__item--current:after {
  content: "";
  display: block;
  width: 2rem;
  height: 1px;
  position: absolute;
  bottom: 0.8rem;
  left: 50%;
  transform: translate(-50%);
  background-color: currentColor;
}

.tags {
  flex-wrap: wrap;
  gap: 1.2rem;
}

.usp {
  display: flex;
  gap: 0.8rem;
  align-items: center;
  margin: 0;
}

.grecaptcha-badge {
  z-index: -9999 !important;
}

.tooltip {
  cursor: pointer;
}

.tooltip-content {
  visibility: hidden;
  transition: visibility 0s 0.3s;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
}
.tooltip-content__wrapper {
  opacity: 0;
  width: 30rem;
  transform: translateY(-1rem);
  transition: opacity 0.3s 0s, transform 0.3s 0s;
}
.tooltip-content[data-show] {
  visibility: visible;
  transition: visibility 0s 0s;
  z-index: 10;
}
.tooltip-content[data-show] .tooltip-content__wrapper {
  opacity: 1;
  transform: translateY(0);
}

.gift-card-page {
  padding: 3.2rem 0;
}
.gift-card-page .container .main-product__blocks {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.gift-card-page .container .main-product__blocks > * {
  margin: 0;
  padding: 0;
}
.gift-card-page__copy-success {
  display: flex;
  align-items: center;
  margin: 0;
}
.gift-card-page__number {
  width: 100%;
}
.gift-card-page_buttons.no-print {
  margin: 1.6rem 0 0 0 !important;
}

input.gift-card__number {
  color: var(--color-text);
}

.stock-status p {
  display: flex;
  align-items: center;
  font-size: 1.4rem;
  line-height: 1.5;
  margin: 0;
}
.stock-status p span {
  opacity: 1 !important;
}
.stock-status p span {
  margin: 0 0.8rem 0 0;
}
.stock-status p.in-stock .icon {
  color: #00aa00;
}
.stock-status p.low-stock .icon {
  color: #5067b0;
}
.stock-status p.out-of-stock .icon {
  color: #fc7053;
}

.price-item,
.stock-status p {
  opacity: 1;
}

.skeleton-loading {
  pointer-events: none;
  position: relative;
  transition: 1s;
}
.skeleton-loading div,
.skeleton-loading span,
.skeleton-loading .price-item,
.skeleton-loading p {
  opacity: 0;
}

.skeleton-loading::before {
  content: "";
  position: absolute;
  left: 0%;
  top: 0;
  height: 100%;
  width: 100%;
  background: var(--color-text);
  background: linear-gradient(110deg, rgba(var(--color-text-rgb), 0) 8%, rgba(var(--color-text-rgb), 0.16), 40%, rgba(var(--color-text-rgb), 0) 64%);
  background-position-x: 0%;
  border-radius: var(--border-radius);
  background-size: 200% 100%;
  animation: 1.2s shine linear infinite;
}

@keyframes shine {
  to {
    background-position-x: -200%;
  }
}
.product-recommendations .icon {
  opacity: 1 !important;
}

sticky-engine {
  display: block;
  position: sticky;
  top: var(--sticky-engine-padding);
}

swiper-container {
  display: flex;
  gap: var(--gap);
}
@media (max-width: 63.99em) {
  swiper-container[data-mobile-layout=slider] {
    opacity: 0;
  }
  .slider-enabled swiper-container[data-mobile-layout=slider] {
    opacity: 1;
  }
}
@media (min-width: 48em) and (max-width: 63.99em) {
  swiper-container[data-tablet-layout=slider] {
    opacity: 0;
  }
  .slider-enabled swiper-container[data-tablet-layout=slider] {
    opacity: 1;
  }
}
@media (min-width: 64em) {
  swiper-container[data-desktop-layout=slider] {
    opacity: 0;
  }
  .slider-enabled swiper-container[data-desktop-layout=slider] {
    opacity: 1;
  }
}

body {
  background: var(--color-background-body);
}

.container {
  position: relative;
  width: var(--container-width);
  margin: 0 auto;
  max-width: 100%;
}
.container--default {
  position: relative;
  width: var(--container-width);
  margin: 0 auto;
  max-width: calc(100% - var(--gap));
}
@media (min-width: 64em) {
  .container--default {
    max-width: calc(100% - var(--gap) * 2);
  }
}
.container--full_width {
  max-width: 100%;
  margin: 0 calc(var(--gap) / 2);
  position: relative;
  border-radius: var(--border-radius);
}
.container--full_bleed {
  border-radius: 0 !important;
}
.container--full_bleed:not(.inset):not(.section--with-background) .grid-content__header, .container--full_bleed:not(.inset):not(.section--with-background) .u-grid .rich-text__wrapper, .container--full_bleed:not(.inset):not(.section--with-background) .hero__wrapper, .container--full_bleed:not(.inset):not(.section--with-background) .slideshow-text-controls__controller,
.container--full_bleed .main-product__blocks, .container--full_bleed.inset {
  padding-left: calc(var(--gap) / 2);
  padding-right: calc(var(--gap) / 2);
}
@media (min-width: 64em) {
  .container--full_bleed:not(.inset):not(.section--with-background) .grid-content__header, .container--full_bleed:not(.inset):not(.section--with-background) .u-grid .rich-text__wrapper, .container--full_bleed:not(.inset):not(.section--with-background) .hero__wrapper, .container--full_bleed:not(.inset):not(.section--with-background) .slideshow-text-controls__controller,
  .container--full_bleed .main-product__blocks, .container--full_bleed.inset {
    padding-left: var(--gap);
    padding-right: var(--gap);
  }
}
.container--full_bleed .section__wrapper--overlay {
  border-radius: 0 !important;
}
.shopify-section.banner .container--full_bleed.container-width--none .banner__wrapper:before,
.shopify-section.banner .container--full_bleed.container-width--none .banner__wrapper,
.shopify-section.banner .container--full_bleed.container-width--none .banner__background {
  border-radius: 0 !important;
}
.shopify-section.banner .container--full_bleed.container-width--none .banner__wrapper:before,
.shopify-section.banner .container--full_bleed.container-width--none .banner__wrapper,
.shopify-section.banner .container--full_bleed.container-width--none .banner__background {
  border-left: 0;
  border-right: 0;
}

.card {
  border-radius: var(--border-radius);
  border: 1px solid var(--color-border-card);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-self: start;
  z-index: 0;
  background: var(--color-background-card);
  transform: scale(1);
  backface-visibility: hidden;
  transition: all 0.4s;
  max-width: 100%;
  overflow: hidden;
}
.card__image {
  height: 100%;
  position: relative;
}
.card__image img, .card__image video {
  transition: all 0.4s;
  background: var(--color-background-card);
}
.card__image figure {
  min-height: auto !important;
}
.card__image figure {
  z-index: 0;
  height: 100%;
  overflow: hidden;
  background: var(--color-background-card);
}
.card__image figure img + img, .card__image figure img + video, .card__image figure img + product-model, .card__image figure img + iframe, .card__image figure video + img, .card__image figure video + video, .card__image figure video + product-model, .card__image figure video + iframe, .card__image figure product-model + img, .card__image figure product-model + video, .card__image figure product-model + product-model, .card__image figure product-model + iframe, .card__image figure iframe + img, .card__image figure iframe + video, .card__image figure iframe + product-model, .card__image figure iframe + iframe {
  opacity: 0 !important;
  position: absolute !important;
  -o-object-fit: cover !important;
     object-fit: cover !important;
}
.card__image figure img + img, .card__image figure img + video, .card__image figure img + product-model, .card__image figure img + iframe, .card__image figure video + img, .card__image figure video + video, .card__image figure video + product-model, .card__image figure video + iframe, .card__image figure product-model + img, .card__image figure product-model + video, .card__image figure product-model + product-model, .card__image figure product-model + iframe, .card__image figure iframe + img, .card__image figure iframe + video, .card__image figure iframe + product-model, .card__image figure iframe + iframe {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.card__image figure img + product-model, .card__image figure video + product-model, .card__image figure product-model + product-model, .card__image figure iframe + product-model {
  background: var(--color-background-card);
}
.card__image .swiper {
  overflow: hidden;
}
.card__image .swiper[data-desktop-layout=grid] {
  overflow: hidden !important;
}
.card__image--slider .swiper {
  display: flex;
  flex-direction: column;
}
.card__image--slider .swiper[data-display-pagination=true][data-display-navigation=true] {
  margin-bottom: -1.2rem;
}
@media (min-width: 64em) {
  .card__image--slider .swiper[data-display-pagination=true][data-display-navigation=true] {
    margin-bottom: -1.6rem;
  }
}
.card__image--slider .swiper[data-display-pagination=true][data-display-navigation=false] {
  margin-bottom: -0.6rem;
}
@media (min-width: 64em) {
  .card__image--slider .swiper[data-display-pagination=true][data-display-navigation=false] {
    margin-bottom: -0.8rem;
  }
}
.card__image--slider .swiper-wrapper {
  display: flex;
  height: 100%;
}
.card__image--slider .swiper-slide {
  height: auto;
  flex-shrink: 0;
}
.card__image--slider .gallery-controls {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 1.2rem;
  margin: 0 0.8rem;
  min-height: 4px;
}
.card__image--slider .gallery-controls .swiper-pagination {
  padding: 0.8rem 0;
}
.card__image--slider .gallery-controls .swiper-pagination.swiper-pagination-progressbar {
  padding: 0;
}
.card__image--slider .gallery-controls.gallery-controls--pagination.gallery-controls--navigation .icon {
  margin-top: 0.4rem;
}
.card__image--slider .gallery-controls .icon {
  padding: 0.8rem 0;
}
.card__image--slider .gallery-controls .swiper-button-prev + .swiper-pagination {
  margin: 0 !important;
}
.card__image--slider .gallery-controls .swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute !important;
}
.card__caption {
  color: var(--color-heading-card);
  text-transform: var(--font-caption-transform);
}
.card__description, .card__title {
  transition: 0.2s;
}
.card__title {
  color: var(--color-heading-card);
  font-family: var(--font-card-heading-family);
  font-weight: var(--font-card-heading-weight);
  font-style: var(--font-card-heading-style);
  text-transform: var(--font-card-heading-transform);
  font-size: 2rem;
  line-height: 1.25;
  word-break: break-word;
}
.card__description {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  color: var(--color-text-card);
}
.card__content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1.2rem;
  gap: 1.6rem;
  z-index: 1;
  flex: 1;
}
@media (min-width: 64em) {
  .card__content {
    padding: 1.6rem;
  }
}
.card__content variant-selects {
  margin: 1.6rem 0 0;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.card__content + .card__bottom {
  padding: 0 1.6rem 1.6rem;
}
.card__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  -moz-column-gap: 1.6rem;
       column-gap: 1.6rem;
  row-gap: 0.8rem;
}
.card__bottom .price {
  flex: 1;
  word-break: normal;
  white-space: nowrap;
}
.card__bottom .price__regular {
  color: inherit;
}
.card__bottom .button--plain, .card__bottom .button--plain-xs, .card__bottom .button--plain-sm {
  color: inherit;
}
.card__blog-title {
  text-transform: var(--font-caption-transform);
  color: var(--color-text-card);
}
.card__badge {
  height: auto !important;
}
.card__badge {
  position: absolute;
  top: 0rem;
  right: 0rem;
  border-radius: 0 0 0 var(--border-radius);
  font-size: 1.2rem;
  font-weight: var(--font-body-weight-bold);
  z-index: 2;
  margin: 0;
  padding: 0.4rem 0.8rem;
  background: var(--color-background-alt);
}
@media (min-width: 64em) {
  .card__badge {
    padding: 0.8rem 1.6rem;
  }
}
.card__badge--out-of-stock {
  color: #fc7053 !important;
}
.card__badge--on-sale {
  color: var(--color-sale) !important;
}
.card shopify-payment-terms {
  display: none;
}
.card--style-banner.card--text-v__top.card--badge .card__content, .card--style-no_image.card--text-v__top.card--badge .card__content {
  padding-bottom: 4.4rem;
}
.card--style-banner.card--text-v__bottom.card--badge .card__content, .card--style-banner.card--text-v__center.card--badge .card__content, .card--style-no_image.card--text-v__bottom.card--badge .card__content, .card--style-no_image.card--text-v__center.card--badge .card__content {
  padding-top: 4.4rem;
}
.card--style-no_padding .card__image--slider .swiper {
  gap: 0;
}
.card--style-no_padding .card__image--slider .swiper .gallery-controls {
  margin: 0;
}
.card--style-padding .card__image--slider {
  margin: 0;
}
.card--style-padding swiper-container swiper-slide {
  padding-top: 0.8rem;
}
.card--style-padding swiper-container swiper-slide:first-child {
  margin-left: 0.8rem;
}
@media (min-width: 64em) {
  .card--style-padding swiper-container[data-desktop-slides-per-view="1"] swiper-slide {
    padding: 0.8rem;
  }
  .card--style-padding swiper-container[data-desktop-slides-per-view="1"] swiper-slide:first-child {
    margin-left: 0;
  }
}
@media (max-width: 63.99em) {
  .card--style-padding swiper-container[data-mobile-slides-per-view="1"] swiper-slide {
    padding: 0.8rem;
  }
  .card--style-padding swiper-container[data-mobile-slides-per-view="1"] swiper-slide:first-child {
    margin-left: 0;
  }
}
.card--style-padding swiper-container[data-animation-style=fade] swiper-slide {
  padding: 0.8rem;
}
.card--style-padding figure {
  height: auto;
  border-radius: var(--border-radius);
}
.card--style-padding .card__image:not(.slider-enabled) {
  padding: 0.8rem;
}
.card--text-h__center {
  text-align: center;
}
.card--text-h__center .main-product__fieldset--pills div.variant_options {
  justify-content: center;
}
.card--text-h__center .card__bottom {
  flex-direction: column;
  align-items: center;
}
.card--text-h__center .card__bottom .button, .card--text-h__center .card__bottom .shopify-payment-button button, .shopify-payment-button .card--text-h__center .card__bottom button, .card--text-h__center .card__bottom .button--circle, .card--text-h__center .card__bottom .button--xl, .card--text-h__center .card__bottom .button--xl-inverted, .card--text-h__center .card__bottom .button--xl-secondary, .card--text-h__center .card__bottom .button--lg, .card--text-h__center .card__bottom .button--lg-inverted, .card--text-h__center .card__bottom .button--lg-secondary, .card--text-h__center .card__bottom .button--sm, .card--text-h__center .card__bottom .button--sm-inverted, .card--text-h__center .card__bottom .button--sm-secondary, .card--text-h__center .card__bottom .button--xs, .card--text-h__center .card__bottom .button--xs-inverted, .card--text-h__center .card__bottom .button--xs-secondary, .card--text-h__center .card__bottom .button--inverted, .card--text-h__center .card__bottom .button--secondary, .card--text-h__center .card__bottom .button--pill, .card--text-h__center .card__bottom .button--add-to-cart--inverted, .card--text-h__center .card__bottom .button--add-to-cart--secondary, .card--text-h__center .card__bottom .button--default, .card--text-h__center .card__bottom .button--primary {
  align-self: center;
}
.card--text-h__right {
  text-align: right;
}
.card--text-h__right .main-product__fieldset--pills div.variant_options {
  justify-content: right;
}
.card--text-h__right .card__badge {
  left: 0;
  right: auto;
  border-radius: 0 0 var(--border-radius) 0;
}
.card--text-h__right .card__bottom {
  justify-content: flex-end;
}
.card--text-v__top .card__content {
  order: 1;
  justify-content: flex-start;
}
.card--text-v__top:not(.card--style-no_image) .card__image {
  order: 2;
}
.card--text-v__top .card__badge {
  top: auto !important;
}
.card--text-v__top .card__badge {
  bottom: 0;
  border-radius: 0 var(--border-radius) 0 0;
}
.card--text-v__top.card--text-h__right .card__badge {
  border-radius: var(--border-radius) 0 0 0;
}
.card--text-v__top.card--style-padding .card__image {
  margin-top: 0;
}
.card--text-v__top swiper-container {
  flex-flow: column-reverse;
}
.card--text-v__center .card__content {
  justify-content: center;
}
.card--text-v__bottom .card__content {
  justify-content: flex-end;
}
.card--text-v__bottom.card--style-padding .card__image {
  margin-bottom: 0;
}
.card--style-banner {
  border: 1px solid var(--color-border-banner);
  background-color: var(--color-background-banner);
  background-image: var(--color-background-gradient-banner);
}
.card--style-banner .card__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.card--style-banner .card__image figure {
  width: 100%;
  border-radius: var(--border-radius);
}
.card--style-banner .card__title {
  color: var(--color-heading-banner);
}
.card--style-banner .card__description {
  color: var(--color-text-banner);
}
.card--style-banner .card__content {
  height: auto;
}
.card--style-banner .card__content,
.card--style-banner .card__bottom {
  color: var(--color-text-banner);
}
.card--style-banner .card__content:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-color: var(--color-overlay-banner);
  background-image: var(--color-overlay-gradient-banner);
  opacity: calc(var(--opacity-overlay-banner) / 100);
}
.card--testimonial {
  box-shadow: none;
  text-align: center;
  display: flex;
  flex-direction: column;
}
.card--testimonial:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.card--testimonial__content {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--color-border-card);
  box-sizing: border-box;
  border-radius: var(--border-radius);
  padding: 3.6rem 3.6rem 4.8rem;
  background: var(--color-background-card);
  flex: 1;
  justify-content: center;
  align-items: center;
}
.card--testimonial__testimonial {
  padding: 1.2rem 0;
  color: var(--color-text-card);
  font-size: 1.6rem;
  line-height: 1.5;
}
.card--testimonial__source {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-text-card);
}
.card--testimonial__shop {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: -4rem 0 0 0;
}
.card--testimonial__shop a {
  font-weight: 500;
  text-decoration: underline;
}
.card--testimonial__image {
  margin: 0 0 1.6rem 0;
  height: 8rem;
  width: 8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--color-background-card);
}
.card--testimonial__image--rounded_corners {
  border-radius: var(--border-radius);
  overflow: hidden;
}
.card--testimonial__image--circle {
  border: 1px solid var(--color-border-card);
  background: var(--color-background-card);
  padding: 0.8rem;
  border-radius: 100%;
}
.card--testimonial__image--circle img,
.card--testimonial__image--circle svg {
  border-radius: 100%;
}
.card--testimonial__image--border {
  border: 1px solid var(--color-border-card);
}
.card--testimonial__image img {
  width: 100%;
  height: 100%;
}
.card:hover .card__image:not(.card__image--slider)[*|\:has\(figure\%20\%3E\%20] img:first-child, .card:hover .card__image:not(.card__image--slider)[*|\:has\(figure\%20\%3E\%20] video:first-child, .card:hover .card__image:not(.card__image--slider)[*|\:has\(figure\%20\%3E\%20] product-model:first-child, .card:hover .card__image:not(.card__image--slider)[*|\:has\(figure\%20\%3E\%20] iframe:first-child, .card:active .card__image:not(.card__image--slider)[*|\:has\(figure\%20\%3E\%20] img:first-child, .card:active .card__image:not(.card__image--slider)[*|\:has\(figure\%20\%3E\%20] video:first-child, .card:active .card__image:not(.card__image--slider)[*|\:has\(figure\%20\%3E\%20] product-model:first-child, .card:active .card__image:not(.card__image--slider)[*|\:has\(figure\%20\%3E\%20] iframe:first-child, .card:focus .card__image:not(.card__image--slider)[*|\:has\(figure\%20\%3E\%20] img:first-child, .card:focus .card__image:not(.card__image--slider)[*|\:has\(figure\%20\%3E\%20] video:first-child, .card:focus .card__image:not(.card__image--slider)[*|\:has\(figure\%20\%3E\%20] product-model:first-child, .card:focus .card__image:not(.card__image--slider)[*|\:has\(figure\%20\%3E\%20] iframe:first-child {
  opacity: 0 !important;
}
.card:hover .card__image:not(.card__image--slider):has(figure > * + *) img:first-child, .card:hover .card__image:not(.card__image--slider):has(figure > * + *) video:first-child, .card:hover .card__image:not(.card__image--slider):has(figure > * + *) product-model:first-child, .card:hover .card__image:not(.card__image--slider):has(figure > * + *) iframe:first-child, .card:active .card__image:not(.card__image--slider):has(figure > * + *) img:first-child, .card:active .card__image:not(.card__image--slider):has(figure > * + *) video:first-child, .card:active .card__image:not(.card__image--slider):has(figure > * + *) product-model:first-child, .card:active .card__image:not(.card__image--slider):has(figure > * + *) iframe:first-child, .card:focus .card__image:not(.card__image--slider):has(figure > * + *) img:first-child, .card:focus .card__image:not(.card__image--slider):has(figure > * + *) video:first-child, .card:focus .card__image:not(.card__image--slider):has(figure > * + *) product-model:first-child, .card:focus .card__image:not(.card__image--slider):has(figure > * + *) iframe:first-child {
  opacity: 0 !important;
}
.card:hover .card__image:not(.card__image--slider) img + img, .card:hover .card__image:not(.card__image--slider) img + video, .card:hover .card__image:not(.card__image--slider) img + product-model, .card:hover .card__image:not(.card__image--slider) img + iframe, .card:hover .card__image:not(.card__image--slider) video + img, .card:hover .card__image:not(.card__image--slider) video + video, .card:hover .card__image:not(.card__image--slider) video + product-model, .card:hover .card__image:not(.card__image--slider) video + iframe, .card:hover .card__image:not(.card__image--slider) product-model + img, .card:hover .card__image:not(.card__image--slider) product-model + video, .card:hover .card__image:not(.card__image--slider) product-model + product-model, .card:hover .card__image:not(.card__image--slider) product-model + iframe, .card:hover .card__image:not(.card__image--slider) iframe + img, .card:hover .card__image:not(.card__image--slider) iframe + video, .card:hover .card__image:not(.card__image--slider) iframe + product-model, .card:hover .card__image:not(.card__image--slider) iframe + iframe, .card:active .card__image:not(.card__image--slider) img + img, .card:active .card__image:not(.card__image--slider) img + video, .card:active .card__image:not(.card__image--slider) img + product-model, .card:active .card__image:not(.card__image--slider) img + iframe, .card:active .card__image:not(.card__image--slider) video + img, .card:active .card__image:not(.card__image--slider) video + video, .card:active .card__image:not(.card__image--slider) video + product-model, .card:active .card__image:not(.card__image--slider) video + iframe, .card:active .card__image:not(.card__image--slider) product-model + img, .card:active .card__image:not(.card__image--slider) product-model + video, .card:active .card__image:not(.card__image--slider) product-model + product-model, .card:active .card__image:not(.card__image--slider) product-model + iframe, .card:active .card__image:not(.card__image--slider) iframe + img, .card:active .card__image:not(.card__image--slider) iframe + video, .card:active .card__image:not(.card__image--slider) iframe + product-model, .card:active .card__image:not(.card__image--slider) iframe + iframe, .card:focus .card__image:not(.card__image--slider) img + img, .card:focus .card__image:not(.card__image--slider) img + video, .card:focus .card__image:not(.card__image--slider) img + product-model, .card:focus .card__image:not(.card__image--slider) img + iframe, .card:focus .card__image:not(.card__image--slider) video + img, .card:focus .card__image:not(.card__image--slider) video + video, .card:focus .card__image:not(.card__image--slider) video + product-model, .card:focus .card__image:not(.card__image--slider) video + iframe, .card:focus .card__image:not(.card__image--slider) product-model + img, .card:focus .card__image:not(.card__image--slider) product-model + video, .card:focus .card__image:not(.card__image--slider) product-model + product-model, .card:focus .card__image:not(.card__image--slider) product-model + iframe, .card:focus .card__image:not(.card__image--slider) iframe + img, .card:focus .card__image:not(.card__image--slider) iframe + video, .card:focus .card__image:not(.card__image--slider) iframe + product-model, .card:focus .card__image:not(.card__image--slider) iframe + iframe {
  opacity: 1 !important;
}
.card:hover:not(.card--style-banner) .card__title, .card:active:not(.card--style-banner) .card__title, .card:focus:not(.card--style-banner) .card__title {
  color: var(--color-text-links-hover);
}
.card:hover:not(.card--style-banner).card--text-display--text .card__description, .card:active:not(.card--style-banner).card--text-display--text .card__description, .card:focus:not(.card--style-banner).card--text-display--text .card__description {
  color: var(--color-text-links-hover);
}

.form__input-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex: 1;
  position: relative;
  background: var(--color-input-background);
  border: 1px solid var(--color-input-border);
  border-radius: var(--border-radius);
  color: var(--color-input-text);
  box-shadow: 0 1px 0.2rem rgba(16, 24, 40, 0.05);
  overflow: hidden;
}
.form__input-wrapper input[type=email],
.form__input-wrapper input[type=text],
.form__input-wrapper input[type=search],
.form__input-wrapper select {
  outline-offset: 0 !important;
}
.form__input-wrapper input[type=email],
.form__input-wrapper input[type=text],
.form__input-wrapper input[type=search],
.form__input-wrapper select {
  flex: 1;
  width: 100%;
  background: transparent;
  z-index: 1;
  color: inherit;
  border-radius: inherit;
}
.form__input-wrapper input[type=email]::-webkit-search-cancel-button,
.form__input-wrapper input[type=text]::-webkit-search-cancel-button,
.form__input-wrapper input[type=search]::-webkit-search-cancel-button,
.form__input-wrapper select::-webkit-search-cancel-button {
  display: none;
}
.form__input-wrapper input[type=email]::-webkit-input-placeholder,
.form__input-wrapper input[type=text]::-webkit-input-placeholder,
.form__input-wrapper input[type=search]::-webkit-input-placeholder,
.form__input-wrapper select::-webkit-input-placeholder {
  font-size: 1.2rem;
  color: var(--color-input-placeholder);
  text-transform: var(--font-body-transform);
}
@media (min-width: 64em) {
  .form__input-wrapper input[type=email]::-webkit-input-placeholder,
  .form__input-wrapper input[type=text]::-webkit-input-placeholder,
  .form__input-wrapper input[type=search]::-webkit-input-placeholder,
  .form__input-wrapper select::-webkit-input-placeholder {
    font-size: 0.92em;
  }
}
.form__input-wrapper input[type=email]:-moz-placeholder,
.form__input-wrapper input[type=text]:-moz-placeholder,
.form__input-wrapper input[type=search]:-moz-placeholder,
.form__input-wrapper select:-moz-placeholder {
  font-size: 1.2rem;
  color: var(--color-input-placeholder);
  text-transform: var(--font-body-transform);
}
@media (min-width: 64em) {
  .form__input-wrapper input[type=email]:-moz-placeholder,
  .form__input-wrapper input[type=text]:-moz-placeholder,
  .form__input-wrapper input[type=search]:-moz-placeholder,
  .form__input-wrapper select:-moz-placeholder {
    font-size: 0.92em;
  }
}
.form__input-wrapper input[type=email]::-moz-placeholder,
.form__input-wrapper input[type=text]::-moz-placeholder,
.form__input-wrapper input[type=search]::-moz-placeholder,
.form__input-wrapper select::-moz-placeholder {
  font-size: 1.2rem;
  color: var(--color-input-placeholder);
  text-transform: var(--font-body-transform);
}
@media (min-width: 64em) {
  .form__input-wrapper input[type=email]::-moz-placeholder,
  .form__input-wrapper input[type=text]::-moz-placeholder,
  .form__input-wrapper input[type=search]::-moz-placeholder,
  .form__input-wrapper select::-moz-placeholder {
    font-size: 0.92em;
  }
}
.form__input-wrapper input[type=email]:-ms-input-placeholder,
.form__input-wrapper input[type=text]:-ms-input-placeholder,
.form__input-wrapper input[type=search]:-ms-input-placeholder,
.form__input-wrapper select:-ms-input-placeholder {
  font-size: 1.2rem;
  color: var(--color-input-placeholder);
  text-transform: var(--font-body-transform);
}
@media (min-width: 64em) {
  .form__input-wrapper input[type=email]:-ms-input-placeholder,
  .form__input-wrapper input[type=text]:-ms-input-placeholder,
  .form__input-wrapper input[type=search]:-ms-input-placeholder,
  .form__input-wrapper select:-ms-input-placeholder {
    font-size: 0.92em;
  }
}
.form__input-wrapper input[type=email],
.form__input-wrapper input[type=text],
.form__input-wrapper input[type=search] {
  padding: 1.6rem 8rem 1.6rem 4rem;
}
@media (min-width: 64em) {
  .form__input-wrapper input[type=email],
  .form__input-wrapper input[type=text],
  .form__input-wrapper input[type=search] {
    padding: 1.6rem 12rem 1.6rem 4rem;
  }
}
.form__input-wrapper select {
  padding: 1.2rem 4rem 1.2rem 1rem;
}
.form__input-wrapper .icon {
  position: absolute;
  z-index: 0;
  margin: 0 0.8rem;
  color: inherit;
}
.form__input-wrapper .expand {
  margin: 0;
}
.form__input-wrapper .button, .form__input-wrapper .shopify-payment-button button, .shopify-payment-button .form__input-wrapper button, .form__input-wrapper .button--circle, .form__input-wrapper .button--xl, .form__input-wrapper .button--xl-inverted, .form__input-wrapper .button--xl-secondary, .form__input-wrapper .button--lg, .form__input-wrapper .button--lg-inverted, .form__input-wrapper .button--lg-secondary, .form__input-wrapper .button--sm, .form__input-wrapper .button--sm-inverted, .form__input-wrapper .button--sm-secondary, .form__input-wrapper .button--xs, .form__input-wrapper .button--xs-inverted, .form__input-wrapper .button--xs-secondary, .form__input-wrapper .button--inverted, .form__input-wrapper .button--secondary, .form__input-wrapper .button--pill, .form__input-wrapper .button--add-to-cart--inverted, .form__input-wrapper .button--add-to-cart--secondary, .form__input-wrapper .button--default, .form__input-wrapper .button--primary {
  position: absolute;
  z-index: 2;
  padding: 0.8rem 1.2rem;
}
.form__input-wrapper .expand,
.form__input-wrapper .button,
.form__input-wrapper .shopify-payment-button button,
.shopify-payment-button .form__input-wrapper button,
.form__input-wrapper .button--circle,
.form__input-wrapper .button--xl,
.form__input-wrapper .button--xl-inverted,
.form__input-wrapper .button--xl-secondary,
.form__input-wrapper .button--lg,
.form__input-wrapper .button--lg-inverted,
.form__input-wrapper .button--lg-secondary,
.form__input-wrapper .button--sm,
.form__input-wrapper .button--sm-inverted,
.form__input-wrapper .button--sm-secondary,
.form__input-wrapper .button--xs,
.form__input-wrapper .button--xs-inverted,
.form__input-wrapper .button--xs-secondary,
.form__input-wrapper .button--inverted,
.form__input-wrapper .button--secondary,
.form__input-wrapper .button--pill,
.form__input-wrapper .button--add-to-cart--inverted,
.form__input-wrapper .button--add-to-cart--secondary,
.form__input-wrapper .button--default,
.form__input-wrapper .button--primary {
  right: 0.8rem;
  top: 50%;
  transform: translateY(-50%);
}

.form__output-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  z-index: 10;
  padding: 1.2rem;
  font-size: 1.4rem;
  line-height: 2.4rem;
}
.form__output-wrapper span {
  margin: 0 0.8rem 0 0.2rem;
  font-size: 2rem;
}

.input-field {
  display: flex;
  flex-direction: column;
  margin: 0 0 2.4rem 0;
}
.input-field label {
  margin: 0 0 0.8rem 0;
}
.input-field input,
.input-field textarea {
  background: var(--color-input-background);
  border: 1px solid var(--color-input-border);
  color: var(--color-input-text);
  box-shadow: 0 1px 0.2rem rgba(16, 24, 40, 0.05);
  border-radius: var(--border-radius);
  padding: 1.2rem 1.6rem;
}
.input-field input::-webkit-input-placeholder,
.input-field textarea::-webkit-input-placeholder {
  color: var(--color-input-placeholder);
  text-transform: var(--font-body-transform);
}
.input-field input:-moz-placeholder,
.input-field textarea:-moz-placeholder {
  color: var(--color-input-placeholder);
  text-transform: var(--font-body-transform);
}
.input-field input::-moz-placeholder,
.input-field textarea::-moz-placeholder {
  color: var(--color-input-placeholder);
  text-transform: var(--font-body-transform);
}
.input-field input:-ms-input-placeholder,
.input-field textarea:-ms-input-placeholder {
  color: var(--color-input-placeholder);
  text-transform: var(--font-body-transform);
}

.localization-form--select {
  display: flex;
}
.localization-form--select select {
  width: 100%;
  color: var(--color-text);
}
.localization-form button {
  width: 100%;
  margin: 0.8rem 0 0 0;
}
.localization-form details {
  position: relative;
}
.localization-form details summary {
  display: flex;
  align-items: center;
}
.localization-form details[open] summary .icon {
  transform: rotate(-180deg);
}
.localization-form details ul {
  background: var(--color-background-body);
  width: 100%;
  border: 1px solid var(--color-border);
  box-shadow: 0 2rem 6rem rgba(52, 64, 84, 0.08);
  border-radius: var(--border-radius);
  max-height: 10rem;
  overflow: scroll;
  position: absolute;
  top: -4rem;
  opacity: 0;
  visibility: hidden;
  transition: 0.4s;
  font-size: 1.2rem;
  text-align: left;
}
.localization-form details ul li {
  padding: 0.8rem;
  transition: 0.4s;
}
.localization-form details ul li a.active {
  font-weight: var(--font-body-weight-bold);
}
.header .localization-form details ul {
  top: 0;
}
.localization-form details[open] ul {
  opacity: 1;
  visibility: visible;
}
.header .localization-form details[open] ul {
  top: 4.4rem;
}

[data-tooltip-trigger] + [data-tooltip] {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  visibility: visible;
  opacity: 1;
  transition: opacity 0.2s;
}
[data-tooltip-trigger] + [data-tooltip].nav--multi-level {
  width: var(--container-width);
  max-width: calc(100vw - var(--gap) * 2);
  min-width: auto;
}
[data-tooltip-trigger] + [data-tooltip] #arrow {
  position: absolute;
  z-index: 5;
  overflow: hidden;
  width: 20px;
  height: 20px;
}
@media (max-width: 63.99em) {
  [data-tooltip-trigger] + [data-tooltip] #arrow {
    display: none;
  }
}
[data-tooltip-trigger] + [data-tooltip] #arrow:after {
  content: "";
  position: absolute;
  top: 50%;
  width: 100%;
  border: 1px solid var(--color-border);
  background: var(--color-background-body);
  height: 100%;
  transform: rotate(45deg);
  left: 0;
}
[data-tooltip-trigger]:not([open]) + [data-tooltip] {
  top: -9999px;
  left: -9999px;
  visibility: hidden;
  opacity: 0;
  z-index: -1;
  transition: visibility 0s 0.3s, opacity 0.3s;
}
[data-tooltip-trigger]:not([open]) + [data-tooltip] .active {
  visibility: hidden;
  opacity: 0;
  transition: all 0s 0.3s;
}

@media (max-width: 63.99em) {
  [data-mobile-view=fullscreen] [data-tooltip-trigger] + [data-tooltip] {
    position: fixed;
    max-width: calc(100% - var(--gap));
  }
}
.tooltip--search {
  transition: 0s !important;
}

.u-hide {
  display: none !important;
}

.visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
.visually-hidden:active, .visually-hidden:focus {
  clip: auto;
  -webkit-clip-path: none;
          clip-path: none;
  display: block;
  height: auto;
  width: auto;
  z-index: 100000;
  text-decoration: none;
}

@media (prefers-reduced-motion) {
  .u-motion-reduce {
    transition: none !important;
  }
}
.u-show,
.u-hide-none {
  display: block !important;
  visibility: visible !important;
}

.u-flex,
.u-flex-none {
  display: flex !important;
  visibility: visible !important;
}

.u-grid {
  display: grid !important;
}

.u-grid {
  grid-gap: calc(var(--gap) / 2);
  gap: calc(var(--gap) / 2);
}
@media (max-width: 63.99em) {
  .u-grid {
    grid-template-columns: repeat(var(--column-count-mobile), minmax(0, 1fr));
  }
}
@media (min-width: 64em) {
  .u-grid {
    gap: var(--gap);
    grid-template-columns: repeat(var(--column-count-desktop), minmax(0, 1fr));
  }
}

.u-focus-none {
  box-shadow: none !important;
  outline: 0 !important;
}

.u-visible {
  visibility: visible !important;
  opacity: 1 !important;
}

.u-invisible {
  visibility: hidden !important;
  opacity: 0 !important;
}

.no-scrollbar::-webkit-scrollbar {
  width: 0; /* Remove scrollbar space */
  background: transparent; /* Optional: just make scrollbar invisible */
}

.w-100 {
  width: 100% !important;
}

@media (min-width: 64em) {
  .display--fill {
    max-width: none !important;
  }
  .display--fill {
    flex: 1;
  }
}
@media (max-width: 63.99em) {
  .display--fill-mobile {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 63.99em) {
  .hide-mobile {
    display: none !important;
  }
}

@media (min-width: 64em) {
  .hide-desktop {
    display: none !important;
  }
}

.video .container,
.image .container {
  display: flex;
  flex-direction: column;
}
.video .text--caption, .video .swiper-pagination.swiper-pagination-fraction,
.image .text--caption,
.image .swiper-pagination.swiper-pagination-fraction {
  max-width: 100%;
  display: block;
}

truncatable-content {
  position: relative;
  display: block;
}
truncatable-content > div {
  overflow: hidden;
  max-height: 9.6rem;
  transition: 0.5s;
}
.facets__facet truncatable-content > div {
  max-height: 16rem;
}
truncatable-content > div.text-sm, .main-product__blocks .shopify_subscriptions_fieldset truncatable-content > div.shopify_subscriptions_app__title, truncatable-content > div.text--caption-lg, truncatable-content > div.button--plain-sm, truncatable-content > div.button--sm, truncatable-content > div.button--sm-inverted, truncatable-content > div.button--sm-secondary {
  max-height: 8.4rem;
}
truncatable-content > div.text-lg, truncatable-content > div.button--lg, truncatable-content > div.button--lg-inverted, truncatable-content > div.button--lg-secondary {
  max-height: 9rem;
}
truncatable-content > div.text-xl, truncatable-content > div.button--xl, truncatable-content > div.button--xl-inverted, truncatable-content > div.button--xl-secondary {
  max-height: 10.8rem;
}
truncatable-content .shrink,
truncatable-content .expand {
  display: none;
  z-index: 1;
  font-size: 1.4rem;
  line-height: 2.4rem;
  width: 100%;
  margin: 0;
  color: var(--color-text);
  cursor: pointer;
  text-decoration: underline;
  transition: all 0.4s;
}
.facets__facet truncatable-content .shrink,
.facets__facet truncatable-content .expand {
  position: absolute;
  text-align: right;
  bottom: 0;
  right: 0;
  padding: 0 0 0 0.8rem;
  background: rgb(var(--color-background-alt-rgb));
  background: linear-gradient(172deg, rgba(var(--color-background-alt-rgb), 0) 50%, rgba(var(--color-background-alt-rgb), 1) 100%);
}
truncatable-content .shrink:hover, truncatable-content .shrink:active, truncatable-content .shrink:focus,
truncatable-content .expand:hover,
truncatable-content .expand:active,
truncatable-content .expand:focus {
  color: var(--color-text-links-hover);
}
truncatable-content.truncated .expand {
  display: block;
}
.facets__facet truncatable-content.truncated:after {
  content: "";
  z-index: 0;
  position: absolute;
  width: 100%;
  height: 2.4rem;
  right: 0;
  bottom: -1px;
  text-align: right;
  background: rgb(var(--color-background-alt-rgb));
  background: linear-gradient(90deg, rgba(var(--color-background-alt-rgb), 0) 0%, rgba(var(--color-background-alt-rgb), 1) 100%);
}
truncatable-content.expanded {
  margin-bottom: 2.4rem;
}
truncatable-content.expanded > div {
  overflow: visible;
}
truncatable-content.expanded .expand {
  display: none;
}
truncatable-content.expanded .shrink {
  display: block;
  background: transparent;
  bottom: -2.4rem;
}
.facets__facet truncatable-content.expanded:after {
  bottom: -2.4rem;
}

.separators {
  display: block;
  width: 100%;
}

.separator {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

hr {
  width: 100%;
}
hr.none {
  border: none;
}
hr.line {
  border-top: 0;
  border-bottom: 1px;
  border-style: solid;
}
hr.dotted {
  border-top: 0;
  border-bottom: 1px;
  border-style: dotted;
}
hr.dashed {
  border-top: 0;
  border-bottom: 1px;
  border-style: dashed;
}

.no-js .no-js-hidden {
  display: none !important;
}

.has-js .has-js-hidden {
  display: none !important;
}

body.no-scroll {
  overflow: hidden;
}
@media (max-width: 63.99em) {
  body.no-scroll--laptop-down {
    overflow: hidden;
  }
}

.overlay {
  position: fixed;
  top: 0;
  height: 100%;
  width: 100%;
  left: 0;
  bottom: 0;
  right: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s;
}
.overlay.open {
  visibility: visible;
  opacity: 1;
  z-index: 999;
  transition: opacity 0.2s;
}

.above-overlay {
  z-index: 1000 !important;
}
.above-overlay#nav-wrapper {
  z-index: 1001 !important;
}
.above-overlay#nav-wrapper .main-navigation {
  background: var(--color-background-body);
}

@keyframes ux-shake {
  0%, 50%, 100% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-0.2rem);
  }
  75% {
    transform: translateX(0.2rem);
  }
}
.ux-shake {
  display: block;
  animation: ux-shake 0.2s 2 ease-out;
}

@media (max-width: 63.99em) {
  .alignment-horizontal-mobile--left {
    justify-content: flex-start;
    text-align: left;
    align-items: flex-start;
  }
  .alignment-horizontal-mobile--left a {
    align-self: flex-start;
  }
  .alignment-horizontal-mobile--center {
    justify-content: center;
    text-align: center;
    align-items: center;
  }
  .alignment-horizontal-mobile--center .social-accounts ul {
    justify-content: center;
  }
  .alignment-horizontal-mobile--center a {
    align-self: center;
  }
  .alignment-horizontal-mobile--right {
    justify-content: flex-end;
    text-align: right;
    align-items: flex-end;
  }
  .alignment-horizontal-mobile--right .social-accounts ul {
    justify-content: flex-end;
  }
  .alignment-horizontal-mobile--right a {
    align-self: flex-end;
  }
}
@media (min-width: 64em) {
  .alignment-horizontal--left a {
    align-self: flex-start;
  }
  .alignment-horizontal--center {
    justify-content: center;
    text-align: center;
    align-items: center;
  }
  .alignment-horizontal--center .social-accounts ul {
    justify-content: center;
  }
  .alignment-horizontal--center a {
    align-self: center;
  }
  .alignment-horizontal--right {
    justify-content: flex-end;
    text-align: right;
    align-items: flex-end;
  }
  .alignment-horizontal--right localization-form {
    margin-right: -0.4rem;
  }
  .alignment-horizontal--right .social-accounts ul {
    justify-content: flex-end;
  }
  .alignment-horizontal--right a {
    align-self: flex-end;
  }
}
.slider-enabled {
  overflow: hidden;
}

.img-absolute, .shopify-section .section__wrapper-background, .img-absolute--logo, .img-absolute--no-index {
  height: 100% !important;
}

.img-absolute, .shopify-section .section__wrapper-background, .img-absolute--logo, .img-absolute--no-index {
  position: absolute;
  -o-object-fit: cover;
     object-fit: cover;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 0;
}
.img-absolute--no-index {
  z-index: 0;
}
.img-absolute--logo {
  -o-object-fit: contain;
     object-fit: contain;
  width: 50%;
  left: 0;
  right: 0;
  top: 50%;
  margin: 0 auto;
  height: auto;
  transform: translateY(-50%);
}

.img-placeholder {
  background: rgba(231, 229, 220, 0.48);
  width: 100%;
  height: 100%;
}
.img-placeholder.sticky-add-to-cart__image {
  width: 10rem;
  height: 10rem;
  margin: 0 0.8rem 0 0;
}

figure {
  max-width: 100%;
  position: relative;
  overflow: hidden;
}
figure > div {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
figure .img-placeholder,
figure object,
figure embed,
figure video,
figure model-viewer {
  -o-object-fit: cover;
     object-fit: cover;
}
figure .img-placeholder,
figure iframe,
figure object,
figure embed,
figure video,
figure model-viewer {
  width: 100% !important;
  height: 100% !important;
}
figure .img-placeholder,
figure iframe,
figure object,
figure embed,
figure video,
figure model-viewer {
  position: absolute;
  top: 0;
  left: 0;
}
figure iframe,
figure object,
figure embed,
figure video,
figure model-viewer {
  border: 0;
}
figure.style--no_padding {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.figure, .figure--video, .figure--external_video {
  max-width: 100%;
  position: relative;
  overflow: hidden;
}
.figure--default video,
.figure--default img:not(.figure--video__external-poster-image),
.figure--default svg {
  -o-object-fit: contain;
     object-fit: contain;
  position: relative;
}
.card .figure--default {
  aspect-ratio: 1/1;
}
.card .figure--default img {
  -o-object-fit: cover;
     object-fit: cover;
}
.figure--default.figure--model {
  aspect-ratio: 1/1;
}
.figure--default .icon {
  position: absolute;
}
.figure--video, .figure--external_video {
  overflow: hidden;
  border-radius: var(--border-radius);
}
.figure--video__poster, .figure--external_video__poster {
  position: absolute;
  overflow: hidden;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: 0.4s;
}
.figure--video__poster span, .figure--external_video__poster span {
  color: var(--color-background-body) !important;
}
.figure--video__poster span, .figure--external_video__poster span {
  width: 6.4rem;
  height: 6.4rem;
  font-size: 6.4rem;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  transition: 0.4s;
  z-index: 1;
}
.figure--video__poster:hover span, .figure--video__poster:active span, .figure--video__poster:focus span, .figure--external_video__poster:hover span, .figure--external_video__poster:active span, .figure--external_video__poster:focus span {
  transform: scale(1.1);
  color: var(--color-icon-hover);
}
.figure--video__poster.hidden, .figure--external_video__poster.hidden {
  opacity: 0;
  visibility: hidden;
  z-index: 0;
}
.figure--video__poster img, .figure--external_video__poster img {
  margin: 0 !important;
  height: 100% !important;
}
.figure--video__poster img, .figure--external_video__poster img {
  -o-object-fit: cover;
     object-fit: cover;
}
.figure--square {
  aspect-ratio: 1/1;
}
.figure--landscape {
  aspect-ratio: 16/9;
}
.figure--portrait {
  aspect-ratio: 2/3;
}
.figure--widescreen {
  aspect-ratio: 16/9;
}
@media (min-width: 64em) {
  .figure--widescreen {
    aspect-ratio: 2.35/1;
  }
}
.figure--background {
  background: var(--color-background-alt);
}
.figure--video__poster:before, .figure--overlay:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.figure:not(.aspect-ratio--default) .object-fit--cover, .figure--video:not(.aspect-ratio--default) .object-fit--cover, .figure--external_video:not(.aspect-ratio--default) .object-fit--cover {
  width: 100%;
  height: 100%;
}

.image--circle {
  border-radius: 100%;
}
.image--rounded_corners {
  border-radius: var(--border-radius);
  overflow: hidden;
}

.icon {
  opacity: 0;
  transition: opacity 0.1s, transform 0.2s;
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-flex;
  flex-shrink: 0;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "liga";
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48;
  width: 2.4rem;
  height: 2.4rem;
  color: var(--color-icon);
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.no-js .icon, .icon.loaded {
  opacity: 1;
}

details .icon {
  color: inherit;
}
details:hover .icon, details:active .icon, details:focus .icon {
  color: inherit;
}

img.variant-image {
  z-index: 2;
  transition: opacity 0.3s linear, visibility 0s 0s linear;
}
img.variant-image.hidden {
  opacity: 0 !important;
}
img.variant-image.hidden {
  z-index: 1;
  transition: opacity 0.6s linear, visibility 0s 0.6s linear;
  visibility: hidden;
  display: none;
}

.text--uppercase {
  text-transform: uppercase;
}
.text--center {
  text-align: center;
}
.text--light {
  font-weight: 300;
}
.text--center {
  text-align: center;
}
.text--right {
  text-align: right;
}
@media (min-width: 64em) {
  .text--nowrap {
    white-space: nowrap;
  }
}

.aspect-ratio--default {
  aspect-ratio: auto;
  height: -moz-fit-content;
  height: fit-content;
}
.aspect-ratio--default > video,
.aspect-ratio--default > img:not(.figure--video__external-poster-image),
.aspect-ratio--default > svg {
  -o-object-fit: contain;
     object-fit: contain;
  position: relative;
  height: auto;
}
@media (min-width: 64em) {
  .aspect-ratio--default.figure--video-external {
    aspect-ratio: 16/9;
  }
}
.aspect-ratio--default.figure--model {
  aspect-ratio: 1/1;
}
.aspect-ratio--landscape {
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 16/9;
}
.aspect-ratio--portrait {
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 2/3;
}
.aspect-ratio--square {
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 1/1;
}
.aspect-ratio--ultrawide {
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 4/1;
}
.aspect-ratio--megawide {
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 6.4/1;
}
.aspect-ratio--widescreen {
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 2.35/1;
}
.aspect-ratio--circle, .button--circle {
  border-radius: 100% !important;
}
.aspect-ratio--circle, .button--circle {
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 1;
}
@media (max-width: 63.99em) {
  .aspect-ratio__mobile--default {
    aspect-ratio: auto;
    height: -moz-fit-content;
    height: fit-content;
  }
  .aspect-ratio__mobile--default > video:not(.banner__background),
  .aspect-ratio__mobile--default > img:not(.figure--video__external-poster-image):not(.banner__background),
  .aspect-ratio__mobile--default > svg:not(.banner__background) {
    -o-object-fit: contain;
       object-fit: contain;
    position: relative;
  }
  .aspect-ratio__mobile--default > video {
    aspect-ratio: 16/9;
  }
  .aspect-ratio__mobile--default.figure--video-external {
    aspect-ratio: 16/9;
  }
  .aspect-ratio__mobile--square {
    height: -moz-fit-content;
    height: fit-content;
    aspect-ratio: 1/1;
  }
  .aspect-ratio__mobile--landscape {
    height: -moz-fit-content;
    height: fit-content;
    aspect-ratio: 16/9;
  }
  .aspect-ratio__mobile--portrait {
    height: -moz-fit-content;
    height: fit-content;
    aspect-ratio: 9/16;
  }
  .aspect-ratio__mobile--widescreen {
    height: -moz-fit-content;
    height: fit-content;
    aspect-ratio: 2.35/1;
  }
  .aspect-ratio__mobile--ultrawide {
    height: -moz-fit-content;
    height: fit-content;
    aspect-ratio: 4/1;
  }
  .aspect-ratio__mobile--megawide {
    height: -moz-fit-content;
    height: fit-content;
    aspect-ratio: 6.4/1;
  }
}

.object-fit--cover {
  -o-object-fit: cover !important;
     object-fit: cover !important;
}
.object-fit--contain {
  -o-object-fit: contain !important;
     object-fit: contain !important;
}
.object-fit--default {
  -o-object-fit: none !important;
     object-fit: none !important;
}

.accordion details {
  border-radius: var(--border-radius);
  border: 1px solid var(--color-border);
  margin: 0 0 1.6rem 0;
  background: var(--color-background-card);
}
.accordion details:last-child, .main-product .accordion details {
  margin: 0;
}
.accordion details summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 500;
  padding: 1.6rem 2.4rem;
  position: relative;
  outline-style: none;
}
.accordion details summary:hover, .accordion details summary:active, .accordion details summary:focus {
  outline-style: none;
}
.accordion details summary:hover p, .accordion details summary:active p, .accordion details summary:focus p {
  color: var(--color-text-links-hover);
}
.accordion details summary:hover span, .accordion details summary:active span, .accordion details summary:focus span {
  color: var(--color-icon-hover);
}
.accordion details summary p {
  flex: 1;
  padding: 0 3.2rem 0 0;
  transition: color 0.2s;
  line-height: 1.125;
}
.accordion details summary p:not([class]) {
  font-size: 1.8rem;
}
@media (min-width: 64em) {
  .accordion details summary p:not([class]) {
    font-size: 2rem;
  }
}
.accordion details summary p:last-of-type {
  margin: 0;
}
.accordion details summary span {
  transition: all 0.2s;
}
.accordion details summary span + p {
  padding-left: 1.6rem;
}
.accordion details summary::-webkit-details-marker {
  display: none;
}
.accordion details[open] summary span:last-child {
  transform: rotate(180deg);
}
.accordion details .content {
  padding: 0 2.4rem 2.4rem 2.4rem;
  display: block;
}
.accordion details .content a + .wysiwyg, .accordion details .content a + .shopify-policy__container,
.accordion details .content .wysiwyg + .wysiwyg,
.accordion details .content .shopify-policy__container + .wysiwyg,
.accordion details .content .wysiwyg + .shopify-policy__container,
.accordion details .content .shopify-policy__container + .shopify-policy__container,
.accordion details .content .wysiwyg + a,
.accordion details .content .shopify-policy__container + a {
  margin: 1.6rem 0 0 0;
}
.accordion details figure:first-child {
  margin: 0 0 1.6rem;
}
@media (min-width: 64em) {
  .accordion details figure:first-child {
    margin: 0 0 2.4rem;
  }
}
.accordion details figure:not(:first-child) {
  margin: 1.6rem 0;
}
@media (min-width: 64em) {
  .accordion details figure:not(:first-child) {
    margin: 2.4rem 0;
  }
}
.accordion details figure:last-child {
  margin: 1.6rem 0 0;
}
@media (min-width: 64em) {
  .accordion details figure:last-child {
    margin: 2.4rem 0 0;
  }
}
.accordion .container {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}
@media (min-width: 64em) {
  .accordion .container.has-content {
    grid-template-columns: 1fr 2fr;
    grid-gap: 6.4rem;
  }
  .accordion .container.has-content.content-left {
    grid-template-columns: 2fr 1fr;
  }
  .accordion .container.has-content.content-left .accordion__tabs {
    order: 1;
  }
  .accordion .container.has-content.content-left .accordion__content {
    order: 2;
  }
  .accordion .container.has-content:not(.has-fullwidth) .grid-content__header {
    padding: 0;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
  }
  .accordion .container.has-content:not(.has-fullwidth) .grid-content__header--right {
    align-items: flex-end;
  }
  .accordion .container.has-content:not(.has-fullwidth) .grid-content__header--center {
    align-items: center;
  }
  .accordion .container.has-fullwidth {
    grid-template-columns: 1fr;
    grid-gap: 0;
  }
}
@media (min-width: 64em) {
  .accordion__content .sticky {
    position: sticky;
    top: 12rem;
  }
}

.breadcrumbs nav .container {
  width: 100%;
  max-width: 100%;
  padding: 0;
}
.breadcrumbs ol {
  display: flex;
  align-items: center;
  gap: 1rem;
  overflow-x: scroll;
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
  z-index: 1;
  flex-wrap: wrap;
}
.breadcrumbs ol::-webkit-scrollbar {
  display: none;
  width: 0; /* Remove scrollbar space */
  background: transparent; /* Optional: just make scrollbar invisible */
}
.breadcrumbs ol li {
  display: flex;
  justify-content: center;
}
.breadcrumbs ol li a,
.breadcrumbs ol li p {
  max-width: 80rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0;
}
@media (max-width: 63.99em) {
  .breadcrumbs ol li a,
  .breadcrumbs ol li p {
    font-size: 1.4rem;
    max-width: 20rem;
  }
}
.breadcrumbs ol li:last-child a,
.breadcrumbs ol li:last-child p {
  max-width: 20rem;
}
@media (min-width: 64em) {
  .breadcrumbs ol li:last-child a,
  .breadcrumbs ol li:last-child p {
    max-width: 30rem;
  }
}
.breadcrumbs.section__wrapper nav {
  margin: 0;
}
.breadcrumbs .container.section__wrapper--background {
  padding: 1.6rem;
}
@media (min-width: 64em) {
  .breadcrumbs .container.section__wrapper--background {
    padding: 2.4rem;
  }
}
.breadcrumbs .container.alignment-horizontal--center ol {
  justify-content: center;
}
.breadcrumbs .container.alignment-horizontal--right ol {
  justify-content: flex-end;
}
@media (max-width: 63.99em) {
  .breadcrumbs .container.alignment-horizontal-mobile--left ol {
    justify-content: flex-start;
  }
  .breadcrumbs .container.alignment-horizontal-mobile--center ol {
    justify-content: center;
  }
  .breadcrumbs .container.alignment-horizontal-mobile--right ol {
    justify-content: flex-end;
  }
}
.breadcrumbs.shopify-section ol {
  flex-wrap: nowrap;
}

.button, .shopify-payment-button button, .shopify-payment-button button.disabled, .shopify-payment-button button:disabled, .shopify-payment-button button[aria-disabled=true], .button--circle, .disabled.button--circle, .button--circle:disabled, [aria-disabled=true].button--circle, .button.disabled, .disabled.button--default, .disabled.button--primary, .disabled.button--inverted, .disabled.button--secondary, .disabled.button--pill, .disabled.button--add-to-cart--inverted, .disabled.button--add-to-cart--secondary, .disabled.button--xs, .disabled.button--xs-inverted, .disabled.button--xs-secondary, .disabled.button--sm, .disabled.button--sm-inverted, .disabled.button--sm-secondary, .disabled.button--lg, .disabled.button--lg-inverted, .disabled.button--lg-secondary, .disabled.button--xl, .disabled.button--xl-inverted, .disabled.button--xl-secondary, .button:disabled, .button--default:disabled, .button--primary:disabled, .button--inverted:disabled, .button--secondary:disabled, .button--pill:disabled, .button--add-to-cart--inverted:disabled, .button--add-to-cart--secondary:disabled, .button--xs:disabled, .button--xs-inverted:disabled, .button--xs-secondary:disabled, .button--sm:disabled, .button--sm-inverted:disabled, .button--sm-secondary:disabled, .button--lg:disabled, .button--lg-inverted:disabled, .button--lg-secondary:disabled, .button--xl:disabled, .button--xl-inverted:disabled, .button--xl-secondary:disabled, .button[aria-disabled=true], [aria-disabled=true].button--default, [aria-disabled=true].button--primary, [aria-disabled=true].button--inverted, [aria-disabled=true].button--secondary, [aria-disabled=true].button--pill, [aria-disabled=true].button--add-to-cart--inverted, [aria-disabled=true].button--add-to-cart--secondary, [aria-disabled=true].button--xs, [aria-disabled=true].button--xs-inverted, [aria-disabled=true].button--xs-secondary, [aria-disabled=true].button--sm, [aria-disabled=true].button--sm-inverted, [aria-disabled=true].button--sm-secondary, [aria-disabled=true].button--lg, [aria-disabled=true].button--lg-inverted, [aria-disabled=true].button--lg-secondary, [aria-disabled=true].button--xl, [aria-disabled=true].button--xl-inverted, [aria-disabled=true].button--xl-secondary, .button--xl, .button--xl-inverted, .button--xl-secondary, .button--lg, .button--lg-inverted, .button--lg-secondary, .button--sm, .button--sm-inverted, .button--sm-secondary, .button--xs, .button--xs-inverted, .button--xs-secondary, .button--inverted, .button--secondary, .button--pill, .button--add-to-cart--inverted, .button--add-to-cart--secondary, .shopify-payment-button button, .button--default, .button--primary {
  font-family: var(--font-button-family);
  font-weight: var(--font-button-weight);
  font-style: var(--font-button-style);
  text-transform: var(--font-button-transform);
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  align-self: start;
  gap: 0.8rem;
  flex-shrink: 0;
  margin: 0;
  text-align: center;
  text-decoration: none;
  border: 0.1rem solid var(--color-border-button-primary);
  border-radius: var(--border-radius);
  padding: 1.2rem 2rem;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: var(--color-background-button-primary);
  color: var(--color-text-button-primary);
  transition: color 0.2s, background-color 0.2s, border-color 0.2s;
  max-width: 100%;
  white-space: normal;
  word-break: break-word;
}
.button .icon, .shopify-payment-button button .icon, .button--circle .icon, .button--xl .icon, .button--xl-inverted .icon, .button--xl-secondary .icon, .button--lg .icon, .button--lg-inverted .icon, .button--lg-secondary .icon, .button--sm .icon, .button--sm-inverted .icon, .button--sm-secondary .icon, .button--xs .icon, .button--xs-inverted .icon, .button--xs-secondary .icon, .button--inverted .icon, .button--secondary .icon, .button--pill .icon, .button--add-to-cart--inverted .icon, .button--add-to-cart--secondary .icon, .button--default .icon, .button--primary .icon {
  font-size: 1.6rem;
  width: 1.6rem;
  height: 1.6rem;
  color: inherit;
}
.button:hover, .shopify-payment-button button:hover, .button--circle:hover, .disabled.button--default:hover, .disabled.button--primary:hover, .disabled.button--inverted:hover, .disabled.button--secondary:hover, .disabled.button--pill:hover, .disabled.button--add-to-cart--inverted:hover, .disabled.button--add-to-cart--secondary:hover, .shopify-payment-button button.disabled:hover, .disabled.button--xs:hover, .disabled.button--xs-inverted:hover, .disabled.button--xs-secondary:hover, .disabled.button--sm:hover, .disabled.button--sm-inverted:hover, .disabled.button--sm-secondary:hover, .disabled.button--lg:hover, .disabled.button--lg-inverted:hover, .disabled.button--lg-secondary:hover, .disabled.button--xl:hover, .disabled.button--xl-inverted:hover, .disabled.button--xl-secondary:hover, .button--default:hover:disabled, .button--primary:hover:disabled, .button--inverted:hover:disabled, .button--secondary:hover:disabled, .button--pill:hover:disabled, .button--add-to-cart--inverted:hover:disabled, .button--add-to-cart--secondary:hover:disabled, .shopify-payment-button button:hover:disabled, .button--xs:hover:disabled, .button--xs-inverted:hover:disabled, .button--xs-secondary:hover:disabled, .button--sm:hover:disabled, .button--sm-inverted:hover:disabled, .button--sm-secondary:hover:disabled, .button--lg:hover:disabled, .button--lg-inverted:hover:disabled, .button--lg-secondary:hover:disabled, .button--xl:hover:disabled, .button--xl-inverted:hover:disabled, .button--xl-secondary:hover:disabled, [aria-disabled=true].button--default:hover, [aria-disabled=true].button--primary:hover, [aria-disabled=true].button--inverted:hover, [aria-disabled=true].button--secondary:hover, [aria-disabled=true].button--pill:hover, [aria-disabled=true].button--add-to-cart--inverted:hover, [aria-disabled=true].button--add-to-cart--secondary:hover, .shopify-payment-button button[aria-disabled=true]:hover, [aria-disabled=true].button--xs:hover, [aria-disabled=true].button--xs-inverted:hover, [aria-disabled=true].button--xs-secondary:hover, [aria-disabled=true].button--sm:hover, [aria-disabled=true].button--sm-inverted:hover, [aria-disabled=true].button--sm-secondary:hover, [aria-disabled=true].button--lg:hover, [aria-disabled=true].button--lg-inverted:hover, [aria-disabled=true].button--lg-secondary:hover, [aria-disabled=true].button--xl:hover, [aria-disabled=true].button--xl-inverted:hover, [aria-disabled=true].button--xl-secondary:hover, .button--xl:hover, .button--xl-inverted:hover, .button--xl-secondary:hover, .button--lg:hover, .button--lg-inverted:hover, .button--lg-secondary:hover, .button--sm:hover, .button--sm-inverted:hover, .button--sm-secondary:hover, .button--xs:hover, .button--xs-inverted:hover, .button--xs-secondary:hover, .button--inverted:hover, .button--secondary:hover, .button--pill:hover, .button--add-to-cart--inverted:hover, .button--add-to-cart--secondary:hover, .shopify-payment-button button:hover, .button--default:hover, .button--primary:hover, .button:active, .shopify-payment-button button:active, .button--circle:active, .disabled.button--default:active, .disabled.button--primary:active, .disabled.button--inverted:active, .disabled.button--secondary:active, .disabled.button--pill:active, .disabled.button--add-to-cart--inverted:active, .disabled.button--add-to-cart--secondary:active, .shopify-payment-button button.disabled:active, .disabled.button--xs:active, .disabled.button--xs-inverted:active, .disabled.button--xs-secondary:active, .disabled.button--sm:active, .disabled.button--sm-inverted:active, .disabled.button--sm-secondary:active, .disabled.button--lg:active, .disabled.button--lg-inverted:active, .disabled.button--lg-secondary:active, .disabled.button--xl:active, .disabled.button--xl-inverted:active, .disabled.button--xl-secondary:active, .button--default:active:disabled, .button--primary:active:disabled, .button--inverted:active:disabled, .button--secondary:active:disabled, .button--pill:active:disabled, .button--add-to-cart--inverted:active:disabled, .button--add-to-cart--secondary:active:disabled, .shopify-payment-button button:active:disabled, .button--xs:active:disabled, .button--xs-inverted:active:disabled, .button--xs-secondary:active:disabled, .button--sm:active:disabled, .button--sm-inverted:active:disabled, .button--sm-secondary:active:disabled, .button--lg:active:disabled, .button--lg-inverted:active:disabled, .button--lg-secondary:active:disabled, .button--xl:active:disabled, .button--xl-inverted:active:disabled, .button--xl-secondary:active:disabled, [aria-disabled=true].button--default:active, [aria-disabled=true].button--primary:active, [aria-disabled=true].button--inverted:active, [aria-disabled=true].button--secondary:active, [aria-disabled=true].button--pill:active, [aria-disabled=true].button--add-to-cart--inverted:active, [aria-disabled=true].button--add-to-cart--secondary:active, .shopify-payment-button button[aria-disabled=true]:active, [aria-disabled=true].button--xs:active, [aria-disabled=true].button--xs-inverted:active, [aria-disabled=true].button--xs-secondary:active, [aria-disabled=true].button--sm:active, [aria-disabled=true].button--sm-inverted:active, [aria-disabled=true].button--sm-secondary:active, [aria-disabled=true].button--lg:active, [aria-disabled=true].button--lg-inverted:active, [aria-disabled=true].button--lg-secondary:active, [aria-disabled=true].button--xl:active, [aria-disabled=true].button--xl-inverted:active, [aria-disabled=true].button--xl-secondary:active, .button--xl:active, .button--xl-inverted:active, .button--xl-secondary:active, .button--lg:active, .button--lg-inverted:active, .button--lg-secondary:active, .button--sm:active, .button--sm-inverted:active, .button--sm-secondary:active, .button--xs:active, .button--xs-inverted:active, .button--xs-secondary:active, .button--inverted:active, .button--secondary:active, .button--pill:active, .button--add-to-cart--inverted:active, .button--add-to-cart--secondary:active, .shopify-payment-button button:active, .button--default:active, .button--primary:active, .button:focus, .shopify-payment-button button:focus, .button--circle:focus, .disabled.button--default:focus, .disabled.button--primary:focus, .disabled.button--inverted:focus, .disabled.button--secondary:focus, .disabled.button--pill:focus, .disabled.button--add-to-cart--inverted:focus, .disabled.button--add-to-cart--secondary:focus, .shopify-payment-button button.disabled:focus, .disabled.button--xs:focus, .disabled.button--xs-inverted:focus, .disabled.button--xs-secondary:focus, .disabled.button--sm:focus, .disabled.button--sm-inverted:focus, .disabled.button--sm-secondary:focus, .disabled.button--lg:focus, .disabled.button--lg-inverted:focus, .disabled.button--lg-secondary:focus, .disabled.button--xl:focus, .disabled.button--xl-inverted:focus, .disabled.button--xl-secondary:focus, .button--default:focus:disabled, .button--primary:focus:disabled, .button--inverted:focus:disabled, .button--secondary:focus:disabled, .button--pill:focus:disabled, .button--add-to-cart--inverted:focus:disabled, .button--add-to-cart--secondary:focus:disabled, .shopify-payment-button button:focus:disabled, .button--xs:focus:disabled, .button--xs-inverted:focus:disabled, .button--xs-secondary:focus:disabled, .button--sm:focus:disabled, .button--sm-inverted:focus:disabled, .button--sm-secondary:focus:disabled, .button--lg:focus:disabled, .button--lg-inverted:focus:disabled, .button--lg-secondary:focus:disabled, .button--xl:focus:disabled, .button--xl-inverted:focus:disabled, .button--xl-secondary:focus:disabled, [aria-disabled=true].button--default:focus, [aria-disabled=true].button--primary:focus, [aria-disabled=true].button--inverted:focus, [aria-disabled=true].button--secondary:focus, [aria-disabled=true].button--pill:focus, [aria-disabled=true].button--add-to-cart--inverted:focus, [aria-disabled=true].button--add-to-cart--secondary:focus, .shopify-payment-button button[aria-disabled=true]:focus, [aria-disabled=true].button--xs:focus, [aria-disabled=true].button--xs-inverted:focus, [aria-disabled=true].button--xs-secondary:focus, [aria-disabled=true].button--sm:focus, [aria-disabled=true].button--sm-inverted:focus, [aria-disabled=true].button--sm-secondary:focus, [aria-disabled=true].button--lg:focus, [aria-disabled=true].button--lg-inverted:focus, [aria-disabled=true].button--lg-secondary:focus, [aria-disabled=true].button--xl:focus, [aria-disabled=true].button--xl-inverted:focus, [aria-disabled=true].button--xl-secondary:focus, .button--xl:focus, .button--xl-inverted:focus, .button--xl-secondary:focus, .button--lg:focus, .button--lg-inverted:focus, .button--lg-secondary:focus, .button--sm:focus, .button--sm-inverted:focus, .button--sm-secondary:focus, .button--xs:focus, .button--xs-inverted:focus, .button--xs-secondary:focus, .button--inverted:focus, .button--secondary:focus, .button--pill:focus, .button--add-to-cart--inverted:focus, .button--add-to-cart--secondary:focus, .shopify-payment-button button:focus, .button--default:focus, .button--primary:focus {
  text-decoration: none;
  background-color: var(--color-background-button-primary-hover);
  color: var(--color-text-button-primary-hover);
  border-color: var(--color-border-button-primary-hover);
}
.button:hover .icon, .shopify-payment-button button:hover .icon, .button--circle:hover .icon, .disabled.button--default:hover .icon, .disabled.button--primary:hover .icon, .disabled.button--inverted:hover .icon, .disabled.button--secondary:hover .icon, .disabled.button--pill:hover .icon, .disabled.button--add-to-cart--inverted:hover .icon, .disabled.button--add-to-cart--secondary:hover .icon, .shopify-payment-button button.disabled:hover .icon, .disabled.button--xs:hover .icon, .disabled.button--xs-inverted:hover .icon, .disabled.button--xs-secondary:hover .icon, .disabled.button--sm:hover .icon, .disabled.button--sm-inverted:hover .icon, .disabled.button--sm-secondary:hover .icon, .disabled.button--lg:hover .icon, .disabled.button--lg-inverted:hover .icon, .disabled.button--lg-secondary:hover .icon, .disabled.button--xl:hover .icon, .disabled.button--xl-inverted:hover .icon, .disabled.button--xl-secondary:hover .icon, .button--default:hover:disabled .icon, .button--primary:hover:disabled .icon, .button--inverted:hover:disabled .icon, .button--secondary:hover:disabled .icon, .button--pill:hover:disabled .icon, .button--add-to-cart--inverted:hover:disabled .icon, .button--add-to-cart--secondary:hover:disabled .icon, .shopify-payment-button button:hover:disabled .icon, .button--xs:hover:disabled .icon, .button--xs-inverted:hover:disabled .icon, .button--xs-secondary:hover:disabled .icon, .button--sm:hover:disabled .icon, .button--sm-inverted:hover:disabled .icon, .button--sm-secondary:hover:disabled .icon, .button--lg:hover:disabled .icon, .button--lg-inverted:hover:disabled .icon, .button--lg-secondary:hover:disabled .icon, .button--xl:hover:disabled .icon, .button--xl-inverted:hover:disabled .icon, .button--xl-secondary:hover:disabled .icon, [aria-disabled=true].button--default:hover .icon, [aria-disabled=true].button--primary:hover .icon, [aria-disabled=true].button--inverted:hover .icon, [aria-disabled=true].button--secondary:hover .icon, [aria-disabled=true].button--pill:hover .icon, [aria-disabled=true].button--add-to-cart--inverted:hover .icon, [aria-disabled=true].button--add-to-cart--secondary:hover .icon, .shopify-payment-button button[aria-disabled=true]:hover .icon, [aria-disabled=true].button--xs:hover .icon, [aria-disabled=true].button--xs-inverted:hover .icon, [aria-disabled=true].button--xs-secondary:hover .icon, [aria-disabled=true].button--sm:hover .icon, [aria-disabled=true].button--sm-inverted:hover .icon, [aria-disabled=true].button--sm-secondary:hover .icon, [aria-disabled=true].button--lg:hover .icon, [aria-disabled=true].button--lg-inverted:hover .icon, [aria-disabled=true].button--lg-secondary:hover .icon, [aria-disabled=true].button--xl:hover .icon, [aria-disabled=true].button--xl-inverted:hover .icon, [aria-disabled=true].button--xl-secondary:hover .icon, .button--xl:hover .icon, .button--xl-inverted:hover .icon, .button--xl-secondary:hover .icon, .button--lg:hover .icon, .button--lg-inverted:hover .icon, .button--lg-secondary:hover .icon, .button--sm:hover .icon, .button--sm-inverted:hover .icon, .button--sm-secondary:hover .icon, .button--xs:hover .icon, .button--xs-inverted:hover .icon, .button--xs-secondary:hover .icon, .button--inverted:hover .icon, .button--secondary:hover .icon, .button--pill:hover .icon, .button--add-to-cart--inverted:hover .icon, .button--add-to-cart--secondary:hover .icon, .shopify-payment-button button:hover .icon, .button--default:hover .icon, .button--primary:hover .icon, .button:active .icon, .shopify-payment-button button:active .icon, .button--circle:active .icon, .disabled.button--default:active .icon, .disabled.button--primary:active .icon, .disabled.button--inverted:active .icon, .disabled.button--secondary:active .icon, .disabled.button--pill:active .icon, .disabled.button--add-to-cart--inverted:active .icon, .disabled.button--add-to-cart--secondary:active .icon, .shopify-payment-button button.disabled:active .icon, .disabled.button--xs:active .icon, .disabled.button--xs-inverted:active .icon, .disabled.button--xs-secondary:active .icon, .disabled.button--sm:active .icon, .disabled.button--sm-inverted:active .icon, .disabled.button--sm-secondary:active .icon, .disabled.button--lg:active .icon, .disabled.button--lg-inverted:active .icon, .disabled.button--lg-secondary:active .icon, .disabled.button--xl:active .icon, .disabled.button--xl-inverted:active .icon, .disabled.button--xl-secondary:active .icon, .button--default:active:disabled .icon, .button--primary:active:disabled .icon, .button--inverted:active:disabled .icon, .button--secondary:active:disabled .icon, .button--pill:active:disabled .icon, .button--add-to-cart--inverted:active:disabled .icon, .button--add-to-cart--secondary:active:disabled .icon, .shopify-payment-button button:active:disabled .icon, .button--xs:active:disabled .icon, .button--xs-inverted:active:disabled .icon, .button--xs-secondary:active:disabled .icon, .button--sm:active:disabled .icon, .button--sm-inverted:active:disabled .icon, .button--sm-secondary:active:disabled .icon, .button--lg:active:disabled .icon, .button--lg-inverted:active:disabled .icon, .button--lg-secondary:active:disabled .icon, .button--xl:active:disabled .icon, .button--xl-inverted:active:disabled .icon, .button--xl-secondary:active:disabled .icon, [aria-disabled=true].button--default:active .icon, [aria-disabled=true].button--primary:active .icon, [aria-disabled=true].button--inverted:active .icon, [aria-disabled=true].button--secondary:active .icon, [aria-disabled=true].button--pill:active .icon, [aria-disabled=true].button--add-to-cart--inverted:active .icon, [aria-disabled=true].button--add-to-cart--secondary:active .icon, .shopify-payment-button button[aria-disabled=true]:active .icon, [aria-disabled=true].button--xs:active .icon, [aria-disabled=true].button--xs-inverted:active .icon, [aria-disabled=true].button--xs-secondary:active .icon, [aria-disabled=true].button--sm:active .icon, [aria-disabled=true].button--sm-inverted:active .icon, [aria-disabled=true].button--sm-secondary:active .icon, [aria-disabled=true].button--lg:active .icon, [aria-disabled=true].button--lg-inverted:active .icon, [aria-disabled=true].button--lg-secondary:active .icon, [aria-disabled=true].button--xl:active .icon, [aria-disabled=true].button--xl-inverted:active .icon, [aria-disabled=true].button--xl-secondary:active .icon, .button--xl:active .icon, .button--xl-inverted:active .icon, .button--xl-secondary:active .icon, .button--lg:active .icon, .button--lg-inverted:active .icon, .button--lg-secondary:active .icon, .button--sm:active .icon, .button--sm-inverted:active .icon, .button--sm-secondary:active .icon, .button--xs:active .icon, .button--xs-inverted:active .icon, .button--xs-secondary:active .icon, .button--inverted:active .icon, .button--secondary:active .icon, .button--pill:active .icon, .button--add-to-cart--inverted:active .icon, .button--add-to-cart--secondary:active .icon, .shopify-payment-button button:active .icon, .button--default:active .icon, .button--primary:active .icon, .button:focus .icon, .shopify-payment-button button:focus .icon, .button--circle:focus .icon, .disabled.button--default:focus .icon, .disabled.button--primary:focus .icon, .disabled.button--inverted:focus .icon, .disabled.button--secondary:focus .icon, .disabled.button--pill:focus .icon, .disabled.button--add-to-cart--inverted:focus .icon, .disabled.button--add-to-cart--secondary:focus .icon, .shopify-payment-button button.disabled:focus .icon, .disabled.button--xs:focus .icon, .disabled.button--xs-inverted:focus .icon, .disabled.button--xs-secondary:focus .icon, .disabled.button--sm:focus .icon, .disabled.button--sm-inverted:focus .icon, .disabled.button--sm-secondary:focus .icon, .disabled.button--lg:focus .icon, .disabled.button--lg-inverted:focus .icon, .disabled.button--lg-secondary:focus .icon, .disabled.button--xl:focus .icon, .disabled.button--xl-inverted:focus .icon, .disabled.button--xl-secondary:focus .icon, .button--default:focus:disabled .icon, .button--primary:focus:disabled .icon, .button--inverted:focus:disabled .icon, .button--secondary:focus:disabled .icon, .button--pill:focus:disabled .icon, .button--add-to-cart--inverted:focus:disabled .icon, .button--add-to-cart--secondary:focus:disabled .icon, .shopify-payment-button button:focus:disabled .icon, .button--xs:focus:disabled .icon, .button--xs-inverted:focus:disabled .icon, .button--xs-secondary:focus:disabled .icon, .button--sm:focus:disabled .icon, .button--sm-inverted:focus:disabled .icon, .button--sm-secondary:focus:disabled .icon, .button--lg:focus:disabled .icon, .button--lg-inverted:focus:disabled .icon, .button--lg-secondary:focus:disabled .icon, .button--xl:focus:disabled .icon, .button--xl-inverted:focus:disabled .icon, .button--xl-secondary:focus:disabled .icon, [aria-disabled=true].button--default:focus .icon, [aria-disabled=true].button--primary:focus .icon, [aria-disabled=true].button--inverted:focus .icon, [aria-disabled=true].button--secondary:focus .icon, [aria-disabled=true].button--pill:focus .icon, [aria-disabled=true].button--add-to-cart--inverted:focus .icon, [aria-disabled=true].button--add-to-cart--secondary:focus .icon, .shopify-payment-button button[aria-disabled=true]:focus .icon, [aria-disabled=true].button--xs:focus .icon, [aria-disabled=true].button--xs-inverted:focus .icon, [aria-disabled=true].button--xs-secondary:focus .icon, [aria-disabled=true].button--sm:focus .icon, [aria-disabled=true].button--sm-inverted:focus .icon, [aria-disabled=true].button--sm-secondary:focus .icon, [aria-disabled=true].button--lg:focus .icon, [aria-disabled=true].button--lg-inverted:focus .icon, [aria-disabled=true].button--lg-secondary:focus .icon, [aria-disabled=true].button--xl:focus .icon, [aria-disabled=true].button--xl-inverted:focus .icon, [aria-disabled=true].button--xl-secondary:focus .icon, .button--xl:focus .icon, .button--xl-inverted:focus .icon, .button--xl-secondary:focus .icon, .button--lg:focus .icon, .button--lg-inverted:focus .icon, .button--lg-secondary:focus .icon, .button--sm:focus .icon, .button--sm-inverted:focus .icon, .button--sm-secondary:focus .icon, .button--xs:focus .icon, .button--xs-inverted:focus .icon, .button--xs-secondary:focus .icon, .button--inverted:focus .icon, .button--secondary:focus .icon, .button--pill:focus .icon, .button--add-to-cart--inverted:focus .icon, .button--add-to-cart--secondary:focus .icon, .shopify-payment-button button:focus .icon, .button--default:focus .icon, .button--primary:focus .icon {
  color: inherit;
}
.button--inverted, .button--secondary, .button--pill, .button--add-to-cart--inverted, .button--add-to-cart--secondary, .shopify-payment-button button, .button--xl-inverted, .button--xl-secondary, .button--lg-inverted, .button--lg-secondary, .button--sm-inverted, .button--sm-secondary, .button--xs-inverted, .button--xs-secondary {
  border: 1px solid var(--color-border-button-secondary);
  color: var(--color-text-button-secondary);
  background-color: var(--color-background-button-secondary);
}
.button--inverted:hover, .button--inverted:active, .button--inverted:focus, .button--secondary:hover, .button--pill:hover, .button--add-to-cart--inverted:hover, .button--add-to-cart--secondary:hover, .shopify-payment-button button:hover, .button--xl-inverted:hover, .button--xl-secondary:hover, .button--lg-inverted:hover, .button--lg-secondary:hover, .button--sm-inverted:hover, .button--sm-secondary:hover, .button--xs-inverted:hover, .button--xs-secondary:hover, .button--secondary:active, .button--pill:active, .button--add-to-cart--inverted:active, .button--add-to-cart--secondary:active, .shopify-payment-button button:active, .button--xl-inverted:active, .button--xl-secondary:active, .button--lg-inverted:active, .button--lg-secondary:active, .button--sm-inverted:active, .button--sm-secondary:active, .button--xs-inverted:active, .button--xs-secondary:active, .button--secondary:focus, .button--pill:focus, .button--add-to-cart--inverted:focus, .button--add-to-cart--secondary:focus, .shopify-payment-button button:focus, .button--xl-inverted:focus, .button--xl-secondary:focus, .button--lg-inverted:focus, .button--lg-secondary:focus, .button--sm-inverted:focus, .button--sm-secondary:focus, .button--xs-inverted:focus, .button--xs-secondary:focus {
  background-color: var(--color-background-button-secondary-hover) !important;
}
.button--inverted:hover, .button--inverted:active, .button--inverted:focus, .button--secondary:hover, .button--pill:hover, .button--add-to-cart--inverted:hover, .button--add-to-cart--secondary:hover, .shopify-payment-button button:hover, .button--xl-inverted:hover, .button--xl-secondary:hover, .button--lg-inverted:hover, .button--lg-secondary:hover, .button--sm-inverted:hover, .button--sm-secondary:hover, .button--xs-inverted:hover, .button--xs-secondary:hover, .button--secondary:active, .button--pill:active, .button--add-to-cart--inverted:active, .button--add-to-cart--secondary:active, .shopify-payment-button button:active, .button--xl-inverted:active, .button--xl-secondary:active, .button--lg-inverted:active, .button--lg-secondary:active, .button--sm-inverted:active, .button--sm-secondary:active, .button--xs-inverted:active, .button--xs-secondary:active, .button--secondary:focus, .button--pill:focus, .button--add-to-cart--inverted:focus, .button--add-to-cart--secondary:focus, .shopify-payment-button button:focus, .button--xl-inverted:focus, .button--xl-secondary:focus, .button--lg-inverted:focus, .button--lg-secondary:focus, .button--sm-inverted:focus, .button--sm-secondary:focus, .button--xs-inverted:focus, .button--xs-secondary:focus {
  border: 1px solid var(--color-border-button-secondary-hover);
  color: var(--color-text-button-secondary-hover);
}
.button--xs, .button--xs-inverted, .button--xs-secondary {
  padding: 0.4rem 0.8rem;
}
.button--sm, .button--sm-inverted, .button--sm-secondary {
  padding: 0.8rem 1.6rem;
}
.button--plain, .button--plain-xs, .button--plain-sm {
  font-family: var(--font-button-family);
  font-weight: var(--font-button-weight);
  font-style: var(--font-button-style);
  text-transform: var(--font-button-transform);
  border-bottom: 1px solid;
  gap: 0.4rem;
  padding: 0 0 0.4rem 0;
  display: inline-flex;
  margin: 0;
}
.button--plain-sm {
  padding: 0;
}
.button--plain-xs {
  padding: 0;
}
.button.disabled, .shopify-payment-button button.disabled, .disabled.button--circle, .disabled.button--default, .disabled.button--primary, .disabled.button--inverted, .disabled.button--secondary, .disabled.button--pill, .disabled.button--add-to-cart--inverted, .disabled.button--add-to-cart--secondary, .disabled.button--xs, .disabled.button--xs-inverted, .disabled.button--xs-secondary, .disabled.button--sm, .disabled.button--sm-inverted, .disabled.button--sm-secondary, .disabled.button--lg, .disabled.button--lg-inverted, .disabled.button--lg-secondary, .disabled.button--xl, .disabled.button--xl-inverted, .disabled.button--xl-secondary, .button:disabled, .shopify-payment-button button:disabled, .button--circle:disabled, .button--default:disabled, .button--primary:disabled, .button--inverted:disabled, .button--secondary:disabled, .button--pill:disabled, .button--add-to-cart--inverted:disabled, .button--add-to-cart--secondary:disabled, .button--xs:disabled, .button--xs-inverted:disabled, .button--xs-secondary:disabled, .button--sm:disabled, .button--sm-inverted:disabled, .button--sm-secondary:disabled, .button--lg:disabled, .button--lg-inverted:disabled, .button--lg-secondary:disabled, .button--xl:disabled, .button--xl-inverted:disabled, .button--xl-secondary:disabled, .button[aria-disabled=true], .shopify-payment-button button[aria-disabled=true], [aria-disabled=true].button--circle, [aria-disabled=true].button--default, [aria-disabled=true].button--primary, [aria-disabled=true].button--inverted, [aria-disabled=true].button--secondary, [aria-disabled=true].button--pill, [aria-disabled=true].button--add-to-cart--inverted, [aria-disabled=true].button--add-to-cart--secondary, [aria-disabled=true].button--xs, [aria-disabled=true].button--xs-inverted, [aria-disabled=true].button--xs-secondary, [aria-disabled=true].button--sm, [aria-disabled=true].button--sm-inverted, [aria-disabled=true].button--sm-secondary, [aria-disabled=true].button--lg, [aria-disabled=true].button--lg-inverted, [aria-disabled=true].button--lg-secondary, [aria-disabled=true].button--xl, [aria-disabled=true].button--xl-inverted, [aria-disabled=true].button--xl-secondary {
  cursor: not-allowed;
  opacity: 0.5;
  pointer-events: none;
}
.button.disabled .cart-icon, .shopify-payment-button button.disabled .cart-icon, .disabled.button--circle .cart-icon, .disabled.button--default .cart-icon, .disabled.button--primary .cart-icon, .disabled.button--inverted .cart-icon, .disabled.button--secondary .cart-icon, .disabled.button--pill .cart-icon, .disabled.button--add-to-cart--inverted .cart-icon, .disabled.button--add-to-cart--secondary .cart-icon, .disabled.button--xs .cart-icon, .disabled.button--xs-inverted .cart-icon, .disabled.button--xs-secondary .cart-icon, .disabled.button--sm .cart-icon, .disabled.button--sm-inverted .cart-icon, .disabled.button--sm-secondary .cart-icon, .disabled.button--lg .cart-icon, .disabled.button--lg-inverted .cart-icon, .disabled.button--lg-secondary .cart-icon, .disabled.button--xl .cart-icon, .disabled.button--xl-inverted .cart-icon, .disabled.button--xl-secondary .cart-icon, .button:disabled .cart-icon, .shopify-payment-button button:disabled .cart-icon, .button--circle:disabled .cart-icon, .button--default:disabled .cart-icon, .button--primary:disabled .cart-icon, .button--inverted:disabled .cart-icon, .button--secondary:disabled .cart-icon, .button--pill:disabled .cart-icon, .button--add-to-cart--inverted:disabled .cart-icon, .button--add-to-cart--secondary:disabled .cart-icon, .button--xs:disabled .cart-icon, .button--xs-inverted:disabled .cart-icon, .button--xs-secondary:disabled .cart-icon, .button--sm:disabled .cart-icon, .button--sm-inverted:disabled .cart-icon, .button--sm-secondary:disabled .cart-icon, .button--lg:disabled .cart-icon, .button--lg-inverted:disabled .cart-icon, .button--lg-secondary:disabled .cart-icon, .button--xl:disabled .cart-icon, .button--xl-inverted:disabled .cart-icon, .button--xl-secondary:disabled .cart-icon, .button[aria-disabled=true] .cart-icon, .shopify-payment-button button[aria-disabled=true] .cart-icon, [aria-disabled=true].button--circle .cart-icon, [aria-disabled=true].button--default .cart-icon, [aria-disabled=true].button--primary .cart-icon, [aria-disabled=true].button--inverted .cart-icon, [aria-disabled=true].button--secondary .cart-icon, [aria-disabled=true].button--pill .cart-icon, [aria-disabled=true].button--add-to-cart--inverted .cart-icon, [aria-disabled=true].button--add-to-cart--secondary .cart-icon, [aria-disabled=true].button--xs .cart-icon, [aria-disabled=true].button--xs-inverted .cart-icon, [aria-disabled=true].button--xs-secondary .cart-icon, [aria-disabled=true].button--sm .cart-icon, [aria-disabled=true].button--sm-inverted .cart-icon, [aria-disabled=true].button--sm-secondary .cart-icon, [aria-disabled=true].button--lg .cart-icon, [aria-disabled=true].button--lg-inverted .cart-icon, [aria-disabled=true].button--lg-secondary .cart-icon, [aria-disabled=true].button--xl .cart-icon, [aria-disabled=true].button--xl-inverted .cart-icon, [aria-disabled=true].button--xl-secondary .cart-icon {
  display: none;
}
.button--close {
  font-size: 1.2rem;
  color: var(--color-icon-hover);
  width: 1.2rem;
  height: 1.2rem;
  border: 1px solid var(--color-icon-hover);
  transition: 0.4s;
}
.button--close:hover, .button--close:active, .button--close:focus {
  color: var(--color-text-button-primary-hover) !important;
  background: var(--color-background-button-primary-hover) !important;
}
.button--fullwidth {
  width: 100%;
}
.button--add-to-cart, .button--add-to-cart--inverted, .button--add-to-cart--secondary, .shopify-payment-button button {
  width: 100%;
}
@media (min-width: 64em) {
  .button--add-to-cart.scroll-atc, .scroll-atc.button--add-to-cart--inverted, .scroll-atc.button--add-to-cart--secondary, .shopify-payment-button button.scroll-atc {
    width: auto;
  }
}
.button--add-to-cart > *, .button--add-to-cart--inverted > *, .button--add-to-cart--secondary > *, .shopify-payment-button button > * {
  vertical-align: middle;
  white-space: nowrap;
  line-height: 1;
}
.button--add-to-cart .loading-icon, .button--add-to-cart--inverted .loading-icon, .button--add-to-cart--secondary .loading-icon, .shopify-payment-button button .loading-icon,
.button--add-to-cart .cart-icon,
.button--add-to-cart--inverted .cart-icon,
.button--add-to-cart--secondary .cart-icon,
.shopify-payment-button button .cart-icon {
  transition: opacity 0.1s, transform 0.2s;
  font-size: 1.6rem;
  height: 1.6rem;
  color: inherit;
}
.button--card, .button--card:disabled {
  font-family: var(--font-button-family);
  font-weight: var(--font-button-weight);
  font-style: var(--font-button-style);
  text-transform: var(--font-button-transform);
  padding: 0.8rem 1.2rem;
  min-width: 4.8rem;
}
.button--card svg, .button--card:disabled svg {
  height: 1.6rem;
}
@media (min-width: 64em) {
  .button--card svg, .button--card:disabled svg {
    display: none;
  }
}
.button--card span:not(.cart-icon), .button--card:disabled span:not(.cart-icon) {
  font-size: 1.4rem;
}
@media (max-width: 63.99em) {
  .button--card span:not(.cart-icon), .button--card:disabled span:not(.cart-icon) {
    display: none;
  }
}
.button--card span:not(.cart-icon):empty, .button--card:disabled span:not(.cart-icon):empty {
  display: none;
}
.button--card span.cart-icon, .button--card:disabled span.cart-icon {
  font-size: 1.6rem;
  line-height: 1.25;
  height: 1.6rem;
  color: inherit;
}
.button--card .icon, .button--card:disabled .icon {
  transition: opacity 0.1s, transform 0.2s;
}
.button--view-product {
  padding: 0.8rem 1.2rem;
  min-width: 4.8rem;
  align-self: flex-end;
}
.button--view-product__text {
  font-size: 1.4rem;
}
.button--view-product__icon {
  font-size: 1.6rem;
  height: 1.6rem;
  width: 1.6rem;
}
.button--xr {
  position: absolute;
  z-index: 2;
}
.button--xr[data-shopify-xr-hidden] {
  visibility: hidden;
}
.shopify-design-mode .button--xr[data-shopify-xr-hidden] {
  display: none;
}
.button--pill {
  padding: 0.8rem 1.2rem;
}
@media (max-width: 63.99em) {
  .button--pill {
    padding: 0.8rem;
  }
}
.button--pill.is-selected, .button--pill[\:has\(input\:checked\)] {
  background-color: var(--color-background-button-secondary-hover);
  color: var(--color-text-button-secondary-hover);
  border-color: var(--color-border-button-secondary-hover);
}
.button--pill.is-selected, .button--pill:has(input:checked) {
  background-color: var(--color-background-button-secondary-hover);
  color: var(--color-text-button-secondary-hover);
  border-color: var(--color-border-button-secondary-hover);
}
.button--pill.is-disabled, .button--pill[\:has\(input\:disabled\)] {
  text-decoration: line-through;
  opacity: 0.5;
}
.button--pill.is-disabled, .button--pill:has(input:disabled) {
  text-decoration: line-through;
  opacity: 0.5;
}
.button--pill.is-disabled:hover, .button--pill[\:has\(input\:disabled\)]:hover {
  cursor: not-allowed;
}
.button--pill.is-disabled:hover, .button--pill:has(input:disabled):hover {
  cursor: not-allowed;
}
.button--icon_right .icon {
  order: 2;
}
.button--back {
  font-size: 1.6rem;
  color: var(--color-text);
  text-transform: var(--font-button-transform);
  border-bottom: 1px solid var(--color-border);
  padding: 0;
  transition: 0.25s;
  background: transparent;
  border: none;
}
.button--back .icon {
  font-size: 2.4rem;
  height: 2.4rem;
  width: 2.4rem;
}
.button--back:hover, .button--back:active, .button--back:focus {
  color: var(--color-text-links-hover);
  background: transparent;
}
.button--circle {
  border-radius: 100%;
  padding: calc(var(--gap) / 2);
  aspect-ratio: 1/1;
}

a.card__content:hover .button, a.card__content:hover .shopify-payment-button button, .shopify-payment-button a.card__content:hover button, a.card__content:hover .shopify-payment-button button.disabled, .shopify-payment-button a.card__content:hover button.disabled, a.card__content:hover .shopify-payment-button button:disabled, .shopify-payment-button a.card__content:hover button:disabled, a.card__content:hover .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.card__content:hover button[aria-disabled=true], a.card__content:hover .button--default, a.card__content:hover .button--primary, a.card__content:hover .button--inverted, a.card__content:hover .button--secondary, a.card__content:hover .button--xs, a.card__content:hover .button--xs-inverted, a.card__content:hover .button--xs-secondary, a.card__content:hover .button--sm, a.card__content:hover .button--sm-inverted, a.card__content:hover .button--sm-secondary, a.card__content:hover .button--lg, a.card__content:hover .button--lg-inverted, a.card__content:hover .button--lg-secondary, a.card__content:hover .button--xl, a.card__content:hover .button--xl-inverted, a.card__content:hover .button--xl-secondary, a.card__content:hover .button.disabled, a.card__content:hover .shopify-payment-button button.disabled, .shopify-payment-button a.card__content:hover button.disabled, a.card__content:hover .disabled.button--default, a.card__content:hover .disabled.button--primary, a.card__content:hover .disabled.button--inverted, a.card__content:hover .disabled.button--secondary, a.card__content:hover .disabled.button--xs, a.card__content:hover .disabled.button--xs-inverted, a.card__content:hover .disabled.button--xs-secondary, a.card__content:hover .disabled.button--sm, a.card__content:hover .disabled.button--sm-inverted, a.card__content:hover .disabled.button--sm-secondary, a.card__content:hover .disabled.button--lg, a.card__content:hover .disabled.button--lg-inverted, a.card__content:hover .disabled.button--lg-secondary, a.card__content:hover .disabled.button--xl, a.card__content:hover .disabled.button--xl-inverted, a.card__content:hover .disabled.button--xl-secondary, a.card__content:hover .button:disabled, a.card__content:hover .shopify-payment-button button:disabled, .shopify-payment-button a.card__content:hover button:disabled, a.card__content:hover .button--default:disabled, a.card__content:hover .button--primary:disabled, a.card__content:hover .button--inverted:disabled, a.card__content:hover .button--secondary:disabled, a.card__content:hover .button--xs:disabled, a.card__content:hover .button--xs-inverted:disabled, a.card__content:hover .button--xs-secondary:disabled, a.card__content:hover .button--sm:disabled, a.card__content:hover .button--sm-inverted:disabled, a.card__content:hover .button--sm-secondary:disabled, a.card__content:hover .button--lg:disabled, a.card__content:hover .button--lg-inverted:disabled, a.card__content:hover .button--lg-secondary:disabled, a.card__content:hover .button--xl:disabled, a.card__content:hover .button--xl-inverted:disabled, a.card__content:hover .button--xl-secondary:disabled, a.card__content:hover .button[aria-disabled=true], a.card__content:hover .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.card__content:hover button[aria-disabled=true], a.card__content:hover [aria-disabled=true].button--default, a.card__content:hover [aria-disabled=true].button--primary, a.card__content:hover [aria-disabled=true].button--inverted, a.card__content:hover [aria-disabled=true].button--secondary, a.card__content:hover [aria-disabled=true].button--xs, a.card__content:hover [aria-disabled=true].button--xs-inverted, a.card__content:hover [aria-disabled=true].button--xs-secondary, a.card__content:hover [aria-disabled=true].button--sm, a.card__content:hover [aria-disabled=true].button--sm-inverted, a.card__content:hover [aria-disabled=true].button--sm-secondary, a.card__content:hover [aria-disabled=true].button--lg, a.card__content:hover [aria-disabled=true].button--lg-inverted, a.card__content:hover [aria-disabled=true].button--lg-secondary, a.card__content:hover [aria-disabled=true].button--xl, a.card__content:hover [aria-disabled=true].button--xl-inverted, a.card__content:hover [aria-disabled=true].button--xl-secondary, a.card__content:hover .button--add-to-cart--inverted, a.card__content:hover .button--add-to-cart--secondary, a.card__content:hover .shopify-payment-button button, .shopify-payment-button a.card__content:hover button, a.card__content:hover .disabled.button--add-to-cart--inverted, a.card__content:hover .disabled.button--add-to-cart--secondary, a.card__content:hover .shopify-payment-button button.disabled, .shopify-payment-button a.card__content:hover button.disabled, a.card__content:hover .button--add-to-cart--inverted:disabled, a.card__content:hover .button--add-to-cart--secondary:disabled, a.card__content:hover .shopify-payment-button button:disabled, .shopify-payment-button a.card__content:hover button:disabled, a.card__content:hover [aria-disabled=true].button--add-to-cart--inverted, a.card__content:hover [aria-disabled=true].button--add-to-cart--secondary, a.card__content:hover .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.card__content:hover button[aria-disabled=true], a.card__content:hover .button--pill, a.card__content:hover .disabled.button--pill, a.card__content:hover .button--pill:disabled, a.card__content:hover [aria-disabled=true].button--pill, a.card__content:hover .button--circle, a.card__content:hover .disabled.button--circle, a.card__content:hover .button--circle:disabled, a.card__content:hover [aria-disabled=true].button--circle, a.card__content:active .button, a.card__content:active .shopify-payment-button button, .shopify-payment-button a.card__content:active button, a.card__content:active .shopify-payment-button button.disabled, .shopify-payment-button a.card__content:active button.disabled, a.card__content:active .shopify-payment-button button:disabled, .shopify-payment-button a.card__content:active button:disabled, a.card__content:active .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.card__content:active button[aria-disabled=true], a.card__content:active .button--default, a.card__content:active .button--primary, a.card__content:active .button--inverted, a.card__content:active .button--secondary, a.card__content:active .button--xs, a.card__content:active .button--xs-inverted, a.card__content:active .button--xs-secondary, a.card__content:active .button--sm, a.card__content:active .button--sm-inverted, a.card__content:active .button--sm-secondary, a.card__content:active .button--lg, a.card__content:active .button--lg-inverted, a.card__content:active .button--lg-secondary, a.card__content:active .button--xl, a.card__content:active .button--xl-inverted, a.card__content:active .button--xl-secondary, a.card__content:active .button.disabled, a.card__content:active .shopify-payment-button button.disabled, .shopify-payment-button a.card__content:active button.disabled, a.card__content:active .disabled.button--default, a.card__content:active .disabled.button--primary, a.card__content:active .disabled.button--inverted, a.card__content:active .disabled.button--secondary, a.card__content:active .disabled.button--xs, a.card__content:active .disabled.button--xs-inverted, a.card__content:active .disabled.button--xs-secondary, a.card__content:active .disabled.button--sm, a.card__content:active .disabled.button--sm-inverted, a.card__content:active .disabled.button--sm-secondary, a.card__content:active .disabled.button--lg, a.card__content:active .disabled.button--lg-inverted, a.card__content:active .disabled.button--lg-secondary, a.card__content:active .disabled.button--xl, a.card__content:active .disabled.button--xl-inverted, a.card__content:active .disabled.button--xl-secondary, a.card__content:active .button:disabled, a.card__content:active .shopify-payment-button button:disabled, .shopify-payment-button a.card__content:active button:disabled, a.card__content:active .button--default:disabled, a.card__content:active .button--primary:disabled, a.card__content:active .button--inverted:disabled, a.card__content:active .button--secondary:disabled, a.card__content:active .button--xs:disabled, a.card__content:active .button--xs-inverted:disabled, a.card__content:active .button--xs-secondary:disabled, a.card__content:active .button--sm:disabled, a.card__content:active .button--sm-inverted:disabled, a.card__content:active .button--sm-secondary:disabled, a.card__content:active .button--lg:disabled, a.card__content:active .button--lg-inverted:disabled, a.card__content:active .button--lg-secondary:disabled, a.card__content:active .button--xl:disabled, a.card__content:active .button--xl-inverted:disabled, a.card__content:active .button--xl-secondary:disabled, a.card__content:active .button[aria-disabled=true], a.card__content:active .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.card__content:active button[aria-disabled=true], a.card__content:active [aria-disabled=true].button--default, a.card__content:active [aria-disabled=true].button--primary, a.card__content:active [aria-disabled=true].button--inverted, a.card__content:active [aria-disabled=true].button--secondary, a.card__content:active [aria-disabled=true].button--xs, a.card__content:active [aria-disabled=true].button--xs-inverted, a.card__content:active [aria-disabled=true].button--xs-secondary, a.card__content:active [aria-disabled=true].button--sm, a.card__content:active [aria-disabled=true].button--sm-inverted, a.card__content:active [aria-disabled=true].button--sm-secondary, a.card__content:active [aria-disabled=true].button--lg, a.card__content:active [aria-disabled=true].button--lg-inverted, a.card__content:active [aria-disabled=true].button--lg-secondary, a.card__content:active [aria-disabled=true].button--xl, a.card__content:active [aria-disabled=true].button--xl-inverted, a.card__content:active [aria-disabled=true].button--xl-secondary, a.card__content:active .button--add-to-cart--inverted, a.card__content:active .button--add-to-cart--secondary, a.card__content:active .shopify-payment-button button, .shopify-payment-button a.card__content:active button, a.card__content:active .disabled.button--add-to-cart--inverted, a.card__content:active .disabled.button--add-to-cart--secondary, a.card__content:active .shopify-payment-button button.disabled, .shopify-payment-button a.card__content:active button.disabled, a.card__content:active .button--add-to-cart--inverted:disabled, a.card__content:active .button--add-to-cart--secondary:disabled, a.card__content:active .shopify-payment-button button:disabled, .shopify-payment-button a.card__content:active button:disabled, a.card__content:active [aria-disabled=true].button--add-to-cart--inverted, a.card__content:active [aria-disabled=true].button--add-to-cart--secondary, a.card__content:active .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.card__content:active button[aria-disabled=true], a.card__content:active .button--pill, a.card__content:active .disabled.button--pill, a.card__content:active .button--pill:disabled, a.card__content:active [aria-disabled=true].button--pill, a.card__content:active .button--circle, a.card__content:active .disabled.button--circle, a.card__content:active .button--circle:disabled, a.card__content:active [aria-disabled=true].button--circle, a.card__content:focus .button, a.card__content:focus .shopify-payment-button button, .shopify-payment-button a.card__content:focus button, a.card__content:focus .shopify-payment-button button.disabled, .shopify-payment-button a.card__content:focus button.disabled, a.card__content:focus .shopify-payment-button button:disabled, .shopify-payment-button a.card__content:focus button:disabled, a.card__content:focus .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.card__content:focus button[aria-disabled=true], a.card__content:focus .button--default, a.card__content:focus .button--primary, a.card__content:focus .button--inverted, a.card__content:focus .button--secondary, a.card__content:focus .button--xs, a.card__content:focus .button--xs-inverted, a.card__content:focus .button--xs-secondary, a.card__content:focus .button--sm, a.card__content:focus .button--sm-inverted, a.card__content:focus .button--sm-secondary, a.card__content:focus .button--lg, a.card__content:focus .button--lg-inverted, a.card__content:focus .button--lg-secondary, a.card__content:focus .button--xl, a.card__content:focus .button--xl-inverted, a.card__content:focus .button--xl-secondary, a.card__content:focus .button.disabled, a.card__content:focus .shopify-payment-button button.disabled, .shopify-payment-button a.card__content:focus button.disabled, a.card__content:focus .disabled.button--default, a.card__content:focus .disabled.button--primary, a.card__content:focus .disabled.button--inverted, a.card__content:focus .disabled.button--secondary, a.card__content:focus .disabled.button--xs, a.card__content:focus .disabled.button--xs-inverted, a.card__content:focus .disabled.button--xs-secondary, a.card__content:focus .disabled.button--sm, a.card__content:focus .disabled.button--sm-inverted, a.card__content:focus .disabled.button--sm-secondary, a.card__content:focus .disabled.button--lg, a.card__content:focus .disabled.button--lg-inverted, a.card__content:focus .disabled.button--lg-secondary, a.card__content:focus .disabled.button--xl, a.card__content:focus .disabled.button--xl-inverted, a.card__content:focus .disabled.button--xl-secondary, a.card__content:focus .button:disabled, a.card__content:focus .shopify-payment-button button:disabled, .shopify-payment-button a.card__content:focus button:disabled, a.card__content:focus .button--default:disabled, a.card__content:focus .button--primary:disabled, a.card__content:focus .button--inverted:disabled, a.card__content:focus .button--secondary:disabled, a.card__content:focus .button--xs:disabled, a.card__content:focus .button--xs-inverted:disabled, a.card__content:focus .button--xs-secondary:disabled, a.card__content:focus .button--sm:disabled, a.card__content:focus .button--sm-inverted:disabled, a.card__content:focus .button--sm-secondary:disabled, a.card__content:focus .button--lg:disabled, a.card__content:focus .button--lg-inverted:disabled, a.card__content:focus .button--lg-secondary:disabled, a.card__content:focus .button--xl:disabled, a.card__content:focus .button--xl-inverted:disabled, a.card__content:focus .button--xl-secondary:disabled, a.card__content:focus .button[aria-disabled=true], a.card__content:focus .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.card__content:focus button[aria-disabled=true], a.card__content:focus [aria-disabled=true].button--default, a.card__content:focus [aria-disabled=true].button--primary, a.card__content:focus [aria-disabled=true].button--inverted, a.card__content:focus [aria-disabled=true].button--secondary, a.card__content:focus [aria-disabled=true].button--xs, a.card__content:focus [aria-disabled=true].button--xs-inverted, a.card__content:focus [aria-disabled=true].button--xs-secondary, a.card__content:focus [aria-disabled=true].button--sm, a.card__content:focus [aria-disabled=true].button--sm-inverted, a.card__content:focus [aria-disabled=true].button--sm-secondary, a.card__content:focus [aria-disabled=true].button--lg, a.card__content:focus [aria-disabled=true].button--lg-inverted, a.card__content:focus [aria-disabled=true].button--lg-secondary, a.card__content:focus [aria-disabled=true].button--xl, a.card__content:focus [aria-disabled=true].button--xl-inverted, a.card__content:focus [aria-disabled=true].button--xl-secondary, a.card__content:focus .button--add-to-cart--inverted, a.card__content:focus .button--add-to-cart--secondary, a.card__content:focus .shopify-payment-button button, .shopify-payment-button a.card__content:focus button, a.card__content:focus .disabled.button--add-to-cart--inverted, a.card__content:focus .disabled.button--add-to-cart--secondary, a.card__content:focus .shopify-payment-button button.disabled, .shopify-payment-button a.card__content:focus button.disabled, a.card__content:focus .button--add-to-cart--inverted:disabled, a.card__content:focus .button--add-to-cart--secondary:disabled, a.card__content:focus .shopify-payment-button button:disabled, .shopify-payment-button a.card__content:focus button:disabled, a.card__content:focus [aria-disabled=true].button--add-to-cart--inverted, a.card__content:focus [aria-disabled=true].button--add-to-cart--secondary, a.card__content:focus .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.card__content:focus button[aria-disabled=true], a.card__content:focus .button--pill, a.card__content:focus .disabled.button--pill, a.card__content:focus .button--pill:disabled, a.card__content:focus [aria-disabled=true].button--pill, a.card__content:focus .button--circle, a.card__content:focus .disabled.button--circle, a.card__content:focus .button--circle:disabled, a.card__content:focus [aria-disabled=true].button--circle {
  text-decoration: none;
  background-color: var(--color-background-button-secondary-hover);
  border-color: var(--color-border-button-secondary-hover);
}
a.card__content:hover .button .button--view-product__text, a.card__content:hover .shopify-payment-button button .button--view-product__text, .shopify-payment-button a.card__content:hover button .button--view-product__text, a.card__content:hover .shopify-payment-button button.disabled .button--view-product__text, .shopify-payment-button a.card__content:hover button.disabled .button--view-product__text, a.card__content:hover .shopify-payment-button button:disabled .button--view-product__text, .shopify-payment-button a.card__content:hover button:disabled .button--view-product__text, a.card__content:hover .shopify-payment-button button[aria-disabled=true] .button--view-product__text, .shopify-payment-button a.card__content:hover button[aria-disabled=true] .button--view-product__text, a.card__content:hover .button--default .button--view-product__text, a.card__content:hover .button--primary .button--view-product__text, a.card__content:hover .button--inverted .button--view-product__text, a.card__content:hover .button--secondary .button--view-product__text, a.card__content:hover .button--xs .button--view-product__text, a.card__content:hover .button--xs-inverted .button--view-product__text, a.card__content:hover .button--xs-secondary .button--view-product__text, a.card__content:hover .button--sm .button--view-product__text, a.card__content:hover .button--sm-inverted .button--view-product__text, a.card__content:hover .button--sm-secondary .button--view-product__text, a.card__content:hover .button--lg .button--view-product__text, a.card__content:hover .button--lg-inverted .button--view-product__text, a.card__content:hover .button--lg-secondary .button--view-product__text, a.card__content:hover .button--xl .button--view-product__text, a.card__content:hover .button--xl-inverted .button--view-product__text, a.card__content:hover .button--xl-secondary .button--view-product__text, a.card__content:hover .button.disabled .button--view-product__text, a.card__content:hover .shopify-payment-button button.disabled .button--view-product__text, .shopify-payment-button a.card__content:hover button.disabled .button--view-product__text, a.card__content:hover .disabled.button--default .button--view-product__text, a.card__content:hover .disabled.button--primary .button--view-product__text, a.card__content:hover .disabled.button--inverted .button--view-product__text, a.card__content:hover .disabled.button--secondary .button--view-product__text, a.card__content:hover .disabled.button--xs .button--view-product__text, a.card__content:hover .disabled.button--xs-inverted .button--view-product__text, a.card__content:hover .disabled.button--xs-secondary .button--view-product__text, a.card__content:hover .disabled.button--sm .button--view-product__text, a.card__content:hover .disabled.button--sm-inverted .button--view-product__text, a.card__content:hover .disabled.button--sm-secondary .button--view-product__text, a.card__content:hover .disabled.button--lg .button--view-product__text, a.card__content:hover .disabled.button--lg-inverted .button--view-product__text, a.card__content:hover .disabled.button--lg-secondary .button--view-product__text, a.card__content:hover .disabled.button--xl .button--view-product__text, a.card__content:hover .disabled.button--xl-inverted .button--view-product__text, a.card__content:hover .disabled.button--xl-secondary .button--view-product__text, a.card__content:hover .button:disabled .button--view-product__text, a.card__content:hover .shopify-payment-button button:disabled .button--view-product__text, .shopify-payment-button a.card__content:hover button:disabled .button--view-product__text, a.card__content:hover .button--default:disabled .button--view-product__text, a.card__content:hover .button--primary:disabled .button--view-product__text, a.card__content:hover .button--inverted:disabled .button--view-product__text, a.card__content:hover .button--secondary:disabled .button--view-product__text, a.card__content:hover .button--xs:disabled .button--view-product__text, a.card__content:hover .button--xs-inverted:disabled .button--view-product__text, a.card__content:hover .button--xs-secondary:disabled .button--view-product__text, a.card__content:hover .button--sm:disabled .button--view-product__text, a.card__content:hover .button--sm-inverted:disabled .button--view-product__text, a.card__content:hover .button--sm-secondary:disabled .button--view-product__text, a.card__content:hover .button--lg:disabled .button--view-product__text, a.card__content:hover .button--lg-inverted:disabled .button--view-product__text, a.card__content:hover .button--lg-secondary:disabled .button--view-product__text, a.card__content:hover .button--xl:disabled .button--view-product__text, a.card__content:hover .button--xl-inverted:disabled .button--view-product__text, a.card__content:hover .button--xl-secondary:disabled .button--view-product__text, a.card__content:hover .button[aria-disabled=true] .button--view-product__text, a.card__content:hover .shopify-payment-button button[aria-disabled=true] .button--view-product__text, .shopify-payment-button a.card__content:hover button[aria-disabled=true] .button--view-product__text, a.card__content:hover [aria-disabled=true].button--default .button--view-product__text, a.card__content:hover [aria-disabled=true].button--primary .button--view-product__text, a.card__content:hover [aria-disabled=true].button--inverted .button--view-product__text, a.card__content:hover [aria-disabled=true].button--secondary .button--view-product__text, a.card__content:hover [aria-disabled=true].button--xs .button--view-product__text, a.card__content:hover [aria-disabled=true].button--xs-inverted .button--view-product__text, a.card__content:hover [aria-disabled=true].button--xs-secondary .button--view-product__text, a.card__content:hover [aria-disabled=true].button--sm .button--view-product__text, a.card__content:hover [aria-disabled=true].button--sm-inverted .button--view-product__text, a.card__content:hover [aria-disabled=true].button--sm-secondary .button--view-product__text, a.card__content:hover [aria-disabled=true].button--lg .button--view-product__text, a.card__content:hover [aria-disabled=true].button--lg-inverted .button--view-product__text, a.card__content:hover [aria-disabled=true].button--lg-secondary .button--view-product__text, a.card__content:hover [aria-disabled=true].button--xl .button--view-product__text, a.card__content:hover [aria-disabled=true].button--xl-inverted .button--view-product__text, a.card__content:hover [aria-disabled=true].button--xl-secondary .button--view-product__text, a.card__content:hover .button--add-to-cart--inverted .button--view-product__text, a.card__content:hover .button--add-to-cart--secondary .button--view-product__text, a.card__content:hover .shopify-payment-button button .button--view-product__text, .shopify-payment-button a.card__content:hover button .button--view-product__text, a.card__content:hover .disabled.button--add-to-cart--inverted .button--view-product__text, a.card__content:hover .disabled.button--add-to-cart--secondary .button--view-product__text, a.card__content:hover .shopify-payment-button button.disabled .button--view-product__text, .shopify-payment-button a.card__content:hover button.disabled .button--view-product__text, a.card__content:hover .button--add-to-cart--inverted:disabled .button--view-product__text, a.card__content:hover .button--add-to-cart--secondary:disabled .button--view-product__text, a.card__content:hover .shopify-payment-button button:disabled .button--view-product__text, .shopify-payment-button a.card__content:hover button:disabled .button--view-product__text, a.card__content:hover [aria-disabled=true].button--add-to-cart--inverted .button--view-product__text, a.card__content:hover [aria-disabled=true].button--add-to-cart--secondary .button--view-product__text, a.card__content:hover .shopify-payment-button button[aria-disabled=true] .button--view-product__text, .shopify-payment-button a.card__content:hover button[aria-disabled=true] .button--view-product__text, a.card__content:hover .button--pill .button--view-product__text, a.card__content:hover .disabled.button--pill .button--view-product__text, a.card__content:hover .button--pill:disabled .button--view-product__text, a.card__content:hover [aria-disabled=true].button--pill .button--view-product__text, a.card__content:hover .button--circle .button--view-product__text, a.card__content:hover .disabled.button--circle .button--view-product__text, a.card__content:hover .button--circle:disabled .button--view-product__text, a.card__content:hover [aria-disabled=true].button--circle .button--view-product__text, a.card__content:active .button .button--view-product__text, a.card__content:active .shopify-payment-button button .button--view-product__text, .shopify-payment-button a.card__content:active button .button--view-product__text, a.card__content:active .shopify-payment-button button.disabled .button--view-product__text, .shopify-payment-button a.card__content:active button.disabled .button--view-product__text, a.card__content:active .shopify-payment-button button:disabled .button--view-product__text, .shopify-payment-button a.card__content:active button:disabled .button--view-product__text, a.card__content:active .shopify-payment-button button[aria-disabled=true] .button--view-product__text, .shopify-payment-button a.card__content:active button[aria-disabled=true] .button--view-product__text, a.card__content:active .button--default .button--view-product__text, a.card__content:active .button--primary .button--view-product__text, a.card__content:active .button--inverted .button--view-product__text, a.card__content:active .button--secondary .button--view-product__text, a.card__content:active .button--xs .button--view-product__text, a.card__content:active .button--xs-inverted .button--view-product__text, a.card__content:active .button--xs-secondary .button--view-product__text, a.card__content:active .button--sm .button--view-product__text, a.card__content:active .button--sm-inverted .button--view-product__text, a.card__content:active .button--sm-secondary .button--view-product__text, a.card__content:active .button--lg .button--view-product__text, a.card__content:active .button--lg-inverted .button--view-product__text, a.card__content:active .button--lg-secondary .button--view-product__text, a.card__content:active .button--xl .button--view-product__text, a.card__content:active .button--xl-inverted .button--view-product__text, a.card__content:active .button--xl-secondary .button--view-product__text, a.card__content:active .button.disabled .button--view-product__text, a.card__content:active .shopify-payment-button button.disabled .button--view-product__text, .shopify-payment-button a.card__content:active button.disabled .button--view-product__text, a.card__content:active .disabled.button--default .button--view-product__text, a.card__content:active .disabled.button--primary .button--view-product__text, a.card__content:active .disabled.button--inverted .button--view-product__text, a.card__content:active .disabled.button--secondary .button--view-product__text, a.card__content:active .disabled.button--xs .button--view-product__text, a.card__content:active .disabled.button--xs-inverted .button--view-product__text, a.card__content:active .disabled.button--xs-secondary .button--view-product__text, a.card__content:active .disabled.button--sm .button--view-product__text, a.card__content:active .disabled.button--sm-inverted .button--view-product__text, a.card__content:active .disabled.button--sm-secondary .button--view-product__text, a.card__content:active .disabled.button--lg .button--view-product__text, a.card__content:active .disabled.button--lg-inverted .button--view-product__text, a.card__content:active .disabled.button--lg-secondary .button--view-product__text, a.card__content:active .disabled.button--xl .button--view-product__text, a.card__content:active .disabled.button--xl-inverted .button--view-product__text, a.card__content:active .disabled.button--xl-secondary .button--view-product__text, a.card__content:active .button:disabled .button--view-product__text, a.card__content:active .shopify-payment-button button:disabled .button--view-product__text, .shopify-payment-button a.card__content:active button:disabled .button--view-product__text, a.card__content:active .button--default:disabled .button--view-product__text, a.card__content:active .button--primary:disabled .button--view-product__text, a.card__content:active .button--inverted:disabled .button--view-product__text, a.card__content:active .button--secondary:disabled .button--view-product__text, a.card__content:active .button--xs:disabled .button--view-product__text, a.card__content:active .button--xs-inverted:disabled .button--view-product__text, a.card__content:active .button--xs-secondary:disabled .button--view-product__text, a.card__content:active .button--sm:disabled .button--view-product__text, a.card__content:active .button--sm-inverted:disabled .button--view-product__text, a.card__content:active .button--sm-secondary:disabled .button--view-product__text, a.card__content:active .button--lg:disabled .button--view-product__text, a.card__content:active .button--lg-inverted:disabled .button--view-product__text, a.card__content:active .button--lg-secondary:disabled .button--view-product__text, a.card__content:active .button--xl:disabled .button--view-product__text, a.card__content:active .button--xl-inverted:disabled .button--view-product__text, a.card__content:active .button--xl-secondary:disabled .button--view-product__text, a.card__content:active .button[aria-disabled=true] .button--view-product__text, a.card__content:active .shopify-payment-button button[aria-disabled=true] .button--view-product__text, .shopify-payment-button a.card__content:active button[aria-disabled=true] .button--view-product__text, a.card__content:active [aria-disabled=true].button--default .button--view-product__text, a.card__content:active [aria-disabled=true].button--primary .button--view-product__text, a.card__content:active [aria-disabled=true].button--inverted .button--view-product__text, a.card__content:active [aria-disabled=true].button--secondary .button--view-product__text, a.card__content:active [aria-disabled=true].button--xs .button--view-product__text, a.card__content:active [aria-disabled=true].button--xs-inverted .button--view-product__text, a.card__content:active [aria-disabled=true].button--xs-secondary .button--view-product__text, a.card__content:active [aria-disabled=true].button--sm .button--view-product__text, a.card__content:active [aria-disabled=true].button--sm-inverted .button--view-product__text, a.card__content:active [aria-disabled=true].button--sm-secondary .button--view-product__text, a.card__content:active [aria-disabled=true].button--lg .button--view-product__text, a.card__content:active [aria-disabled=true].button--lg-inverted .button--view-product__text, a.card__content:active [aria-disabled=true].button--lg-secondary .button--view-product__text, a.card__content:active [aria-disabled=true].button--xl .button--view-product__text, a.card__content:active [aria-disabled=true].button--xl-inverted .button--view-product__text, a.card__content:active [aria-disabled=true].button--xl-secondary .button--view-product__text, a.card__content:active .button--add-to-cart--inverted .button--view-product__text, a.card__content:active .button--add-to-cart--secondary .button--view-product__text, a.card__content:active .shopify-payment-button button .button--view-product__text, .shopify-payment-button a.card__content:active button .button--view-product__text, a.card__content:active .disabled.button--add-to-cart--inverted .button--view-product__text, a.card__content:active .disabled.button--add-to-cart--secondary .button--view-product__text, a.card__content:active .shopify-payment-button button.disabled .button--view-product__text, .shopify-payment-button a.card__content:active button.disabled .button--view-product__text, a.card__content:active .button--add-to-cart--inverted:disabled .button--view-product__text, a.card__content:active .button--add-to-cart--secondary:disabled .button--view-product__text, a.card__content:active .shopify-payment-button button:disabled .button--view-product__text, .shopify-payment-button a.card__content:active button:disabled .button--view-product__text, a.card__content:active [aria-disabled=true].button--add-to-cart--inverted .button--view-product__text, a.card__content:active [aria-disabled=true].button--add-to-cart--secondary .button--view-product__text, a.card__content:active .shopify-payment-button button[aria-disabled=true] .button--view-product__text, .shopify-payment-button a.card__content:active button[aria-disabled=true] .button--view-product__text, a.card__content:active .button--pill .button--view-product__text, a.card__content:active .disabled.button--pill .button--view-product__text, a.card__content:active .button--pill:disabled .button--view-product__text, a.card__content:active [aria-disabled=true].button--pill .button--view-product__text, a.card__content:active .button--circle .button--view-product__text, a.card__content:active .disabled.button--circle .button--view-product__text, a.card__content:active .button--circle:disabled .button--view-product__text, a.card__content:active [aria-disabled=true].button--circle .button--view-product__text, a.card__content:focus .button .button--view-product__text, a.card__content:focus .shopify-payment-button button .button--view-product__text, .shopify-payment-button a.card__content:focus button .button--view-product__text, a.card__content:focus .shopify-payment-button button.disabled .button--view-product__text, .shopify-payment-button a.card__content:focus button.disabled .button--view-product__text, a.card__content:focus .shopify-payment-button button:disabled .button--view-product__text, .shopify-payment-button a.card__content:focus button:disabled .button--view-product__text, a.card__content:focus .shopify-payment-button button[aria-disabled=true] .button--view-product__text, .shopify-payment-button a.card__content:focus button[aria-disabled=true] .button--view-product__text, a.card__content:focus .button--default .button--view-product__text, a.card__content:focus .button--primary .button--view-product__text, a.card__content:focus .button--inverted .button--view-product__text, a.card__content:focus .button--secondary .button--view-product__text, a.card__content:focus .button--xs .button--view-product__text, a.card__content:focus .button--xs-inverted .button--view-product__text, a.card__content:focus .button--xs-secondary .button--view-product__text, a.card__content:focus .button--sm .button--view-product__text, a.card__content:focus .button--sm-inverted .button--view-product__text, a.card__content:focus .button--sm-secondary .button--view-product__text, a.card__content:focus .button--lg .button--view-product__text, a.card__content:focus .button--lg-inverted .button--view-product__text, a.card__content:focus .button--lg-secondary .button--view-product__text, a.card__content:focus .button--xl .button--view-product__text, a.card__content:focus .button--xl-inverted .button--view-product__text, a.card__content:focus .button--xl-secondary .button--view-product__text, a.card__content:focus .button.disabled .button--view-product__text, a.card__content:focus .shopify-payment-button button.disabled .button--view-product__text, .shopify-payment-button a.card__content:focus button.disabled .button--view-product__text, a.card__content:focus .disabled.button--default .button--view-product__text, a.card__content:focus .disabled.button--primary .button--view-product__text, a.card__content:focus .disabled.button--inverted .button--view-product__text, a.card__content:focus .disabled.button--secondary .button--view-product__text, a.card__content:focus .disabled.button--xs .button--view-product__text, a.card__content:focus .disabled.button--xs-inverted .button--view-product__text, a.card__content:focus .disabled.button--xs-secondary .button--view-product__text, a.card__content:focus .disabled.button--sm .button--view-product__text, a.card__content:focus .disabled.button--sm-inverted .button--view-product__text, a.card__content:focus .disabled.button--sm-secondary .button--view-product__text, a.card__content:focus .disabled.button--lg .button--view-product__text, a.card__content:focus .disabled.button--lg-inverted .button--view-product__text, a.card__content:focus .disabled.button--lg-secondary .button--view-product__text, a.card__content:focus .disabled.button--xl .button--view-product__text, a.card__content:focus .disabled.button--xl-inverted .button--view-product__text, a.card__content:focus .disabled.button--xl-secondary .button--view-product__text, a.card__content:focus .button:disabled .button--view-product__text, a.card__content:focus .shopify-payment-button button:disabled .button--view-product__text, .shopify-payment-button a.card__content:focus button:disabled .button--view-product__text, a.card__content:focus .button--default:disabled .button--view-product__text, a.card__content:focus .button--primary:disabled .button--view-product__text, a.card__content:focus .button--inverted:disabled .button--view-product__text, a.card__content:focus .button--secondary:disabled .button--view-product__text, a.card__content:focus .button--xs:disabled .button--view-product__text, a.card__content:focus .button--xs-inverted:disabled .button--view-product__text, a.card__content:focus .button--xs-secondary:disabled .button--view-product__text, a.card__content:focus .button--sm:disabled .button--view-product__text, a.card__content:focus .button--sm-inverted:disabled .button--view-product__text, a.card__content:focus .button--sm-secondary:disabled .button--view-product__text, a.card__content:focus .button--lg:disabled .button--view-product__text, a.card__content:focus .button--lg-inverted:disabled .button--view-product__text, a.card__content:focus .button--lg-secondary:disabled .button--view-product__text, a.card__content:focus .button--xl:disabled .button--view-product__text, a.card__content:focus .button--xl-inverted:disabled .button--view-product__text, a.card__content:focus .button--xl-secondary:disabled .button--view-product__text, a.card__content:focus .button[aria-disabled=true] .button--view-product__text, a.card__content:focus .shopify-payment-button button[aria-disabled=true] .button--view-product__text, .shopify-payment-button a.card__content:focus button[aria-disabled=true] .button--view-product__text, a.card__content:focus [aria-disabled=true].button--default .button--view-product__text, a.card__content:focus [aria-disabled=true].button--primary .button--view-product__text, a.card__content:focus [aria-disabled=true].button--inverted .button--view-product__text, a.card__content:focus [aria-disabled=true].button--secondary .button--view-product__text, a.card__content:focus [aria-disabled=true].button--xs .button--view-product__text, a.card__content:focus [aria-disabled=true].button--xs-inverted .button--view-product__text, a.card__content:focus [aria-disabled=true].button--xs-secondary .button--view-product__text, a.card__content:focus [aria-disabled=true].button--sm .button--view-product__text, a.card__content:focus [aria-disabled=true].button--sm-inverted .button--view-product__text, a.card__content:focus [aria-disabled=true].button--sm-secondary .button--view-product__text, a.card__content:focus [aria-disabled=true].button--lg .button--view-product__text, a.card__content:focus [aria-disabled=true].button--lg-inverted .button--view-product__text, a.card__content:focus [aria-disabled=true].button--lg-secondary .button--view-product__text, a.card__content:focus [aria-disabled=true].button--xl .button--view-product__text, a.card__content:focus [aria-disabled=true].button--xl-inverted .button--view-product__text, a.card__content:focus [aria-disabled=true].button--xl-secondary .button--view-product__text, a.card__content:focus .button--add-to-cart--inverted .button--view-product__text, a.card__content:focus .button--add-to-cart--secondary .button--view-product__text, a.card__content:focus .shopify-payment-button button .button--view-product__text, .shopify-payment-button a.card__content:focus button .button--view-product__text, a.card__content:focus .disabled.button--add-to-cart--inverted .button--view-product__text, a.card__content:focus .disabled.button--add-to-cart--secondary .button--view-product__text, a.card__content:focus .shopify-payment-button button.disabled .button--view-product__text, .shopify-payment-button a.card__content:focus button.disabled .button--view-product__text, a.card__content:focus .button--add-to-cart--inverted:disabled .button--view-product__text, a.card__content:focus .button--add-to-cart--secondary:disabled .button--view-product__text, a.card__content:focus .shopify-payment-button button:disabled .button--view-product__text, .shopify-payment-button a.card__content:focus button:disabled .button--view-product__text, a.card__content:focus [aria-disabled=true].button--add-to-cart--inverted .button--view-product__text, a.card__content:focus [aria-disabled=true].button--add-to-cart--secondary .button--view-product__text, a.card__content:focus .shopify-payment-button button[aria-disabled=true] .button--view-product__text, .shopify-payment-button a.card__content:focus button[aria-disabled=true] .button--view-product__text, a.card__content:focus .button--pill .button--view-product__text, a.card__content:focus .disabled.button--pill .button--view-product__text, a.card__content:focus .button--pill:disabled .button--view-product__text, a.card__content:focus [aria-disabled=true].button--pill .button--view-product__text, a.card__content:focus .button--circle .button--view-product__text, a.card__content:focus .disabled.button--circle .button--view-product__text, a.card__content:focus .button--circle:disabled .button--view-product__text, a.card__content:focus [aria-disabled=true].button--circle .button--view-product__text {
  color: var(--color-text-button-primary-hover);
}

a.banner__wrapper:hover .button, a.banner__wrapper:hover .shopify-payment-button button, .shopify-payment-button a.banner__wrapper:hover button, a.banner__wrapper:hover .shopify-payment-button button.disabled, .shopify-payment-button a.banner__wrapper:hover button.disabled, a.banner__wrapper:hover .shopify-payment-button button:disabled, .shopify-payment-button a.banner__wrapper:hover button:disabled, a.banner__wrapper:hover .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.banner__wrapper:hover button[aria-disabled=true], a.banner__wrapper:hover .button--default, a.banner__wrapper:hover .button--primary, a.banner__wrapper:hover .button--inverted, a.banner__wrapper:hover .button--secondary, a.banner__wrapper:hover .button--xs, a.banner__wrapper:hover .button--xs-inverted, a.banner__wrapper:hover .button--xs-secondary, a.banner__wrapper:hover .button--sm, a.banner__wrapper:hover .button--sm-inverted, a.banner__wrapper:hover .button--sm-secondary, a.banner__wrapper:hover .button--lg, a.banner__wrapper:hover .button--lg-inverted, a.banner__wrapper:hover .button--lg-secondary, a.banner__wrapper:hover .button--xl, a.banner__wrapper:hover .button--xl-inverted, a.banner__wrapper:hover .button--xl-secondary, a.banner__wrapper:hover .button.disabled, a.banner__wrapper:hover .shopify-payment-button button.disabled, .shopify-payment-button a.banner__wrapper:hover button.disabled, a.banner__wrapper:hover .disabled.button--default, a.banner__wrapper:hover .disabled.button--primary, a.banner__wrapper:hover .disabled.button--inverted, a.banner__wrapper:hover .disabled.button--secondary, a.banner__wrapper:hover .disabled.button--xs, a.banner__wrapper:hover .disabled.button--xs-inverted, a.banner__wrapper:hover .disabled.button--xs-secondary, a.banner__wrapper:hover .disabled.button--sm, a.banner__wrapper:hover .disabled.button--sm-inverted, a.banner__wrapper:hover .disabled.button--sm-secondary, a.banner__wrapper:hover .disabled.button--lg, a.banner__wrapper:hover .disabled.button--lg-inverted, a.banner__wrapper:hover .disabled.button--lg-secondary, a.banner__wrapper:hover .disabled.button--xl, a.banner__wrapper:hover .disabled.button--xl-inverted, a.banner__wrapper:hover .disabled.button--xl-secondary, a.banner__wrapper:hover .button:disabled, a.banner__wrapper:hover .shopify-payment-button button:disabled, .shopify-payment-button a.banner__wrapper:hover button:disabled, a.banner__wrapper:hover .button--default:disabled, a.banner__wrapper:hover .button--primary:disabled, a.banner__wrapper:hover .button--inverted:disabled, a.banner__wrapper:hover .button--secondary:disabled, a.banner__wrapper:hover .button--xs:disabled, a.banner__wrapper:hover .button--xs-inverted:disabled, a.banner__wrapper:hover .button--xs-secondary:disabled, a.banner__wrapper:hover .button--sm:disabled, a.banner__wrapper:hover .button--sm-inverted:disabled, a.banner__wrapper:hover .button--sm-secondary:disabled, a.banner__wrapper:hover .button--lg:disabled, a.banner__wrapper:hover .button--lg-inverted:disabled, a.banner__wrapper:hover .button--lg-secondary:disabled, a.banner__wrapper:hover .button--xl:disabled, a.banner__wrapper:hover .button--xl-inverted:disabled, a.banner__wrapper:hover .button--xl-secondary:disabled, a.banner__wrapper:hover .button[aria-disabled=true], a.banner__wrapper:hover .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.banner__wrapper:hover button[aria-disabled=true], a.banner__wrapper:hover [aria-disabled=true].button--default, a.banner__wrapper:hover [aria-disabled=true].button--primary, a.banner__wrapper:hover [aria-disabled=true].button--inverted, a.banner__wrapper:hover [aria-disabled=true].button--secondary, a.banner__wrapper:hover [aria-disabled=true].button--xs, a.banner__wrapper:hover [aria-disabled=true].button--xs-inverted, a.banner__wrapper:hover [aria-disabled=true].button--xs-secondary, a.banner__wrapper:hover [aria-disabled=true].button--sm, a.banner__wrapper:hover [aria-disabled=true].button--sm-inverted, a.banner__wrapper:hover [aria-disabled=true].button--sm-secondary, a.banner__wrapper:hover [aria-disabled=true].button--lg, a.banner__wrapper:hover [aria-disabled=true].button--lg-inverted, a.banner__wrapper:hover [aria-disabled=true].button--lg-secondary, a.banner__wrapper:hover [aria-disabled=true].button--xl, a.banner__wrapper:hover [aria-disabled=true].button--xl-inverted, a.banner__wrapper:hover [aria-disabled=true].button--xl-secondary, a.banner__wrapper:hover .button--add-to-cart--inverted, a.banner__wrapper:hover .button--add-to-cart--secondary, a.banner__wrapper:hover .shopify-payment-button button, .shopify-payment-button a.banner__wrapper:hover button, a.banner__wrapper:hover .disabled.button--add-to-cart--inverted, a.banner__wrapper:hover .disabled.button--add-to-cart--secondary, a.banner__wrapper:hover .shopify-payment-button button.disabled, .shopify-payment-button a.banner__wrapper:hover button.disabled, a.banner__wrapper:hover .button--add-to-cart--inverted:disabled, a.banner__wrapper:hover .button--add-to-cart--secondary:disabled, a.banner__wrapper:hover .shopify-payment-button button:disabled, .shopify-payment-button a.banner__wrapper:hover button:disabled, a.banner__wrapper:hover [aria-disabled=true].button--add-to-cart--inverted, a.banner__wrapper:hover [aria-disabled=true].button--add-to-cart--secondary, a.banner__wrapper:hover .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.banner__wrapper:hover button[aria-disabled=true], a.banner__wrapper:hover .button--pill, a.banner__wrapper:hover .disabled.button--pill, a.banner__wrapper:hover .button--pill:disabled, a.banner__wrapper:hover [aria-disabled=true].button--pill, a.banner__wrapper:hover .button--circle, a.banner__wrapper:hover .disabled.button--circle, a.banner__wrapper:hover .button--circle:disabled, a.banner__wrapper:hover [aria-disabled=true].button--circle, a.banner__wrapper:active .button, a.banner__wrapper:active .shopify-payment-button button, .shopify-payment-button a.banner__wrapper:active button, a.banner__wrapper:active .shopify-payment-button button.disabled, .shopify-payment-button a.banner__wrapper:active button.disabled, a.banner__wrapper:active .shopify-payment-button button:disabled, .shopify-payment-button a.banner__wrapper:active button:disabled, a.banner__wrapper:active .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.banner__wrapper:active button[aria-disabled=true], a.banner__wrapper:active .button--default, a.banner__wrapper:active .button--primary, a.banner__wrapper:active .button--inverted, a.banner__wrapper:active .button--secondary, a.banner__wrapper:active .button--xs, a.banner__wrapper:active .button--xs-inverted, a.banner__wrapper:active .button--xs-secondary, a.banner__wrapper:active .button--sm, a.banner__wrapper:active .button--sm-inverted, a.banner__wrapper:active .button--sm-secondary, a.banner__wrapper:active .button--lg, a.banner__wrapper:active .button--lg-inverted, a.banner__wrapper:active .button--lg-secondary, a.banner__wrapper:active .button--xl, a.banner__wrapper:active .button--xl-inverted, a.banner__wrapper:active .button--xl-secondary, a.banner__wrapper:active .button.disabled, a.banner__wrapper:active .shopify-payment-button button.disabled, .shopify-payment-button a.banner__wrapper:active button.disabled, a.banner__wrapper:active .disabled.button--default, a.banner__wrapper:active .disabled.button--primary, a.banner__wrapper:active .disabled.button--inverted, a.banner__wrapper:active .disabled.button--secondary, a.banner__wrapper:active .disabled.button--xs, a.banner__wrapper:active .disabled.button--xs-inverted, a.banner__wrapper:active .disabled.button--xs-secondary, a.banner__wrapper:active .disabled.button--sm, a.banner__wrapper:active .disabled.button--sm-inverted, a.banner__wrapper:active .disabled.button--sm-secondary, a.banner__wrapper:active .disabled.button--lg, a.banner__wrapper:active .disabled.button--lg-inverted, a.banner__wrapper:active .disabled.button--lg-secondary, a.banner__wrapper:active .disabled.button--xl, a.banner__wrapper:active .disabled.button--xl-inverted, a.banner__wrapper:active .disabled.button--xl-secondary, a.banner__wrapper:active .button:disabled, a.banner__wrapper:active .shopify-payment-button button:disabled, .shopify-payment-button a.banner__wrapper:active button:disabled, a.banner__wrapper:active .button--default:disabled, a.banner__wrapper:active .button--primary:disabled, a.banner__wrapper:active .button--inverted:disabled, a.banner__wrapper:active .button--secondary:disabled, a.banner__wrapper:active .button--xs:disabled, a.banner__wrapper:active .button--xs-inverted:disabled, a.banner__wrapper:active .button--xs-secondary:disabled, a.banner__wrapper:active .button--sm:disabled, a.banner__wrapper:active .button--sm-inverted:disabled, a.banner__wrapper:active .button--sm-secondary:disabled, a.banner__wrapper:active .button--lg:disabled, a.banner__wrapper:active .button--lg-inverted:disabled, a.banner__wrapper:active .button--lg-secondary:disabled, a.banner__wrapper:active .button--xl:disabled, a.banner__wrapper:active .button--xl-inverted:disabled, a.banner__wrapper:active .button--xl-secondary:disabled, a.banner__wrapper:active .button[aria-disabled=true], a.banner__wrapper:active .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.banner__wrapper:active button[aria-disabled=true], a.banner__wrapper:active [aria-disabled=true].button--default, a.banner__wrapper:active [aria-disabled=true].button--primary, a.banner__wrapper:active [aria-disabled=true].button--inverted, a.banner__wrapper:active [aria-disabled=true].button--secondary, a.banner__wrapper:active [aria-disabled=true].button--xs, a.banner__wrapper:active [aria-disabled=true].button--xs-inverted, a.banner__wrapper:active [aria-disabled=true].button--xs-secondary, a.banner__wrapper:active [aria-disabled=true].button--sm, a.banner__wrapper:active [aria-disabled=true].button--sm-inverted, a.banner__wrapper:active [aria-disabled=true].button--sm-secondary, a.banner__wrapper:active [aria-disabled=true].button--lg, a.banner__wrapper:active [aria-disabled=true].button--lg-inverted, a.banner__wrapper:active [aria-disabled=true].button--lg-secondary, a.banner__wrapper:active [aria-disabled=true].button--xl, a.banner__wrapper:active [aria-disabled=true].button--xl-inverted, a.banner__wrapper:active [aria-disabled=true].button--xl-secondary, a.banner__wrapper:active .button--add-to-cart--inverted, a.banner__wrapper:active .button--add-to-cart--secondary, a.banner__wrapper:active .shopify-payment-button button, .shopify-payment-button a.banner__wrapper:active button, a.banner__wrapper:active .disabled.button--add-to-cart--inverted, a.banner__wrapper:active .disabled.button--add-to-cart--secondary, a.banner__wrapper:active .shopify-payment-button button.disabled, .shopify-payment-button a.banner__wrapper:active button.disabled, a.banner__wrapper:active .button--add-to-cart--inverted:disabled, a.banner__wrapper:active .button--add-to-cart--secondary:disabled, a.banner__wrapper:active .shopify-payment-button button:disabled, .shopify-payment-button a.banner__wrapper:active button:disabled, a.banner__wrapper:active [aria-disabled=true].button--add-to-cart--inverted, a.banner__wrapper:active [aria-disabled=true].button--add-to-cart--secondary, a.banner__wrapper:active .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.banner__wrapper:active button[aria-disabled=true], a.banner__wrapper:active .button--pill, a.banner__wrapper:active .disabled.button--pill, a.banner__wrapper:active .button--pill:disabled, a.banner__wrapper:active [aria-disabled=true].button--pill, a.banner__wrapper:active .button--circle, a.banner__wrapper:active .disabled.button--circle, a.banner__wrapper:active .button--circle:disabled, a.banner__wrapper:active [aria-disabled=true].button--circle, a.banner__wrapper:focus .button, a.banner__wrapper:focus .shopify-payment-button button, .shopify-payment-button a.banner__wrapper:focus button, a.banner__wrapper:focus .shopify-payment-button button.disabled, .shopify-payment-button a.banner__wrapper:focus button.disabled, a.banner__wrapper:focus .shopify-payment-button button:disabled, .shopify-payment-button a.banner__wrapper:focus button:disabled, a.banner__wrapper:focus .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.banner__wrapper:focus button[aria-disabled=true], a.banner__wrapper:focus .button--default, a.banner__wrapper:focus .button--primary, a.banner__wrapper:focus .button--inverted, a.banner__wrapper:focus .button--secondary, a.banner__wrapper:focus .button--xs, a.banner__wrapper:focus .button--xs-inverted, a.banner__wrapper:focus .button--xs-secondary, a.banner__wrapper:focus .button--sm, a.banner__wrapper:focus .button--sm-inverted, a.banner__wrapper:focus .button--sm-secondary, a.banner__wrapper:focus .button--lg, a.banner__wrapper:focus .button--lg-inverted, a.banner__wrapper:focus .button--lg-secondary, a.banner__wrapper:focus .button--xl, a.banner__wrapper:focus .button--xl-inverted, a.banner__wrapper:focus .button--xl-secondary, a.banner__wrapper:focus .button.disabled, a.banner__wrapper:focus .shopify-payment-button button.disabled, .shopify-payment-button a.banner__wrapper:focus button.disabled, a.banner__wrapper:focus .disabled.button--default, a.banner__wrapper:focus .disabled.button--primary, a.banner__wrapper:focus .disabled.button--inverted, a.banner__wrapper:focus .disabled.button--secondary, a.banner__wrapper:focus .disabled.button--xs, a.banner__wrapper:focus .disabled.button--xs-inverted, a.banner__wrapper:focus .disabled.button--xs-secondary, a.banner__wrapper:focus .disabled.button--sm, a.banner__wrapper:focus .disabled.button--sm-inverted, a.banner__wrapper:focus .disabled.button--sm-secondary, a.banner__wrapper:focus .disabled.button--lg, a.banner__wrapper:focus .disabled.button--lg-inverted, a.banner__wrapper:focus .disabled.button--lg-secondary, a.banner__wrapper:focus .disabled.button--xl, a.banner__wrapper:focus .disabled.button--xl-inverted, a.banner__wrapper:focus .disabled.button--xl-secondary, a.banner__wrapper:focus .button:disabled, a.banner__wrapper:focus .shopify-payment-button button:disabled, .shopify-payment-button a.banner__wrapper:focus button:disabled, a.banner__wrapper:focus .button--default:disabled, a.banner__wrapper:focus .button--primary:disabled, a.banner__wrapper:focus .button--inverted:disabled, a.banner__wrapper:focus .button--secondary:disabled, a.banner__wrapper:focus .button--xs:disabled, a.banner__wrapper:focus .button--xs-inverted:disabled, a.banner__wrapper:focus .button--xs-secondary:disabled, a.banner__wrapper:focus .button--sm:disabled, a.banner__wrapper:focus .button--sm-inverted:disabled, a.banner__wrapper:focus .button--sm-secondary:disabled, a.banner__wrapper:focus .button--lg:disabled, a.banner__wrapper:focus .button--lg-inverted:disabled, a.banner__wrapper:focus .button--lg-secondary:disabled, a.banner__wrapper:focus .button--xl:disabled, a.banner__wrapper:focus .button--xl-inverted:disabled, a.banner__wrapper:focus .button--xl-secondary:disabled, a.banner__wrapper:focus .button[aria-disabled=true], a.banner__wrapper:focus .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.banner__wrapper:focus button[aria-disabled=true], a.banner__wrapper:focus [aria-disabled=true].button--default, a.banner__wrapper:focus [aria-disabled=true].button--primary, a.banner__wrapper:focus [aria-disabled=true].button--inverted, a.banner__wrapper:focus [aria-disabled=true].button--secondary, a.banner__wrapper:focus [aria-disabled=true].button--xs, a.banner__wrapper:focus [aria-disabled=true].button--xs-inverted, a.banner__wrapper:focus [aria-disabled=true].button--xs-secondary, a.banner__wrapper:focus [aria-disabled=true].button--sm, a.banner__wrapper:focus [aria-disabled=true].button--sm-inverted, a.banner__wrapper:focus [aria-disabled=true].button--sm-secondary, a.banner__wrapper:focus [aria-disabled=true].button--lg, a.banner__wrapper:focus [aria-disabled=true].button--lg-inverted, a.banner__wrapper:focus [aria-disabled=true].button--lg-secondary, a.banner__wrapper:focus [aria-disabled=true].button--xl, a.banner__wrapper:focus [aria-disabled=true].button--xl-inverted, a.banner__wrapper:focus [aria-disabled=true].button--xl-secondary, a.banner__wrapper:focus .button--add-to-cart--inverted, a.banner__wrapper:focus .button--add-to-cart--secondary, a.banner__wrapper:focus .shopify-payment-button button, .shopify-payment-button a.banner__wrapper:focus button, a.banner__wrapper:focus .disabled.button--add-to-cart--inverted, a.banner__wrapper:focus .disabled.button--add-to-cart--secondary, a.banner__wrapper:focus .shopify-payment-button button.disabled, .shopify-payment-button a.banner__wrapper:focus button.disabled, a.banner__wrapper:focus .button--add-to-cart--inverted:disabled, a.banner__wrapper:focus .button--add-to-cart--secondary:disabled, a.banner__wrapper:focus .shopify-payment-button button:disabled, .shopify-payment-button a.banner__wrapper:focus button:disabled, a.banner__wrapper:focus [aria-disabled=true].button--add-to-cart--inverted, a.banner__wrapper:focus [aria-disabled=true].button--add-to-cart--secondary, a.banner__wrapper:focus .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.banner__wrapper:focus button[aria-disabled=true], a.banner__wrapper:focus .button--pill, a.banner__wrapper:focus .disabled.button--pill, a.banner__wrapper:focus .button--pill:disabled, a.banner__wrapper:focus [aria-disabled=true].button--pill, a.banner__wrapper:focus .button--circle, a.banner__wrapper:focus .disabled.button--circle, a.banner__wrapper:focus .button--circle:disabled, a.banner__wrapper:focus [aria-disabled=true].button--circle {
  text-decoration: none;
  background-color: var(--color-background-button-primary-hover);
  border-color: var(--color-border-button-primary-hover);
}
a.banner__wrapper:hover .button .button__text, a.banner__wrapper:hover .shopify-payment-button button .button__text, .shopify-payment-button a.banner__wrapper:hover button .button__text, a.banner__wrapper:hover .shopify-payment-button button.disabled .button__text, .shopify-payment-button a.banner__wrapper:hover button.disabled .button__text, a.banner__wrapper:hover .shopify-payment-button button:disabled .button__text, .shopify-payment-button a.banner__wrapper:hover button:disabled .button__text, a.banner__wrapper:hover .shopify-payment-button button[aria-disabled=true] .button__text, .shopify-payment-button a.banner__wrapper:hover button[aria-disabled=true] .button__text, a.banner__wrapper:hover .button--default .button__text, a.banner__wrapper:hover .button--primary .button__text, a.banner__wrapper:hover .button--inverted .button__text, a.banner__wrapper:hover .button--secondary .button__text, a.banner__wrapper:hover .button--xs .button__text, a.banner__wrapper:hover .button--xs-inverted .button__text, a.banner__wrapper:hover .button--xs-secondary .button__text, a.banner__wrapper:hover .button--sm .button__text, a.banner__wrapper:hover .button--sm-inverted .button__text, a.banner__wrapper:hover .button--sm-secondary .button__text, a.banner__wrapper:hover .button--lg .button__text, a.banner__wrapper:hover .button--lg-inverted .button__text, a.banner__wrapper:hover .button--lg-secondary .button__text, a.banner__wrapper:hover .button--xl .button__text, a.banner__wrapper:hover .button--xl-inverted .button__text, a.banner__wrapper:hover .button--xl-secondary .button__text, a.banner__wrapper:hover .button.disabled .button__text, a.banner__wrapper:hover .shopify-payment-button button.disabled .button__text, .shopify-payment-button a.banner__wrapper:hover button.disabled .button__text, a.banner__wrapper:hover .disabled.button--default .button__text, a.banner__wrapper:hover .disabled.button--primary .button__text, a.banner__wrapper:hover .disabled.button--inverted .button__text, a.banner__wrapper:hover .disabled.button--secondary .button__text, a.banner__wrapper:hover .disabled.button--xs .button__text, a.banner__wrapper:hover .disabled.button--xs-inverted .button__text, a.banner__wrapper:hover .disabled.button--xs-secondary .button__text, a.banner__wrapper:hover .disabled.button--sm .button__text, a.banner__wrapper:hover .disabled.button--sm-inverted .button__text, a.banner__wrapper:hover .disabled.button--sm-secondary .button__text, a.banner__wrapper:hover .disabled.button--lg .button__text, a.banner__wrapper:hover .disabled.button--lg-inverted .button__text, a.banner__wrapper:hover .disabled.button--lg-secondary .button__text, a.banner__wrapper:hover .disabled.button--xl .button__text, a.banner__wrapper:hover .disabled.button--xl-inverted .button__text, a.banner__wrapper:hover .disabled.button--xl-secondary .button__text, a.banner__wrapper:hover .button:disabled .button__text, a.banner__wrapper:hover .shopify-payment-button button:disabled .button__text, .shopify-payment-button a.banner__wrapper:hover button:disabled .button__text, a.banner__wrapper:hover .button--default:disabled .button__text, a.banner__wrapper:hover .button--primary:disabled .button__text, a.banner__wrapper:hover .button--inverted:disabled .button__text, a.banner__wrapper:hover .button--secondary:disabled .button__text, a.banner__wrapper:hover .button--xs:disabled .button__text, a.banner__wrapper:hover .button--xs-inverted:disabled .button__text, a.banner__wrapper:hover .button--xs-secondary:disabled .button__text, a.banner__wrapper:hover .button--sm:disabled .button__text, a.banner__wrapper:hover .button--sm-inverted:disabled .button__text, a.banner__wrapper:hover .button--sm-secondary:disabled .button__text, a.banner__wrapper:hover .button--lg:disabled .button__text, a.banner__wrapper:hover .button--lg-inverted:disabled .button__text, a.banner__wrapper:hover .button--lg-secondary:disabled .button__text, a.banner__wrapper:hover .button--xl:disabled .button__text, a.banner__wrapper:hover .button--xl-inverted:disabled .button__text, a.banner__wrapper:hover .button--xl-secondary:disabled .button__text, a.banner__wrapper:hover .button[aria-disabled=true] .button__text, a.banner__wrapper:hover .shopify-payment-button button[aria-disabled=true] .button__text, .shopify-payment-button a.banner__wrapper:hover button[aria-disabled=true] .button__text, a.banner__wrapper:hover [aria-disabled=true].button--default .button__text, a.banner__wrapper:hover [aria-disabled=true].button--primary .button__text, a.banner__wrapper:hover [aria-disabled=true].button--inverted .button__text, a.banner__wrapper:hover [aria-disabled=true].button--secondary .button__text, a.banner__wrapper:hover [aria-disabled=true].button--xs .button__text, a.banner__wrapper:hover [aria-disabled=true].button--xs-inverted .button__text, a.banner__wrapper:hover [aria-disabled=true].button--xs-secondary .button__text, a.banner__wrapper:hover [aria-disabled=true].button--sm .button__text, a.banner__wrapper:hover [aria-disabled=true].button--sm-inverted .button__text, a.banner__wrapper:hover [aria-disabled=true].button--sm-secondary .button__text, a.banner__wrapper:hover [aria-disabled=true].button--lg .button__text, a.banner__wrapper:hover [aria-disabled=true].button--lg-inverted .button__text, a.banner__wrapper:hover [aria-disabled=true].button--lg-secondary .button__text, a.banner__wrapper:hover [aria-disabled=true].button--xl .button__text, a.banner__wrapper:hover [aria-disabled=true].button--xl-inverted .button__text, a.banner__wrapper:hover [aria-disabled=true].button--xl-secondary .button__text, a.banner__wrapper:hover .button--add-to-cart--inverted .button__text, a.banner__wrapper:hover .button--add-to-cart--secondary .button__text, a.banner__wrapper:hover .shopify-payment-button button .button__text, .shopify-payment-button a.banner__wrapper:hover button .button__text, a.banner__wrapper:hover .disabled.button--add-to-cart--inverted .button__text, a.banner__wrapper:hover .disabled.button--add-to-cart--secondary .button__text, a.banner__wrapper:hover .shopify-payment-button button.disabled .button__text, .shopify-payment-button a.banner__wrapper:hover button.disabled .button__text, a.banner__wrapper:hover .button--add-to-cart--inverted:disabled .button__text, a.banner__wrapper:hover .button--add-to-cart--secondary:disabled .button__text, a.banner__wrapper:hover .shopify-payment-button button:disabled .button__text, .shopify-payment-button a.banner__wrapper:hover button:disabled .button__text, a.banner__wrapper:hover [aria-disabled=true].button--add-to-cart--inverted .button__text, a.banner__wrapper:hover [aria-disabled=true].button--add-to-cart--secondary .button__text, a.banner__wrapper:hover .shopify-payment-button button[aria-disabled=true] .button__text, .shopify-payment-button a.banner__wrapper:hover button[aria-disabled=true] .button__text, a.banner__wrapper:hover .button--pill .button__text, a.banner__wrapper:hover .disabled.button--pill .button__text, a.banner__wrapper:hover .button--pill:disabled .button__text, a.banner__wrapper:hover [aria-disabled=true].button--pill .button__text, a.banner__wrapper:hover .button--circle .button__text, a.banner__wrapper:hover .disabled.button--circle .button__text, a.banner__wrapper:hover .button--circle:disabled .button__text, a.banner__wrapper:hover [aria-disabled=true].button--circle .button__text, a.banner__wrapper:active .button .button__text, a.banner__wrapper:active .shopify-payment-button button .button__text, .shopify-payment-button a.banner__wrapper:active button .button__text, a.banner__wrapper:active .shopify-payment-button button.disabled .button__text, .shopify-payment-button a.banner__wrapper:active button.disabled .button__text, a.banner__wrapper:active .shopify-payment-button button:disabled .button__text, .shopify-payment-button a.banner__wrapper:active button:disabled .button__text, a.banner__wrapper:active .shopify-payment-button button[aria-disabled=true] .button__text, .shopify-payment-button a.banner__wrapper:active button[aria-disabled=true] .button__text, a.banner__wrapper:active .button--default .button__text, a.banner__wrapper:active .button--primary .button__text, a.banner__wrapper:active .button--inverted .button__text, a.banner__wrapper:active .button--secondary .button__text, a.banner__wrapper:active .button--xs .button__text, a.banner__wrapper:active .button--xs-inverted .button__text, a.banner__wrapper:active .button--xs-secondary .button__text, a.banner__wrapper:active .button--sm .button__text, a.banner__wrapper:active .button--sm-inverted .button__text, a.banner__wrapper:active .button--sm-secondary .button__text, a.banner__wrapper:active .button--lg .button__text, a.banner__wrapper:active .button--lg-inverted .button__text, a.banner__wrapper:active .button--lg-secondary .button__text, a.banner__wrapper:active .button--xl .button__text, a.banner__wrapper:active .button--xl-inverted .button__text, a.banner__wrapper:active .button--xl-secondary .button__text, a.banner__wrapper:active .button.disabled .button__text, a.banner__wrapper:active .shopify-payment-button button.disabled .button__text, .shopify-payment-button a.banner__wrapper:active button.disabled .button__text, a.banner__wrapper:active .disabled.button--default .button__text, a.banner__wrapper:active .disabled.button--primary .button__text, a.banner__wrapper:active .disabled.button--inverted .button__text, a.banner__wrapper:active .disabled.button--secondary .button__text, a.banner__wrapper:active .disabled.button--xs .button__text, a.banner__wrapper:active .disabled.button--xs-inverted .button__text, a.banner__wrapper:active .disabled.button--xs-secondary .button__text, a.banner__wrapper:active .disabled.button--sm .button__text, a.banner__wrapper:active .disabled.button--sm-inverted .button__text, a.banner__wrapper:active .disabled.button--sm-secondary .button__text, a.banner__wrapper:active .disabled.button--lg .button__text, a.banner__wrapper:active .disabled.button--lg-inverted .button__text, a.banner__wrapper:active .disabled.button--lg-secondary .button__text, a.banner__wrapper:active .disabled.button--xl .button__text, a.banner__wrapper:active .disabled.button--xl-inverted .button__text, a.banner__wrapper:active .disabled.button--xl-secondary .button__text, a.banner__wrapper:active .button:disabled .button__text, a.banner__wrapper:active .shopify-payment-button button:disabled .button__text, .shopify-payment-button a.banner__wrapper:active button:disabled .button__text, a.banner__wrapper:active .button--default:disabled .button__text, a.banner__wrapper:active .button--primary:disabled .button__text, a.banner__wrapper:active .button--inverted:disabled .button__text, a.banner__wrapper:active .button--secondary:disabled .button__text, a.banner__wrapper:active .button--xs:disabled .button__text, a.banner__wrapper:active .button--xs-inverted:disabled .button__text, a.banner__wrapper:active .button--xs-secondary:disabled .button__text, a.banner__wrapper:active .button--sm:disabled .button__text, a.banner__wrapper:active .button--sm-inverted:disabled .button__text, a.banner__wrapper:active .button--sm-secondary:disabled .button__text, a.banner__wrapper:active .button--lg:disabled .button__text, a.banner__wrapper:active .button--lg-inverted:disabled .button__text, a.banner__wrapper:active .button--lg-secondary:disabled .button__text, a.banner__wrapper:active .button--xl:disabled .button__text, a.banner__wrapper:active .button--xl-inverted:disabled .button__text, a.banner__wrapper:active .button--xl-secondary:disabled .button__text, a.banner__wrapper:active .button[aria-disabled=true] .button__text, a.banner__wrapper:active .shopify-payment-button button[aria-disabled=true] .button__text, .shopify-payment-button a.banner__wrapper:active button[aria-disabled=true] .button__text, a.banner__wrapper:active [aria-disabled=true].button--default .button__text, a.banner__wrapper:active [aria-disabled=true].button--primary .button__text, a.banner__wrapper:active [aria-disabled=true].button--inverted .button__text, a.banner__wrapper:active [aria-disabled=true].button--secondary .button__text, a.banner__wrapper:active [aria-disabled=true].button--xs .button__text, a.banner__wrapper:active [aria-disabled=true].button--xs-inverted .button__text, a.banner__wrapper:active [aria-disabled=true].button--xs-secondary .button__text, a.banner__wrapper:active [aria-disabled=true].button--sm .button__text, a.banner__wrapper:active [aria-disabled=true].button--sm-inverted .button__text, a.banner__wrapper:active [aria-disabled=true].button--sm-secondary .button__text, a.banner__wrapper:active [aria-disabled=true].button--lg .button__text, a.banner__wrapper:active [aria-disabled=true].button--lg-inverted .button__text, a.banner__wrapper:active [aria-disabled=true].button--lg-secondary .button__text, a.banner__wrapper:active [aria-disabled=true].button--xl .button__text, a.banner__wrapper:active [aria-disabled=true].button--xl-inverted .button__text, a.banner__wrapper:active [aria-disabled=true].button--xl-secondary .button__text, a.banner__wrapper:active .button--add-to-cart--inverted .button__text, a.banner__wrapper:active .button--add-to-cart--secondary .button__text, a.banner__wrapper:active .shopify-payment-button button .button__text, .shopify-payment-button a.banner__wrapper:active button .button__text, a.banner__wrapper:active .disabled.button--add-to-cart--inverted .button__text, a.banner__wrapper:active .disabled.button--add-to-cart--secondary .button__text, a.banner__wrapper:active .shopify-payment-button button.disabled .button__text, .shopify-payment-button a.banner__wrapper:active button.disabled .button__text, a.banner__wrapper:active .button--add-to-cart--inverted:disabled .button__text, a.banner__wrapper:active .button--add-to-cart--secondary:disabled .button__text, a.banner__wrapper:active .shopify-payment-button button:disabled .button__text, .shopify-payment-button a.banner__wrapper:active button:disabled .button__text, a.banner__wrapper:active [aria-disabled=true].button--add-to-cart--inverted .button__text, a.banner__wrapper:active [aria-disabled=true].button--add-to-cart--secondary .button__text, a.banner__wrapper:active .shopify-payment-button button[aria-disabled=true] .button__text, .shopify-payment-button a.banner__wrapper:active button[aria-disabled=true] .button__text, a.banner__wrapper:active .button--pill .button__text, a.banner__wrapper:active .disabled.button--pill .button__text, a.banner__wrapper:active .button--pill:disabled .button__text, a.banner__wrapper:active [aria-disabled=true].button--pill .button__text, a.banner__wrapper:active .button--circle .button__text, a.banner__wrapper:active .disabled.button--circle .button__text, a.banner__wrapper:active .button--circle:disabled .button__text, a.banner__wrapper:active [aria-disabled=true].button--circle .button__text, a.banner__wrapper:focus .button .button__text, a.banner__wrapper:focus .shopify-payment-button button .button__text, .shopify-payment-button a.banner__wrapper:focus button .button__text, a.banner__wrapper:focus .shopify-payment-button button.disabled .button__text, .shopify-payment-button a.banner__wrapper:focus button.disabled .button__text, a.banner__wrapper:focus .shopify-payment-button button:disabled .button__text, .shopify-payment-button a.banner__wrapper:focus button:disabled .button__text, a.banner__wrapper:focus .shopify-payment-button button[aria-disabled=true] .button__text, .shopify-payment-button a.banner__wrapper:focus button[aria-disabled=true] .button__text, a.banner__wrapper:focus .button--default .button__text, a.banner__wrapper:focus .button--primary .button__text, a.banner__wrapper:focus .button--inverted .button__text, a.banner__wrapper:focus .button--secondary .button__text, a.banner__wrapper:focus .button--xs .button__text, a.banner__wrapper:focus .button--xs-inverted .button__text, a.banner__wrapper:focus .button--xs-secondary .button__text, a.banner__wrapper:focus .button--sm .button__text, a.banner__wrapper:focus .button--sm-inverted .button__text, a.banner__wrapper:focus .button--sm-secondary .button__text, a.banner__wrapper:focus .button--lg .button__text, a.banner__wrapper:focus .button--lg-inverted .button__text, a.banner__wrapper:focus .button--lg-secondary .button__text, a.banner__wrapper:focus .button--xl .button__text, a.banner__wrapper:focus .button--xl-inverted .button__text, a.banner__wrapper:focus .button--xl-secondary .button__text, a.banner__wrapper:focus .button.disabled .button__text, a.banner__wrapper:focus .shopify-payment-button button.disabled .button__text, .shopify-payment-button a.banner__wrapper:focus button.disabled .button__text, a.banner__wrapper:focus .disabled.button--default .button__text, a.banner__wrapper:focus .disabled.button--primary .button__text, a.banner__wrapper:focus .disabled.button--inverted .button__text, a.banner__wrapper:focus .disabled.button--secondary .button__text, a.banner__wrapper:focus .disabled.button--xs .button__text, a.banner__wrapper:focus .disabled.button--xs-inverted .button__text, a.banner__wrapper:focus .disabled.button--xs-secondary .button__text, a.banner__wrapper:focus .disabled.button--sm .button__text, a.banner__wrapper:focus .disabled.button--sm-inverted .button__text, a.banner__wrapper:focus .disabled.button--sm-secondary .button__text, a.banner__wrapper:focus .disabled.button--lg .button__text, a.banner__wrapper:focus .disabled.button--lg-inverted .button__text, a.banner__wrapper:focus .disabled.button--lg-secondary .button__text, a.banner__wrapper:focus .disabled.button--xl .button__text, a.banner__wrapper:focus .disabled.button--xl-inverted .button__text, a.banner__wrapper:focus .disabled.button--xl-secondary .button__text, a.banner__wrapper:focus .button:disabled .button__text, a.banner__wrapper:focus .shopify-payment-button button:disabled .button__text, .shopify-payment-button a.banner__wrapper:focus button:disabled .button__text, a.banner__wrapper:focus .button--default:disabled .button__text, a.banner__wrapper:focus .button--primary:disabled .button__text, a.banner__wrapper:focus .button--inverted:disabled .button__text, a.banner__wrapper:focus .button--secondary:disabled .button__text, a.banner__wrapper:focus .button--xs:disabled .button__text, a.banner__wrapper:focus .button--xs-inverted:disabled .button__text, a.banner__wrapper:focus .button--xs-secondary:disabled .button__text, a.banner__wrapper:focus .button--sm:disabled .button__text, a.banner__wrapper:focus .button--sm-inverted:disabled .button__text, a.banner__wrapper:focus .button--sm-secondary:disabled .button__text, a.banner__wrapper:focus .button--lg:disabled .button__text, a.banner__wrapper:focus .button--lg-inverted:disabled .button__text, a.banner__wrapper:focus .button--lg-secondary:disabled .button__text, a.banner__wrapper:focus .button--xl:disabled .button__text, a.banner__wrapper:focus .button--xl-inverted:disabled .button__text, a.banner__wrapper:focus .button--xl-secondary:disabled .button__text, a.banner__wrapper:focus .button[aria-disabled=true] .button__text, a.banner__wrapper:focus .shopify-payment-button button[aria-disabled=true] .button__text, .shopify-payment-button a.banner__wrapper:focus button[aria-disabled=true] .button__text, a.banner__wrapper:focus [aria-disabled=true].button--default .button__text, a.banner__wrapper:focus [aria-disabled=true].button--primary .button__text, a.banner__wrapper:focus [aria-disabled=true].button--inverted .button__text, a.banner__wrapper:focus [aria-disabled=true].button--secondary .button__text, a.banner__wrapper:focus [aria-disabled=true].button--xs .button__text, a.banner__wrapper:focus [aria-disabled=true].button--xs-inverted .button__text, a.banner__wrapper:focus [aria-disabled=true].button--xs-secondary .button__text, a.banner__wrapper:focus [aria-disabled=true].button--sm .button__text, a.banner__wrapper:focus [aria-disabled=true].button--sm-inverted .button__text, a.banner__wrapper:focus [aria-disabled=true].button--sm-secondary .button__text, a.banner__wrapper:focus [aria-disabled=true].button--lg .button__text, a.banner__wrapper:focus [aria-disabled=true].button--lg-inverted .button__text, a.banner__wrapper:focus [aria-disabled=true].button--lg-secondary .button__text, a.banner__wrapper:focus [aria-disabled=true].button--xl .button__text, a.banner__wrapper:focus [aria-disabled=true].button--xl-inverted .button__text, a.banner__wrapper:focus [aria-disabled=true].button--xl-secondary .button__text, a.banner__wrapper:focus .button--add-to-cart--inverted .button__text, a.banner__wrapper:focus .button--add-to-cart--secondary .button__text, a.banner__wrapper:focus .shopify-payment-button button .button__text, .shopify-payment-button a.banner__wrapper:focus button .button__text, a.banner__wrapper:focus .disabled.button--add-to-cart--inverted .button__text, a.banner__wrapper:focus .disabled.button--add-to-cart--secondary .button__text, a.banner__wrapper:focus .shopify-payment-button button.disabled .button__text, .shopify-payment-button a.banner__wrapper:focus button.disabled .button__text, a.banner__wrapper:focus .button--add-to-cart--inverted:disabled .button__text, a.banner__wrapper:focus .button--add-to-cart--secondary:disabled .button__text, a.banner__wrapper:focus .shopify-payment-button button:disabled .button__text, .shopify-payment-button a.banner__wrapper:focus button:disabled .button__text, a.banner__wrapper:focus [aria-disabled=true].button--add-to-cart--inverted .button__text, a.banner__wrapper:focus [aria-disabled=true].button--add-to-cart--secondary .button__text, a.banner__wrapper:focus .shopify-payment-button button[aria-disabled=true] .button__text, .shopify-payment-button a.banner__wrapper:focus button[aria-disabled=true] .button__text, a.banner__wrapper:focus .button--pill .button__text, a.banner__wrapper:focus .disabled.button--pill .button__text, a.banner__wrapper:focus .button--pill:disabled .button__text, a.banner__wrapper:focus [aria-disabled=true].button--pill .button__text, a.banner__wrapper:focus .button--circle .button__text, a.banner__wrapper:focus .disabled.button--circle .button__text, a.banner__wrapper:focus .button--circle:disabled .button__text, a.banner__wrapper:focus [aria-disabled=true].button--circle .button__text {
  color: var(--color-text-button-primary-hover);
}
a.banner__wrapper:hover .button--inverted, a.banner__wrapper:hover .button--secondary, a.banner__wrapper:hover .button--xs-inverted, a.banner__wrapper:hover .button--xs-secondary, a.banner__wrapper:hover .button--sm-inverted, a.banner__wrapper:hover .button--sm-secondary, a.banner__wrapper:hover .button--lg-inverted, a.banner__wrapper:hover .button--lg-secondary, a.banner__wrapper:hover .button--xl-inverted, a.banner__wrapper:hover .button--xl-secondary, a.banner__wrapper:hover .button--add-to-cart--inverted, a.banner__wrapper:hover .button--add-to-cart--secondary, a.banner__wrapper:hover .shopify-payment-button button, .shopify-payment-button a.banner__wrapper:hover button, a.banner__wrapper:hover .button--pill, a.banner__wrapper:active .button--inverted, a.banner__wrapper:active .button--secondary, a.banner__wrapper:active .button--xs-inverted, a.banner__wrapper:active .button--xs-secondary, a.banner__wrapper:active .button--sm-inverted, a.banner__wrapper:active .button--sm-secondary, a.banner__wrapper:active .button--lg-inverted, a.banner__wrapper:active .button--lg-secondary, a.banner__wrapper:active .button--xl-inverted, a.banner__wrapper:active .button--xl-secondary, a.banner__wrapper:active .button--add-to-cart--inverted, a.banner__wrapper:active .button--add-to-cart--secondary, a.banner__wrapper:active .shopify-payment-button button, .shopify-payment-button a.banner__wrapper:active button, a.banner__wrapper:active .button--pill, a.banner__wrapper:focus .button--inverted, a.banner__wrapper:focus .button--secondary, a.banner__wrapper:focus .button--xs-inverted, a.banner__wrapper:focus .button--xs-secondary, a.banner__wrapper:focus .button--sm-inverted, a.banner__wrapper:focus .button--sm-secondary, a.banner__wrapper:focus .button--lg-inverted, a.banner__wrapper:focus .button--lg-secondary, a.banner__wrapper:focus .button--xl-inverted, a.banner__wrapper:focus .button--xl-secondary, a.banner__wrapper:focus .button--add-to-cart--inverted, a.banner__wrapper:focus .button--add-to-cart--secondary, a.banner__wrapper:focus .shopify-payment-button button, .shopify-payment-button a.banner__wrapper:focus button, a.banner__wrapper:focus .button--pill {
  border: 1px solid var(--color-border-button-secondary-hover);
  background-color: var(--color-background-button-secondary-hover);
}
a.banner__wrapper:hover .button--inverted .button__text, a.banner__wrapper:hover .button--secondary .button__text, a.banner__wrapper:hover .button--xs-inverted .button__text, a.banner__wrapper:hover .button--xs-secondary .button__text, a.banner__wrapper:hover .button--sm-inverted .button__text, a.banner__wrapper:hover .button--sm-secondary .button__text, a.banner__wrapper:hover .button--lg-inverted .button__text, a.banner__wrapper:hover .button--lg-secondary .button__text, a.banner__wrapper:hover .button--xl-inverted .button__text, a.banner__wrapper:hover .button--xl-secondary .button__text, a.banner__wrapper:hover .button--add-to-cart--inverted .button__text, a.banner__wrapper:hover .button--add-to-cart--secondary .button__text, a.banner__wrapper:hover .shopify-payment-button button .button__text, .shopify-payment-button a.banner__wrapper:hover button .button__text, a.banner__wrapper:hover .button--pill .button__text, a.banner__wrapper:active .button--inverted .button__text, a.banner__wrapper:active .button--secondary .button__text, a.banner__wrapper:active .button--xs-inverted .button__text, a.banner__wrapper:active .button--xs-secondary .button__text, a.banner__wrapper:active .button--sm-inverted .button__text, a.banner__wrapper:active .button--sm-secondary .button__text, a.banner__wrapper:active .button--lg-inverted .button__text, a.banner__wrapper:active .button--lg-secondary .button__text, a.banner__wrapper:active .button--xl-inverted .button__text, a.banner__wrapper:active .button--xl-secondary .button__text, a.banner__wrapper:active .button--add-to-cart--inverted .button__text, a.banner__wrapper:active .button--add-to-cart--secondary .button__text, a.banner__wrapper:active .shopify-payment-button button .button__text, .shopify-payment-button a.banner__wrapper:active button .button__text, a.banner__wrapper:active .button--pill .button__text, a.banner__wrapper:focus .button--inverted .button__text, a.banner__wrapper:focus .button--secondary .button__text, a.banner__wrapper:focus .button--xs-inverted .button__text, a.banner__wrapper:focus .button--xs-secondary .button__text, a.banner__wrapper:focus .button--sm-inverted .button__text, a.banner__wrapper:focus .button--sm-secondary .button__text, a.banner__wrapper:focus .button--lg-inverted .button__text, a.banner__wrapper:focus .button--lg-secondary .button__text, a.banner__wrapper:focus .button--xl-inverted .button__text, a.banner__wrapper:focus .button--xl-secondary .button__text, a.banner__wrapper:focus .button--add-to-cart--inverted .button__text, a.banner__wrapper:focus .button--add-to-cart--secondary .button__text, a.banner__wrapper:focus .shopify-payment-button button .button__text, .shopify-payment-button a.banner__wrapper:focus button .button__text, a.banner__wrapper:focus .button--pill .button__text {
  color: var(--color-text-button-secondary-hover);
}

.shopify-payment-button {
  margin: 1.2rem 0 0 0;
  position: relative;
}
.no-js .shopify-payment-button {
  display: none;
}
.shopify-payment-button button {
  min-height: 4.2rem;
  height: 4.2rem;
}
.shopify-payment-button button.shopify-payment-button__more-options {
  text-decoration: none !important;
}
.shopify-payment-button button.shopify-payment-button__more-options {
  margin: 1.2rem 0 0 0;
}

.loading-icon {
  display: none;
}

.buttons__wrapper {
  grid-gap: calc(var(--gap) / 2);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.buttons__wrapper--below {
  margin-top: calc(var(--gap) / 2);
}
.buttons__wrapper--center {
  justify-content: center;
}
.buttons__wrapper--right {
  justify-content: flex-end;
}
@media (max-width: 63.99em) {
  .buttons__wrapper--fullwidth {
    width: 100%;
  }
  .buttons__wrapper--fullwidth a:not(.button--plain):not(.button--plain-sm):not(.button--plain-xs) {
    width: 100%;
  }
}
.buttons__wrapper a {
  align-self: center;
}

.swatch[\:has\(input\:checked\)] {
  box-shadow: 0px 0px 0px 0.2rem var(--color-border-button-primary-hover) !important;
}

.swatch:has(input:checked) {
  box-shadow: 0px 0px 0px 0.2rem var(--color-border-button-primary-hover) !important;
}
.swatch[\:has\(input\:disabled\)] {
  position: relative;
}
.swatch:has(input:disabled) {
  position: relative;
}
.swatch[\:has\(input\:disabled\)]:before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  left: -50%;
  height: 0.1rem;
  width: 200%;
  transform: rotate(-45deg);
  background: var(--color-border-button-primary);
}
.swatch:has(input:disabled):before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  left: -50%;
  height: 0.1rem;
  width: 200%;
  transform: rotate(-45deg);
  background: var(--color-border-button-primary);
}
.swatch[\:has\(input\:disabled\)]:hover, .swatch[\:has\(input\:disabled\)]:active, .swatch[\:has\(input\:disabled\)]:focus {
  border-color: var(--color-border-button-primary);
}
.swatch:has(input:disabled):hover, .swatch:has(input:disabled):active, .swatch:has(input:disabled):focus {
  border-color: var(--color-border-button-primary);
}
.swatch--image {
  cursor: pointer;
  border-radius: var(--border-radius);
  overflow: hidden;
  transition: all 0.2s;
  position: relative;
  display: grid;
}
.swatch--image span {
  display: inline-grid;
  align-items: center;
  height: 100%;
  width: 100%;
  justify-content: center;
  font-size: 1.4rem;
}
.swatch--image[\:has\(input\:disabled\)] {
  opacity: 0.5;
}
.swatch--image:has(input:disabled) {
  opacity: 0.5;
}
.swatch--image[\:has\(input\:disabled\)] .image_swatch--text_value {
  text-decoration: line-through;
}
.swatch--image:has(input:disabled) .image_swatch--text_value {
  text-decoration: line-through;
}
.swatch--image img {
  -o-object-fit: cover !important;
     object-fit: cover !important;
}
.swatch--image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  grid-row: 1;
  grid-column: 1;
}
.swatch--color {
  cursor: pointer;
  border-radius: var(--border-radius);
  overflow: hidden;
  transition: all 0.2s;
  font-size: 1.4rem;
}

.accelerated-checkout-button {
  border-radius: 8px;
  overflow: hidden;
}

.heading .container.center {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.heading .container.center .grid-content__header {
  flex-direction: column;
  align-items: center;
}
.heading .container.center .icon {
  margin-left: auto;
  margin-right: auto;
}
.heading .container.right {
  text-align: right;
}
.heading .container.right .icon {
  display: inline-block;
  text-align: right;
}
@media (min-width: 64em) {
  .heading .container.right div {
    order: 2;
  }
  .heading .container.right a {
    order: 1;
  }
}
.heading__block, .heading__section {
  position: relative;
}
@media (max-width: 63.99em) {
  .heading__block, .heading__section {
    width: 100%;
  }
}
@media (min-width: 64em) {
  .heading__block, .heading__section {
    flex: 1;
  }
}
.heading__block + div, .heading__section + div {
  flex-shrink: 0;
}
.heading__block > *:last-child, .heading__section > *:last-child {
  margin-bottom: 0;
}
.heading__block > *:not(:last-child):not(.text--caption):not(.swiper-pagination.swiper-pagination-fraction), .heading__section > *:not(:last-child):not(.text--caption):not(.swiper-pagination.swiper-pagination-fraction) {
  margin-bottom: 1.6rem;
}
.heading__block > *.text--caption, .heading__block > .swiper-pagination.swiper-pagination-fraction, .heading__section > *.text--caption, .heading__section > .swiper-pagination.swiper-pagination-fraction {
  margin-bottom: 0.8rem;
}
.heading__block > *:not(:last-child):not(.text--caption):not(.swiper-pagination.swiper-pagination-fraction), .heading__section > *:not(:last-child):not(.text--caption):not(.swiper-pagination.swiper-pagination-fraction) {
  margin-bottom: 1.6rem;
}
.heading__block > *.text--caption, .heading__block > .swiper-pagination.swiper-pagination-fraction, .heading__section > *.text--caption, .heading__section > .swiper-pagination.swiper-pagination-fraction {
  margin-bottom: 0.8rem;
}
.heading__block > *:last-child, .heading__section > *:last-child {
  margin-bottom: 0;
}
.heading.shopify-section .grid-content__header {
  padding: 0;
}

.icons-product {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  justify-content: space-between;
  align-items: center;
}
.icons-product__icon {
  display: flex;
  align-items: center;
  flex-direction: column;
  text-align: center;
  flex: 1;
}
.icons-product__description {
  -webkit-hyphens: auto;
          hyphens: auto;
}
@media (max-width: 63.99em) {
  .icons-product__description {
    text-align: center;
  }
}
.icons-product__description strong {
  display: block;
}

.nav .features-bar {
  margin: 0 !important;
}

.nav .features-bar {
  overflow: hidden;
  border-radius: var(--border-radius);
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-top: 1px solid var(--color-border);
  flex-shrink: 0;
}
.nav .features-bar__inner-container {
  margin-bottom: 0;
}
.nav .features-bar__wrapper {
  border-radius: 0;
  max-width: 100%;
  margin: 0;
}
.nav > .container {
  position: relative;
  z-index: 2;
  border: 1px solid var(--color-border);
  box-sizing: border-box;
  border-radius: var(--border-radius);
  background: var(--color-background-body);
  padding: 0;
  -webkit-overflow-scrolling: touch;
  transition: all 0.4s;
  max-width: var(--container-width);
  width: auto;
  overflow: hidden;
  max-height: inherit;
  display: flex;
  flex-direction: column;
}
@media (max-width: 63.99em) {
  .nav > .container {
    padding: 0 !important;
  }
  .nav > .container {
    justify-content: space-between;
    height: 100%;
    overflow-y: scroll;
    box-shadow: 0 1rem 4rem rgba(52, 64, 84, 0.12);
  }
}
@media (min-width: 64em) {
  .nav > .container {
    overflow: hidden;
  }
}
.nav > .container::-webkit-scrollbar {
  width: 0; /* Remove scrollbar space */
  background: transparent; /* Optional: just make scrollbar invisible */
}
.nav__main-menu--simple_dropdown {
  width: 100%;
  background: var(--color-background);
}
@media (min-width: 64em) {
  .nav__main-menu--simple_dropdown {
    display: grid;
    grid-gap: 3.6rem;
    padding: 2.4rem 4.8rem 2.4rem 3.6rem;
  }
  .nav__main-menu--simple_dropdown ul {
    grid-column: 1;
  }
  .nav__main-menu--simple_dropdown ul ul {
    margin: 0 0 0 1.6rem;
  }
  .nav__main-menu--simple_dropdown .nav__main-menu-column--banner {
    grid-column: 2;
  }
  .nav__main-menu--simple_dropdown .nav__main-menu-column--banner .banner__wrapper > div {
    padding: 2.4rem;
  }
}
.nav__content__outer {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.nav__main-menu-link, .nav__main-menu-link--basic {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  height: 6.4rem;
  padding: 0 1.6rem 0 2.4rem;
  width: 100%;
  text-align: left;
  border-radius: var(--border-radius);
  white-space: normal;
  color: var(--color-text-links);
  background: rgba(0, 0, 0, 0);
  transition: background 0.32s;
}
.nav__main-menu-link--active {
  color: var(--color-text-links-hover) !important;
}
.nav__main-menu-link--active {
  background: var(--color-background-alt);
}
.nav__main-menu-link--basic {
  padding: 0 2.4rem;
}
.nav__main-menu-link--simple {
  line-height: 1.5;
  margin: 1.6rem 0;
  display: block;
  padding-left: 2rem;
  position: relative;
  color: var(--color-text-links);
}
.nav__main-menu-link--simple:before {
  content: "›";
  position: absolute;
  left: 0;
  top: -0.12rem;
  transition: 0.25s;
}
.nav__main-menu-link--simple:hover, .nav__main-menu-link--simple:active, .nav__main-menu-link--simple:focus {
  color: var(--color-text-links-hover);
}
.nav__main-menu-link--simple:hover:before, .nav__main-menu-link--simple:active:before, .nav__main-menu-link--simple:focus:before {
  color: var(--color-text-links-hover);
  left: 0.2rem;
}
.nav__content {
  display: flex;
  position: relative;
  width: 100%;
  overflow: hidden;
  max-height: inherit;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE 10+ */
}
@media (max-width: 63.99em) {
  .nav__content {
    width: 200%;
    transition: transform 0.5s;
  }
}
.nav__content::-webkit-scrollbar {
  background: transparent; /* Chrome/Safari/Webkit */
  width: 0px;
}
.nav__main-menu {
  width: 50%;
}
.nav__main-menu--one_level_megamenu {
  display: grid;
  padding: var(--gap);
  grid-gap: var(--gap);
  white-space: nowrap;
  width: -moz-max-content;
  width: max-content;
}
.nav__main-menu--one_level_megamenu .nav__main-menu-column {
  max-width: 24rem;
}
.nav__main-menu--one_level_megamenu .nav__main-menu-column::-webkit-scrollbar {
  background: transparent; /* Chrome/Safari/Webkit */
  width: 0px;
}
.nav__main-menu--one_level_megamenu a {
  white-space: normal;
  word-break: break-word;
}
.nav__main-menu--one_level_megamenu .nav__main-menu-column--banner {
  grid-row: 1;
}
@media (min-width: 48em) and (max-width: 85.365em) {
  .nav__main-menu--one_level_megamenu .nav__main-menu-column--banner {
    grid-row: auto !important;
    grid-column: auto !important;
  }
}
.nav__main-menu-column--banner {
  padding: var(--gap) var(--gap) var(--gap) 0;
  min-width: 36rem;
  min-height: 36rem;
  background-color: var(--color-background);
}
.nav__main-menu--multi_level_megamenu {
  width: 25%;
  padding: 4rem;
  border-right: 1px solid var(--color-border);
}
.nav__main-menu-column ul li a {
  line-height: 1.5;
  margin: 1.6rem 0;
  display: block;
  padding-left: 2rem;
  position: relative;
  color: var(--color-text-links);
}
.nav__main-menu-column ul li a:before {
  content: "›";
  position: absolute;
  left: 0;
  top: -0.12rem;
  transition: 0.3s;
}
.nav__main-menu-column ul li a:hover, .nav__main-menu-column ul li a:active, .nav__main-menu-column ul li a:focus {
  color: var(--color-text-links-hover);
}
.nav__main-menu-column ul li a:hover:before, .nav__main-menu-column ul li a:active:before, .nav__main-menu-column ul li a:focus:before {
  color: var(--color-text-links-hover);
  left: 0.2rem;
}
.nav__main-menu--multi_level_megamenu {
  background: var(--color-background-body);
}
.nav__main-menu--one_level_megamenu {
  background-color: var(--color-background);
  height: 100%;
  overflow: scroll;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE 10+ */
}
.nav__main-menu--one_level_megamenu::-webkit-scrollbar {
  background: transparent; /* Chrome/Safari/Webkit */
  width: 0px;
}
.nav__main-menu--one_level_megamenu ul li details summary:after, .nav__main-menu--multi_level_megamenu ul li details summary:after {
  display: none;
}
.nav__main-menu--one_level_megamenu ul li details .nav__secondary-menu__item, .nav__main-menu--multi_level_megamenu ul li details .nav__secondary-menu__item {
  position: absolute;
  left: 25%;
  padding: 4rem;
  top: 0;
  width: 75%;
  height: 100%;
  background: var(--color-background-alt);
}
.nav--one-level .nav__content {
  height: 100%;
  overflow: scroll;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE 10+ */
}
.nav--one-level .nav__content::-webkit-scrollbar {
  background: transparent; /* Chrome/Safari/Webkit */
  width: 0px;
}
.nav__secondary-menu {
  width: 75%;
  position: relative;
}
@media (max-width: 63.99em) {
  .nav__secondary-menu {
    width: 100%;
    background: var(--color-background-alt);
    height: 100%;
  }
  .nav__secondary-menu[\:not-has\(.nav__secondary-menu__item--visible\)] {
    display: none;
  }
  .nav__secondary-menu:not(:has(.nav__secondary-menu__item--visible)) {
    display: none;
  }
}
@media (min-width: 64em) {
  .nav__secondary-menu {
    display: flex;
    overflow: hidden;
  }
}
@media (max-width: 63.99em) {
  .nav__secondary-menu .button--sm-secondary {
    width: 100%;
    padding: 1.6rem;
  }
  .nav__secondary-menu .nav__main-menu-link--basic {
    padding: 0 1.6rem;
  }
  .nav__secondary-menu .nav__mobile-dropdown-wrapper--open {
    padding: 0 0 1.2rem;
    border-bottom: 1px solid var(--color-border);
  }
  .nav__secondary-menu .nav__mobile-dropdown-wrapper--open .nav__main-menu-link--basic {
    padding: 0 2.4rem;
    height: 4.8rem;
    font-size: 1.4rem;
  }
}
.nav__secondary-menu__close {
  display: flex;
  align-items: center;
  position: relative;
  color: var(--color-text-links);
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 2rem 0;
  width: 100%;
  text-align: left;
  border-bottom: 1px solid var(--color-border);
  background: var(--color-background-body);
}
@media (min-width: 64em) {
  .nav__secondary-menu__close {
    display: none;
  }
}
.nav__secondary-menu__item {
  transition: transform 0.3s 0s, opacity 0.3s 0s;
  width: 100%;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE 10+ */
}
.nav__secondary-menu__item::-webkit-scrollbar {
  background: transparent; /* Chrome/Safari/Webkit */
  width: 0px;
}
@media (max-width: 63.99em) {
  .nav__secondary-menu__item {
    display: none;
    padding: calc(var(--gap) / 2);
    padding-top: 0;
    background: var(--color-background-body);
  }
  .nav__secondary-menu__item .nav__secondary-navigation-item-content {
    opacity: 0;
    transition: opacity 0.3s;
  }
}
@media (min-width: 64em) {
  .nav__secondary-menu__item {
    display: flex;
    gap: 4.8rem;
  }
}
.nav__secondary-menu__item--visible {
  display: block;
}
.nav__secondary-menu__item--animate-in {
  transform: none;
  opacity: 1;
  transition: transform 0.3s 0.1s, opacity 0.3s 0.1s;
}
@media (max-width: 63.99em) {
  .nav__secondary-menu__item--animate-in .nav__secondary-navigation-item-content {
    opacity: 1;
    transition: opacity 0.3s;
  }
}
@media (min-width: 64em) {
  .nav__secondary-navigation-item-content {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-gap: 4rem;
    flex: 1;
    overflow-y: scroll;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* Internet Explorer 10+ */
  }
  .nav__secondary-navigation-item-content::-webkit-scrollbar {
    width: 0;
    height: 0;
  }
}
.nav__secondary-navigation-item-content a {
  white-space: normal;
  word-break: break-word;
}
.nav__secondary-navigation-item-content a.button--fullwidth {
  margin: 1.6rem 0 0;
}
@media (min-width: 64em) {
  .nav__secondary-navigation-item-content a.button--fullwidth {
    margin: 0 0 2.4rem 0;
  }
}
.nav__secondary-navigation-item-content .text-lg, .nav__secondary-navigation-item-content .button--lg, .nav__secondary-navigation-item-content .button--lg-inverted, .nav__secondary-navigation-item-content .button--lg-secondary {
  line-height: 1.25;
}
.nav__secondary-navigation-item-content .banner__wrapper > div {
  padding: 2.4rem;
}
.nav__secondary-navigation-item-content .banner__wrapper > div .banner__background {
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 63.99em) {
  .nav__secondary-navigation-item-content__highlights-column {
    margin-top: 2.4rem;
  }
}
@media (min-width: 64em) {
  .nav__secondary-navigation-item-content__highlights-column {
    display: flex;
    flex-direction: column;
    flex: 0;
  }
}
@media (max-width: 63.99em) {
  .nav__secondary-navigation-item-content__highlights-column .text-lg, .nav__secondary-navigation-item-content__highlights-column .button--lg, .nav__secondary-navigation-item-content__highlights-column .button--lg-inverted, .nav__secondary-navigation-item-content__highlights-column .button--lg-secondary {
    display: none;
  }
}
.nav__secondary-navigation-item-content__highlights-column ul li {
  transition: all 0.2s;
}
.nav__secondary-navigation-item-content__highlights-column ul a {
  line-height: 1.25;
  margin: 1.6rem 0;
  display: block;
  padding-left: 2rem;
  position: relative;
  color: var(--color-text-links);
}
.nav__secondary-navigation-item-content__highlights-column ul a::before {
  content: "›";
  position: absolute;
  left: 0;
  top: -0.12rem;
  color: var(--color-text-links);
  transition: 0.3s;
}
.nav__secondary-navigation-item-content__highlights-column ul a:hover, .nav__secondary-navigation-item-content__highlights-column ul a:active, .nav__secondary-navigation-item-content__highlights-column ul a:focus {
  color: var(--color-text-links-hover);
}
.nav__secondary-navigation-item-content__highlights-column ul a:hover:before, .nav__secondary-navigation-item-content__highlights-column ul a:active:before, .nav__secondary-navigation-item-content__highlights-column ul a:focus:before {
  left: 0.2rem;
  color: var(--color-text-links-hover);
}
@media (max-width: 63.99em) {
  .nav__secondary-navigation-item-content__featured-column {
    margin-top: 2.4rem;
  }
}
@media (min-width: 64em) {
  .nav__secondary-navigation-item-content__featured-column {
    flex: 0 33%;
    height: 100%;
  }
}
.nav__mobile-accordion-opener {
  display: flex;
  justify-content: space-between;
  width: 100%;
  text-align: left;
  padding: 2rem 1.2rem 2rem 1.6rem;
  border-top: 1px solid var(--color-border);
  position: relative;
  color: var(--color-text-links);
}
.nav__mobile-dropdown-wrapper:first-child .nav__mobile-accordion-opener {
  border-top: none;
}
@media (min-width: 64em) {
  .nav__mobile-accordion-opener {
    display: none;
  }
}
.nav__mobile-dropdown-wrapper--open .nav__mobile-accordion-opener {
  color: var(--color-text-links);
  background: none;
  border-bottom: 1px solid var(--color-border);
}
.nav__mobile-dropdown-wrapper--open .nav__mobile-accordion-opener span {
  color: var(--color-text);
  transform: rotate(-180deg);
}
.nav__secondary-menu .nav__mobile-dropdown-wrapper--open .nav__mobile-accordion-opener {
  border-bottom: none;
}
.nav__mobile-dropdown-wrapper--open .nav__mobile-dropdown__content-wrapper {
  height: auto;
}
.nav__mobile-dropdown__content-wrapper {
  height: 0;
  overflow: hidden;
}
.nav--mobile__inner-container {
  width: 200%;
  height: 100%;
  display: flex;
  align-items: stretch;
  transition: transform 0.16s;
  overflow: scroll;
}
.nav--mobile__column {
  width: 50%;
}
.nav--mobile.nav--secondary-menu-open .nav--mobile__inner-container {
  transform: translateX(-50%);
}
.nav .megamenu {
  display: flex;
  flex-direction: column;
}
.nav .megamenu__container {
  display: grid;
  grid-template-columns: 1fr 2fr;
  box-sizing: border-box;
  background: var(--color-background-alt);
  overflow: scroll;
  max-height: inherit;
}
.nav .megamenu__container[\:has\(.megamenu__banner\)] {
  grid-template-columns: 1fr 2fr 1fr;
}
.nav .megamenu__container:has(.megamenu__banner) {
  grid-template-columns: 1fr 2fr 1fr;
}
.nav .megamenu__container .banner__wrapper {
  height: 100%;
  aspect-ratio: auto;
}
.nav .megamenu__sidebar {
  border-right: 1px solid var(--color-border);
  background: var(--color-background-body);
}
.nav .megamenu__sidebar, .nav .megamenu__content, .nav .megamenu__banner {
  padding: var(--gap);
}
.nav .megamenu__sidebar::-webkit-scrollbar, .nav .megamenu__content::-webkit-scrollbar, .nav .megamenu__banner::-webkit-scrollbar {
  width: 0; /* Remove scrollbar space */
  background: transparent; /* Optional: just make scrollbar invisible */
}
.nav .megamenu__banner {
  padding-left: 0;
}
.nav .megamenu__banner .figure.navigation-main, .nav .megamenu__banner .navigation-main.figure--video, .nav .megamenu__banner .navigation-main.figure--external_video {
  width: auto !important;
}
.nav .megamenu__content {
  display: grid;
  grid-template: 1fr/1fr;
  overflow-y: hidden;
  padding: var(--gap) var(--gap) 0 var(--gap);
}
.nav .megamenu__links {
  display: grid;
  grid-area: 1/1;
  grid-gap: 2.4rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: max-content;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s;
  height: 100%;
  overflow-y: scroll;
}
.nav .megamenu__links::-webkit-scrollbar {
  width: 0; /* Remove scrollbar space */
  background: transparent; /* Optional: just make scrollbar invisible */
}
@media (min-width: 64em) {
  .nav .megamenu__links {
    grid-template-columns: repeat(var(--link-count), minmax(0, 1fr));
  }
}
.nav .megamenu__links.active {
  opacity: 1;
  visibility: visible;
}
.nav .megamenu__links .button, .nav .megamenu__links .button--default, .nav .megamenu__links .button--primary, .nav .megamenu__links .button--inverted, .nav .megamenu__links .button--secondary, .nav .megamenu__links .button--xs, .nav .megamenu__links .button--xs-inverted, .nav .megamenu__links .button--xs-secondary, .nav .megamenu__links .button--sm, .nav .megamenu__links .button--sm-inverted, .nav .megamenu__links .button--sm-secondary, .nav .megamenu__links .button--lg, .nav .megamenu__links .button--lg-inverted, .nav .megamenu__links .button--lg-secondary, .nav .megamenu__links .button--xl, .nav .megamenu__links .button--xl-inverted, .nav .megamenu__links .button--xl-secondary, .nav .megamenu__links .button--add-to-cart--inverted, .nav .megamenu__links .button--add-to-cart--secondary, .nav .megamenu__links .button--pill, .nav .megamenu__links .button--circle, .nav .megamenu__links .shopify-payment-button button, .shopify-payment-button .nav .megamenu__links button {
  grid-column: 1/auto;
  order: 1;
}
.nav .megamenu__links ul + .button, .nav .megamenu__links ul + .button--default, .nav .megamenu__links ul + .button--primary, .nav .megamenu__links ul + .button--inverted, .nav .megamenu__links ul + .button--secondary, .nav .megamenu__links ul + .button--xs, .nav .megamenu__links ul + .button--xs-inverted, .nav .megamenu__links ul + .button--xs-secondary, .nav .megamenu__links ul + .button--sm, .nav .megamenu__links ul + .button--sm-inverted, .nav .megamenu__links ul + .button--sm-secondary, .nav .megamenu__links ul + .button--lg, .nav .megamenu__links ul + .button--lg-inverted, .nav .megamenu__links ul + .button--lg-secondary, .nav .megamenu__links ul + .button--xl, .nav .megamenu__links ul + .button--xl-inverted, .nav .megamenu__links ul + .button--xl-secondary, .nav .megamenu__links ul + .button--add-to-cart--inverted, .nav .megamenu__links ul + .button--add-to-cart--secondary, .nav .megamenu__links ul + .button--pill, .nav .megamenu__links ul + .button--circle, .nav .megamenu__links .shopify-payment-button ul + button, .shopify-payment-button .nav .megamenu__links ul + button {
  margin: 0 0 var(--gap) 0;
}
.nav .megamenu__links ul li a {
  line-height: 1.25;
  margin: 0 0 1.6rem 0;
  display: block;
  position: relative;
  color: var(--color-text-links);
  white-space: normal;
  word-break: break-word;
}
.nav .megamenu__links ul li a:hover, .nav .megamenu__links ul li a:active, .nav .megamenu__links ul li a:focus {
  color: var(--color-text-links-hover);
}
.nav .megamenu__links ul li a:not(.text-lg):not(.button--lg):not(.button--lg-inverted):not(.button--lg-secondary) {
  padding-left: calc(var(--gap) / 2);
}
.nav .megamenu__links ul li a:not(.text-lg):not(.button--lg):not(.button--lg-inverted):not(.button--lg-secondary):before {
  content: "›";
  position: absolute;
  transform: translateX(calc(var(--gap) / 2 * -1));
  top: -0.12rem;
  color: var(--color-text-links);
  transition: color 0.3s, transform 0.3s;
}
.nav .megamenu__links ul li a:not(.text-lg):not(.button--lg):not(.button--lg-inverted):not(.button--lg-secondary):hover:before, .nav .megamenu__links ul li a:not(.text-lg):not(.button--lg):not(.button--lg-inverted):not(.button--lg-secondary):active:before, .nav .megamenu__links ul li a:not(.text-lg):not(.button--lg):not(.button--lg-inverted):not(.button--lg-secondary):focus:before {
  transform: translateX(calc(var(--gap) / -2 + 0.2rem));
  color: var(--color-text-links-hover);
}
.nav .megamenu__block[\:has\(.features-bar\)] {
  flex-shrink: 0;
}
.nav .megamenu__block:has(.features-bar) {
  flex-shrink: 0;
}
.nav--mobile {
  width: 100%;
}

.main-navigation {
  overflow: visible;
}

.predictive-search {
  display: flex;
  flex-direction: column;
  background: var(--color-background-body);
  z-index: -1;
  overflow: scroll;
  padding: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius);
}
@media (max-width: 63.99em) {
  .predictive-search {
    height: 100%;
    box-shadow: 0 1rem 4rem rgba(52, 64, 84, 0.1215686275);
    border-radius: var(--border-radius);
    background: var(--color-background-body);
    max-width: 100%;
    margin: 0 auto;
  }
}
@media (min-width: 64em) {
  .predictive-search {
    width: var(--container-width);
    max-width: 100%;
    right: 0;
    border: 1px solid var(--color-border);
    box-shadow: 0 0 6.4rem rgba(52, 64, 84, 0.12);
  }
}
.predictive-search img {
  opacity: 1 !important;
}
.predictive-search-container {
  overflow-y: scroll;
}
.predictive-search-container::-webkit-scrollbar {
  width: 0; /* Remove scrollbar space */
  background: transparent; /* Optional: just make scrollbar invisible */
}
.predictive-search-container .predictive-search__header {
  padding: 1.6rem 0 1.6rem 1.6rem;
  background: var(--color-background-alt);
  border-bottom: 1px solid var(--color-border);
}
@media (min-width: 64em) {
  .predictive-search-container .predictive-search__header--hide-desktop {
    display: none;
  }
}
.predictive-search__results-container {
  background: var(--color-background-alt);
}
@media (min-width: 64em) {
  .predictive-search__results-container {
    display: grid;
    height: 62rem;
    grid-auto-columns: 1fr 2fr 1fr;
  }
}
@media (max-width: 63.99em) {
  .predictive-search__results-container > * {
    padding: 1.6rem;
  }
}
@media (max-width: 63.99em) {
  .predictive-search__results-container > *:not(:last-child) {
    margin: 0 0 1.6rem 0;
  }
}
.predictive-search__results-container.loading {
  opacity: 0.4;
  pointer-events: none;
  transition: opacity 0.8s;
}
.predictive-search__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: sticky;
  top: 0;
  background: var(--color-background-body);
  z-index: 1;
}
.predictive-search__header a.button, .predictive-search__header a.button--default, .predictive-search__header a.button--primary, .predictive-search__header a.button--inverted, .predictive-search__header a.button--secondary, .predictive-search__header a.button--xs, .predictive-search__header a.button--xs-inverted, .predictive-search__header a.button--xs-secondary, .predictive-search__header a.button--sm, .predictive-search__header a.button--sm-inverted, .predictive-search__header a.button--sm-secondary, .predictive-search__header a.button--lg, .predictive-search__header a.button--lg-inverted, .predictive-search__header a.button--lg-secondary, .predictive-search__header a.button--xl, .predictive-search__header a.button--xl-inverted, .predictive-search__header a.button--xl-secondary, .predictive-search__header a.button--add-to-cart--inverted, .predictive-search__header a.button--add-to-cart--secondary, .predictive-search__header a.button--pill, .predictive-search__header a.button--circle {
  padding: 0.7rem 1.8rem;
}
.predictive-search__header .predictive-search__close {
  color: var(--color-icon);
  font-size: 1.2rem;
  padding: 0.4rem;
  margin: 0 0.4rem;
  word-break: initial;
  font-size: 2.4rem;
  word-break: initial;
  box-sizing: content-box;
  cursor: pointer;
}
.predictive-search__header .predictive-search__close:hover, .predictive-search__header .predictive-search__close:active, .predictive-search__header .predictive-search__close:focus {
  color: var(--color-icon-hover);
}
.predictive-search .search-products {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}
@media (min-width: 64em) {
  .predictive-search .search-products {
    padding: 2.4rem;
    grid-column: 2;
  }
}
.predictive-search .search-products .card {
  height: auto;
}
.predictive-search .search-products__row {
  width: 100%;
}
.predictive-search .search-products__row:not(:last-child) {
  margin: 0 0 2.2rem 0;
}
.predictive-search .search-products__row p:not(.card__title) {
  margin: 0 0 0.8rem 0;
}
.predictive-search .search-products__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 1.6rem;
  grid-auto-rows: minmax(min-content, max-content);
}
@media (min-width: 64em) {
  .predictive-search .search-products__grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (max-width: 63.99em) {
  .predictive-search .search-products__grid > a {
    grid-column: span 2;
  }
}
.predictive-search .search-products__grid .card__title {
  font-size: 1.6rem;
  line-height: 1.25;
  margin: 0 0 0.8 0;
}
.predictive-search .search-products__grid .card__content {
  padding: 0.8rem 1.2rem 1.2rem;
}
.predictive-search .search-products__grid .card__bottom {
  display: none;
}
.predictive-search .search-sidebar {
  background: var(--color-background-body);
}
@media (min-width: 64em) {
  .predictive-search .search-sidebar {
    padding: 2.4rem;
    grid-column: 1;
    border-right: 1px solid var(--color-border);
  }
}
@media (min-width: 85.375em) {
  .predictive-search .search-sidebar {
    padding: 4rem;
  }
}
.predictive-search .search-sidebar a {
  color: var(--color-text-links);
}
.predictive-search .search-sidebar a:hover, .predictive-search .search-sidebar a:active, .predictive-search .search-sidebar a:focus {
  color: var(--color-text-links-hover);
}
.predictive-search .search-sidebar__list:not(:last-child) {
  padding: 0 0 1.6rem 0;
}
.predictive-search .search-sidebar__list li {
  font-size: 1.2rem;
  line-height: 1.5;
  padding: 0.4rem 0;
}
.predictive-search .search-sidebar__list li button {
  display: flex;
  text-transform: var(--font-body-transform);
}
.predictive-search .search-sidebar__list li .icon {
  font-size: 1.2rem;
  width: 1.2rem;
  height: 1.2rem;
  color: var(--color-icon-hover);
  border: 1px solid var(--color-icon-hover);
  border-radius: 0.4rem;
  transition: all 0.2s;
}
.predictive-search .search-sidebar__list li .icon:hover, .predictive-search .search-sidebar__list li .icon:active, .predictive-search .search-sidebar__list li .icon:focus {
  color: var(--color-text-button-primary-hover);
  background: var(--color-background-button-primary-hover);
}
.predictive-search .search-sidebar__header {
  display: block;
  padding: 0 0 0.4rem;
}
@media (min-width: 64em) {
  .predictive-search .search-banners {
    padding: 2.4rem 2.4rem 2.4rem 0;
    grid-column: 3;
  }
}
@media (min-width: 64em) {
  .predictive-search .search-sidebar,
  .predictive-search .search-products,
  .predictive-search .search-banners {
    height: 62rem;
    overflow-y: scroll;
  }
  .predictive-search .search-sidebar .banner__wrapper,
  .predictive-search .search-products .banner__wrapper,
  .predictive-search .search-banners .banner__wrapper {
    height: 100%;
    aspect-ratio: auto;
  }
}
.predictive-search .search-sidebar::-webkit-scrollbar,
.predictive-search .search-products::-webkit-scrollbar,
.predictive-search .search-banners::-webkit-scrollbar {
  width: 0;
  /* Remove scrollbar space */
  background: transparent;
  /* Optional: just make scrollbar invisible */
}
.predictive-search .search-products {
  overflow-y: scroll;
}
.predictive-search .recent-searches {
  padding: 1.2rem !important;
}
.predictive-search .recent-searches {
  margin: 0 0 1.6rem;
  background: var(--color-background-alt);
  border-radius: var(--border-radius);
}
@media (max-width: 63.99em) {
  .predictive-search .recent-searches {
    display: none;
  }
}
@media (min-width: 64em) {
  .predictive-search .recent-searches {
    padding: 1.6rem !important;
  }
  .predictive-search .recent-searches {
    margin: -1.6rem -1.6rem 2.4rem -1.6rem;
  }
}
.predictive-search .recent-searches__header {
  display: flex;
  justify-content: space-between;
}
.predictive-search .recent-searches__item {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.predictive-search .no-results-notice {
  color: var(--color-text);
  justify-content: center;
  align-items: flex-start;
  text-align: center;
  grid-column: 2;
}
.predictive-search .no-results-notice p {
  width: 100%;
}
.predictive-search .features-bar {
  border-top: 1px solid var(--color-border);
}
.predictive-search .features-bar__wrapper {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  max-width: 100%;
  margin: 0;
}
.predictive-search .search-products > *,
.predictive-search .article-search,
.predictive-search .collection-search,
.predictive-search .searches-search {
  transition: opacity 0.3s;
}
.predictive-search.searching .search-products > *,
.predictive-search.searching .article-search,
.predictive-search.searching .collection-search,
.predictive-search.searching .searches-search {
  opacity: 0;
  visibility: hidden;
}

.price-item--sale {
  color: var(--color-sale);
}
.price--sold-out .price__availability, .price__regular {
  display: inline-block;
}
.price__regular {
  color: var(--color-text);
}
.price__sale, .price__availability, .price__badge-sale, .price__badge-sold-out {
  display: none;
}
.price--on-sale .price__regular,
.price--on-sale .price__availability {
  display: none;
}
.price--on-sale .price__sale {
  display: flex;
  flex-direction: column;
}
.price--on-sale .price-item--regular {
  text-decoration: line-through;
  font-size: 1.2rem;
}

.banner__wrapper {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  color: var(--color-text);
  z-index: 0;
  border-radius: var(--border-radius);
  max-width: 100%;
}
.banner__wrapper > div {
  padding: calc(var(--gap) / 2);
  white-space: normal;
  z-index: 1;
  display: flex;
  flex-direction: column;
  grid-gap: 0.8rem;
  overflow: hidden;
  max-width: 100%;
}
.banner__wrapper:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  border-radius: var(--border-radius);
}
.banner__wrapper h1,
.banner__wrapper h2,
.banner__wrapper h3,
.banner__wrapper h4,
.banner__wrapper h5,
.banner__wrapper h6 {
  margin: 0;
  -webkit-hyphens: auto;
          hyphens: auto;
}
.banner__wrapper h1 + .buttons__wrapper,
.banner__wrapper h1 + figure,
.banner__wrapper h1 + a,
.banner__wrapper h2 + .buttons__wrapper,
.banner__wrapper h2 + figure,
.banner__wrapper h2 + a,
.banner__wrapper h3 + .buttons__wrapper,
.banner__wrapper h3 + figure,
.banner__wrapper h3 + a,
.banner__wrapper h4 + .buttons__wrapper,
.banner__wrapper h4 + figure,
.banner__wrapper h4 + a,
.banner__wrapper h5 + .buttons__wrapper,
.banner__wrapper h5 + figure,
.banner__wrapper h5 + a,
.banner__wrapper h6 + .buttons__wrapper,
.banner__wrapper h6 + figure,
.banner__wrapper h6 + a {
  margin: 0.8rem 0 0;
}
.banner__wrapper .button, .banner__wrapper .button--default, .banner__wrapper .button--primary, .banner__wrapper .button--inverted, .banner__wrapper .button--secondary, .banner__wrapper .button--xs, .banner__wrapper .button--xs-inverted, .banner__wrapper .button--xs-secondary, .banner__wrapper .button--sm, .banner__wrapper .button--sm-inverted, .banner__wrapper .button--sm-secondary, .banner__wrapper .button--lg, .banner__wrapper .button--lg-inverted, .banner__wrapper .button--lg-secondary, .banner__wrapper .button--xl, .banner__wrapper .button--xl-inverted, .banner__wrapper .button--xl-secondary, .banner__wrapper .button--add-to-cart--inverted, .banner__wrapper .button--add-to-cart--secondary, .banner__wrapper .button--pill, .banner__wrapper .button--circle, .banner__wrapper .shopify-payment-button button, .shopify-payment-button .banner__wrapper button,
.banner__wrapper .button--plain,
.banner__wrapper .button--plain-sm,
.banner__wrapper .button--plain-xs {
  white-space: pre-wrap;
  word-break: break-word;
}
.banner__subheading > *,
.banner__subheading > * > * {
  color: inherit;
}
.banner__subheading.wysiwyg p, .banner__subheading.shopify-policy__container p {
  margin: 0 0 0.8rem 0;
}
.banner__subheading + .buttons__wrapper,
.banner__subheading + figure,
.banner__subheading + a {
  margin: 0.8rem 0 0;
}
.banner__background {
  margin: 0 !important;
}
.banner__background {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  border-radius: inherit;
  -o-object-fit: cover;
     object-fit: cover;
}
.banner__background img, .banner__background video {
  width: 100% !important;
  height: 100% !important;
}
.banner .buttons__wrapper + figure,
.banner .buttons__wrapper + a {
  margin: 0.8rem 0 0;
}
.banner.shopify-section .banner__wrapper > div {
  max-width: 90%;
}
@media (min-width: 64em) {
  .banner.shopify-section .banner__wrapper > div {
    max-width: 60%;
  }
}
@media (min-width: 64em) {
  .banner.shopify-section .container--full_bleed .banner__wrapper > div {
    padding: var(--gap);
  }
}

_::-webkit-full-page-media .banner__wrapper, _:future .banner__wrapper, :root .safari_only .banner__wrapper {
  min-height: -webkit-fit-content;
}

.rating-product p {
  display: flex;
  align-items: center;
  font-size: 1.3rem;
  font-weight: 500;
}
.rating-product__stars {
  --percent: calc(var(--rating) / 5 * 100%);
  display: inline-block;
  font-size: 1.6rem;
  font-family: Times;
  line-height: 1;
}
.rating-product__stars:before {
  content: "★★★★★";
  background: linear-gradient(90deg, var(--star-color) var(--percent), var(--empty-color) var(--percent));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.quantity {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  background: var(--color-input-background);
  border: 1px solid var(--color-input-border);
  box-shadow: 0 1px 0.2rem rgba(16, 24, 40, 0.05);
  border-radius: var(--border-radius);
  transition: all 0.2s;
}
.quantity input {
  padding: 1.2rem 0;
  width: 8rem;
  text-align: center;
  background: var(--color-input-background);
  color: var(--color-input-text);
  outline-offset: 0;
  border-radius: var(--border-radius);
}
.quantity input::-webkit-inner-spin-button, .quantity input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.quantity button {
  line-height: 1;
  position: absolute;
}
.quantity button .icon {
  color: var(--color-input-text) !important;
}
.quantity button .icon {
  font-size: 1.6rem;
  padding: 2.4rem 1.6rem;
}
.quantity button .icon:hover, .quantity button .icon:active, .quantity button .icon:focus {
  color: var(--color-icon-hover) !important;
}
.quantity button[name=minus] {
  left: 0;
}
.quantity button[name=plus] {
  right: 0;
}

.social-accounts ul {
  display: flex;
  padding: 0.8rem 0;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.social-accounts ul li a {
  color: var(--color-icon);
}
.social-accounts ul li a svg {
  max-width: 2rem;
}
.social-accounts ul li a:hover {
  color: var(--color-icon-hover);
}

.text-display-2xl,
h1,
.text-display-xl,
h2,
.text-display-lg,
h3,
.text-display-md,
h4,
.text-display-sm,
h5,
h6 {
  text-decoration: none;
  line-height: 1.25;
  color: var(--color-heading);
  margin: 0 0 1.6rem 0;
}

.text-display-2xl {
  font-size: 7.2rem;
}

h1,
.text-display-xl {
  font-family: var(--font-h1-family);
  font-weight: var(--font-h1-weight);
  font-style: var(--font-h1-style);
  text-transform: var(--font-h1-transform);
  font-size: 3.2rem;
}
@media (min-width: 64em) {
  h1,
  .text-display-xl {
    font-size: 4rem;
  }
}

h2,
.text-display-lg {
  font-family: var(--font-h2-family);
  font-weight: var(--font-h2-weight);
  font-style: var(--font-h2-style);
  text-transform: var(--font-h2-transform);
  font-size: 2.4rem;
}
h2 + .text-lg, h2 + .button--lg, h2 + .button--lg-inverted, h2 + .button--lg-secondary,
.text-display-lg + .text-lg,
.text-display-lg + .button--lg,
.text-display-lg + .button--lg-inverted,
.text-display-lg + .button--lg-secondary {
  margin: 1.6rem 0 0 0;
}
@media (min-width: 64em) {
  h2,
  .text-display-lg {
    font-size: 3.2rem;
  }
}

h3,
.text-display-md {
  font-family: var(--font-h3-family);
  font-weight: var(--font-h3-weight);
  font-style: var(--font-h3-style);
  text-transform: var(--font-h3-transform);
  font-size: 2rem;
}
@media (min-width: 64em) {
  h3,
  .text-display-md {
    font-size: 2.4rem;
  }
}

h4,
.text-display-sm {
  font-family: var(--font-h4-family);
  font-weight: var(--font-h4-weight);
  font-style: var(--font-h4-style);
  text-transform: var(--font-h4-transform);
  font-size: 1.8rem;
}

h5 {
  font-family: var(--font-h5-family);
  font-weight: var(--font-h5-weight);
  font-style: var(--font-h5-style);
  text-transform: var(--font-h5-transform);
  font-size: 1.4rem;
}

h6 {
  font-family: var(--font-h6-family);
  font-weight: var(--font-h6-weight);
  font-style: var(--font-h6-style);
  text-transform: var(--font-h6-transform);
  font-size: 1.2rem;
}

.text-xs, .main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app_policy, .main-product__tax-policy, .text--caption-md, .swiper-pagination.swiper-pagination-fraction, .card .main-product__fieldset legend, .button--xs, .button--xs-inverted, .button--xs-secondary, .button--plain-xs, .button--pill, .text-xs p, .main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app_policy p, .main-product__tax-policy p, .text--caption-md p, .swiper-pagination.swiper-pagination-fraction p, .card .main-product__fieldset legend p, .button--xs p, .button--xs-inverted p, .button--xs-secondary p, .button--plain-xs p, .button--pill p {
  font-size: 1.2rem;
}
.text-xs .icon, .main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app_policy .icon, .main-product__tax-policy .icon, .text--caption-md .icon, .swiper-pagination.swiper-pagination-fraction .icon, .card .main-product__fieldset legend .icon, .button--xs .icon, .button--xs-inverted .icon, .button--xs-secondary .icon, .button--plain-xs .icon, .button--pill .icon, .text-xs p .icon {
  font-size: 1.2rem;
  width: 1.2rem;
  height: 1.2rem;
}
.text-xs p, .main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app_policy p, .main-product__tax-policy p, .text--caption-md p, .swiper-pagination.swiper-pagination-fraction p, .card .main-product__fieldset legend p, .button--xs p, .button--xs-inverted p, .button--xs-secondary p, .button--plain-xs p, .button--pill p {
  margin: 0 0 1.2rem 0;
}
.text-sm, .main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app_block_label_children label,
.main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_purchase_option_wrapper label, .main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app__title, .footer__menu ul li, .text--caption-lg, .button--sm, .button--sm-inverted, .button--sm-secondary, .button--plain-sm, .text-sm p, .main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app_block_label_children label p,
.main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_purchase_option_wrapper label p, .main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app__title p, .footer__menu ul li p, .text--caption-lg p, .button--sm p, .button--sm-inverted p, .button--sm-secondary p, .button--plain-sm p {
  font-size: 1.4rem;
}
.text-sm .icon, .main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app_block_label_children label .icon,
.main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_purchase_option_wrapper label .icon, .main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app__title .icon, .footer__menu ul li .icon, .text--caption-lg .icon, .button--sm .icon, .button--sm-inverted .icon, .button--sm-secondary .icon, .button--plain-sm .icon, .text-sm p .icon {
  font-size: 1.6rem;
  width: 1.6rem;
  height: 1.6rem;
}
.text-sm p, .main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app_block_label_children label p,
.main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_purchase_option_wrapper label p, .main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app__title p, .footer__menu ul li p, .text--caption-lg p, .button--sm p, .button--sm-inverted p, .button--sm-secondary p, .button--plain-sm p {
  margin: 0 0 1.4rem 0;
}
.text-md, .text--caption-xl, .text-md p, .text--caption-xl p {
  font-size: 1.6rem;
}
.text-md .icon, .text--caption-xl .icon, .text-md p .icon {
  font-size: 1.6rem;
  width: 1.6rem;
  height: 1.6rem;
}
.text-md p, .text--caption-xl p {
  margin: 0 0 1.6rem 0;
}
.text-lg, .button--lg, .button--lg-inverted, .button--lg-secondary, .text-lg p, .button--lg p, .button--lg-inverted p, .button--lg-secondary p {
  font-size: 2rem;
}
.text-lg .icon, .button--lg .icon, .button--lg-inverted .icon, .button--lg-secondary .icon, .text-lg p .icon {
  font-size: 2rem;
  width: 2rem;
  height: 2rem;
}
.text-lg p, .button--lg p, .button--lg-inverted p, .button--lg-secondary p {
  margin: 0 0 2rem 0;
}
.text-xl, .button--xl, .button--xl-inverted, .button--xl-secondary, .text-xl p, .button--xl p, .button--xl-inverted p, .button--xl-secondary p {
  font-size: 2.4rem;
}
.text-xl .icon, .button--xl .icon, .button--xl-inverted .icon, .button--xl-secondary .icon, .text-xl p .icon {
  font-size: 2.4rem;
  width: 2.4rem;
  height: 2.4rem;
}
.text-xl p, .button--xl p, .button--xl-inverted p, .button--xl-secondary p {
  margin: 0 0 2.4rem 0;
}
.text--caption, .swiper-pagination.swiper-pagination-fraction {
  font-family: var(--font-caption-family);
  font-weight: var(--font-caption-weight);
  font-style: var(--font-caption-style);
  text-transform: var(--font-caption-transform);
}
.text--caption-sm {
  font-size: 1rem;
}
.text-bold,
b,
strong {
  font-weight: var(--font-body-weight-bold);
}

p,
span,
strong {
  line-height: 1.5;
}

p {
  margin: 0 0 0.8rem;
}
p.intro {
  font-size: 2.4rem;
}
@media (max-width: 63.99em) {
  p.intro {
    font-size: 1.8rem;
  }
}
p.small, p.citation {
  font-style: italic;
}
p strong {
  color: inherit;
}
p:last-of-type {
  margin: 0;
}

figcaption {
  height: auto !important;
}

figcaption {
  font-style: italic;
  font-size: 1.4rem;
  display: block;
  max-width: 100%;
  width: 100%;
}
figcaption a {
  text-decoration: underline;
}

.figure + figcaption, .figure--video + figcaption, .figure--external_video + figcaption,
figure + figcaption {
  padding-top: 1.6rem !important;
}

figcaption + .figure, figcaption + .figure--video, figcaption + .figure--external_video,
figcaption + figure {
  margin-top: 1.6rem !important;
}

.figure + figcaption, .figure--video + figcaption, .figure--external_video + figcaption,
figure + figcaption {
  padding-top: 1.6rem !important;
}

figcaption + .figure, figcaption + .figure--video, figcaption + .figure--external_video,
figcaption + figure {
  margin-top: 1.6rem !important;
}

.wysiwyg p, .shopify-policy__container p,
.wysiwyg h1,
.shopify-policy__container h1,
.wysiwyg h2,
.shopify-policy__container h2,
.wysiwyg h3,
.shopify-policy__container h3,
.wysiwyg h4,
.shopify-policy__container h4,
.wysiwyg h5,
.shopify-policy__container h5,
.wysiwyg h6,
.shopify-policy__container h6,
.wysiwyg blockquote,
.shopify-policy__container blockquote,
.wysiwyg ul,
.shopify-policy__container ul,
.wysiwyg ol,
.shopify-policy__container ol,
.wysiwyg table,
.shopify-policy__container table {
  margin: 0 0 2.4rem;
}
.wysiwyg:not(:empty) > *:last-child, .shopify-policy__container:not(:empty) > *:last-child {
  margin-bottom: 0;
}
.wysiwyg h1, .shopify-policy__container h1 {
  margin: 0 0 4rem;
}
.wysiwyg:not(.banner__subheading) h2, .shopify-policy__container:not(.banner__subheading) h2,
.wysiwyg:not(.banner__subheading) h3,
.shopify-policy__container:not(.banner__subheading) h3,
.wysiwyg:not(.banner__subheading) h4,
.shopify-policy__container:not(.banner__subheading) h4,
.wysiwyg:not(.banner__subheading) h5,
.shopify-policy__container:not(.banner__subheading) h5,
.wysiwyg:not(.banner__subheading) h6,
.shopify-policy__container:not(.banner__subheading) h6 {
  padding: 2.4rem 0 0;
}
.wysiwyg a:hover, .shopify-policy__container a:hover {
  border-color: var(--color-text-links-hover);
}
.wysiwyg iframe, .shopify-policy__container iframe {
  max-width: 100%;
  margin: 0 0 2.4rem 0;
}
.wysiwyg figure, .shopify-policy__container figure {
  width: 100%;
  margin: 2.4rem 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.wysiwyg figure iframe, .shopify-policy__container figure iframe,
.wysiwyg figure video,
.shopify-policy__container figure video {
  -o-object-fit: cover !important;
     object-fit: cover !important;
}
.wysiwyg figure iframe, .shopify-policy__container figure iframe,
.wysiwyg figure video,
.shopify-policy__container figure video {
  width: 100%;
  max-width: 100%;
  border-radius: var(--border-radius);
  height: 100%;
  margin: 0;
}
.wysiwyg figure figcaption, .shopify-policy__container figure figcaption {
  margin: 0.4rem;
  padding: 1.6rem 0 0;
  display: inline-block;
}
.wysiwyg figure:last-child, .shopify-policy__container figure:last-child {
  margin-bottom: 0;
}
.wysiwyg img, .shopify-policy__container img {
  max-width: 100%;
  height: auto;
  border-radius: var(--border-radius);
}
.wysiwyg img:not(:last-child), .shopify-policy__container img:not(:last-child) {
  margin: 0 0 2.4rem;
}
.wysiwyg blockquote, .shopify-policy__container blockquote {
  margin: 4.8rem 0;
  padding: 0 0 0 2.4rem;
  border-left: 1px solid var(--color-border);
}
@media (min-width: 64em) {
  .wysiwyg blockquote, .shopify-policy__container blockquote {
    padding: 0 0 0 3.2rem;
  }
}
.wysiwyg blockquote p, .shopify-policy__container blockquote p {
  font-size: 1.8rem;
  line-height: 1.5;
}
@media (min-width: 64em) {
  .wysiwyg blockquote p, .shopify-policy__container blockquote p {
    font-size: 2rem;
  }
}
.wysiwyg blockquote p:last-child, .shopify-policy__container blockquote p:last-child {
  margin: 3.2rem 0 0 0;
  color: var(--color-text);
  font-weight: 300;
  font-size: 1.4rem;
  line-height: 1.5;
}
@media (min-width: 64em) {
  .wysiwyg blockquote p:last-child, .shopify-policy__container blockquote p:last-child {
    font-size: 1.6rem;
  }
}
.wysiwyg ul, .shopify-policy__container ul,
.wysiwyg ol,
.shopify-policy__container ol {
  padding: 0 0 0 1.2rem;
}
.wysiwyg ul li, .shopify-policy__container ul li,
.wysiwyg ol li,
.shopify-policy__container ol li {
  position: relative;
  line-height: 1.5;
}
.wysiwyg ul li:before, .shopify-policy__container ul li:before,
.wysiwyg ol li:before,
.shopify-policy__container ol li:before {
  border-color: inherit;
  color: inherit;
}
.wysiwyg ul li strong, .shopify-policy__container ul li strong,
.wysiwyg ol li strong,
.shopify-policy__container ol li strong {
  line-height: 1.5;
}
.wysiwyg ul li a, .shopify-policy__container ul li a,
.wysiwyg ol li a,
.shopify-policy__container ol li a {
  display: inline-block;
  border-bottom: 1px solid var(--color-icon);
}
.wysiwyg ul li a:hover, .shopify-policy__container ul li a:hover,
.wysiwyg ol li a:hover,
.shopify-policy__container ol li a:hover {
  border-color: var(--color-icon-hover);
}
.wysiwyg ul li p, .shopify-policy__container ul li p,
.wysiwyg ol li p,
.shopify-policy__container ol li p {
  margin: 0;
  display: inline;
}
.wysiwyg ul li ul, .shopify-policy__container ul li ul, .wysiwyg ul li ol, .shopify-policy__container ul li ol,
.wysiwyg ol li ul,
.shopify-policy__container ol li ul,
.wysiwyg ol li ol,
.shopify-policy__container ol li ol {
  margin: 1.6rem 0;
}
.wysiwyg ul > ul, .shopify-policy__container ul > ul,
.wysiwyg ul > ol,
.shopify-policy__container ul > ol,
.wysiwyg ol > ul,
.shopify-policy__container ol > ul,
.wysiwyg ol > ol,
.shopify-policy__container ol > ol {
  padding: 0 0 0 3.2rem;
  margin: 0 0 1.6rem 0;
}
.wysiwyg ul > li, .shopify-policy__container ul > li {
  padding: 0 0 0 2.4rem;
  margin: 0 0 0.8rem 0;
}
.wysiwyg ul > li:last-child, .shopify-policy__container ul > li:last-child {
  margin: 0;
}
.wysiwyg ul > li:before, .shopify-policy__container ul > li:before {
  content: "⚬";
  font-size: 1.6rem;
  color: var(--color-text-links);
  float: left;
  clear: both;
  margin: 0 0.5rem 0 -2.4rem;
  width: 1rem;
  height: auto;
  transform: scale(1);
  transition: all 0.2s;
}
.wysiwyg ul > li:hover:before, .shopify-policy__container ul > li:hover:before, .wysiwyg ul > li:active:before, .shopify-policy__container ul > li:active:before, .wysiwyg ul > li:focus:before, .shopify-policy__container ul > li:focus:before {
  color: var(--color-text-links);
  transform: scale(1.2);
}
.wysiwyg ul > ul, .shopify-policy__container ul > ul,
.wysiwyg ul > ol,
.shopify-policy__container ul > ol {
  margin: 0.8rem;
}
.wysiwyg ul > ol, .shopify-policy__container ul > ol {
  padding: 0 0 0 3.2rem;
  margin: 1.6rem 0 2.4rem 0;
}
.wysiwyg ol, .shopify-policy__container ol {
  counter-reset: orderedList;
}
.wysiwyg ol > ul li ol, .shopify-policy__container ol > ul li ol,
.wysiwyg ol > ol li ol,
.shopify-policy__container ol > ol li ol {
  padding: 0;
}
.wysiwyg ol > li, .shopify-policy__container ol > li {
  padding: 0 0 0 3.2rem;
  margin: 0 0 1.6rem 0;
  counter-increment: orderedList;
}
.wysiwyg ol > li:last-child, .shopify-policy__container ol > li:last-child {
  margin: 0;
}
.wysiwyg ol > li:before, .shopify-policy__container ol > li:before {
  position: absolute;
  left: -1.2rem;
  top: -0.4rem;
  content: counter(orderedList);
  font-size: 1.5rem;
  line-height: 1.5;
  font-weight: 500;
  border: 1px solid var(--color-icon);
  color: var(--color-text-links);
  border-radius: 100%;
  width: 3.2rem;
  height: 3.2rem;
  display: flex;
  margin: 0 1.6rem 0 0;
  justify-content: center;
  align-items: center;
  flex: none;
  transform: scale(1);
  transition: 0.4s;
}
.wysiwyg ol > li:hover:before, .shopify-policy__container ol > li:hover:before, .wysiwyg ol > li:active:before, .shopify-policy__container ol > li:active:before, .wysiwyg ol > li:focus:before, .shopify-policy__container ol > li:focus:before {
  border: 1px solid var(--color-icon-hover);
  color: var(--color-text);
  transform: scale(1.12);
}
.wysiwyg ol > ol, .shopify-policy__container ol > ol,
.wysiwyg ol > ol > ul,
.shopify-policy__container ol > ol > ul {
  counter-reset: orderedListChild;
}
.wysiwyg ol > ol li, .shopify-policy__container ol > ol li,
.wysiwyg ol > ol > ul li {
  counter-increment: orderedListChild;
}
.wysiwyg ol > ol li:before, .shopify-policy__container ol > ol li:before,
.wysiwyg ol > ol > ul li:before {
  content: counter(orderedListChild, lower-latin);
  left: -0.8rem;
  top: 0;
  font-size: 1.2rem;
  border: 1px solid var(--color-icon);
  border-radius: 100%;
  color: var(--color-text-links);
  width: 2.4rem;
  height: 2.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.wysiwyg ol > ol > ol, .shopify-policy__container ol > ol > ol,
.wysiwyg ol > ol > ol > ul,
.shopify-policy__container ol > ol > ol > ul,
.wysiwyg ol > ol > ul > ol,
.shopify-policy__container ol > ol > ul > ol,
.wysiwyg ol > ol > ul > ol > ul,
.shopify-policy__container ol > ol > ul > ol > ul {
  counter-reset: orderedListSecondChild;
}
.wysiwyg ol > ol > ol li, .shopify-policy__container ol > ol > ol li,
.wysiwyg ol > ol > ol > ul li,
.wysiwyg ol > ol > ul > ol li,
.shopify-policy__container ol > ol > ul > ol li,
.wysiwyg ol > ol > ul > ol > ul li {
  counter-increment: orderedListSecondChild;
}
.wysiwyg ol > ol > ol li:before, .shopify-policy__container ol > ol > ol li:before,
.wysiwyg ol > ol > ol > ul li:before,
.wysiwyg ol > ol > ul > ol li:before,
.shopify-policy__container ol > ol > ul > ol li:before,
.wysiwyg ol > ol > ul > ol > ul li:before {
  content: counter(orderedListSecondChild, lower-roman);
}
.wysiwyg ol > ol > ol > ol, .shopify-policy__container ol > ol > ol > ol,
.wysiwyg ol > ol > ol > ol > ul,
.shopify-policy__container ol > ol > ol > ol > ul,
.wysiwyg ol > ol > ol > ul > ol,
.shopify-policy__container ol > ol > ol > ul > ol,
.wysiwyg ol > ol > ol > ul > ol > ul,
.shopify-policy__container ol > ol > ol > ul > ol > ul,
.wysiwyg ol > ol > ul > ol > ol,
.shopify-policy__container ol > ol > ul > ol > ol,
.wysiwyg ol > ol > ul > ol > ol > ul,
.shopify-policy__container ol > ol > ul > ol > ol > ul,
.wysiwyg ol > ol > ul > ol > ul > ol,
.shopify-policy__container ol > ol > ul > ol > ul > ol,
.wysiwyg ol > ol > ul > ol > ul > ol > ul,
.shopify-policy__container ol > ol > ul > ol > ul > ol > ul {
  counter-reset: orderedListThirdChild;
}
.wysiwyg ol > ol > ol > ol li, .shopify-policy__container ol > ol > ol > ol li,
.wysiwyg ol > ol > ol > ol > ul li,
.wysiwyg ol > ol > ol > ul > ol li,
.shopify-policy__container ol > ol > ol > ul > ol li,
.wysiwyg ol > ol > ol > ul > ol > ul li,
.wysiwyg ol > ol > ul > ol > ol li,
.shopify-policy__container ol > ol > ul > ol > ol li,
.wysiwyg ol > ol > ul > ol > ol > ul li,
.wysiwyg ol > ol > ul > ol > ul > ol li,
.shopify-policy__container ol > ol > ul > ol > ul > ol li,
.wysiwyg ol > ol > ul > ol > ul > ol > ul li {
  counter-increment: orderedListThirdChild;
}
.wysiwyg ol > ol > ol > ol li:before, .shopify-policy__container ol > ol > ol > ol li:before,
.wysiwyg ol > ol > ol > ol > ul li:before,
.wysiwyg ol > ol > ol > ul > ol li:before,
.shopify-policy__container ol > ol > ol > ul > ol li:before,
.wysiwyg ol > ol > ol > ul > ol > ul li:before,
.wysiwyg ol > ol > ul > ol > ol li:before,
.shopify-policy__container ol > ol > ul > ol > ol li:before,
.wysiwyg ol > ol > ul > ol > ol > ul li:before,
.wysiwyg ol > ol > ul > ol > ul > ol li:before,
.shopify-policy__container ol > ol > ul > ol > ul > ol li:before,
.wysiwyg ol > ol > ul > ol > ul > ol > ul li:before {
  content: counter(orderedListThirdChild, lower-roman);
}
.wysiwyg table, .shopify-policy__container table {
  display: block;
  white-space: nowrap;
  word-break: normal;
  margin: 3.6rem 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
@media (min-width: 64em) {
  .wysiwyg table, .shopify-policy__container table {
    white-space: break-spaces;
  }
}
.wysiwyg table thead, .shopify-policy__container table thead {
  text-align: left;
  color: var(--color-text);
  font-size: 1.6rem;
}
.wysiwyg table tr, .shopify-policy__container table tr {
  background: var(--color-background-body);
}
.wysiwyg table tr:nth-child(2n), .shopify-policy__container table tr:nth-child(2n) {
  background: var(--color-background-alt);
}
.wysiwyg table tr:nth-child(2n) td, .shopify-policy__container table tr:nth-child(2n) td {
  color: var(--color-text);
}
.wysiwyg table tr td, .shopify-policy__container table tr td {
  color: var(--color-text);
  font-size: 1.4rem;
  font-weight: 500;
  padding: 1.6rem;
  text-align: left;
}
.wysiwyg table tr td:first-child, .shopify-policy__container table tr td:first-child {
  border-top-left-radius: 0.8rem;
  border-bottom-left-radius: 0.8rem;
}
.wysiwyg table tr td:last-child, .shopify-policy__container table tr td:last-child {
  border-top-right-radius: 0.8rem;
  border-bottom-right-radius: 0.8rem;
}
.wysiwyg table tr:first-child td, .shopify-policy__container table tr:first-child td {
  text-align: left;
  color: var(--color-text);
  background-color: var(--color-background-body);
  font-size: 1.4rem;
  font-weight: 500;
}

.ui-share-print {
  position: relative;
  width: 4.8rem;
  height: 4.8rem;
  cursor: pointer;
  color: var(--color-icon);
  display: flex;
  justify-content: center;
  align-items: center;
}
.ui-share-print ul {
  position: absolute;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 4.8rem;
  height: 4.8rem;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s;
}
@media (max-width: 63.99em) {
  .ui-share-print ul {
    display: none;
  }
}
.ui-share-print ul li {
  text-align: center;
}
.ui-share-print ul a {
  display: block;
  margin: 0;
  width: 2.4rem;
  height: 2.4rem;
  padding: 0;
  color: var(--color-icon);
}
.ui-share-print ul a:hover, .ui-share-print ul a:active, .ui-share-print ul a:focus {
  color: var(--color-icon-hover) !important;
}
.ui-share-print ul a svg {
  width: 1.6rem;
  height: 1.6rem;
  display: block;
}
.ui-share-print ul a span {
  font-size: 1.6rem;
  line-height: 1.25;
}
.ui-share-print__trigger {
  opacity: 1;
  visibility: visible;
  transition: 0.4s;
}
.ui-share-print:not(:last-child) {
  padding: 0;
  margin: 0;
}
@media (min-width: 64em) {
  .ui-share-print:hover ul {
    opacity: 1;
    visibility: visible;
  }
  .ui-share-print:hover .ui-share-print__trigger {
    opacity: 0;
    visibility: hidden;
  }
}

.usp-product {
  margin: 0 !important;
}

.usp-product {
  display: flex;
  align-items: center;
  padding: 1rem 0;
  border-top: 1px solid var(--color-border);
}
.usp-product strong {
  font-size: 1.4rem;
}
.usp-product svg {
  width: 3.2rem;
  height: auto;
  margin: 0 0 0 0.4rem;
}
.usp-product .icon {
  opacity: 1 !important;
}
.usp-product .icon {
  margin: 0 1rem 0 0;
  font-size: 2rem;
}
*:not(.usp-product) + .usp-product, .usp-product.u-hide + .usp-product {
  border-top: none !important;
}
.usp-product form {
  margin: 0 !important;
}
.usp-product--availability .usp-product {
  border-top: none;
  border-bottom: 1px solid var(--color-border);
}

.shopify-section {
  position: relative;
}
.shopify-section .section__wrapper--overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: var(--border-radius);
}
.shopify-section .section__wrapper:not(.container--full_bleed) {
  border-radius: var(--border-radius);
}
.shopify-section .section__wrapper:not(.container--full_bleed) .section__wrapper-background {
  border-radius: var(--border-radius);
  margin: 0;
}
.shopify-section .section__wrapper:before, .shopify-section .section__wrapper:after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  margin: 0 auto;
  left: 0;
  right: 0;
  z-index: 2;
}
.shopify-section .section__wrapper:before {
  top: 0;
}
.shopify-section .section__wrapper:after {
  bottom: 0;
}
.shopify-section .section__wrapper--full_bleed:before, .shopify-section .section__wrapper--full_bleed:after {
  max-width: 100%;
}
.shopify-section[\:has\(\%3E\%20.section--with-background\)] + .shopify-section[\:has\(\%3E\%20.section--with-background\)] {
  margin-top: calc(var(--gap) / 2);
}
.shopify-section:has(> .section--with-background) + .shopify-section:has(> .section--with-background) {
  margin-top: calc(var(--gap) / 2);
}
@media (min-width: 64em) {
  .shopify-section[\:has\(\%3E\%20.section--with-background\)] + .shopify-section[\:has\(\%3E\%20.section--with-background\)] {
    margin-top: var(--gap);
  }
  .shopify-section:has(> .section--with-background) + .shopify-section:has(> .section--with-background) {
    margin-top: var(--gap);
  }
}
.shopify-section[\:has\(\%3E\%20.section--with-background\)][\:has\(\%3E\%20.container--full_bleed\)] + .shopify-section[\:has\(\%3E\%20.container--full_bleed\)][\:has\(\%3E\%20.section--with-background\)] {
  margin-top: 0;
}
.shopify-section:has(> .section--with-background):has(> .container--full_bleed) + .shopify-section:has(> .container--full_bleed):has(> .section--with-background) {
  margin-top: 0;
}
.shopify-section.search-results {
  padding: var(--gap) 0 0 0;
}
@media (min-width: 64em) {
  .shopify-section.search-results {
    padding: calc(var(--gap) * 2) 0 0 0;
  }
}

.shopify-policy__container {
  max-width: calc(100% - 3.2rem) !important;
}

.shopify-policy__container {
  position: relative;
  width: var(--container-width);
  margin: 0 auto;
  padding: 2.4rem 0;
}
@media (min-width: 64em) {
  .shopify-policy__container {
    max-width: calc(100% - 6.4rem) !important;
  }
  .shopify-policy__container {
    padding: 3.6rem 0;
  }
}
.shopify-policy__title {
  text-align: left !important;
}

.announcement-bar .section__wrapper,
.announcement-bar .section__wrapper-background {
  border-radius: 0 !important;
}

.footer .section__wrapper {
  background: var(--color-background-alt);
  padding: calc(var(--gap) / 2);
}
.footer .section__wrapper-background, .footer .section__wrapper:not(.container--full_bleed) {
  border-radius: var(--border-radius) var(--border-radius) 0 0 !important;
}
.footer .section__wrapper.container--full_bleed {
  padding: calc(var(--gap) / 2);
}
@media (min-width: 64em) {
  .footer .section__wrapper.container--full_bleed {
    padding: var(--gap);
  }
}
.footer .container {
  margin: 0 auto 1.6rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 3.2rem;
}
@media (max-width: 63.99em) {
  .footer .container {
    flex-wrap: wrap;
  }
  .footer .container a.header__logo {
    text-align: inherit;
  }
}
.footer .container .footer__content {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  max-width: 100%;
}
.footer .container .footer__content--fill {
  max-width: 100% !important;
  flex: 1 !important;
}
.footer .container .footer__content .separator--column {
  min-height: 100%;
}
.footer .container .footer__content:empty {
  display: none !important;
}
.footer .container .footer__content > div {
  display: flex;
  flex-direction: column;
}
.footer .container .separator {
  margin: -3.2rem auto;
}
.footer .container:last-of-type {
  margin: 0 auto;
}
.footer__content .social-accounts ul {
  padding: 0;
}
.footer__menu ul {
  margin: 1.6rem 0 0 0;
}
.footer__menu ul li {
  line-height: 1.5;
}
.footer__menu ul li:not(:last-child) {
  padding: 0 0 1.2rem 0;
}
.footer__right {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0.8rem 0;
}
@media (max-width: 63.99em) {
  .footer__right {
    width: 100%;
  }
}
.footer__payment-icons {
  max-width: 100%;
  display: flex;
  grid-gap: 0.8rem;
  flex-wrap: wrap;
}
@media (max-width: 63.99em) {
  .footer__payment-icons li svg {
    width: 3rem;
  }
}
.footer__localization {
  flex-direction: row !important;
}
.footer__localization {
  gap: 0.8rem;
  flex-wrap: wrap;
}
.footer--article {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem;
  overflow: hidden;
}
@media (max-width: 63.99em) {
  .footer--article {
    flex-direction: column;
  }
  .footer--article p + .u-flex {
    margin: -0.8rem 0 0 0;
  }
}
@media (min-width: 64em) {
  .footer--article {
    display: grid;
    grid-auto-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
    text-align: center;
  }
  .footer--article > *:nth-child(1) {
    grid-column: 1;
    text-align: left;
  }
  .footer--article > *:nth-child(2) {
    grid-column: 2;
    text-align: center;
  }
  .footer--article > *:nth-child(3) {
    grid-column: 3;
    text-align: right;
  }
  .footer--article .share-ui {
    justify-content: flex-end;
  }
}

@media (max-width: 63.99em) {
  .template-product[\:has\(.sticky-add-to-cart\)] .footer-sections {
    margin: 0 0 7.4rem 0;
  }
  .template-product:has(.sticky-add-to-cart) .footer-sections {
    margin: 0 0 7.4rem 0;
  }
}

.features-bar .section__wrapper {
  background: var(--color-background-alt);
}
@media (min-width: 64em) {
  .features-bar swiper-container {
    justify-content: space-around;
  }
}
@media (min-width: 64em) {
  .features-bar swiper-container::part(wrapper) {
    justify-content: space-around;
  }
}
.features-bar swiper-container .swiper-button-prev, .features-bar swiper-container .swiper-button-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
.features-bar swiper-container .swiper-button-prev {
  left: 0;
}
.features-bar swiper-container .swiper-button-next {
  right: 0;
}
.features-bar swiper-container swiper-slide {
  width: auto;
}
.features-bar__item {
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--color-text);
  gap: 0.8rem;
}
.features-bar__item div strong {
  max-width: 30rem;
  white-space: normal;
  display: block;
  font-size: 1.2rem;
  line-height: 1.5;
  color: var(--color-heading);
}
@media (min-width: 64em) {
  .features-bar__item div strong {
    font-size: 1.5rem;
    max-width: 21rem;
  }
}
.features-bar__item div p {
  font-size: 1.2rem;
  line-height: 1.5;
  color: var(--color-text);
  margin: 0;
  font-weight: 500;
  display: -webkit-box;
  max-width: 21rem;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.features-bar a.features-bar__item .icon {
  transform: scale(1);
  transition: transform 0.3s ease;
}
.features-bar a.features-bar__item:hover strong,
.features-bar a.features-bar__item:hover p, .features-bar a.features-bar__item:active strong,
.features-bar a.features-bar__item:active p, .features-bar a.features-bar__item:focus strong,
.features-bar a.features-bar__item:focus p {
  color: var(--color-text-links);
}
.features-bar a.features-bar__item:hover .icon, .features-bar a.features-bar__item:active .icon, .features-bar a.features-bar__item:focus .icon {
  transform: scale(1.08);
}
.features-bar--text-center {
  text-align: center;
}
.features-bar--text-left {
  text-align: left;
}
@media (min-width: 64em) {
  .features-bar--text-left.features-bar--icon-top .features-bar__item, .features-bar--text-left.features-bar--icon-bottom .features-bar__item {
    align-items: flex-start;
  }
}
.features-bar--text-right {
  text-align: right;
}
@media (min-width: 64em) {
  .features-bar--text-right.features-bar--icon-top .features-bar__item, .features-bar--text-right.features-bar--icon-bottom .features-bar__item {
    align-items: flex-end;
  }
}
.features-bar--icon-bottom .icon, .features-bar--icon-right .icon {
  order: 2;
}
.features-bar--icon-top .features-bar__item, .features-bar--icon-bottom .features-bar__item {
  flex-direction: column;
}
.features-bar--nav .features-bar__wrapper {
  background: var(--color-background-alt);
  padding: 0.8rem 0;
}
@media (min-width: 64em) {
  .features-bar--nav .features-bar__wrapper {
    padding: calc(var(--gap) / 2) 0;
  }
}

.header .sticky {
  position: sticky;
}
.header__menu {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 63.99em) {
  .header__menu {
    display: none;
  }
}
@media (min-width: 64em) {
  .header__menu + .header__menu {
    margin: 0 0 0 -1.6rem;
  }
}
.header__menu .banner__wrapper {
  height: 100%;
  aspect-ratio: auto;
}
.header a.main-nav-item {
  display: flex;
  align-items: center;
  padding: 2rem 0.8rem;
}
.header .main-nav-item {
  transition: 0.4s;
  white-space: nowrap;
  line-height: 1.5;
}
.header .main-nav-item > a {
  cursor: pointer;
  padding: 2rem 0.8rem;
}
.header .main-nav-item > a .icon {
  font-size: 1.6rem;
}
.header .main-nav-item:hover > a, .header .main-nav-item:active > a, .header .main-nav-item:focus > a {
  color: var(--color-text-links-hover);
}
.header .main-nav-item:hover > a .icon, .header .main-nav-item:active > a .icon, .header .main-nav-item:focus > a .icon {
  color: var(--color-text-links-hover);
}
.header .main-nav-item .nav ul li details .nav__secondary-menu__item {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s;
}
.header .main-nav-item .nav ul li details summary.nav__main-menu-link--active + .nav__secondary-menu__item {
  opacity: 1;
  visibility: visible;
  z-index: 1;
}
.header [data-ux=hover] .main-nav-item [data-tooltip-trigger] {
  cursor: pointer;
}
.header [data-ux=hover] .main-nav-item [data-tooltip-trigger][open]:hover .icon {
  transform: rotate(-180deg);
}
.header [data-ux=hover] .main-nav-item [data-tooltip-trigger][open]:hover + .nav {
  left: 0;
  opacity: 1;
  transition: opacity 0.3s 0s, visibility 0s 0s;
  visibility: visible;
}
.header [data-ux=hover] .main-nav-item[focus-within][open] .icon {
  transform: rotate(-180deg);
}
.header [data-ux=hover] .main-nav-item:focus-within[open] .icon {
  transform: rotate(-180deg);
}
.header [data-ux=hover] .main-nav-item[focus-within] .nav {
  left: 0;
  opacity: 1;
  transition: opacity 0.3s 0s;
  visibility: visible;
}
.header [data-ux=hover] .main-nav-item:focus-within .nav {
  left: 0;
  opacity: 1;
  transition: opacity 0.3s 0s;
  visibility: visible;
}
.header [data-ux=click] .main-nav-item [data-tooltip-trigger][open] .icon {
  transform: rotate(-180deg);
}
.header [data-ux=click] .main-nav-item [data-tooltip-trigger][open] + .nav {
  left: 0;
  opacity: 1;
  transition: opacity 0.3s 0s;
  visibility: visible;
}
.header > a {
  position: relative;
  color: var(--color-text-links);
}
.header > a:hover {
  color: var(--color-text-links);
}
.header__logo ~ .header__nav-block {
  margin: 0 0 0 2.4rem;
}
.header__logo.text-lg, .header__logo.button--lg, .header__logo.button--lg-inverted, .header__logo.button--lg-secondary {
  line-height: 1.25;
}
@media (max-width: 63.99em) {
  .header__logo.text-lg, .header__logo.button--lg, .header__logo.button--lg-inverted, .header__logo.button--lg-secondary {
    max-width: none !important;
  }
  .header__logo.text-lg, .header__logo.button--lg, .header__logo.button--lg-inverted, .header__logo.button--lg-secondary {
    text-align: center;
  }
}
.header__logo--mobile {
  text-align: center;
}
.header__logo:not(.text-lg):not(.button--lg):not(.button--lg-inverted):not(.button--lg-secondary) {
  height: auto;
}
.header button:hover .icon, .header button:active .icon, .header button:focus .icon {
  color: var(--color-icon-hover);
}
.header__icons {
  display: flex;
  align-items: center;
  min-width: 2.4rem;
}
.header__icons--cart-open {
  position: relative;
}
.header__icons--cart-open .cart-count {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  top: -0.8rem;
  right: -0.8rem;
  background: var(--color-background-button-primary);
  color: var(--color-text-button-primary);
  border: 1px solid var(--color-border-button-primary);
  width: 1.8rem;
  height: 1.8rem;
  font-size: 1rem;
  font-weight: var(--font-body-weight-bold);
  line-height: 1;
  border-radius: 100%;
  transform: scale(1);
  transition: all 0.4s ease;
}
@media (min-width: 64em) {
  .header__icons--cart-open .cart-count {
    width: 2.4rem;
    height: 2.4rem;
    top: -1.6rem;
    right: -1.2rem;
  }
}
@keyframes addedToCart {
  0% {
    transform: scale(1);
  }
  25% {
    transform: scale(1.1);
    background: var(--color-background-button-primary-hover);
    color: var(--color-text-button-primary-hover);
  }
  50% {
    transform: scale(1.1);
    background: var(--color-background-button-primary-hover);
    color: var(--color-text-button-primary-hover);
  }
  100% {
    transform: scale(1);
  }
}
.added-to-cart .header__icons--cart-open .cart-count {
  animation-name: addedToCart;
  animation-duration: 1.8s;
}
.header__icons--cart-open:hover .cart-count, .header__icons--cart-open:active .cart-count, .header__icons--cart-open:focus .cart-count {
  color: var(--color-text-button-primary-hover) !important;
}
.header__icons--cart-open:hover .cart-count, .header__icons--cart-open:active .cart-count, .header__icons--cart-open:focus .cart-count {
  background-color: var(--color-background-button-primary-hover);
  transform: scale(1.1);
}
.header .search-trigger--mobile {
  line-height: 1;
  height: 2.4rem;
  min-width: 2.4rem;
}
@media (min-width: 64em) {
  .header .search-trigger--mobile {
    display: none;
  }
}
.header .search-trigger--mobile:hover .search-icon, .header .search-trigger--mobile:active .search-icon, .header .search-trigger--mobile:focus .search-icon {
  color: var(--color-icon-hover);
}
@media (min-width: 64em) {
  .header__search--small {
    height: 100%;
  }
}
@media (max-width: 63.99em) {
  .search-layout--fill .header__search--small .form__input-wrapper, .search-layout--small .header__search--small .form__input-wrapper {
    display: none;
  }
}
.search-layout--icon .header__search--small form:first-of-type {
  display: none;
}
.search-layout--icon .header__search--small .predictive-search__header {
  display: flex;
  padding: 1.6rem;
  border-bottom: 1px solid var(--color-border);
}
.header__search--small--fullwidth {
  flex: 1;
}
@media (min-width: 64em) {
  .header__search--small.display--fill toggletip-engine[\:has\(\%23predictive-search-header-navigation-main\)] {
    width: 100%;
  }
  .header__search--small.display--fill toggletip-engine:has(#predictive-search-header-navigation-main) {
    width: 100%;
  }
}
.header__search--small toggletip-engine {
  height: 100%;
}
.header__search--small toggletip-engine .predictive-search-wrapper {
  height: 100%;
}
.header__search--small toggletip-engine .predictive-search-wrapper form[data-tooltip-trigger] {
  align-items: center;
  height: 100%;
  display: flex;
}
.header .search-trigger-mobile {
  line-height: 1;
  height: 2.4rem;
}
@media (min-width: 64em) {
  .header .search-trigger-mobile {
    display: none;
  }
}
.header__localization {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.nav--mobile .header__localization {
  justify-content: center;
  padding: 0.8rem;
  position: relative;
  z-index: 2;
}

.menu-trigger {
  width: 2.4rem;
  height: 2.4rem;
  position: relative;
  cursor: pointer;
  display: inline-block;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  background: none;
  overflow: visible;
  padding: 0;
  transition: all 0.5s 0s;
  margin: 0;
  flex-shrink: 0;
  grid-area: left;
}
@media (min-width: 64em) {
  .menu-trigger {
    display: none;
  }
}
.menu-trigger span {
  width: 100%;
  position: absolute;
  top: 0.4rem;
  left: 0;
  height: 0.2rem;
  background: var(--color-icon);
  transition: 0.4s;
}
.menu-trigger span:nth-of-type(1) {
  transition: all 0.3s 0.3s, transform 0.3s 0s;
}
.menu-trigger span:nth-of-type(2) {
  top: 50%;
  margin-top: -1px;
  left: 0;
  transition: all 0.3s 0.3s;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0.4rem;
  top: auto;
  left: 0;
  transition: all 0.3s 0.3s, transform 0.3s 0s;
}
.menu-trigger[open=true] {
  transform: rotate(45deg);
  transition: all 0.5s 0.3s;
}
.menu-trigger[open=true] span:nth-of-type(1) {
  top: 50%;
  margin-top: -1px;
  transform: rotate(90deg);
  transition: all 0.3s, transform 0.3s 0.3s;
}
.menu-trigger[open=true] span:nth-of-type(2) {
  opacity: 0;
  transition: all 0.3s, opacity 0.3s 0s;
}
.menu-trigger[open=true] span:nth-of-type(3) {
  bottom: 50%;
  margin-bottom: -1px;
  transform: rotate(0deg);
  transition: all 0.3s, transform 0.3s 0.3s;
}

@media (min-width: 64em) {
  button.search-trigger {
    padding: 2rem 0;
  }
}

button.search-trigger,
button#cart-open,
.header__icons > a {
  line-height: 0;
}

#nav-wrapper {
  position: relative;
  z-index: 20;
  width: 100%;
  transition: box-shadow 0.3s, background 0.3s;
  top: 0;
  left: 0;
}
#nav-wrapper:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: var(--color-background-body);
  opacity: 0;
  transition: opacity 0.3s ease;
}
#nav-wrapper.sticky {
  position: sticky;
}
#nav-wrapper.header-visible:not(.reached-top) {
  position: fixed;
  box-shadow: 0 0 4rem -0.4rem rgba(52, 64, 84, 0.08);
}
#nav-wrapper.header-visible:not(.reached-top).sticky-active {
  box-shadow: 0 0 4rem -0.4rem rgba(52, 64, 84, 0);
}
#nav-wrapper.header-visible:not(.reached-top):before, #nav-wrapper.header-visible.above-overlay:before, #nav-wrapper.header-visible.above-overlay.reached-top:before, #nav-wrapper.above-overlay:before {
  opacity: 1;
}

#header-spacer {
  height: 0;
  opacity: 0;
  visibility: hidden;
}

.header-grid {
  display: grid !important;
}

.header-grid {
  align-items: center;
  grid-gap: calc(var(--gap) / 2);
  gap: calc(var(--gap) / 2);
  grid-template-columns: auto;
}
.header-grid > div {
  align-items: center;
}
@media (max-width: 63.99em) {
  .header-grid + .container {
    margin: calc(var(--gap) / 2) 0 0 0;
  }
  .header-grid[\:has\(.header-column--center.hide-desktop\)] {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  }
  .header-grid:has(.header-column--center.hide-desktop) {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  }
}
@media (min-width: 64em) {
  .header-grid[\:has\(.header-column--center.hide-mobile\)] {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  }
  .header-grid:has(.header-column--center.hide-mobile) {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  }
}

.header-column {
  display: flex;
  height: 100%;
  gap: calc(var(--gap) / 2);
}
.header-column.hide-mobile {
  align-items: center;
}
.header-column--left {
  grid-column: 1;
  justify-content: flex-start;
}
.header-column--left + .header-column--right {
  grid-column: 2;
}
.header-column--right {
  justify-content: flex-end;
  grid-column: 2;
}
.header-column--center {
  grid-column: 2;
  justify-content: center;
}
.header-column--center + .header-column--right {
  grid-column: 3;
}
.header-column--fullwidth {
  width: 100%;
  flex-wrap: wrap;
}
@media (max-width: 63.99em) {
  .header-column--fullwidth {
    flex-direction: column;
    align-items: flex-start;
  }
}
.header-column--fullwidth .header__search {
  width: 100%;
}

.cart-summary__header {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid var(--color-border);
  padding: 1.6rem;
}
.cart-summary__header p {
  font-size: 1.4rem;
  margin: 0;
}
.cart-summary__line-items {
  display: flex;
  justify-content: space-between;
  padding: 1.6rem 1.6rem 0 1.6rem;
}
.cart-summary__line-items p {
  font-size: 1.4rem;
  line-height: 1.5;
}
.cart-summary__line-items p:last-child {
  font-weight: 500;
}
.cart-summary__line-items p:first-child {
  font-weight: 400;
}
.cart-summary__line-items--notice {
  padding: 0 1.6rem 0.8rem;
}
.cart-summary__line-items--notice p:first-child {
  font-weight: 300;
  font-size: 1.2rem;
  line-height: 1.5;
}
.cart-summary__buttons {
  padding: 1.6rem;
}
.cart-summary__buttons .additional-checkout-buttons {
  display: grid;
  grid-gap: 0.8rem;
  margin: 0;
}
.cart-summary__buttons .additional-checkout-buttons div#dynamic-checkout-cart {
  margin: 1.6rem 0 0;
}
.cart-summary__buttons .button, .cart-summary__buttons .button--default, .cart-summary__buttons .button--primary, .cart-summary__buttons .button--inverted, .cart-summary__buttons .button--secondary, .cart-summary__buttons .button--xs, .cart-summary__buttons .button--xs-inverted, .cart-summary__buttons .button--xs-secondary, .cart-summary__buttons .button--sm, .cart-summary__buttons .button--sm-inverted, .cart-summary__buttons .button--sm-secondary, .cart-summary__buttons .button--lg, .cart-summary__buttons .button--lg-inverted, .cart-summary__buttons .button--lg-secondary, .cart-summary__buttons .button--xl, .cart-summary__buttons .button--xl-inverted, .cart-summary__buttons .button--xl-secondary, .cart-summary__buttons .button--add-to-cart--inverted, .cart-summary__buttons .button--add-to-cart--secondary, .cart-summary__buttons .button--pill, .cart-summary__buttons .button--circle, .cart-summary__buttons .shopify-payment-button button, .shopify-payment-button .cart-summary__buttons button {
  width: 100%;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 500;
  margin: 0;
}
.cart-summary__buttons .button span, .cart-summary__buttons .button--default span, .cart-summary__buttons .button--primary span, .cart-summary__buttons .button--inverted span, .cart-summary__buttons .button--secondary span, .cart-summary__buttons .button--xs span, .cart-summary__buttons .button--xs-inverted span, .cart-summary__buttons .button--xs-secondary span, .cart-summary__buttons .button--sm span, .cart-summary__buttons .button--sm-inverted span, .cart-summary__buttons .button--sm-secondary span, .cart-summary__buttons .button--lg span, .cart-summary__buttons .button--lg-inverted span, .cart-summary__buttons .button--lg-secondary span, .cart-summary__buttons .button--xl span, .cart-summary__buttons .button--xl-inverted span, .cart-summary__buttons .button--xl-secondary span, .cart-summary__buttons .button--add-to-cart--inverted span, .cart-summary__buttons .button--add-to-cart--secondary span, .cart-summary__buttons .button--pill span, .cart-summary__buttons .button--circle span, .cart-summary__buttons .shopify-payment-button button span, .shopify-payment-button .cart-summary__buttons button span {
  font-size: 1.8rem;
  color: inherit;
}
.cart-summary__buttons .button--secondary, .cart-summary__buttons .button--xs-inverted, .cart-summary__buttons .button--xs-secondary, .cart-summary__buttons .button--sm-inverted, .cart-summary__buttons .button--sm-secondary, .cart-summary__buttons .button--lg-inverted, .cart-summary__buttons .button--lg-secondary, .cart-summary__buttons .button--xl-inverted, .cart-summary__buttons .button--xl-secondary, .cart-summary__buttons .button--add-to-cart--inverted, .cart-summary__buttons .button--add-to-cart--secondary, .cart-summary__buttons .button--pill, .cart-summary__buttons .shopify-payment-button button, .shopify-payment-button .cart-summary__buttons button {
  margin: 0.8rem 0 0 0;
}
.cart-summary__buttons.disabled {
  opacity: 0.3;
  pointer-events: none;
  cursor: not-allowed;
}
.cart-summary__free-shipping p {
  display: flex;
  text-align: center;
  justify-content: center;
  align-items: center;
  color: var(--color-text);
  background: var(--color-background-alt);
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.5;
  padding: 0.8rem 1.6rem;
  margin: 0;
}
.cart-summary__free-shipping p .icon {
  font-size: 1.6rem;
  height: 1.2rem;
}
.cart-summary__free-shipping p #amount-left {
  margin: 0 0.3rem;
}
.cart-summary__certificate {
  padding: 0.8rem 1.6rem;
  text-align: center;
  font-size: 1.2rem;
  color: var(--color-text);
}
.cart-summary__certificate p {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
}
.cart-summary__certificate p .icon {
  height: 1.6rem;
  font-size: 1.6rem;
}
.cart-summary__meta {
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius);
  overflow: hidden;
}
.cart-summary__note {
  margin: 2.4rem 0 0 0;
}
.cart-summary__note textarea {
  width: 100%;
  color: var(--color-text);
}
.cart-summary__note textarea::-webkit-input-placeholder {
  text-transform: var(--font-body-transform);
}
.cart-summary__note textarea:-moz-placeholder {
  text-transform: var(--font-body-transform);
}
.cart-summary__note textarea::-moz-placeholder {
  text-transform: var(--font-body-transform);
}
.cart-summary__note textarea:-ms-input-placeholder {
  text-transform: var(--font-body-transform);
}

.cart__empty {
  text-align: center;
  padding: 4rem;
  border-radius: var(--border-radius);
}
.cart__empty > *:not(:last-child) {
  margin: 0 0 1.6rem 0;
}
.cart__wrapper {
  container-type: inline-size;
  display: grid;
  grid-gap: 1.6rem;
}
@media (min-width: 64em) {
  .cart__wrapper {
    grid-template-columns: auto 30rem;
  }
}
@media (min-width: 85.375em) {
  .cart__wrapper {
    grid-gap: 3.2rem;
    grid-template-columns: auto 36rem;
  }
}

.cart-content {
  margin: 0 0 1.6rem 0;
}
@media (min-width: 64em) {
  .cart-content {
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius);
  }
}
@media (min-width: 64em) {
  .cart-content {
    margin: 0 0 4rem 0;
  }
}
.cart-content__header {
  display: none;
}
@media (min-width: 64em) {
  .cart-content__header {
    display: grid;
    grid-gap: 0.8rem;
    gap: 0.8rem;
    grid-template-columns: 10.8rem 2fr 2fr 2fr 2fr 1fr;
    padding: 1.6rem 2.4rem;
    border-bottom: 1px solid var(--color-border);
    font-size: 1.2rem;
  }
  .cart-content__header p:first-child {
    display: block;
  }
}
.cart-content__header p {
  margin: 0;
}
.cart-content__header p:last-child {
  justify-self: center;
}

.cart-item {
  display: grid;
  align-items: center;
  grid-gap: 0.8rem 1.2rem;
  gap: 0.8rem 1.2rem;
  grid-template-areas: "image title remove" "image quantity total";
  grid-template-columns: 10.8rem 1fr 1fr;
  padding: 0;
}
.cart-item__image {
  grid-area: image;
  margin: 0 0.8rem 0 0;
  border-radius: var(--border-radius);
  -o-object-fit: contain;
     object-fit: contain;
}
.cart-item__title {
  grid-area: title;
}
.cart-item__title dl {
  flex-wrap: wrap;
}
.cart-item__title a {
  line-height: 1.25;
}
.cart-item__title .cart-item__discounts {
  margin: 0.8rem 0 0;
}
.cart-item__title .cart-item__discounts,
.cart-item__title .cart-item__discounts span {
  color: var(--color-sale);
}
.cart-item__unit-price {
  grid-area: unit-price;
}
.cart-item__quantity {
  grid-area: quantity;
}
.cart-item__totals {
  grid-area: total;
  align-items: flex-end;
  display: flex;
  flex-direction: column;
}
.cart-item__remove-wrapper, .cart-item__title {
  align-self: center;
}
.cart-item__remove-wrapper {
  grid-area: remove;
  display: grid;
}
.cart-item__remove-wrapper button {
  position: relative;
  text-align: right;
  justify-self: end;
  padding: 0.4rem;
  height: 3.2rem;
}
.mini-cart .cart-item__remove-wrapper button {
  top: -0.8rem;
  right: -0.8rem;
}
.cart-item__remove-wrapper button:hover .icon, .cart-item__remove-wrapper button:active .icon, .cart-item__remove-wrapper button:focus .icon {
  color: var(--color-icon-hover);
}
.cart-item__discounts li {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.cart-item__discounts li .icon {
  font-size: 1.4rem;
  width: 1.4rem;
  height: 1.4rem;
}
.cart-item .total-price dl {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  line-height: 1.2;
}
.cart-item .show-desktop {
  display: none;
}
.cart-item .show-mobile {
  display: block;
}

@container (min-width: 650px) {
  .cart-item {
    grid-template-areas: "image title unit-price quantity total remove";
    grid-template-columns: 10.8rem 2fr 2fr 2fr 2fr 1fr;
    margin: 2.4rem;
  }
  .cart-item__title a {
    margin: 0 0 0.8rem 0;
  }
  .cart-item__totals {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .cart-item__remove-wrapper button {
    justify-self: center;
  }
  .cart-item .show-desktop {
    display: block;
  }
  .cart-item .show-mobile {
    display: none;
  }
}
.mini-cart {
  z-index: 20;
  position: fixed;
  transform: translateX(100%);
  transition: transform 0.4s, opacity 0.4s, visibility 0s 0.4s;
  top: 0;
  right: 0;
  opacity: 0;
  background: var(--color-background-body);
  max-width: 100%;
  width: 100%;
  height: 100%;
  overflow-y: scroll;
}
@media (min-width: 64em) {
  .mini-cart {
    transform: translateX(40rem);
    width: 40rem;
    border-left: 1px solid var(--color-border);
    box-shadow: 0 2rem 4rem rgba(52, 64, 84, 0.08);
    border-radius: var(--border-radius) 0 0 var(--border-radius);
  }
}
.mini-cart::-webkit-scrollbar {
  width: 0; /* Remove scrollbar space */
  background: transparent; /* Optional: just make scrollbar invisible */
}
.mini-cart--empty {
  background: var(--color-background-alt);
  text-align: center;
  padding: 4rem;
  margin: 0;
  border-radius: var(--border-radius);
}
.mini-cart--empty p {
  margin: 0 0 1.6rem 0;
}
.mini-cart.open {
  container-type: size;
  transform: translateX(0);
  opacity: 1;
  visibility: visible;
  transition: transform 0.4s, opacity 0.4s, visibility 0s;
}
.mini-cart__sidebar {
  z-index: 10;
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.mini-cart__close {
  cursor: pointer;
  display: flex;
  align-items: center;
  width: 100%;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--color-text);
  border-bottom: 1px solid var(--color-border);
  padding: 1.6rem 2.4rem 1.6rem 1.6rem;
  transition: 0.25s;
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--color-background-body);
}
.mini-cart__close .icon {
  color: var(--color-icon);
}
.mini-cart__close:hover, .mini-cart__close:active, .mini-cart__close:focus {
  padding: 1.6rem 2.6rem 1.6rem 1.4rem;
  color: var(--color-text);
}
.mini-cart__close:hover .icon, .mini-cart__close:active .icon, .mini-cart__close:focus .icon {
  color: var(--color-icon-hover);
}
.mini-cart__content {
  overflow: scroll;
  padding: 1.6rem;
}
.mini-cart__content::-webkit-scrollbar {
  width: 0; /* Remove scrollbar space */
  background: transparent; /* Optional: just make scrollbar invisible */
}
.mini-cart__content .cart-items-container {
  opacity: 0;
  transition: 0.5s 0.3s;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.mini-cart.open .mini-cart__content .cart-items-container {
  opacity: 1;
}
.mini-cart__footer {
  padding: 0;
  position: sticky;
  bottom: 0;
  background: var(--color-background-body);
  border-radius: var(--border-radius) var(--border-radius) 0 0;
  box-shadow: 0 0 2rem rgba(52, 64, 84, 0.12);
  border-top: 1px solid var(--color-border);
  border-radius: var(--border-radius) var(--border-radius) 0 0;
}
.mini-cart__footer .accordion details {
  border: none;
  border-bottom: 1px solid var(--color-border);
}
.mini-cart__footer .accordion details summary {
  padding: 1.6rem;
}
.mini-cart__footer .accordion details .content {
  padding: 0 1.6rem 1.6rem 1.6rem;
}
.mini-cart__footer .cart-summary__note {
  margin: 0;
}
.mini-cart__footer .cart-summary__meta {
  border: none;
}

.rich-text__wrapper {
  display: flex;
  position: relative;
  overflow: hidden;
}
.rich-text__wrapper:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.rich-text__wrapper > div {
  display: flex;
  position: relative;
  z-index: 1;
  width: 100%;
}
@media (max-width: 63.99em) {
  .rich-text__wrapper {
    flex-direction: column;
  }
}
.rich-text__wrapper--stretch {
  height: 100%;
}
.rich-text__wrapper.section__wrapper--background {
  border-radius: var(--border-radius);
  padding: 1.6rem;
}
@media (min-width: 64em) {
  .rich-text__wrapper.section__wrapper--background {
    padding: 2.4rem;
  }
}
.rich-text__content {
  height: 100%;
  width: 100%;
  z-index: 1;
}
.rich-text__content__heading {
  margin: 0 0 1.6rem;
}
.rich-text__buttons {
  margin: 2.4rem 0 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.6rem;
}

.grid-content__column--stretch {
  align-self: stretch;
  height: auto;
}
.grid-content__column--stretch > *,
.grid-content__column--stretch > * > * {
  height: 100%;
  max-width: 100%;
}
.grid-content__column--stretch .grid-content__header > *, .grid-content__column--stretch .grid-content__header-block > * {
  height: auto;
  margin: 0;
}
.grid-content__column--stretch .figure, .grid-content__column--stretch .figure--video, .grid-content__column--stretch .figure--external_video {
  flex: 1;
  max-width: 100%;
}
.grid-content__column--stretch .figure img, .grid-content__column--stretch .figure--video img, .grid-content__column--stretch .figure--external_video img, .grid-content__column--stretch .figure video, .grid-content__column--stretch .figure--video video, .grid-content__column--stretch .figure--external_video video, .grid-content__column--stretch .figure iframe, .grid-content__column--stretch .figure--video iframe, .grid-content__column--stretch .figure--external_video iframe {
  -o-object-fit: cover !important;
     object-fit: cover !important;
}
.grid-content__column--stretch .figure img, .grid-content__column--stretch .figure--video img, .grid-content__column--stretch .figure--external_video img, .grid-content__column--stretch .figure video, .grid-content__column--stretch .figure--video video, .grid-content__column--stretch .figure--external_video video, .grid-content__column--stretch .figure iframe, .grid-content__column--stretch .figure--video iframe, .grid-content__column--stretch .figure--external_video iframe {
  width: 100%;
  height: 100%;
}
.grid-content__column > figure {
  max-width: 100%;
}
.grid-content__column > figure img {
  -o-object-fit: cover;
     object-fit: cover;
}
.grid-content__header, .grid-content__header-block {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.grid-content__header > *, .grid-content__header-block > * {
  margin: 0 0 var(--gap) 0;
  align-self: inherit;
}
.shopify-section.heading .grid-content__header > *, .shopify-section.heading .grid-content__header-block > * {
  margin: 0;
}
.shopify-section.heading .grid-content__header, .shopify-section.heading .grid-content__header-block {
  gap: calc(var(--gap) / 2);
}
.grid-content__header .grid-content__slider-nav-wrapper, .grid-content__header-block .grid-content__slider-nav-wrapper {
  display: flex;
  gap: calc(var(--gap) / 2);
}
@media (max-width: 63.99em) {
  .grid-content__header, .grid-content__header-block {
    gap: calc(var(--gap) / 2);
    flex-direction: column;
    margin: 0 0 calc(var(--gap) / 2) 0;
  }
  .grid-content__header > *, .grid-content__header-block > * {
    margin: 0;
  }
  .grid-content__header .grid-content__slider-nav-wrapper, .grid-content__header-block .grid-content__slider-nav-wrapper {
    width: 100%;
    flex-direction: column;
  }
  .grid-content__header .grid-content__slider-nav-wrapper .grid-content__slider-nav, .grid-content__header-block .grid-content__slider-nav-wrapper .grid-content__slider-nav {
    order: 3;
  }
  .grid-content__header .grid-content__slider-nav-wrapper .grid-content__slider-nav.grid-content__slider-nav--both .swiper-button-next, .grid-content__header-block .grid-content__slider-nav-wrapper .grid-content__slider-nav.grid-content__slider-nav--both .swiper-button-next {
    padding-right: 0;
    margin-right: -8px;
  }
}
@media (min-width: 64em) {
  .grid-content__header--button-block-below {
    flex-direction: column !important;
  }
  .grid-content__header--button-block-below.grid-content__header--left {
    align-items: flex-start;
  }
  .grid-content__header--button-block-below.grid-content__header--right {
    align-items: flex-end;
  }
}
@media (max-width: 63.99em) {
  .grid-content__header--button-mobile-block-below {
    flex-direction: column !important;
  }
  .grid-content__header--button-mobile-block-below.grid-content__header--left {
    align-items: flex-start;
  }
  .grid-content__header--button-mobile-block-below.grid-content__header--right {
    align-items: flex-end;
  }
}
.grid-content__header--left {
  text-align: left;
}
@media (max-width: 63.99em) {
  .grid-content__header--left {
    align-items: flex-start;
  }
}
.grid-content__header--left .heading__section {
  padding: 0 var(--gap) 0 0;
}
.grid-content__header--right {
  text-align: right;
}
.grid-content__header--right .heading__section {
  padding: 0 0 0 var(--gap);
}
@media (max-width: 63.99em) {
  .grid-content__header--right {
    align-items: flex-end;
  }
}
@media (min-width: 64em) {
  .grid-content__header--right {
    flex-direction: row-reverse;
  }
}
.grid-content__header--center {
  flex-direction: column;
  text-align: center;
  align-items: center;
}
.grid-content__header--center .heading__section {
  display: flex;
  align-items: center;
  flex-direction: column;
}
@media (min-width: 64em) {
  .grid-content__header--center .grid-content__slider-nav-wrapper[\:has\(.grid-content__slider-nav.hide-desktop\)][\:not-has\(\[class\%5E\%3Dbutton\]\)] {
    margin: 0;
  }
  .grid-content__header--center .grid-content__slider-nav-wrapper:has(.grid-content__slider-nav.hide-desktop):not(:has([class^=button])) {
    margin: 0;
  }
}
.grid-content__header--background {
  padding: 2.4rem;
  border-radius: var(--border-radius);
}
.grid-content__header--background:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.grid-content__header--background div {
  z-index: 2;
}
.grid-content__slider-nav {
  color: var(--color-text);
  display: none;
  align-items: center;
  gap: calc(var(--gap) / 2);
}
.grid-content__slider-nav .swiper-pagination.swiper-pagination-fraction,
.grid-content__slider-nav .swiper-button-next, .grid-content__slider-nav .swiper-button-prev {
  padding: 0;
}
.slider-enabled .grid-content__slider-nav {
  display: flex;
}
@media (max-width: 63.99em) {
  .grid-content__slider-nav:not(.grid-content__slider-nav--below) {
    width: 100%;
    justify-content: space-between;
  }
}
@media (min-width: 64em) {
  .grid-content__slider-nav:not(.grid-content__slider-nav--below) .swiper-pagination {
    order: 1;
  }
  .grid-content__slider-nav:not(.grid-content__slider-nav--below) .swiper-button-prev {
    order: 2;
  }
  .grid-content__slider-nav:not(.grid-content__slider-nav--below) .swiper-button-next {
    order: 3;
  }
}
.grid-content__slider-nav--below {
  justify-content: space-between;
  position: relative;
  margin: calc(var(--gap) / 2) 0 0 0;
}
.grid-content__slider-nav--below .swiper-pagination-bullets {
  text-align: center;
}
.grid-content__slider-nav--below .swiper-pagination.swiper-pagination-fraction {
  padding: 0;
}
.grid-content__slider-nav--below .swiper-button-prev {
  padding-left: 0;
  margin-left: -0.8rem;
}
.grid-content__slider-nav--below .swiper-button-next {
  padding-right: 0;
  margin-right: -0.8rem;
}
@media (max-width: 63.99em) {
  .grid-content__slider-nav .swiper-button-prev {
    padding-left: 0;
    margin-left: -0.8rem;
  }
  .grid-content__slider-nav .swiper-button-next {
    padding-right: 0;
    margin-right: -0.8rem;
  }
}
.grid-content__description {
  color: var(--color-text);
  width: 50rem;
  max-width: 100%;
}
@media (max-width: 63.99em) {
  .grid-content__description {
    display: none;
  }
}
@media (min-width: 64em) {
  .grid-content__column--background {
    padding: 9.6rem;
  }
}
.grid-content__column .grid-content__header > * {
  height: auto;
}
.grid-content swiper-container .swiper-slide.grid-content__column--stretch {
  align-self: stretch;
}
.grid-content swiper-container[data-autoplay=true][data-autoplay-delay="0"] .swiper-wrapper {
  transition-timing-function: linear;
}
@media (max-width: 63.99em) {
  .grid-content swiper-container[data-mobile-layout=grid] {
    display: grid;
    grid-gap: calc(var(--gap) / 2);
    gap: calc(var(--gap) / 2);
  }
}
@media (max-width: 63.99em) {
  .grid-content swiper-container[data-mobile-layout=grid] ::slotted(swiper-slide) {
    grid-column: span var(--column-count-mobile);
  }
}
@media (min-width: 48em) and (max-width: 63.99em) {
  .grid-content swiper-container[data-mobile-layout=grid] ::slotted(swiper-slide) {
    grid-column: span var(--column-count-tablet);
  }
}
@media (max-width: 63.99em) {
  .grid-content swiper-container[data-mobile-layout=grid]::part(wrapper) {
    display: grid;
    grid-template-columns: repeat(var(--column-count-mobile), minmax(0, 1fr));
    grid-gap: calc(var(--gap) / 2);
    gap: calc(var(--gap) / 2);
  }
}
@media (min-width: 48em) and (max-width: 63.99em) {
  .grid-content swiper-container[data-mobile-layout=grid]::part(wrapper) {
    display: grid;
    grid-template-columns: repeat(var(--column-count-tablet), minmax(0, 1fr));
    grid-gap: calc(var(--gap) / 2);
    gap: calc(var(--gap) / 2);
  }
}
@media (min-width: 64em) {
  .grid-content swiper-container[data-desktop-layout=grid] {
    display: grid;
    grid-gap: var(--gap);
    gap: var(--gap);
  }
  .grid-content swiper-container[data-desktop-layout=grid]::part(wrapper) {
    display: grid;
    grid-template-columns: repeat(var(--column-count-desktop), minmax(0, 1fr));
    grid-gap: var(--gap);
    gap: var(--gap);
  }
  .grid-content swiper-container[data-desktop-layout=grid] ::slotted(swiper-slide) {
    grid-column: span var(--column-count-desktop);
  }
}

.collage {
  display: grid;
  grid-gap: calc(var(--gap) / 2);
  gap: calc(var(--gap) / 2);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-rows: min-content;
}
@media (min-width: 64em) {
  .collage {
    gap: var(--gap);
  }
  .collage.collage--blocks-4, .collage.collage--blocks-5 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  }
}
@media (min-width: 64em) {
  .collage--large_left > *:first-child {
    aspect-ratio: auto !important;
  }
  .collage--large_left > *:first-child {
    grid-column: 1/span 1;
    height: 100%;
    grid-row: span 2;
  }
  .collage--large_left > *:first-child > div,
  .collage--large_left > *:first-child .figure,
  .collage--large_left > *:first-child .figure--video,
  .collage--large_left > *:first-child .figure--external_video {
    aspect-ratio: auto !important;
  }
  .collage--large_left > *:first-child > div,
  .collage--large_left > *:first-child .figure,
  .collage--large_left > *:first-child .figure--video,
  .collage--large_left > *:first-child .figure--external_video {
    height: 100%;
  }
  .collage--large_left > *:first-child .banner__wrapper {
    aspect-ratio: auto !important;
  }
  .collage--large_left > *:first-child .banner__wrapper {
    height: 100%;
  }
}
@media (min-width: 64em) {
  .collage--large_left.collage--blocks-4 > *:first-child, .collage--large_left.collage--blocks-5 > *:first-child {
    grid-column: 1/span 2;
  }
}
@media (max-width: 63.99em) {
  .collage--large_left.collage--blocks-3 > *:first-child, .collage--large_left.collage--blocks-5 > *:first-child {
    grid-column: 1/span 2;
  }
}
@media (min-width: 64em) {
  .collage--large_left.collage--blocks-4 > *:last-child {
    grid-column: 3/span 2;
  }
}
@media (min-width: 64em) {
  .collage--large_right > *:first-child {
    aspect-ratio: auto !important;
  }
  .collage--large_right > *:first-child {
    grid-column: 2/span 1;
    grid-row: 1/span 2;
    height: 100%;
  }
  .collage--large_right > *:first-child > div,
  .collage--large_right > *:first-child .figure,
  .collage--large_right > *:first-child .figure--video,
  .collage--large_right > *:first-child .figure--external_video {
    aspect-ratio: auto !important;
  }
  .collage--large_right > *:first-child > div,
  .collage--large_right > *:first-child .figure,
  .collage--large_right > *:first-child .figure--video,
  .collage--large_right > *:first-child .figure--external_video {
    height: 100%;
  }
  .collage--large_right > *:first-child .banner__wrapper {
    aspect-ratio: auto !important;
  }
  .collage--large_right > *:first-child .banner__wrapper {
    height: 100%;
  }
}
@media (min-width: 64em) {
  .collage--large_right.collage--blocks-4 > *:first-child, .collage--large_right.collage--blocks-5 > *:first-child {
    grid-column: 3/span 2;
  }
}
@media (max-width: 63.99em) {
  .collage--large_right.collage--blocks-3 > *:first-child, .collage--large_right.collage--blocks-5 > *:first-child {
    grid-column: span 2;
  }
}
@media (min-width: 64em) {
  .collage--large_right.collage--blocks-4 > *:nth-child(4) {
    grid-column: 1/span 2;
  }
}
.collage.collage--blocks-1 > *, .collage.collage--blocks-2 > * {
  grid-row: span 1;
}
.collage figure,
.collage figure > div {
  height: 100%;
}
.collage .card > a {
  display: flex;
  flex-direction: column;
}
.collage .card > a figure {
  flex: 1;
}

.grid-archive .section__wrapper--background {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.grid-archive__header {
  display: block;
  border-radius: 0 0 var(--border-radius) var(--border-radius);
  z-index: 2;
  top: -1px;
}
.grid-archive__header.sticky-subheader {
  position: sticky;
}
.grid-archive__header + .grid-archive {
  margin-top: 1.6rem;
}
.grid-archive__header__inner-container {
  background: transparent;
  border-bottom: 1px solid transparent;
  padding: 1.6rem 0;
  transition: 0.25s;
}
.is-sticky .grid-archive__header__inner-container, .sticky--stuck .grid-archive__header__inner-container {
  background: var(--color-background-body);
  border-bottom: 1px solid var(--color-border);
  border-bottom-left-radius: var(--border-radius);
  border-bottom-right-radius: var(--border-radius);
}
@media (max-width: 63.99em) {
  .grid-archive__header__inner-container {
    padding: 1.2rem 0;
  }
}
.grid-archive__header.is-sticky, .grid-archive__header.sticky--stuck {
  box-shadow: 0 2rem 3rem -2rem rgba(52, 64, 84, 0.08);
}
#nav-wrapper.header-visible ~ .grid-archive__header.is-sticky, #nav-wrapper.header-visible ~ .grid-archive__header.sticky--stuck {
  box-shadow: 0 !important;
}
.grid-archive__header .container {
  display: flex;
  gap: 0.8rem;
}
.grid-archive__filter-triggers {
  display: flex;
  -moz-column-gap: 0.8rem;
       column-gap: 0.8rem;
}
@media (max-width: 63.99em) {
  .grid-archive__filter-triggers {
    justify-content: space-between;
    flex: 1;
  }
}
.grid-archive__content {
  display: grid;
  grid-gap: calc(var(--gap) / 2);
}
@media (min-width: 64em) {
  .grid-archive__content {
    grid-gap: var(--gap);
  }
}
@media (max-width: 63.99em) {
  .grid-archive__content--one-column {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-archive__content--one-column .banner {
    grid-column: span 1 !important;
  }
}
@media (max-width: 63.99em) {
  .grid-archive__content--two-column {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 64em) {
  .grid-archive__content--three-column {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 64em) {
  .grid-archive__content--four-column {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.grid-archive__content .banner {
  height: 100%;
  width: 100%;
}
.grid-archive__content .banner.banner--large {
  grid-column: span 2;
  grid-row: 2;
}
.grid-archive__content .banner.banner--small {
  grid-column: span 1;
  grid-column-end: -1;
  grid-row: 4;
}
.grid-archive__content .banner.banner--small .banner__wrapper > div {
  padding: 1.6rem;
}
@media (min-width: 64em) {
  .grid-archive__content .banner.banner--small .banner__wrapper > div {
    padding: 2.4rem;
  }
}
.grid-archive__content .banner .banner__wrapper {
  aspect-ratio: inherit;
  overflow: hidden;
  height: 100%;
  width: 100%;
}
.grid-archive__subnav {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
@media (min-width: 64em) {
  .grid-archive__subnav {
    gap: 3rem;
  }
}
.grid-archive__subnav .sort-by {
  position: relative;
}
@media (max-width: 63.99em) {
  .grid-archive__subnav .sort-by {
    display: none;
  }
}
.grid-archive__subnav .sort-by select {
  color: var(--color-input-text);
  padding: 0.8rem 4.6rem 0.8rem 1.6rem;
  cursor: pointer;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 2.4rem;
  border: 1px solid var(--color-input-border);
  background-color: var(--color-input-background);
  box-shadow: 0 0.4rem 1rem rgba(74, 74, 74, 0.01);
  border-radius: var(--border-radius);
  cursor: pointer;
  outline-offset: 0;
}
.grid-archive__subnav .sort-by span {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1rem;
  color: var(--color-input-text);
  pointer-events: none;
}
.grid-archive__subnav .cols {
  display: flex;
  align-items: center;
}
@media (min-width: 64em) {
  .grid-archive__subnav .cols .one-col,
  .grid-archive__subnav .cols .two-col {
    display: none;
  }
}
@media (max-width: 63.99em) {
  .grid-archive__subnav .cols .three-col,
  .grid-archive__subnav .cols .four-col {
    display: none;
  }
}
.grid-archive__subnav .cols p {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.25;
  margin: 0 0.8rem 0 0;
  white-space: nowrap;
}
@media (max-width: 63.99em) {
  .grid-archive__subnav .cols p {
    display: none;
  }
}
.grid-archive__subnav .cols svg {
  width: auto;
  height: 4rem;
  cursor: pointer;
  padding: 0.8rem 0.4rem;
}
.grid-archive__subnav .cols svg path,
.grid-archive__subnav .cols svg rect {
  fill: var(--color-icon);
  transition: 0.2s;
}
.grid-archive__subnav .cols svg.active path,
.grid-archive__subnav .cols svg.active rect {
  fill: var(--color-icon-hover);
}
.grid-archive__subnav .cols svg:hover path,
.grid-archive__subnav .cols svg:hover rect, .grid-archive__subnav .cols svg:active path,
.grid-archive__subnav .cols svg:active rect, .grid-archive__subnav .cols svg:focus path,
.grid-archive__subnav .cols svg:focus rect {
  fill: var(--color-icon-hover);
}
@media (max-width: 63.99em) {
  .grid-archive__subnav .cols svg {
    height: 3.2rem;
    padding: 0.4rem;
  }
}
.grid-archive__subnav .cols + .sort-by {
  margin: 0 0 0 3rem;
}
@media (max-width: 63.99em) {
  .grid-archive__subnav facet-filters-form {
    display: none;
  }
}
@media (max-width: 63.99em) {
  .grid-archive__subnav--mobile-full {
    flex: 1;
    justify-content: space-between;
  }
  .grid-archive__subnav--mobile-full facet-filters-form, .grid-archive__subnav--mobile-full .sort-by {
    display: block;
  }
  .grid-archive__subnav--mobile-full .sort-by select {
    padding: 0.4rem 4rem 0.4rem 1.6rem;
  }
}
.grid-archive__filters-container {
  transition: margin-left 0.3s, opacity 0.3s;
}
@media (max-width: 63.99em) {
  .grid-archive__filters-container {
    position: fixed !important;
  }
  .grid-archive__filters-container {
    left: -9999px;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 30;
    background: rgba(255, 255, 255, 0);
    padding: 1.2rem;
    overflow-y: auto;
    transition: left 0s 0.3s, background 0.3s 0s;
  }
}
.grid-archive__filters-container .facets {
  display: block;
}
@media (max-width: 63.99em) {
  .grid-archive__filters-container .facets {
    transform: translateY(2rem);
    opacity: 0;
    transition: transform 0.3s, opacity 0.3s;
  }
}
@media (max-width: 63.99em) {
  .grid-archive__filters-container .facets {
    background: var(--color-background-alt);
  }
}
@media (min-width: 64em) {
  .grid-archive__filters-container {
    width: 25%;
    margin-left: -25%;
    padding-right: var(--gap);
    opacity: 0;
    pointer-events: none;
  }
}
.grid-archive__products-grid-container {
  transition: all 0.2s;
  opacity: 1;
  width: 100%;
}
.grid-archive__products-grid-container.loading {
  opacity: 0.4;
}
.grid-archive__main-container {
  display: flex;
  justify-content: center;
}
@media (max-width: 63.99em) {
  .grid-archive__main-container-mobile--filters-shown .grid-archive__filters-container {
    left: 0;
    transition: left 0s 0s, background 0.3s 0s;
  }
  .grid-archive__main-container-mobile--filters-shown .grid-archive__filters-container .facets {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (min-width: 64em) {
  .grid-archive__main-container--filters-shown .grid-archive__filters-container {
    margin-left: 0;
    opacity: 1;
    pointer-events: all;
  }
}
@media (min-width: 64em) {
  .grid-archive__main-container--filters-shown .grid-archive__products-grid-container {
    width: 100%;
  }
}
.grid-archive__no-results {
  text-align: center;
  grid-column: span 4;
  padding: 24rem 8rem;
  background: var(--color-background-alt);
  border-radius: var(--border-radius);
  color: var(--color-text);
}
.grid-archive p.nothing_found {
  padding: 6.4rem;
  text-align: center;
  grid-column: span 4;
  background: var(--color-background-alt);
  border-radius: var(--border-radius);
  color: var(--color-text);
}
.grid-archive p.nothing_found strong {
  display: block;
}
.grid-archive #FacetSearchForm {
  margin: 1.6rem 0;
}

.template-search .grid-archive__outer-container h1 {
  margin: 8rem 0;
}

#blog-content {
  scroll-margin: 150px;
}

.shopify-section.blog, .shopify-section.collection {
  padding: 1.6rem 0;
  overflow: visible;
}

.main-product {
  position: relative;
  overflow: visible;
}
.main-product__gallery-controls {
  display: none;
}
.main-product__tax-policy {
  font-style: italic;
  margin: 0.4rem 0 0;
  text-transform: var(--font-body-transform);
}
.main-product__tax-policy a:not(:hover) {
  color: inherit;
}
.main-product.slider-enabled .main-product__gallery-controls {
  display: flex;
  justify-content: space-between;
  font-size: 1.2rem;
  padding: 0.8rem 0 0 0;
  margin: 0.8rem 0 0 0;
  position: relative;
}
@media (max-width: 63.99em) {
  .main-product.slider-enabled .main-product__gallery-controls {
    margin: 0.8rem 0 0 -1.6rem;
  }
}
.main-product.slider-enabled .main-product__gallery-controls .swiper-scrollbar {
  position: absolute !important;
}
@media (max-width: 63.99em) {
  .main-product.slider-enabled .container--full_bleed .main-product__gallery-controls {
    padding: 0 calc(var(--gap) / 2);
  }
}
.main-product.slider-enabled .main-product__gallery figure {
  margin: 0 !important;
  cursor: grab !important;
}
@media (min-width: 64em) {
  .main-product .container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-gap: var(--gap);
  }
}
@media (min-width: 64em) {
  .main-product .container.gallery--right .main-product__media {
    order: 2;
  }
}
@media (min-width: 64em) {
  .main-product .container.left {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  }
}
@media (min-width: 64em) {
  .main-product .container.right {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  }
}
@media (min-width: 64em) {
  .main-product .container.gallery--desktop-style-none {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
.main-product .container--full_bleed .container {
  grid-gap: 0;
}
.main-product .swiper-thumbnails {
  position: relative;
}
.main-product .swiper-thumbnails .swiper {
  height: 100%;
  width: 60px;
}
@media (max-width: 63.99em) {
  .main-product .swiper-thumbnails .swiper {
    width: 100%;
    height: 60px;
  }
}
@media (min-width: 64em) {
  .main-product .swiper-thumbnails .swiper .swiper-wrapper {
    flex-direction: column;
  }
}
.main-product .swiper-thumbnails .swiper .swiper-slide {
  height: 60px;
  width: 60px;
  opacity: 0.4;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
.main-product .swiper-thumbnails .swiper .swiper-slide.swiper-slide-thumb-active {
  opacity: 1;
}
.main-product .swiper-thumbnails .swiper .swiper-slide figure {
  margin: 0;
  height: 100%;
  width: 100%;
}
.main-product .swiper-thumbnails-nav {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 8px;
}
@media (min-width: 64em) {
  .main-product .swiper-thumbnails-nav {
    flex-direction: column;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    z-index: 1;
  }
}
.main-product .swiper-thumbnails-nav .icon {
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 0.3s ease;
}
.main-product .swiper-thumbnails-nav .icon:hover {
  opacity: 1;
}
.main-product__media {
  position: relative;
}
@media (max-width: 63.99em) {
  .main-product__media {
    padding: 0 0 1.6rem 0;
    margin: 0 -1.6rem 0 0;
  }
  .main-product__media[\:has\(.swiper\[data-mobile-slides-per-view\%3D\%221\%22\]\)], .main-product__media[\:has\(.swiper\[data-mobile-slides-per-view\%3D\%222\%22\]\)], .main-product__media[\:has\(.swiper\[data-mobile-slides-per-view\%3D\%223\%22\]\)], .main-product__media[\:has\(.swiper\[data-mobile-slides-per-view\%3D\%224\%22\]\)], .main-product__media[\:has\(.swiper\[data-mobile-slides-per-view\%3D\%225\%22\]\)] {
    margin: 0;
  }
  .main-product__media:has(.swiper[data-mobile-slides-per-view="1"]), .main-product__media:has(.swiper[data-mobile-slides-per-view="2"]), .main-product__media:has(.swiper[data-mobile-slides-per-view="3"]), .main-product__media:has(.swiper[data-mobile-slides-per-view="4"]), .main-product__media:has(.swiper[data-mobile-slides-per-view="5"]) {
    margin: 0;
  }
  .container--full_bleed .main-product__media {
    margin: 0;
  }
}
.main-product__media-wrapper {
  position: relative;
}
@media (max-width: 63.99em) {
  .main-product__media-wrapper {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    overflow: hidden;
  }
  .main-product__media-wrapper .swiper-thumbnails {
    order: 2;
  }
}
@media (min-width: 64em) {
  .main-product__media-wrapper .swiper-thumbnails + .main-product__media-gallery {
    width: calc(100% - 68px);
    margin-left: 68px;
  }
}
.main-product__content {
  z-index: 1;
}
.main-product swiper-container figure {
  border-radius: var(--border-radius);
}
@media (min-width: 64em) {
  .main-product swiper-container {
    overflow: hidden;
  }
}
@media (min-width: 64em) {
  .main-product swiper-container[data-desktop-layout=one-column-first]::part(wrapper), .main-product swiper-container[data-desktop-layout=one-column]::part(wrapper), .main-product swiper-container[data-desktop-layout=two-column]::part(wrapper) {
    flex-direction: column;
    grid-gap: 1.6rem;
  }
}
@media (max-width: 63.99em) {
  .main-product swiper-container[data-mobile-layout=one-column-first]::part(wrapper), .main-product swiper-container[data-mobile-layout=one-column]::part(wrapper), .main-product swiper-container[data-mobile-layout=two-column]::part(wrapper) {
    flex-direction: column;
    grid-gap: 1.6rem;
  }
}
@media (min-width: 64em) {
  .main-product swiper-container[data-desktop-layout=one-column-first]::part(wrapper), .main-product swiper-container[data-desktop-layout=two-column]:not([data-variant-style=variant])::part(wrapper) {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .main-product swiper-container[data-desktop-layout=one-column-first] .main-product__gallery-item, .main-product swiper-container[data-desktop-layout=two-column]:not([data-variant-style=variant]) .main-product__gallery-item {
    flex: 0 calc(50% - 0.8rem);
    width: 50%;
    margin: 0;
  }
  .main-product swiper-container[data-desktop-layout=one-column-first] .main-product__gallery-item figure, .main-product swiper-container[data-desktop-layout=two-column]:not([data-variant-style=variant]) .main-product__gallery-item figure {
    margin: 0;
  }
}
@media (max-width: 63.99em) {
  .main-product swiper-container[data-mobile-layout=one-column-first]::part(wrapper), .main-product swiper-container[data-mobile-layout=two-column]:not([data-variant-style=variant])::part(wrapper) {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .main-product swiper-container[data-mobile-layout=one-column-first] .main-product__gallery-item, .main-product swiper-container[data-mobile-layout=two-column]:not([data-variant-style=variant]) .main-product__gallery-item {
    flex: 0 calc(50% - 0.8rem);
    width: 50%;
    margin: 0;
  }
  .main-product swiper-container[data-mobile-layout=one-column-first] .main-product__gallery-item figure, .main-product swiper-container[data-mobile-layout=two-column]:not([data-variant-style=variant]) .main-product__gallery-item figure {
    margin: 0;
  }
}
@media (min-width: 64em) {
  .main-product swiper-container[data-desktop-layout=one-column-first] .main-product__gallery-item:first-child {
    flex: 0 100%;
    width: 100%;
    margin: 0;
  }
}
@media (max-width: 63.99em) {
  .main-product swiper-container[data-mobile-layout=one-column-first] .main-product__gallery-item:first-child {
    flex: 0 100%;
    width: 100%;
    margin: 0;
  }
}
.main-product swiper-container.zoom-lightbox figure {
  cursor: zoom-in;
}
.main-product__title {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.main-product__title div {
  display: flex;
}
.main-product__title div h1 {
  color: var(--color-heading);
  margin: 0;
}
.main-product__title div:first-child {
  flex-direction: column;
}
.main-product__title + .main-product__price {
  margin: -0.8rem 0 1.6rem 0;
}
@media (min-width: 64em) {
  .main-product__title + .main-product__price {
    margin: -1.6rem 0 2.4rem 0;
  }
}
@media (max-width: 63.99em) {
  .main-product__blocks {
    position: relative !important;
  }
}
.main-product__blocks shopify-payment-terms {
  font-size: 1.2rem;
}
.main-product__blocks > * {
  margin: 1.6rem 0;
}
@media (min-width: 64em) {
  .main-product__blocks > * {
    margin: 2.4rem 0;
  }
}
.main-product__blocks > *:first-child {
  margin-top: 0;
}
.main-product__blocks .accordion + .accordion {
  margin-top: -0.8rem;
}
.main-product__blocks .price {
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1.5;
  font-weight: 500;
}
.main-product__blocks variant-selects {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media (min-width: 64em) {
  .main-product__blocks .c-icons-product__icon {
    flex-direction: row;
    text-align: left;
  }
}
.main-product__blocks .c-icons-product__description {
  font-size: 1.3rem;
  padding: 0 0 0 0.8rem;
}
.main-product__blocks .c-icons-product__description strong {
  line-height: 1.25;
}
@media (max-width: 63.99em) {
  .main-product__blocks .c-icons-product__description {
    padding: 0.8rem 0 0 0;
  }
}
.main-product__blocks:not(.sticky) {
  margin-top: 0 !important;
}
.main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app__title {
  margin: 0 0 0.8rem 0 !important;
}
.main-product__blocks .shopify_subscriptions_fieldset > div {
  border-radius: var(--border-radius) !important;
}
.main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app_block_label label input {
  margin: 0 0.8rem 0 0;
}
.main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app_block_label ul {
  padding: 0.8rem 0 !important;
}
.main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app_block_label ul li:not(:last-child) {
  margin: 0.8rem 0;
}
.main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app_policy {
  margin: 0.8rem 0 0 0 !important;
}
.main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app_policy {
  display: block;
}
.main-product__blocks truncatable-content .shrink,
.main-product__blocks truncatable-content .expand {
  padding: 0.8rem 0;
}
.main-product__add-to-cart {
  margin-top: 0.8rem;
}
.main-product__add-to-cart form {
  margin: 0 0 2.4rem 0;
}
.main-product__rating {
  margin: 0;
}
.main-product__description p:last-of-type {
  margin: 0;
}
.main-product__fieldset {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 0.8rem;
  padding: 0;
  margin: 0;
}
.main-product__fieldset fieldset {
  width: 100%;
}
.main-product__fieldset legend {
  margin: 0.8rem 1.6rem 0 0;
  min-width: 8rem;
}
.main-product__fieldset input[type=radio] {
  clip: rect(0, 0, 0, 0);
  overflow: hidden;
  position: absolute;
  height: 0;
  width: 0;
}
.main-product__fieldset label {
  margin: 0;
}
.main-product__fieldset--pills {
  display: flex;
  flex-wrap: nowrap;
}
.main-product__fieldset--pills div.variant_options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  justify-content: flex-start;
}
.main-product__fieldset--image_swatches div.variant_options, .main-product__fieldset--color_swatches div.variant_options {
  display: grid;
  flex: 1;
  grid-gap: 0.8rem;
}
.main-product__dropdown {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.main-product__quantity {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1.6rem;
}
.main-product__quantity .quantity-picker {
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
.main-product__error {
  display: flex;
  align-items: center;
  padding: 0.8rem;
  font-size: 1.2rem;
}
.main-product__error p {
  margin: 0 0 0 0.8rem;
}

.shopify-model-viewer-ui {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.pdp-lightbox {
  position: fixed;
  top: 0;
  left: -9999px;
  width: 100vw;
  height: 100%;
  background: var(--color-background-body);
  z-index: -1;
  padding: 0 0 4rem;
  overflow: auto;
  opacity: 0;
  left: 0;
  transition: all 0.16s;
}
.pdp-lightbox__close-container {
  position: fixed;
  width: 100vw;
  top: 0;
  left: -100%;
  z-index: 2;
}
.pdp-lightbox__close {
  margin-left: auto;
  display: block;
  margin: 4.8rem 0.8rem 0 auto;
  position: relative;
  background-color: var(--color-background-button-primary);
  color: var(--color-text-button-primary);
  border: 1px solid var(--color-border-button-primary);
  border-radius: 100%;
  width: 4rem;
  height: 4rem;
  line-height: 1rem;
  transform: scale(1);
  transition: all 0.4s;
}
.pdp-lightbox__close .icon {
  color: var(--color-text-button-primary);
}
.pdp-lightbox__close:hover, .pdp-lightbox__close:active, .pdp-lightbox__close:focus {
  transform: scale(1.08);
  background-color: var(--color-background-button-primary-hover);
  color: var(--color-text-button-primary-hover);
  border-color: var(--color-border-button-primary-hover);
}
.pdp-lightbox__close:hover .icon, .pdp-lightbox__close:active .icon, .pdp-lightbox__close:focus .icon {
  color: var(--color-text-button-primary-hover);
}
.pdp-lightbox .container {
  display: block;
}
.pdp-lightbox figure {
  margin: var(--gap);
  border-radius: var(--border-radius);
}
@media (min-width: 64em) {
  .pdp-lightbox figure {
    margin: var(--gap);
  }
}
.pdp-lightbox figure img,
.pdp-lightbox figure svg {
  cursor: zoom-out;
  height: 100%;
}
.pdp-lightbox--open {
  left: 0;
  opacity: 1;
  visibility: visible;
  z-index: 100;
}
.pdp-lightbox--open .pdp-lightbox__close-container {
  left: 0;
}

.sticky-add-to-cart {
  display: block !important;
}

.sticky-add-to-cart {
  pointer-events: none;
  z-index: 19;
  left: 0;
  width: 100%;
  height: 0;
}
@media (max-width: 63.99em) {
  .sticky-add-to-cart {
    bottom: -1px;
    position: fixed;
    z-index: 999999;
  }
}
@media (min-width: 64em) {
  .sticky-add-to-cart {
    top: 0;
    position: sticky;
  }
}
.sticky-add-to-cart__inner {
  background: var(--color-background-body);
  opacity: 0;
  transition: transform 0.3s, opacity 0.3s;
}
@media (min-width: 64em) {
  .sticky-add-to-cart__inner {
    transform: translateY(-100%);
  }
}
.sticky-add-to-cart .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: calc(var(--gap) / 2);
  width: 100%;
}
@media (min-width: 64em) {
  .sticky-add-to-cart .container {
    padding: calc(var(--gap) / 2) calc(var(--gap));
  }
}
.sticky-add-to-cart.active {
  pointer-events: auto;
}
.sticky-add-to-cart.active .sticky-add-to-cart__inner {
  opacity: 1;
  box-shadow: 0 0 4rem -0.4rem rgba(52, 64, 84, 0.08);
}
@media (max-width: 63.99em) {
  .sticky-add-to-cart.active .sticky-add-to-cart__inner {
    transform: translateY(-100%);
  }
}
@media (min-width: 64em) {
  .sticky-add-to-cart.active .sticky-add-to-cart__inner {
    transform: translateY(0);
  }
}
.sticky-add-to-cart__meta {
  display: none;
}
@media (min-width: 64em) {
  .sticky-add-to-cart__meta {
    display: flex;
    align-items: center;
  }
}
.sticky-add-to-cart__meta svg, .sticky-add-to-cart__meta img {
  width: 6.6rem;
  height: auto;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: var(--border-radius);
  margin: 0 1.6rem 0 0;
}
.sticky-add-to-cart__meta .price {
  width: -moz-fit-content;
  width: fit-content;
}
.sticky-add-to-cart__controls {
  display: none;
}
@media (min-width: 64em) {
  .sticky-add-to-cart__controls {
    display: flex;
    align-items: flex-end;
    -moz-column-gap: 0.8rem;
         column-gap: 0.8rem;
  }
}
.sticky-add-to-cart__controls .shopify-payment-button {
  display: none !important;
}
.sticky-add-to-cart__controls variant-selects {
  display: flex;
  -moz-column-gap: 0.8rem;
       column-gap: 0.8rem;
}
.sticky-add-to-cart__controls variant-selects .main-product__dropdown {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.8rem;
}
.sticky-add-to-cart__mobile-controls {
  width: 100%;
}
@media (min-width: 64em) {
  .sticky-add-to-cart__mobile-controls {
    display: none;
  }
}

.hero {
  overflow: visible !important;
}
.hero .grid-content__header {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.hero__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.hero__side-image {
  position: relative;
  border-radius: var(--border-radius);
  margin: 0.8rem 0;
  overflow: hidden;
  height: auto;
  max-height: 80rem;
  min-height: 20rem;
}
.hero__side-image:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.hero--image-left .hero__side-image {
  grid-column: 1;
  grid-row: 1;
}
.hero__wrapper {
  max-width: 100%;
  display: flex;
  flex-direction: column;
  z-index: 2;
  position: relative;
  gap: calc(var(--gap) / 2);
}
.section--with-background .hero__wrapper {
  padding: 1.6rem;
}
.hero__wrapper .grid-content__header > * {
  margin: 0;
}
.hero__wrapper > * {
  position: relative;
  padding: 0;
  margin: 0;
}
.hero__wrapper.align-right {
  text-align: right;
  align-items: flex-end;
}
.hero__wrapper.align-right .tags,
.hero__wrapper.align-right .usp,
.hero__wrapper.align-right .hero__ui-share-print,
.hero__wrapper.align-right .breadcrumbs nav ol {
  justify-content: flex-end;
}
.hero__wrapper.align-right .hero__meta {
  flex-direction: row-reverse;
}
.hero__wrapper.align-right a[class^=button],
.hero__wrapper.align-right a[class*=" button"] {
  align-self: flex-end;
}
.hero__wrapper.align-right .wysiwyg ul, .hero__wrapper.align-right .shopify-policy__container ul,
.hero__wrapper.align-right .wysiwyg ol,
.hero__wrapper.align-right .shopify-policy__container ol {
  display: table;
  margin-left: auto;
}
.hero__wrapper.align-center {
  text-align: center;
  align-items: center;
}
.hero__wrapper.align-center h1 {
  margin-left: auto !important;
  margin-right: auto !important;
}
.hero__wrapper.align-center .hero__meta,
.hero__wrapper.align-center .tags,
.hero__wrapper.align-center .usp,
.hero__wrapper.align-center .hero__ui-share-print,
.hero__wrapper.align-center .breadcrumbs nav ol {
  justify-content: center;
}
.hero__wrapper.align-center .hero__meta {
  gap: 3.2rem;
}
.hero__wrapper.align-center a[class^=button],
.hero__wrapper.align-center a[class*=" button"] {
  align-self: center;
}
.hero__wrapper.align-center .wysiwyg ul, .hero__wrapper.align-center .shopify-policy__container ul,
.hero__wrapper.align-center .wysiwyg ol,
.hero__wrapper.align-center .shopify-policy__container ol {
  display: table;
  margin-left: auto;
  margin-right: auto;
}
.hero__bg {
  z-index: 0;
  border-radius: var(--border-radius);
}
.container--full_bleed .hero__bg {
  border-radius: 0;
}
@media (min-width: 64em) {
  .hero__bg--mobile {
    display: none;
  }
}
@media (max-width: 63.99em) {
  .hero__bg--mobile + .hero__bg--desktop {
    display: none;
  }
}
.hero__ui-share-print {
  display: flex;
  margin: 0 0 0 -1.2rem;
}
.hero__ui-share-print .ui-share-print ul {
  left: 1.6rem;
}
.hero__ui-share-print a + .ui-share-print ul {
  left: 0;
}
.hero .breadcrumbs .container {
  padding: 0;
  color: var(--color-text);
  max-width: 100%;
}
.hero .breadcrumbs .container.section__wrapper--background {
  padding: 1.6rem !important;
}
@media (min-width: 64em) {
  .hero .breadcrumbs .container.section__wrapper--background {
    padding: 2.4rem !important;
  }
}
.hero .breadcrumbs .container ol li a {
  color: var(--color-text);
  transition: 0.2s;
}
.hero .breadcrumbs .container ol li a:hover {
  color: var(--color-text-links-hover) !important;
}
.hero .breadcrumbs .container ol li a[aria-current] {
  color: var(--color-text-button-secondary) !important;
}
.hero .breadcrumbs .container ol li a[aria-current] {
  background-color: var(--color-background-button-secondary);
  border-radius: var(--border-radius);
  padding: 0.4rem 0.8rem;
  transition: 0.2s;
}
.hero .breadcrumbs .container ol li a[aria-current]:hover {
  color: var(--color-text-button-secondary-hover) !important;
}
.hero .breadcrumbs .container ol li a[aria-current]:hover {
  background-color: var(--color-background-button-secondary-hover);
}
@media (min-width: 64em) {
  .hero--one-col .hero__description,
  .hero--one-col .heading__section > * {
    max-width: 60%;
  }
}
@media (max-width: 63.99em) {
  .hero--one-col .alignment-horizontal-mobile--center .hero__description,
  .hero--one-col .alignment-horizontal-mobile--center .heading__section > * {
    margin: 0 auto;
  }
  .hero--one-col .alignment-horizontal-mobile--right .hero__description,
  .hero--one-col .alignment-horizontal-mobile--right .heading__section > * {
    margin-left: auto;
  }
}
@media (min-width: 64em) {
  .hero--one-col .alignment-horizontal--center .hero__description,
  .hero--one-col .alignment-horizontal--center .heading__section > * {
    margin: 0 auto;
  }
  .hero--one-col .alignment-horizontal--right .hero__description,
  .hero--one-col .alignment-horizontal--right .heading__section > * {
    margin-left: auto;
  }
}
.hero--two-col {
  display: grid;
  align-items: center;
  grid-auto-columns: 100%;
  grid-gap: 2.4rem;
}
.hero--two-col .img-placeholder,
.hero--two-col video,
.hero--two-col img {
  height: auto;
  max-height: 80rem;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: var(--border-radius);
}
@media (min-width: 64em) {
  .hero--two-col {
    grid-template-columns: repeat(auto-fit, minmax(calc(50% - 8rem), 1fr));
    grid-gap: 4.8rem;
  }
}
.hero--two-col .hero__wrapper {
  width: 100%;
}
.hero-basic h1 {
  color: inherit;
}

.logos__wrapper {
  border-radius: var(--border-radius);
  display: flex;
  gap: calc(var(--gap) / 2);
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
@media (min-width: 64em) {
  .logos__wrapper {
    gap: var(--gap);
    justify-content: space-between;
  }
}
.logos .button, .logos .button--default, .logos .button--primary, .logos .button--inverted, .logos .button--secondary, .logos .button--xs, .logos .button--xs-inverted, .logos .button--xs-secondary, .logos .button--sm, .logos .button--sm-inverted, .logos .button--sm-secondary, .logos .button--lg, .logos .button--lg-inverted, .logos .button--lg-secondary, .logos .button--xl, .logos .button--xl-inverted, .logos .button--xl-secondary, .logos .button--add-to-cart--inverted, .logos .button--add-to-cart--secondary, .logos .button--pill, .logos .button--circle, .logos .shopify-payment-button button, .shopify-payment-button .logos button {
  white-space: nowrap;
  align-self: auto;
}
.logos__logo {
  overflow: visible;
  flex: 0 calc(100% / var(--mobile-column-count-logo-list) - var(--gap) / 2);
}
@media (min-width: 64em) {
  .logos__logo {
    flex: 0 calc(100% / var(--desktop-column-count-logo-list) - var(--gap));
  }
}
@media (max-width: 63.99em) {
  .logos__logo--text-only {
    flex: 0 100%;
  }
  .container--full_bleed .logos__logo--text-only {
    padding: 0 1.2rem;
  }
}
.logos__logo--image {
  text-align: center;
}
.logos__logo img {
  scale: 1;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  transition: all 0.2s;
}
.logos__logo img + p {
  margin: 0.8rem 0 0 0;
}
.logos__logo a {
  display: inline-block;
}
.logos__logo a:hover img, .logos__logo a:active img, .logos__logo a:focus img {
  scale: 1.04;
}
@media (max-width: 63.99em) {
  .logos__logo--fill-mobile {
    flex: 0 100%;
  }
  .container--full_bleed .logos__logo--fill-mobile {
    padding: 0 1.2rem;
  }
}
.logos__placeholder {
  background-color: #f1f1f1;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUEsZ0JBQWdCO0FDZWhCO0VBQ0U7RUFDQTtBRGJGOztBQ2dCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FEYkY7O0FFWkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtLQUFBO0VBQ0E7RUFDQTtBRmVGOztBRVpBO0VBQ0U7RUFDQTtBRmVGOztBRVpBOzs7RUFHRTtFQUNBO0FGZUY7O0FFWkE7O0VBRUU7RUFDQTtBRmVGOztBRVpBO0VBQ0U7RUFDQTtBRmVGOztBRVJBO0VBQ0U7RUFDQTtFQUNBO0FGV0Y7O0FFUkE7O0VBRUU7QUZXRjs7QUVSQTtFQUNFO0FGV0Y7O0FFUkE7RUFDRTtBRldGO0FFVEU7RUFDRTtBRldKOztBRVBBO0VBQ0U7QUZVRjs7QUVQQTtFQUNFO0FGVUY7O0FFUEE7RUFDRTtFQUVBO0VBQ0E7RUFBQTtVQUFBO0FGU0Y7O0FFTkE7RUFDRTtFQUNBO0FGU0Y7O0FFTkE7O0VBRUU7QUZTRjs7QUVOQTs7OztFQUlFO0FGU0Y7O0FFTkE7RUFDRTtFQUNBO0FGU0Y7O0FFTkE7O0VBRUU7QUZTRjs7QUVMQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtBRlFGOztBRUxBO0VBQ0U7QUZRRjs7QUVMQTtFQUNFO0FGUUY7O0FFTEE7RUFDRTtFQUNBO0FGUUY7O0FFTEE7RUFDRTtBRlFGOztBRURBO0VBQ0U7QUZJRjs7QUVBQTtFQUNFO0FGR0Y7O0FFQUE7O0VBRUU7QUZHRjs7QUVBQTtFQUNFO0VBQ0E7QUZHRjs7QUVBQTtFQUNFO0FGR0Y7O0FFQUE7RUFDRTtFQUNBO0FGR0Y7O0FFQUE7Ozs7O0VBS0U7QUZHRjs7QUVBQTtFQUNFO0FGR0Y7O0FFQUE7RUFDRTtBRkdGOztBRUFBOztFQUVFO0FGR0Y7O0FFQ0E7Ozs7O0VBS0U7QUZFRjs7QUVFQTs7OztFQUlFO0VBQ0E7QUZDRjs7QUVHQTs7OztFQUlFO0FGQUY7O0FFR0E7Ozs7RUFJRTtBRkFGOztBRUlBOzs7O0VBSUU7RUFDQTtBRkRGOztBRUtBO0VBQ0U7RUFDQTtBRkZGOztBRUtBO0VBQ0U7QUZGRjs7QUVLQTtFQUNFO0FGRkY7O0FFS0E7RUFDRTtBRkZGOztBRUtBO0VBQ0U7QUZLRjs7QUVOQTtFQUNFO0FGS0Y7O0FFTkE7RUFFRTtBRklGOztBRU5BO0VBRUU7QUZJRjs7QUVOQTtFQUtFO0FGQ0Y7O0FFTkE7RUFLRTtBRkNGOztBRU5BO0VBTUU7QUZBRjs7QUVOQTtFQU1FO0FGQUY7O0FFTkE7RUFHRTtFQUNBO0VBR0E7RUFDQTtFQUFBO0FGRkY7O0FFS0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUZGRjs7QUVLQTtFQUVFO0VBQ0E7RUFDQTtBRkhGOztBRVVBO0VBQ0U7QUZQRjs7QUVXQTtFQUNFO0FGUkY7O0FFZ0JBO0VBQ0U7QUZiRjs7QUVpQkE7RUFDRTtBRmRGOztBRWtCQTtFQUNFO0FGZkY7O0FFa0JBO0VBQ0U7QUZmRjs7QUdoU0E7RUFFRTs7O0lBR0U7SUFDQTtJQUNBO0lBQ0E7RUhrU0Y7RUcvUkE7O0lBRUU7RUhpU0Y7RUc5UkE7SUFDRTtFSGdTRjtFRzdSQTtJQUNFO0VIK1JGO0VHMVJBOztJQUVFO0VINFJGO0VHelJBOztJQUVFO0lBQ0E7RUgyUkY7RUd2UkE7SUFDRTtFSHlSRjtFR3RSQTs7SUFFRTtFSHdSRjtFR3JSQTtJQUNFO0VIdVJGO0VHcFJBOzs7SUFHRTtJQUNBO0VIc1JGO0VHblJBOztJQUVFO0VIcVJGO0VHbFJBOzs7Ozs7Ozs7Ozs7SUFRRTtFSHdSRjtFR3JSQTtJQUNFO0lBQ0E7RUh1UkY7RUdwUkE7SUFDRTtFSHNSRjtBQUNGO0FJeFdBOztFQUVFO0VBQ0E7RUFDQTtBSjBXRjs7QUl2V0E7RUFDRTtFQUNBO0VBQ0E7QUowV0Y7O0FJdldBO0VBQ0U7QUowV0Y7O0FJdldBO0VBQ0U7RUFDQTtFQUNBO0VBRUE7QUowV0Y7QUl4V0U7RUFZRTtBSitWSjtBS25WSTtFRFJBO0FKOFZKO0FJMVZRO0VBQ0U7QUo0VlY7O0FJcFZFO0VBQ0U7RUFDQTtBSnVWSjs7QUlsVkE7Ozs7Ozs7Ozs7Ozs7RUFhRTtBSnFWRjs7QUlsVkE7O0VBRUU7RUFDQTtBSnFWRjs7QUloVkE7Ozs7Ozs7O0VBU0U7QUptVkY7O0FJaFZBO0VBQ0U7QUptVkY7O0FJaFZBO0VBQ0U7QUptVkY7O0FJL1VBO0VBQ0U7RUFDQTtBSmtWRjtBSzdZSTtFRDhEQTtBSmtWSjs7QUk1VUE7RUFDRTtFQUNBO0FKK1VGOztBSXpVQTs7Ozs7O0VBTUU7QUo0VUY7O0FNbFNFO0VGdENBO0lBRUk7RUoyVUo7QUFDRjtBTXhTRTtFRmhDQTtJQUVJO0VKMFVKO0FBQ0Y7QU03U0U7RUYxQkE7SUFFSTtFSnlVSjtBQUNGOztBSXJVQTtFQUNFO0FKd1VGOztBSXBVQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSnVVRjtBSzdiSTs7OztFRHlIQTtBSjBVSjtBTXZVRTtFRDVIRTs7OztJRDRIRTtFSjhVSjtBQUNGOztBSTFVQTtFQUNFO0FKNlVGO0FNblZFO0VENUhFO0lEc0lFO0VKNlVKO0FBQ0Y7O0FJelVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKNFVGO0FJMVVFO0VBRUU7RUFDQTtBSjZVSjtBSWhWRTtFQUNFO0VBR0E7QUo0VUo7QUtuZUk7RUQwSkU7QUo0VU47O0FJdlVBO0VBQ0U7RUFDQTtBSjBVRjtBSXhVRTtFQUNFO0FKMFVKO0FJdlVFO0VBQ0U7QUp5VUo7QUlwVUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSnNVSjtBSXBVSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSnNVTjtBSWhVTTtFQUNFO0FKa1VSO0FJaFVRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKa1VWO0FJN1RVO0VBQ0U7RUFDQTtBSitUWjtBSXpUSTtFQUNFO0VBQ0E7QUoyVE47QUluVE07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKcVRSO0FJblRRO0VBRUU7QUpvVFY7QUlqVFE7RUFFRTtBSmtUVjtBSS9TUTtFQUNFO0VBQ0E7RUFDQTtBSmlUVjs7QUkxU0E7RUFDRTtFQUNBO0FKNlNGO0FNNWJFO0VGNklGO0lBTUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFSjZTRjtBQUNGO0FJM1NFO0VBQ0U7QUo2U0o7QU14Y0U7RUYwSkE7SUFJSTtJQUNBO0lBQ0E7SUFDQTtFSjhTSjtBQUNGO0FJNVNJO0VBQ0U7QUo4U047QUsva0JJO0VEb1NJO0VBQ0E7QUo4U1I7QU12ZEU7RUY4S0E7SUFHSTtFSjJTSjtFSTlTQTtJQUVJO0VKNFNKO0FBQ0Y7QUl6U0k7RUFDRTtFQUNBO0VBQ0E7QUoyU047QUl6U007RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSjJTUjtBSXJTUTtFQUNFO0FKdVNWOztBSWhTQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSm1TRjtBSWpTRTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSm1TSjtBSWpTSTs7RUFDRTtBSm9TTjtBSWhTRTtFQUNFO0FKa1NKO0FJaFNJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKa1NOOztBSTdSQTtFQUNFO0VBQ0E7QUpnU0Y7O0FJN1JBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUpnU0Y7O0FJN1JBO0VBQ0U7QUpnU0Y7O0FJN1JBO0VBQ0U7QUpnU0Y7O0FJN1JBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKK1JGO0FJN1JFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUorUko7QUk1UkU7RUFDRTtFQUNBO0VBQ0E7QUo4Uko7QUk1Ukk7RUFDRTtFQUNBO0FKOFJOOztBSXpSQTtFQUNFO0FKNFJGO0FJelJJO0VBQ0U7RUFDQTtFQUNBO0FKMlJOO0FJelJNO0VBQ0U7RUFDQTtBSjJSUjtBSXRSRTtFQUNFO0VBQ0E7RUFDQTtBSndSSjtBSXJSRTtFQUNFO0FKdVJKO0FJcFJFO0VBQ0U7QUpzUko7O0FJbFJBO0VBQ0U7QUpxUkY7O0FJalJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSm9SSjtBSWxSSTtFQUNFO0FKcVJOO0FJdFJJO0VBRUU7QUpvUk47QUloUk07RUFDRTtBSmtSUjtBSTdRTTtFQUNFO0FKK1FSO0FJMVFNO0VBQ0U7QUo0UVI7O0FJdFFBOztFQUVFO0FKeVFGOztBSXRRQTtFQUNFO0VBQ0E7RUFDQTtBSnlRRjtBSXZRRTs7OztFQUlFO0FKeVFKOztBSXJRQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSnVRRjs7QUlwUUE7RUFDRTtJQUNFO0VKdVFGO0FBQ0Y7QUluUUU7RUFDRTtBSnFRSjs7QUlqUUE7RUFDRTtFQUNBO0VBQ0E7QUpvUUY7O0FJalFBO0VBQ0U7RUFDQTtBSm9RRjtBTTFxQkU7RUZ3YUE7SUFFSTtFSm9RSjtFSWxRSTtJQUNFO0VKb1FOO0FBQ0Y7QU1sckJFO0VGa2JBO0lBRUk7RUprUUo7RUloUUk7SUFDRTtFSmtRTjtBQUNGO0FNMXJCRTtFRjRiQTtJQUVJO0VKZ1FKO0VJOVBJO0lBQ0U7RUpnUU47QUFDRjs7QUF0MkJBO0VBQ0U7QUF5MkJGOztBT3QzQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBUHkzQkY7QU92M0JFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVB5M0JKO0FNbnRCRTtFQzFLQTtJQU9JO0VQMDNCSjtBQUNGO0FPdjNCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FQeTNCSjtBT3QzQkU7RUFDRTtBUHczQko7QU90M0JJOztFQU1FO0VBQ0E7QVBvM0JOO0FNdHVCRTtFQ3JKRTs7SUFVSTtJQUNBO0VQczNCTjtBQUNGO0FPbjNCSTtFQUNFO0FQcTNCTjtBT2gzQlE7OztFQUdFO0FQbzNCVjtBT3YzQlE7OztFQUlFO0VBQ0E7QVBrM0JWOztBUXY2QkE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUnk2QkY7QVF2NkJFO0VBQ0U7RUFDQTtBUnk2Qko7QVF2NkJJO0VBQ0U7RUFDQTtBUnk2Qk47QVF0NkJJO0VBR0U7QVIwNkJOO0FRNzZCSTtFQUNFO0VBQ0E7RUFFQTtFQUNBO0FSdzZCTjtBUXI2QlE7RUFDRTtFQUNBO0VBQ0E7S0FBQTtBUjI2QlY7QVE5NkJRO0VBSUU7RUFDQTtFQUNBO0VBQ0E7QVJ1NkJWO0FRcDZCUTtFQUNFO0FSczZCVjtBUWo2Qkk7RUFDRTtBUm02Qk47QVE3NUJNO0VBQ0U7QVIrNUJSO0FRMTVCTTtFQUNFO0VBQ0E7QVI0NUJSO0FRejVCVTtFQUNFO0FSMjVCWjtBTS95QkU7RUU3R1E7SUFJSTtFUjQ1Qlo7QUFDRjtBUXo1QlU7RUFDRTtBUjI1Qlo7QU12ekJFO0VFckdRO0lBSUk7RVI0NUJaO0FBQ0Y7QVF2NUJNO0VBQ0U7RUFDQTtBUnk1QlI7QVF0NUJNO0VBQ0U7RUFDQTtBUnc1QlI7QVFyNUJNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVJ1NUJSO0FRcjVCUTtFQUNFO0FSdTVCVjtBUXI1QlU7RUFDRTtBUnU1Qlo7QVFsNUJVO0VBQ0U7QVJvNUJaO0FRaDVCUTtFQUNFO0FSazVCVjtBUS80QlE7RUFDRTtBUmk1QlY7QVE5NEJRO0VBQ0U7QVJnNUJWO0FRMTRCRTtFQUNFO0VBQ0E7QVI0NEJKO0FRejRCRTtFQUVFO0FSMDRCSjtBUXY0QkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSeTRCSjtBUXQ0QkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUnc0Qko7QVFyNEJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVJ1NEJKO0FNbDRCRTtFRVpBO0lBVUk7RVJ3NEJKO0FBQ0Y7QVF0NEJJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVJ3NEJOO0FRcjRCSTtFQUNFO0FSdTRCTjtBUWw0QkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO09BQUE7RUFDQTtBUm80Qko7QVFsNEJJO0VBQ0U7RUFDQTtFQUNBO0FSbzRCTjtBUWo0Qkk7RUFDRTtBUm00Qk47QVFoNEJJO0VBQ0U7QVJrNEJOO0FROTNCRTtFQUNFO0VBQ0E7QVJnNEJKO0FRNzNCRTtFQVdFO0FSKzNCSjtBUTE0QkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUmc0Qko7QU1wN0JFO0VFMENBO0lBY0k7RVJnNEJKO0FBQ0Y7QVE5M0JJO0VBQ0U7QVJnNEJOO0FRNzNCSTtFQUNFO0FSKzNCTjtBUTMzQkU7RUFDRTtBUjYzQko7QVF0M0JRO0VBQ0U7QVJ3M0JWO0FRaDNCUTtFQUNFO0FSazNCVjtBUTMyQkk7RUFDRTtBUjYyQk47QVEzMkJNO0VBQ0U7QVI2MkJSO0FRdDJCTTtFQUNFO0FSdzJCUjtBUW4yQk07RUFDRTtBUnEyQlI7QVFuMkJRO0VBQ0U7QVJxMkJWO0FNdjlCRTtFRXdIUTtJQUNFO0VSazJCVjtFUS8xQlE7SUFDRTtFUmkyQlY7QUFDRjtBTS85QkU7RUVvSVE7SUFDRTtFUjgxQlY7RVEzMUJRO0lBQ0U7RVI2MUJWO0FBQ0Y7QVF4MUJRO0VBQ0U7QVIwMUJWO0FRcjFCSTtFQUNFO0VBQ0E7QVJ1MUJOO0FRcDFCSTtFQUNFO0FSczFCTjtBUS8wQk07RUFDRTtBUmkxQlI7QVEvMEJRO0VBQ0U7QVJpMUJWO0FROTBCUTtFQUNFO0VBQ0E7QVJnMUJWO0FROTBCVTtFQUNFO0FSZzFCWjtBUTMwQk07RUFDRTtBUjYwQlI7QVEzMEJRO0VBQ0U7QVI2MEJWO0FRMTBCUTtFQUNFO0VBQ0E7RUFDQTtBUjQwQlY7QVF6MEJRO0VBQ0U7QVIyMEJWO0FRcDBCUTtFQUNFO0VBQ0E7QVJzMEJWO0FRbDBCVTtFQUNFO0FSbzBCWjtBUWgwQlE7RUFFRTtBUm0wQlY7QVFyMEJRO0VBQ0U7RUFFQTtBUmswQlY7QVEvekJRO0VBQ0U7QVJpMEJWO0FRN3pCVTtFQUNFO0FSK3pCWjtBUTN6QlE7RUFDRTtBUjZ6QlY7QVF4ekJRO0VBQ0U7QVIwekJWO0FRcnpCUTtFQUNFO0FSdXpCVjtBUW56QlU7RUFDRTtBUnF6Qlo7QVE5eUJFO0VBQ0U7RUFDQTtFQUNBO0FSZ3pCSjtBUTl5Qkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSZ3pCTjtBUTl5Qk07RUFDRTtFQUNBO0FSZ3pCUjtBUTV5Qkk7RUFDRTtBUjh5Qk47QVEzeUJJO0VBQ0U7QVI2eUJOO0FRMXlCSTtFQUNFO0FSNHlCTjtBUXp5Qkk7O0VBRUU7QVIyeUJOO0FReHlCSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSMHlCTjtBUWh5QkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBUmt5Qko7QVFoeUJJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVJreUJOO0FRL3hCSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSaXlCTjtBUTl4Qkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBUmd5Qk47QVE3eEJJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVIreEJOO0FRNXhCSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVI4eEJOO0FRNXhCTTtFQUNFO0VBQ0E7QVI4eEJSO0FRMXhCSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSNHhCTjtBUTF4Qk07RUFDRTtFQUNBO0FSNHhCUjtBUXp4Qk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtBUjJ4QlI7QVF6eEJROztFQUVFO0FSMnhCVjtBUXZ4Qk07RUFDRTtBUnl4QlI7QVF0eEJNO0VBQ0U7RUFDQTtBUnd4QlI7QVEvd0JVO0VBQ0U7QVJpeEJaO0FRbHhCVTtFQUNFO0FSaXhCWjtBUTN3QlE7RUFDRTtBUjZ3QlY7QVF2d0JNO0VBQ0U7QVJ5d0JSO0FRcndCUTtFQUNFO0FSdXdCVjs7QVMvMUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVGsyQ0Y7QVNoMkNFOzs7O0VBTUU7QVRzMkNKO0FTNTJDRTs7OztFQUlFO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtBVGsyQ0o7QVNoMkNJOzs7O0VBQ0U7QVRxMkNOO0FLN3pDRTs7OztFSXBDSTtFQUNBO0VBQ0E7QVR1MkNOO0FNdnRDRTtFRDlHQTs7OztJSS9CTTtFVDIyQ047QUFDRjtBSzEwQ0U7Ozs7RUl2Q0k7RUFDQTtFQUNBO0FUdTNDTjtBTXZ1Q0U7RUQzR0E7Ozs7SUlsQ007RVQyM0NOO0FBQ0Y7QUt2MUNFOzs7O0VJMUNJO0VBQ0E7RUFDQTtBVHU0Q047QU12dkNFO0VEeEdBOzs7O0lJckNNO0VUMjRDTjtBQUNGO0FLcDJDRTs7OztFSTdDSTtFQUNBO0VBQ0E7QVR1NUNOO0FNdndDRTtFRHJHQTs7OztJSXhDTTtFVDI1Q047QUFDRjtBU3Y1Q0U7OztFQUdFO0FUeTVDSjtBTXB4Q0U7RUd4SUE7OztJQU1JO0VUNDVDSjtBQUNGO0FTejVDRTtFQUNFO0FUMjVDSjtBU3g1Q0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBVDA1Q0o7QVN2NUNFO0VBQ0U7QVR5NUNKO0FTdDVDRTtFQUNFO0VBQ0E7RUFDQTtBVHc1Q0o7QVNyNUNFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFFRTtFQUNBO0VBQ0E7QVQ2NkNKOztBU3o2Q0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVQ0NkNGO0FTMTZDRTtFQUNFO0VBQ0E7QVQ0NkNKOztBU3g2Q0E7RUFDRTtFQUNBO0VBQ0E7QVQyNkNGO0FTejZDRTtFQUNFO0FUMjZDSjtBU3g2Q0U7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUMDZDSjtBS3g5Q0U7O0VJaURJO0VBQ0E7QVQyNkNOO0FLMTlDRTs7RUk4Q0k7RUFDQTtBVGc3Q047QUs1OUNFOztFSTJDSTtFQUNBO0FUcTdDTjtBSzk5Q0U7O0VJd0NJO0VBQ0E7QVQwN0NOOztBU3A3Q0U7RUFDRTtBVHU3Q0o7QVNyN0NJO0VBQ0U7RUFDQTtBVHU3Q047QVNuN0NFO0VBQ0U7RUFDQTtBVHE3Q0o7QVNsN0NFO0VBQ0U7QVRvN0NKO0FTbDdDSTtFQUNFO0VBQ0E7QVRvN0NOO0FTLzZDUTtFQUNFO0FUaTdDVjtBUzU2Q0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUODZDTjtBUzU2Q007RUFDRTtFQUNBO0FUODZDUjtBUzM2Q1U7RUFDRTtBVDY2Q1o7QVN4NkNNO0VBQ0U7QVQwNkNSO0FTcjZDTTtFQUNFO0VBQ0E7QVR1NkNSO0FTcjZDUTtFQUNFO0FUdTZDVjs7QVVwbURFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZ1bURKO0FVcm1ESTtFQUNFO0VBQ0E7RUFDQTtBVnVtRE47QVVwbURJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVnNtRE47QU0zOENFO0VJaEtFO0lBUUk7RVZ1bUROO0FBQ0Y7QVVybURNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWdW1EUjtBVWxtREU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZvbURKO0FVbG1ESTtFQUNFO0VBQ0E7RUFDQTtBVm9tRE47O0FNeCtDRTtFSXRIQTtJQUNFO0lBQ0E7RVZrbURGO0FBQ0Y7QVUvbERBO0VBQ0U7QVZpbURGOztBV3JwREE7RUFDRTtBWHdwREY7O0FXanBEQTtFTlhFO0VBQ0E7RUFDQTtVQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUxncURGO0FLOXBERTtFQUVFO0VBQ0E7VUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUwrcERKOztBV2xxREE7RUFDRTtJQUNFO0VYcXFERjtBQUNGO0FXanFEQTs7RUFFRTtFQUNBO0FYbXFERjs7QVdocURBOztFQUVFO0VBQ0E7QVhtcURGOztBV2hxREE7RUFDRTtBWG9xREY7O0FXcnFEQTtFQUVFO0VBQUE7QVhtcURGO0FNbGlERTtFS25JRjtJQUtJO0VYb3FERjtBQUNGO0FNdmlERTtFS25JRjtJQVNJO0lBQ0E7RVhxcURGO0FBQ0Y7O0FXanFEQTtFQUNFO0VBQ0E7QVhvcURGOztBV2hxREE7RUFDRTtFQUNBO0FYbXFERjs7QVdocURBO0VBQ0U7RUFDQTtBWG1xREY7O0FXL3BERTtFQUNFO0VBQ0E7QVhrcURKOztBVzlwREE7RUFDRTtBWGlxREY7O0FNcmtERTtFS3hGQTtJQUdJO0VYZ3FESjtFV25xREE7SUFFSTtFWGlxREo7QUFDRjtBTTVrREU7RUtsRkU7SUFFSTtJQUNBO0VYZ3FETjtBQUNGOztBTWxsREU7RUt6RUY7SUFFSTtFWDhwREY7QUFDRjs7QU14bERFO0VLbkVGO0lBRUk7RVg4cERGO0FBQ0Y7O0FXenBERTs7RUFDRTtFQUNBO0FYNnBESjtBVzFwREU7OztFQUNFO0VBQ0E7QVg4cERKOztBVzFwREE7RUFDRTtFQUNBO0FYNnBERjtBVzNwREU7RUFDRTtFQUNBO0VBQ0E7QVg2cERKO0FXM3BESTtFQUNFO0FYNnBETjtBVzFwREk7RUFDRTtBWDRwRE47QVd6cERJO0VBQ0U7QVgycEROO0FXeHBESTtFQUNFO0FYMHBETjtBV3RwREU7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVh3cERKO0FXdHBESTs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWHlwRE47QUtueERJOzs7O0VNa0lFO0FYdXBETjtBV2xwREk7RUFDRTtBWG9wRE47QVdqcERJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVhtcEROO0FXM29ERTtFQUNFO0FYNm9ESjtBVzNvREk7RUFDRTtBWDZvRE47QVcxb0RJO0VBQ0U7QVg0b0ROO0FXMW9ESTtFQUNFO0VBQ0E7RUFDQTtBWDRvRE47QVd6b0RJO0VBQ0U7QVgyb0ROOztBV3RvREE7RUFDRTtFQUNBO0FYeW9ERjs7QVd0b0RBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVh5b0RGOztBV3RvREE7RUFDRTtBWHlvREY7QVd2b0RFO0VBQ0U7QVh5b0RKO0FXdG9ERTtFQUNFO0VBQ0E7RUFDQTtBWHdvREo7QVdyb0RFO0VBQ0U7RUFDQTtFQUNBO0FYdW9ESjtBV3BvREU7RUFDRTtFQUNBO0VBQ0E7QVhzb0RKOztBV2pvREU7RUFDRTtBWG9vREo7O0FXL25ERTtFQUNFO0FYa29ESjs7QVc3bkRFO0VBQ0U7QVhnb0RKO0FNM3VERTtFSzZHRTtJQUVJO0VYZ29ETjtBQUNGOztBVzNuREE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWDhuREY7QVc1bkRFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVg4bkRKOztBVzFuREE7RUFDRTtBWDZuREY7QVczbkRFO0VBQ0U7QVg2bkRKO0FXM25ESTtFQUNFO0FYNm5ETjs7QVd2bkRBO0VBQ0U7SUFDRTtFWDBuREY7RVd4bkRBO0lBQ0U7RVgwbkRGO0VXeG5EQTtJQUNFO0VYMG5ERjtBQUNGO0FXdm5EQTtFQUNFO0VBQ0E7QVh5bkRGOztBTTd4REU7RUt3S0E7SUFDRTtJQUNBO0lBQ0E7RVh5bkRGO0VXdm5ERTtJQUNFO0VYeW5ESjtFV3JuREE7SUFDRTtJQUNBO0lBQ0E7RVh1bkRGO0VXcm5ERTtJQUNFO0VYdW5ESjtFV3BuREU7SUFDRTtFWHNuREo7RVdsbkRBO0lBQ0U7SUFDQTtJQUNBO0VYb25ERjtFV2xuREU7SUFDRTtFWG9uREo7RVdqbkRFO0lBQ0U7RVhtbkRKO0FBQ0Y7QU05ekRFO0VLa05FO0lBQ0U7RVgrbURKO0VXM21EQTtJQUNFO0lBQ0E7SUFDQTtFWDZtREY7RVczbURFO0lBQ0U7RVg2bURKO0VXMW1ERTtJQUNFO0VYNG1ESjtFV3htREE7SUFDRTtJQUNBO0lBQ0E7RVgwbURGO0VXeG1ERTtJQUNFO0VYMG1ESjtFV3ZtREU7SUFDRTtFWHltREo7RVd0bURFO0lBQ0U7RVh3bURKO0FBQ0Y7QVdwbURBO0VBQ0U7QVhzbURGOztBWTNnRUE7RUFNRTtBWitnRUY7O0FZcmhFQTtFQUNFO0VBQ0E7S0FBQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0FaOGdFRjtBWTVnRUU7RUFFRTtBWjZnRUo7QVkxZ0VFO0VBRUU7S0FBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FaMmdFSjs7QVl2Z0VBO0VBQ0U7RUFDQTtFQUNBO0FaMGdFRjtBWXhnRUU7RUFDRTtFQUNBO0VBQ0E7QVowZ0VKOztBWXRnRUE7RUFDRTtFQUNBO0VBQ0E7QVp5Z0VGO0FZdmdFRTtFQUNFO0VBQ0E7RUFDQTtBWnlnRUo7QVl0Z0VFOzs7OztFQUtFO0tBQUE7QVp3Z0VKO0FZcmdFRTs7Ozs7O0VBU0U7RUFDQTtBWnVnRUo7QVlqaEVFOzs7Ozs7RUFNRTtFQUNBO0VBQ0E7QVp5Z0VKO0FZcGdFRTs7Ozs7RUFLRTtBWnNnRUo7QVluZ0VFO0VBQ0U7RUFDQTtBWnFnRUo7O0FZamdFQTtFQUNFO0VBQ0E7RUFDQTtBWm9nRUY7QVlqZ0VJOzs7RUFHRTtLQUFBO0VBQ0E7QVptZ0VOO0FZaGdFSTtFQUNFO0Faa2dFTjtBWWhnRU07RUFDRTtLQUFBO0Faa2dFUjtBWTkvREk7RUFDRTtBWmdnRU47QVk3L0RJO0VBQ0U7QVorL0ROO0FZMy9ERTtFQUdFO0VBQ0E7QVoyL0RKO0FZei9ESTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0tBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVoyL0ROO0FZei9ETTtFQUlFO0FaOC9EUjtBWWxnRU07RUFDRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QVoyL0RSO0FZdi9EUTtFQUNFO0VBQ0E7QVp5L0RWO0FZci9ETTtFQUNFO0VBQ0E7RUFDQTtBWnUvRFI7QVlwL0RNO0VBRUU7RUFDQTtBWnMvRFI7QVl6L0RNO0VBQ0U7S0FBQTtBWncvRFI7QVlqL0RFO0VBQ0U7QVptL0RKO0FZaC9ERTtFQUNFO0Faay9ESjtBWS8rREU7RUFDRTtBWmkvREo7QVk5K0RFO0VBR0U7QVo4K0RKO0FNeC9ERTtFTU9BO0lBS0k7RVpnL0RKO0FBQ0Y7QVk3K0RFO0VBQ0U7QVorK0RKO0FZMStESTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FaNCtETjs7QVlyK0RJO0VBQ0U7RUFDQTtBWncrRE47O0FZbCtERTtFQUNFO0FacStESjtBWWwrREU7RUFDRTtFQUNBO0FabytESjs7QVloK0RBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVptK0RGO0FZaitERTtFQUVFO0FaaytESjs7QVk3OURFO0VBQ0U7QVpnK0RKO0FZNTlESTtFQUNFO0FaODlETjs7QVl6OURBO0VBQ0U7RUFHQTtBWjQ5REY7QVkxOURFO0VBTUU7QVo2OURKO0FZbitERTtFQUNFO0VBR0E7RUFDQTtFQUVBO0FaNDlESjs7QWEzdkVFO0VBQ0U7QWI4dkVKO0FhM3ZFRTtFQUNFO0FiNnZFSjtBYTF2RUU7RUFDRTtBYjR2RUo7QWF6dkVFO0VBQ0U7QWIydkVKO0FheHZFRTtFQUNFO0FiMHZFSjtBTTVsRUU7RU8zSkE7SUFFSTtFYnl2RUo7QUFDRjs7QWNoeEVFO0VBQ0U7RUFDQTtFQUFBO0FkbXhFSjtBY2p4RUk7OztFQUdFO0tBQUE7RUFDQTtFQUNBO0FkbXhFTjtBTTdtRUU7RVFuS0U7SUFFSTtFZGt4RU47QUFDRjtBYy93RUk7RUFDRTtBZGl4RU47QWM3d0VFO0VBQ0U7RUFBQTtFQUNBO0FkK3dFSjtBYzV3RUU7RUFDRTtFQUFBO0VBQ0E7QWQ4d0VKO0FjM3dFRTtFQUNFO0VBQUE7RUFDQTtBZDZ3RUo7QWMxd0VFO0VBQ0U7RUFBQTtFQUNBO0FkNHdFSjtBY3p3RUU7RUFDRTtFQUFBO0VBQ0E7QWQyd0VKO0FjeHdFRTtFQUNFO0VBQUE7RUFDQTtBZDB3RUo7QWN2d0VFO0VBR0U7QWR5d0VKO0FjNXdFRTtFQUNFO0VBQUE7RUFDQTtBZDB3RUo7QU1scEVFO0VRbEhJO0lBQ0U7SUFDQTtJQUFBO0VkdXdFTjtFY2x3RVE7OztJQUNFO09BQUE7SUFDQTtFZHN3RVY7RWNsd0VNO0lBQ0U7RWRvd0VSO0VjandFTTtJQUNFO0VkbXdFUjtFYy92RUk7SUFDRTtJQUFBO0lBQ0E7RWRpd0VOO0VjOXZFSTtJQUNFO0lBQUE7SUFDQTtFZGd3RU47RWM3dkVJO0lBQ0U7SUFBQTtJQUNBO0VkK3ZFTjtFYzV2RUk7SUFDRTtJQUFBO0lBQ0E7RWQ4dkVOO0VjM3ZFSTtJQUNFO0lBQUE7SUFDQTtFZDZ2RU47RWMxdkVJO0lBQ0U7SUFBQTtJQUNBO0VkNHZFTjtBQUNGOztBY3R2RUU7RUFDRTtLQUFBO0FkeXZFSjtBY3R2RUU7RUFDRTtLQUFBO0Fkd3ZFSjtBY3J2RUU7RUFDRTtLQUFBO0FkdXZFSjs7QWVyM0VFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWZ3M0VKO0FldDNFSTtFQUVFO0FmdTNFTjtBZXAzRUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZnMzRU47QUtyMUVJO0VVOUJJO0FmczNFUjtBZXAzRVE7RUFDRTtBZnMzRVY7QWVuM0VRO0VBQ0U7QWZxM0VWO0FlajNFTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FmbTNFUjtBZWozRVE7RUFDRTtBZm0zRVY7QU0zdUVFO0VTeklNO0lBSUk7RWZvM0VWO0FBQ0Y7QWVqM0VRO0VBQ0U7QWZtM0VWO0FlLzJFTTtFQUNFO0FmaTNFUjtBZS8yRVM7RUFDQztBZmkzRVY7QWU3MkVNO0VBQ0U7QWYrMkVSO0FlMTJFTTtFQUNFO0FmNDJFUjtBZXgyRUk7RUFDRTtFQUNBO0FmMDJFTjtBZXgyRU07Ozs7Ozs7RUFHRTtBZjgyRVI7QWV6MkVNO0VBQ0U7QWYyMkVSO0FNL3dFRTtFUzdGSTtJQUlJO0VmNDJFUjtBQUNGO0FlejJFTTtFQUNFO0FmMjJFUjtBTXZ4RUU7RVNyRkk7SUFJSTtFZjQyRVI7QUFDRjtBZXoyRU07RUFDRTtBZjIyRVI7QU0veEVFO0VTN0VJO0lBSUk7RWY0MkVSO0FBQ0Y7QWV2MkVFO0VBQ0U7RUFDQTtBZnkyRUo7QU14eUVFO0VTOURJO0lBQ0U7SUFDQTtFZnkyRU47RWV2MkVNO0lBQ0U7RWZ5MkVSO0VldjJFUTtJQUNFO0VmeTJFVjtFZXQyRVE7SUFDRTtFZncyRVY7RWVuMkVRO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RWZxMkVWO0VlbjJFVTtJQUNFO0VmcTJFWjtFZWwyRVU7SUFDRTtFZm8yRVo7RWU5MUVJO0lBQ0U7SUFDQTtFZmcyRU47QUFDRjtBTXYwRUU7RVNwQkU7SUFFSTtJQUNBO0VmNjFFTjtBQUNGOztBZ0IzL0VJO0VBQ0U7RUFDQTtFQUNBO0FoQjgvRU47QWdCMS9FRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCNC9FSjtBZ0IxL0VJO0VBQ0U7RUFDQTtFQUNBO0FoQjQvRU47QWdCei9FSTtFQUNFO0VBQ0E7QWhCMi9FTjtBZ0J6L0VNOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCMi9FUjtBTTkyRUU7RVVuSkk7O0lBU0k7SUFDQTtFaEI2L0VSO0FBQ0Y7QWdCei9FUTs7RUFFRTtBaEIyL0VWO0FNejNFRTtFVXBJTTs7SUFLSTtFaEI2L0VWO0FBQ0Y7QWdCdC9FSTtFQUNFO0FoQncvRU47QWdCbi9FSTtFQUNFO0FoQnEvRU47QU1yNEVFO0VVakhFO0lBSUk7RWhCcy9FTjtBQUNGO0FnQmwvRU07RUFDRTtBaEJvL0VSO0FnQi8rRU07RUFDRTtBaEJpL0VSO0FNaDVFRTtFVTNGTTtJQUNFO0VoQjgrRVI7RWdCeitFTTtJQUNFO0VoQjIrRVI7RWdCdCtFTTtJQUNFO0VoQncrRVI7QUFDRjtBZ0JsK0VJO0VBQ0U7QWhCbytFTjs7QWlCMWtGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtLQUFBO1VBQUE7RUFDQTtLQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCNmtGRjtBaUIza0ZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWpCNmtGSjtBSzVqRkk7RVliQTtFQUNBO0VBQ0E7RUFDQTtBakI0a0ZKO0FpQjFrRkk7RUFDRTtBakI0a0ZOO0FpQm5rRkU7RUFHRTtFQUNBO0VBQ0E7QWpCbWtGSjtBSzFrRkk7RVlZRTtBakJta0ZOO0FLL2tGSTtFWVVFO0VBQ0E7QWpCb2tGTjtBaUIvakZFO0VBR0U7QWpCK2pGSjtBaUJ0akZFO0VBR0U7QWpCc2pGSjtBaUJ2aEZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQnloRko7QWlCdmhGSTtFQUdFO0FqQnVoRk47QWlCcGhGSTtFQUdFO0FqQm9oRk47QWlCaGhGRTtFQUlFO0VBQ0E7RUFDQTtBakIrZ0ZKO0FpQjdnRkk7RUFDRTtBakIrZ0ZOO0FpQjNnRkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCNmdGSjtBS3RuRkk7RVk0R0U7RUFDQTtBakI2Z0ZOO0FpQnpnRkU7RUFDRTtBakIyZ0ZKO0FpQnhnRkU7RUFDRTtBakIwZ0ZKO0FNcGdGRTtFV0pFO0lBRUk7RWpCMGdGTjtBQUNGO0FpQnZnRkk7RUFDRTtFQUNBO0VBQ0E7QWpCeWdGTjtBaUJ0Z0ZJOzs7OztFQUVFO0VBQ0E7RUFDQTtFQUNBO0FqQjJnRk47QWlCamdGRTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakJrZ0ZKO0FpQmhnRkk7RUFDRTtBakJrZ0ZOO0FNbmlGRTtFV2dDRTtJQUlJO0VqQm1nRk47QUFDRjtBaUIvL0VNO0VBQ0U7QWpCaWdGUjtBTTNpRkU7RVd5Q0k7SUFJSTtFakJrZ0ZSO0FBQ0Y7QWlCaGdGUTtFQUNFO0FqQmtnRlY7QWlCOS9FTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FqQmdnRlI7QWlCNS9FSTtFQUNFO0FqQjgvRU47QWlCMS9FRTtFQUNFO0VBQ0E7RUFDQTtBakI0L0VKO0FpQjEvRUk7RUFDRTtBakI0L0VOO0FpQnovRUk7RUFDRTtFQUNBO0VBQ0E7QWpCMi9FTjtBaUJ2L0VFO0VBQ0U7RUFDQTtBakJ5L0VKO0FpQnYvRUk7RUFDRTtBakJ5L0VOO0FpQnIvRU07RUFDRTtBakJ1L0VSO0FpQmwvRUU7RUFHRTtBakJrL0VKO0FNdGxGRTtFV2lHQTtJQU1JO0VqQm0vRUo7QUFDRjtBaUJqL0VJO0VBRUU7RUFDQTtFQUNBO0FqQmsvRU47QWlCdC9FSTtFQUVFO0VBQ0E7RUFDQTtBakJrL0VOO0FpQi8rRUk7RUFFRTtFQUNBO0FqQmcvRU47QWlCbi9FSTtFQUVFO0VBQ0E7QWpCZy9FTjtBaUI5K0VNO0VBQ0U7QWpCZy9FUjtBaUJqL0VNO0VBQ0U7QWpCZy9FUjtBaUIxK0VJO0VBQ0U7QWpCNCtFTjtBaUJ4K0VFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakIwK0VKO0FpQngrRUk7RUFDRTtFQUNBO0VBQ0E7QWpCMCtFTjtBS3J2Rkk7RVkrUUU7RUFDQTtBakJ5K0VOO0FpQnIrRUU7RUFFRTtFQUVBO0VBQ0E7QWpCcStFSjs7QWlCLzlFSTtFQUNFO0VBQ0E7RUFDQTtBakJrK0VOO0FpQmgrRU07RUFDRTtBakJrK0VSOztBaUIxOUVJO0VBQ0U7RUFDQTtFQUNBO0FqQjY5RU47QWlCMzlFTTtFQUNFO0FqQjY5RVI7QWlCMTlFTTtFQUVFO0VBQ0E7QWpCMjlFUjtBaUJ6OUVRO0VBQ0U7QWpCMjlFVjs7QWlCcDlFQTtFQUNFO0VBQ0E7QWpCdTlFRjtBaUJyOUVFO0VBQ0U7QWpCdTlFSjtBaUJwOUVFO0VBR0U7RUFDQTtBakJvOUVKO0FpQmw5RUk7RUFFRTtBakJvOUVOO0FpQnQ5RUk7RUFDRTtBakJxOUVOOztBaUIvOEVBO0VBQ0U7QWpCazlFRjs7QWlCOThFRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FqQmk5RUo7QWlCLzhFSTtFQUNFO0FqQmk5RU47QWlCOThFSTtFQUNFO0FqQmc5RU47QWlCNzhFSTtFQUNFO0FqQis4RU47QU0vckZFO0VXbVBFO0lBRUk7RWpCODhFTjtFaUI1OEVNO0lBQ0U7RWpCODhFUjtBQUNGO0FpQjE4RUk7RUFDRTtBakI0OEVOOztBaUJ0OEVFO0VBQ0U7QWpCeThFSjs7QWlCMThFRTtFQUNFO0FqQnk4RUo7QWlCdDhFRTtFQUNFO0FqQnc4RUo7QWlCejhFRTtFQUNFO0FqQnc4RUo7QWlCdDhFSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakJ3OEVOO0FpQmo5RUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCdzhFTjtBS3gxRkk7RVlvWkU7QWpCdThFTjtBSzMxRkk7RVlvWkU7QWpCdThFTjtBaUJuOEVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQnE4RUo7QWlCbjhFSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakJxOEVOO0FpQmw4RUk7RUFDRTtBakJvOEVOO0FpQnI4RUk7RUFDRTtBakJvOEVOO0FpQmw4RU07RUFDRTtBakJvOEVSO0FpQnI4RU07RUFDRTtBakJvOEVSO0FpQmg4RUk7RUFNRTtLQUFBO0FqQm84RU47QWlCMThFSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0FqQms4RU47QWlCOTdFRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCZzhFSjs7QWlCNTdFQTtFQUNFO0VBQ0E7QWpCKzdFRjs7QWtCejdGSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FsQjQ3Rk47QWtCMTdGTTtFQUNFO0VBQ0E7QWxCNDdGUjtBa0J6N0ZNO0VBQ0U7RUFDQTtBbEIyN0ZSO0FrQnY3Rkk7RUFDRTtBbEJ5N0ZOO0FrQnY3Rk07RUFDRTtFQUNBO0FsQnk3RlI7QU1qeUZFO0VZcEpNO0lBQ0U7RWxCdzdGUjtFa0JyN0ZNO0lBQ0U7RWxCdTdGUjtBQUNGO0FrQmw3RkU7RUFFRTtBbEJtN0ZKO0FNNXlGRTtFWXpJQTtJQUtJO0VsQm83Rko7QUFDRjtBTWp6RkU7RVl6SUE7SUFTSTtFbEJxN0ZKO0FBQ0Y7QWtCbjdGSTtFQUNFO0FsQnE3Rk47QWtCajdGTTtFQUNFO0FsQm03RlI7QWtCaDdGTTtFQUNFO0FsQms3RlI7QWtCLzZGTTtFQUNFO0FsQmk3RlI7QWtCejZGTTtFQUNFO0FsQjI2RlI7QWtCeDZGTTtFQUNFO0FsQjA2RlI7QWtCdjZGTTtFQUNFO0FsQnk2RlI7QWtCbjZGSTtFQUNFO0FsQnE2Rk47O0FtQjEvRkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQjYvRkY7QW1CMy9GRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5CNi9GSjtBbUIxL0ZFO0VBQ0U7VUFBQTtBbkI0L0ZKO0FNaDJGRTtFYTdKQTtJQUlJO0VuQjYvRko7QUFDRjtBbUIzL0ZJO0VBQ0U7QW5CNi9GTjs7QW9CdmhHRTtFQU1FO0FwQjJoR0o7O0FvQmppR0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7QXBCMGhHSjtBb0J4aEdJO0VBQ0U7QXBCMGhHTjtBb0J2aEdJO0VBQ0U7RUFDQTtFQUNBO0FwQnloR047QW9CcmhHRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEJ1aEdKO0FNMzRGRTtFYzNKQTtJQXFCSTtFcEJ5aEdKO0VvQjlpR0E7SUFrQkk7SUFDQTtJQUNBO0lBRUE7RXBCd2hHSjtBQUNGO0FNcDVGRTtFYzNKQTtJQTBCSTtFcEJ5aEdKO0FBQ0Y7QW9CdmhHSTtFQUNFO0VBQ0E7QXBCeWhHTjtBb0JwaEdJO0VBQ0U7RUFDQTtBcEJzaEdOO0FNajZGRTtFY3ZIRTtJQUtJO0lBQ0E7SUFDQTtFcEJ1aEdOO0VvQnJoR007SUFDRTtFcEJ1aEdSO0VvQnJoR1E7SUFDRTtFcEJ1aEdWO0VvQm5oR007SUFDRTtFcEJxaEdSO0VvQm5oR1E7SUFDRTtFcEJxaEdWO0FBQ0Y7QW9CL2dHRTtFQUNFO0VBQ0E7RUFDQTtBcEJpaEdKO0FvQjlnR0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEJnaEdKO0FvQjlnR0k7RUFFRTtBcEJnaEdOO0FvQmxoR0k7RUFDRTtBcEJpaEdOO0FvQjdnR0k7RUFFRTtBcEI4Z0dOO0FvQjNnR0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCNmdHTjtBb0IzZ0dNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEI2Z0dSO0FLMWxHSTtFZWlGSTtBcEI0Z0dSO0FvQjFnR1E7RUFDRTtFQUNBO0FwQjRnR1Y7QW9CdGdHRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQndnR0o7QU05K0ZFO0VjakNBO0lBVUk7SUFDQTtFcEJ5Z0dKO0FBQ0Y7QW9CdmdHSTtFQUNFO0VBQ0E7QXBCeWdHTjtBb0JyZ0dFO0VBQ0U7QXBCdWdHSjtBb0JyZ0dJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0FwQnVnR047QW9CcmdHTTtFQUNFO0FwQnVnR1I7QW9CcmdHUTtFQUNFO0VBQ0E7QXBCdWdHVjtBb0JuZ0dNO0VBQ0U7RUFDQTtBcEJxZ0dSO0FvQmxnR007RUFDRTtBcEJvZ0dSO0FNaGhHRTtFY1dJO0lBSUk7SUFDQTtFcEJxZ0dSO0FBQ0Y7QW9CamdHSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FwQm1nR047QW9CaGdHSTtFQUNFO0VBQ0E7RUFDQTtBcEJrZ0dOO0FvQjUvRlU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCOC9GWjtBb0I1L0ZZO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEI4L0ZkO0FLNXFHSTtFZWtMVTtBcEI2L0ZkO0FvQjMvRmM7RUFDRTtFQUNBO0FwQjYvRmhCO0FvQnAvRkU7RUFDRTtBcEJzL0ZKO0FvQm4vRkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQnEvRko7QW9Cbi9GSTtFQUNFO0VBQ0E7QXBCcS9GTjtBb0IzK0ZZO0VBQ0U7QXBCNitGZDtBb0J6K0ZVO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCMitGWjtBb0JuK0ZJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXBCcStGTjtBb0JuK0ZNO0VBQ0U7RUFDQTtBcEJxK0ZSO0FvQmgrRkU7RUFDRTtFQUNBO0FwQmsrRko7QU0vbEdFO0VjMkhBO0lBS0k7SUFDQTtJQUNBO0VwQm0rRko7RW9CaitGSTtJQUNFO0VwQm0rRk47RW9CcCtGSTtJQUNFO0VwQm0rRk47QUFDRjtBTXptR0U7RWMySEE7SUFlSTtJQUNBO0VwQm0rRko7QUFDRjtBTS9tR0U7RWMrSUk7SUFDRTtJQUNBO0VwQm0rRk47RW9CaCtGSTtJQUNFO0VwQmsrRk47RW9CLzlGSTtJQUNFO0lBQ0E7RXBCaStGTjtFb0IvOUZNO0lBQ0U7SUFDQTtJQUNBO0VwQmkrRlI7QUFDRjtBb0I3OUZJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQis5Rk47QU0vb0dFO0Vjb0tFO0lBZUk7RXBCZytGTjtBQUNGO0FvQjc5Rkk7RUFDRTtFQUNBO0VBRUE7RUFDQTtBcEI4OUZOO0FvQjU5Rk07RUFDRTtFQUNBO0FwQjg5RlI7QU05cEdFO0VjdUxFO0lBYUk7SUFDQTtJQUNBO0lBQ0E7RXBCODlGTjtFb0I1OUZNO0lBQ0U7SUFDQTtFcEI4OUZSO0FBQ0Y7QU0xcUdFO0VjdUxFO0lBeUJJO0lBQ0E7RXBCODlGTjtBQUNGO0FvQjU5Rk07RUFDRTtBcEI4OUZSO0FvQjM5Rk07RUFDRTtFQUNBO0VBQ0E7QXBCNjlGUjtBTXhyR0U7RWM4TlE7SUFDRTtJQUNBO0VwQjY5RlY7QUFDRjtBTTlyR0U7RWN1T0E7SUFFSTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFDQTtFcEJ3OUZKO0VvQnQ5Rkk7SUFDRTtJQUNBO0VwQnc5Rk47QUFDRjtBb0JyOUZJO0VBQ0U7RUFDQTtBcEJ1OUZOO0FvQnI5Rk07RUFDRTtBcEJ1OUZSO0FNcHRHRTtFYzRQSTtJQUlJO0VwQnc5RlI7QUFDRjtBb0JwOUZJO0VBQ0U7QXBCczlGTjtBb0JuOUZJO0VBQ0U7QXBCcTlGTjtBb0JuOUZNO0VBQ0U7S0FBQTtBcEJxOUZSO0FNbHVHRTtFY2lSRTtJQUVJO0VwQm05Rk47QUFDRjtBTXZ1R0U7RWNpUkU7SUFNSTtJQUNBO0lBQ0E7RXBCbzlGTjtBQUNGO0FNOXVHRTtFYzRSSTtJQUVJO0VwQm85RlI7QUFDRjtBb0JoOUZRO0VBQ0U7QXBCazlGVjtBb0IvOEZRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQmk5RlY7QW9CLzhGVTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEJpOUZaO0FLbDRHSTtFZXFiUTtBcEJnOUZaO0FvQjk4Rlk7RUFDRTtFQUNBO0FwQmc5RmQ7QU03d0dFO0Vjb1VFO0lBRUk7RXBCMjhGTjtBQUNGO0FNbHhHRTtFY29VRTtJQU1JO0lBQ0E7RXBCNDhGTjtBQUNGO0FvQnQ4RkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQnc4Rko7QW9CdDhGSTtFQUNFO0FwQnc4Rk47QU1yeUdFO0Vja1ZBO0lBZUk7RXBCdzhGSjtBQUNGO0FvQm44Rk07RUFDRTtFQUNBO0VBQ0E7QXBCcThGUjtBb0JuOEZRO0VBQ0U7RUFDQTtBcEJxOEZWO0FvQmw4RlE7RUFDRTtBcEJvOEZWO0FvQmg4Rk07RUFDRTtBcEJrOEZSO0FvQjc3RkU7RUFDRTtFQUNBO0FwQis3Rko7QW9CMzdGSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEI2N0ZOO0FvQjE3Rkk7RUFDRTtBcEI0N0ZOO0FvQng3Rk07RUFDRTtBcEIwN0ZSO0FvQnI3RkU7RUFDRTtFQUNBO0FwQnU3Rko7QW9CcjdGSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEJ1N0ZOO0FvQnI3Rk07RUFDRTtBcEJ1N0ZSO0FvQng3Rk07RUFDRTtBcEJ1N0ZSO0FvQnA3Rk07RUFDRTtFQUNBO0FwQnM3RlI7QW9CbDdGSTtFQUNFO0VBQ0E7QXBCbzdGTjtBb0JqN0ZJO0VBR0U7QXBCaTdGTjtBb0IvNkZNO0VBQ0U7RUFDQTtBcEJpN0ZSO0FvQjc2Rkk7RUFDRTtBcEIrNkZOO0FvQjc2Rk07RUFDRTtBcEIrNkZSO0FvQjM2Rkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBcEI2NkZOO0FvQjE2Rkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEI0NkZOO0FvQjE2Rk07RUFDRTtFQUNBO0FwQjQ2RlI7QU1yNEdFO0VjMmNFO0lBa0JJO0VwQjQ2Rk47QUFDRjtBb0IxNkZNO0VBQ0U7RUFDQTtBcEI0NkZSO0FvQno2Rk07RUFDRTtFQUNBO0FwQjI2RlI7QW9CeDZGTTtFQUNFO0FwQjA2RlI7QW9CcjZGVTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQnU2Rlo7QUsxaEhJO0Vlc25CVTtBcEJ1NkZkO0FvQnA2Rlk7RUFDRTtBcEJzNkZkO0FvQnA2RmM7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCczZGaEI7QW9CbDZGZ0I7RUFDRTtFQUNBO0FwQm82RmxCO0FvQjE1Rk07RUFDRTtBcEI0NUZSO0FvQjc1Rk07RUFDRTtBcEI0NUZSO0FvQnY1RkU7RUFDRTtBcEJ5NUZKOztBb0JyNUZBO0VBQ0U7QXBCdzVGRjs7QXFCMW1IQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJCNm1IRjtBTXI4R0U7RWVoTEY7SUFXSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXJCOG1IRjtBQUNGO0FNLzhHRTtFZWhMRjtJQW9CSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VyQittSEY7QUFDRjtBcUI3bUhFO0VBQ0U7QXJCK21ISjtBcUI1bUhFO0VBQ0U7QXJCOG1ISjtBcUI1bUhJO0VBQ0U7RUFDQTtBckI4bUhOO0FxQjNtSEk7RUFDRTtFQUNBO0VBQ0E7QXJCNm1ITjtBTXYrR0U7RWVwSUk7SUFFSTtFckI2bUhSO0FBQ0Y7QXFCeG1IRTtFQUNFO0FyQjBtSEo7QU0vK0dFO0VlNUhBO0lBSUk7SUFDQTtJQUNBO0VyQjJtSEo7QUFDRjtBTXQvR0U7RWVuSEU7SUFFSTtFckIybUhOO0FBQ0Y7QU0zL0dFO0VlOUdJO0lBRUk7RXJCMm1IUjtBQUNGO0FxQnZtSEk7RUFDRTtFQUNBO0VBQ0E7QXJCeW1ITjtBcUJybUhFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJCdW1ISjtBcUJybUhJO0VBQ0U7QXJCdW1ITjtBcUJwbUhJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQnNtSE47QUt4cEhJO0VnQnFESTtBckJzbUhSO0FxQmptSEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBckJtbUhKO0FNcmlIRTtFZWxFQTtJQU9JO0lBQ0E7RXJCb21ISjtBQUNGO0FxQmxtSEk7RUFDRTtBckJvbUhOO0FxQmptSEk7RUFDRTtBckJtbUhOO0FxQmptSE07RUFDRTtBckJtbUhSO0FxQmhtSE07RUFDRTtBckJrbUhSO0FxQjlsSEk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBckJnbUhOO0FNN2pIRTtFZXZDRTtJQU9JO0VyQmltSE47QUFDRjtBTWxrSEU7RWU1Qk07SUFDRTtFckJpbUhSO0FBQ0Y7QXFCOWxITTtFQUNFO0VBQ0E7RUFDQTtBckJnbUhSO0FxQjdsSE07RUFDRTtBckIrbEhSO0FxQjVsSE07RUFDRTtBckI4bEhSO0FxQnpsSEU7RUFDRTtBckIybEhKO0FNcmxIRTtFZVBBO0lBSUk7SUFDQTtJQUNBO0VyQjRsSEo7QUFDRjtBTTVsSEU7RWVQQTtJQVVJO0VyQjZsSEo7QUFDRjtBcUIzbEhJO0VBQ0U7QXJCNmxITjtBS2h1SEk7RWdCc0lJO0FyQjZsSFI7QXFCeGxITTtFQUNFO0FyQjBsSFI7QXFCdmxITTtFQUNFO0VBQ0E7RUFDQTtBckJ5bEhSO0FxQnZsSFE7RUFDRTtFQUNBO0FyQnlsSFY7QXFCdGxIUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQndsSFY7QUt4dkhJO0VnQm1LUTtFQUNBO0FyQndsSFo7QXFCbGxISTtFQUNFO0VBQ0E7QXJCb2xITjtBTXBvSEU7RWVvREE7SUFFSTtJQUNBO0VyQmtsSEo7QUFDRjtBTTFvSEU7RWUyREE7OztJQUlJO0lBQ0E7RXJCaWxISjtFcUIva0hJOzs7SUFDRTtJQUNBO0VyQm1sSE47QUFDRjtBcUJobEhJOzs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBckJvbEhOO0FxQmhsSEU7RUFDRTtBckJrbEhKO0FxQi9rSEU7RUFDRTtBckJvbEhKO0FxQnJsSEU7RUFFRTtFQUNBO0VBQ0E7QXJCaWxISjtBTXpxSEU7RWVvRkE7SUFPSTtFckJrbEhKO0FBQ0Y7QU05cUhFO0Vlb0ZBO0lBV0k7RXJCb2xISjtFcUIvbEhBO0lBWUk7RXJCbWxISjtBQUNGO0FxQmpsSEk7RUFDRTtFQUNBO0FyQm1sSE47QXFCaGxISTtFQUNFO0VBQ0E7RUFDQTtBckJrbEhOO0FxQjlrSEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQmdsSEo7QXFCOWtISTtFQUNFO0FyQmdsSE47QXFCNWtIRTtFQUNFO0FyQjhrSEo7QXFCNWtISTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FyQjhrSE47QXFCMWtIRTs7OztFQUlFO0FyQjRrSEo7QXFCeGtISTs7OztFQUlFO0VBQ0E7QXJCMGtITjs7QXNCMTRIRTtFQUNFO0F0QjY0SEo7QXNCMTRIRTtFQUVFO0F0QjI0SEo7QXNCeDRIRTtFQUNFO0F0QjA0SEo7QXNCdjRIRTtFQUlFO0F0QnM0SEo7QXNCbDRISTs7RUFFRTtBdEJvNEhOO0FzQmo0SEk7RUFDRTtFQUNBO0F0Qm00SE47QXNCaDRISTtFQUNFO0VBQ0E7QXRCazRITjs7QXVCajZIRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Qm82SEo7QXVCbDZISTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZCbzZITjtBdUJqNkhJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkJtNkhOO0F1Qmg2SEk7Ozs7OztFQU1FO0VBQ0E7VUFBQTtBdkJrNkhOO0F1Qmg2SE07Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUdFO0F2Qmk3SFI7QXVCNzZISTs7OztFQUVFO0VBQ0E7QXZCaTdITjtBdUI1NkhJOztFQUVFO0F2Qjg2SE47QXVCMTZITTtFQUNFO0F2QjQ2SFI7QXVCeDZISTs7O0VBR0U7QXZCMDZITjtBdUJyNkhFO0VBT0U7QXZCeTZISjtBdUJoN0hFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtLQUFBO0F2QnU2SEo7QXVCcjZISTtFQUNFO0VBQ0E7QXZCdTZITjtBdUJuNkhFOztFQUVFO0F2QnE2SEo7QXVCaDZITTtFQUNFO0F2Qms2SFI7QU0xMUhFO0VpQnpFSTtJQUlJO0V2Qm02SFI7QUFDRjtBTS8xSEU7RWlCOURNO0lBQ0U7RXZCZzZIUjtBQUNGOztBdUJ4NUhFO0VBQ0U7QXZCMjVISjs7QXdCdmhJRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F4QjBoSUo7QXdCdmhJRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhCeWhJSjtBd0J2aElJO0VBQ0U7RUFDQTtFQUtBO0VBQ0E7QXhCcWhJTjs7QXlCNWlJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekIraUlGO0F5QjdpSUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekIraUlKO0F5QjdpSUk7RUFFRTtFQUNBO0F6QjhpSU47QXlCMWlJRTtFQUNFO0VBQ0E7QXpCNGlJSjtBeUIxaUlJO0VBRUU7QXpCNmlJTjtBeUIvaUlJO0VBQ0U7RUFFQTtBekI0aUlOO0FLMWhJSTtFb0JmSTtBekI0aUlSO0F5QnhpSUk7RUFDRTtBekIwaUlOO0F5QnZpSUk7RUFDRTtBekJ5aUlOOztBMEJ0bElFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTFCeWxJSjtBMEJ0bElNO0VBQ0U7QTFCd2xJUjtBMEJ0bElRO0VBQ0U7QTFCd2xJVjtBMEJybElRO0VBQ0U7QTFCdWxJVjs7QTJCbm1JQTs7Ozs7Ozs7Ozs7RUFXRTtFQUNBO0VBQ0E7RUFDQTtBM0JzbUlGOztBMkJubUlBO0VBQ0U7QTNCc21JRjs7QTJCbm1JQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzQnNtSUY7QU1yOUhFO0VxQnZKRjs7SUFTSTtFM0J3bUlGO0FBQ0Y7O0EyQnJtSUE7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0J3bUlGO0EyQnRtSUU7Ozs7O0VBQ0U7QTNCNG1JSjtBTTMrSEU7RXFCMUlGOztJQWFJO0UzQjZtSUY7QUFDRjs7QTJCMW1JQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzQjZtSUY7QU0xL0hFO0VxQnpIRjs7SUFTSTtFM0IrbUlGO0FBQ0Y7O0EyQjVtSUE7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0IrbUlGOztBMkI1bUlBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0IrbUlGOztBMkI1bUlBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0IrbUlGOztBMkIzbUlFO0VBRUU7QTNCNm1JSjtBMkIzbUlJO0VBQ0U7RUFDQTtFQUNBO0EzQjZtSU47QTJCem1JRTtFQUNFO0EzQjJtSUo7QTJCeG1JRTs7O0VBRUU7QTNCMm1JSjtBMkJ6bUlJOztFQUNFO0VBQ0E7RUFDQTtBM0I0bUlOO0EyQnhtSUU7O0VBQ0U7QTNCMm1JSjtBMkJ4bUlFO0VBRUU7QTNCeW1JSjtBMkJ2bUlJO0VBQ0U7RUFDQTtFQUNBO0EzQnltSU47QTJCcm1JRTtFQUNFO0EzQnVtSUo7QTJCcG1JRTtFQUVFO0EzQnFtSUo7QTJCbm1JSTtFQUNFO0VBQ0E7RUFDQTtBM0JxbUlOO0EyQmptSUU7RUFDRTtBM0JtbUlKO0EyQmhtSUU7RUFFRTtBM0JpbUlKO0EyQi9sSUk7RUFDRTtFQUNBO0VBQ0E7QTNCaW1JTjtBMkI3bElFO0VBQ0U7QTNCK2xJSjtBMkI1bElFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTNCOGxJSjtBMkI1bElJO0VBQ0U7QTNCOGxJTjtBMkI3a0lBOzs7RUFHRTtBM0Ira0lGOztBMkI1a0lBOzs7RUFHRTtBM0Ira0lGOztBMkI1a0lBO0VBQ0U7QTNCK2tJRjtBMkI3a0lFO0VBQ0U7QTNCK2tJSjtBTWhuSUU7RXFCZ0NBO0lBSUk7RTNCZ2xJSjtBQUNGO0EyQjdrSUU7RUFFRTtBM0I4a0lKO0EyQjNrSUU7RUFDRTtBM0I2a0lKO0EyQjFrSUU7RUFDRTtBM0I0a0lKOztBMkJ4a0lBO0VBTUU7QTNCMmtJRjs7QTJCamxJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNCNGtJRjtBMkJ6a0lFO0VBQ0U7QTNCMmtJSjs7QTJCdmtJQTs7RUFFRTtBM0Iwa0lGOztBMkJ2a0lBOztFQUVFO0EzQjBrSUY7O0EyQnZrSUE7O0VBRUU7QTNCMGtJRjs7QTJCdmtJQTs7RUFFRTtBM0Iwa0lGOztBMkJ0a0lFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFXRTtBM0JtbElKO0EyQmhsSUU7RUFDRTtBM0JrbElKO0EyQi9rSUU7RUFDRTtBM0JpbElKO0EyQjdrSUk7Ozs7Ozs7OztFQUtFO0EzQm1sSU47QTJCOWtJSTtFQUNFO0EzQmdsSU47QTJCNWtJRTtFQUNFO0VBQ0E7QTNCOGtJSjtBMkIza0lFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0I2a0lKO0EyQjNrSUk7OztFQU1FO0tBQUE7QTNCK2tJTjtBMkJybElJOzs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0EzQjhrSU47QTJCM2tJSTtFQUNFO0VBQ0E7RUFDQTtBM0I2a0lOO0EyQjFrSUk7RUFDRTtBM0I0a0lOO0EyQnhrSUU7RUFDRTtFQUNBO0VBQ0E7QTNCMGtJSjtBMkJ4a0lJO0VBQ0U7QTNCMGtJTjtBMkJ0a0lFO0VBQ0U7RUFDQTtFQUNBO0EzQndrSUo7QU1wdklFO0VxQnlLQTtJQU1JO0UzQnlrSUo7QUFDRjtBMkJ2a0lJO0VBQ0U7RUFDQTtBM0J5a0lOO0FNN3ZJRTtFcUJrTEU7SUFLSTtFM0Iwa0lOO0FBQ0Y7QTJCeGtJTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNCMGtJUjtBTXp3SUU7RXFCMExJO0lBUUk7RTNCMmtJUjtBQUNGO0EyQnRrSUU7OztFQUVFO0EzQnlrSUo7QTJCdmtJSTs7O0VBQ0U7RUFDQTtBM0Iya0lOO0EyQnprSU07OztFQUNFO0VBQ0E7QTNCNmtJUjtBMkIxa0lNOzs7RUFDRTtBM0I4a0lSO0EyQjNrSU07OztFQUNFO0VBQ0E7QTNCK2tJUjtBMkI3a0lROzs7RUFDRTtBM0JpbElWO0EyQjdrSU07OztFQUNFO0VBQ0E7QTNCaWxJUjtBMkI5a0lNOzs7OztFQUNFO0EzQm9sSVI7QTJCaGxJSTs7Ozs7OztFQUVFO0VBQ0E7QTNCdWxJTjtBMkJsbElJO0VBQ0U7RUFDQTtBM0JvbElOO0EyQmxsSU07RUFDRTtBM0JvbElSO0EyQmpsSU07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0JtbElSO0EyQi9rSVE7RUFDRTtFQUNBO0EzQmlsSVY7QTJCNWtJSTs7O0VBRUU7QTNCK2tJTjtBMkI1a0lJO0VBQ0U7RUFDQTtBM0I4a0lOO0EyQjFrSUU7RUFDRTtBM0I0a0lKO0EyQnhrSU07OztFQUNFO0EzQjRrSVI7QTJCeGtJSTtFQUNFO0VBQ0E7RUFDQTtBM0Iwa0lOO0EyQnhrSU07RUFDRTtBM0Iwa0lSO0EyQnZrSU07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0J5a0lSO0EyQnJrSVE7RUFDRTtFQUNBO0VBQ0E7QTNCdWtJVjtBMkJsa0lJOzs7RUFFRTtBM0Jxa0lOO0EyQm5rSU07O0VBQ0U7QTNCc2tJUjtBMkJua0lNOztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0Jza0lSO0EyQm5rSU07Ozs7Ozs7RUFFRTtBM0Iwa0lSO0EyQnhrSVE7Ozs7O0VBQ0U7QTNCOGtJVjtBMkI1a0lVOzs7OztFQUNFO0EzQmtsSVo7QTJCN2tJUTs7Ozs7Ozs7Ozs7Ozs7O0VBRUU7QTNCNGxJVjtBMkIxbElVOzs7Ozs7Ozs7OztFQUNFO0EzQnNtSVo7QTJCcG1JWTs7Ozs7Ozs7Ozs7RUFDRTtBM0JnbklkO0EyQnhtSUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNCMG1JSjtBTWwvSUU7RXFCa1lBO0lBU0k7RTNCMm1JSjtBQUNGO0EyQnptSUk7RUFDRTtFQUNBO0VBQ0E7QTNCMm1JTjtBMkJ4bUlJO0VBQ0U7QTNCMG1JTjtBMkJ4bUlNO0VBQ0U7QTNCMG1JUjtBMkJ4bUlRO0VBQ0U7QTNCMG1JVjtBMkJ0bUlNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0J3bUlSO0EyQnRtSVE7RUFDRTtFQUNBO0EzQndtSVY7QTJCcm1JUTtFQUNFO0VBQ0E7QTNCdW1JVjtBMkJsbUlRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0JvbUlWOztBNEIzc0pBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUI4c0pGO0E0QjVzSkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1QjhzSko7QU1oakpFO0VzQnRLQTtJQVdJO0U1QitzSko7QUFDRjtBNEI3c0pJO0VBQ0U7QTVCK3NKTjtBNEI1c0pJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1QjhzSk47QUs1ckpJO0V1QmZJO0E1QjhzSlI7QTRCM3NKTTtFQUNFO0VBQ0E7RUFDQTtBNUI2c0pSO0E0QjFzSk07RUFDRTtFQUNBO0E1QjRzSlI7QTRCdnNKRTtFQUNFO0VBQ0E7RUFDQTtBNUJ5c0pKO0E0QnRzSkU7RUFDRTtFQUNBO0E1QndzSko7QU1ybEpFO0VzQjlHSTtJQUNFO0lBQ0E7RTVCc3NKTjtFNEJuc0pJO0lBQ0U7SUFDQTtFNUJxc0pOO0FBQ0Y7O0E2QjN3SkE7RUFJRTtBN0Ird0pGOztBNkJueEpBO0VBQ0U7RUFDQTtFQUNBO0VBRUE7QTdCOHdKRjtBNkI1d0pFO0VBQ0U7QTdCOHdKSjtBNkIzd0pFO0VBQ0U7RUFDQTtFQUNBO0E3QjZ3Sko7QTZCMXdKRTtFQUdFO0E3QjR3Sko7QTZCL3dKRTtFQUNFO0VBQ0E7QTdCNndKSjtBNkJ6d0pFO0VBRUU7QTdCMHdKSjtBNkJ2d0pFO0VBQ0U7QTdCeXdKSjtBNkJyd0pJO0VBQ0U7RUFDQTtBN0J1d0pOOztBQWh3SkE7RUFDRTtBQW13SkY7QUFod0pJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBa3dKTjtBQTN2Skk7RUFDRTtBQTZ2Sk47QUEzdkpNO0VBQ0U7RUFDQTtBQTZ2SlI7QUF6dkpJO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTB2Sk47QUF2dkpJO0VBQ0U7QUF5dkpOO0FBdHZKSTtFQUNFO0FBd3ZKTjtBQXB2Sk07RUFFRTtBQXF2SlI7QUE5dUpNO0VBQ0U7QUFndkpSO0FBanZKTTtFQUNFO0FBZ3ZKUjtBTXZxSkU7RU4xRUk7SUFJSTtFQWl2SlI7RUFydkpJO0lBSUk7RUFpdkpSO0FBQ0Y7QUExdUpVO0VBQ0U7QUE0dUpaO0FBN3VKVTtFQUNFO0FBNHVKWjtBQXJ1SkU7RUFDRTtBQXV1Sko7QU1sckpFO0VOdERBO0lBSUk7RUF3dUpKO0FBQ0Y7O0FBbnVKRTtFQU1FO0FBcXVKSjs7QUEzdUpFO0VBR0U7RUFDQTtFQUNBO0VBRUE7QUFvdUpKO0FNL3JKRTtFTjVDQTtJQVVJO0VBc3VKSjtFQWh2SkE7SUFXSTtFQXF1Sko7QUFDRjtBQWx1SkU7RUFDRTtBQW91Sko7O0E4QnYzSkU7O0VBRUU7QTlCMDNKSjs7QStCNTNKRTtFQUNFO0VBQ0E7QS9CKzNKSjtBK0I3M0pJO0VBRUU7QS9CODNKTjtBK0IzM0pJO0VBQ0U7QS9CNjNKTjtBTXh0SkU7RXlCdEtFO0lBSUk7RS9CODNKTjtBQUNGO0ErQjEzSkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQjQzSko7QU1wdUpFO0V5QjdKQTtJQVFJO0UvQjYzSko7RStCMzNKSTtJQUNFO0UvQjYzSk47QUFDRjtBK0IxM0pJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QS9CNDNKTjtBK0IxM0pNO0VBQ0U7RUFDQTtBL0I0M0pSO0ErQnozSk07RUFDRTtBL0IyM0pSO0ErQngzSk07RUFDRTtBL0IwM0pSO0ErQnYzSk07RUFDRTtFQUNBO0EvQnkzSlI7QStCcjNKSTtFQUNFO0EvQnUzSk47QStCcDNKSTtFQUNFO0EvQnMzSk47QStCaDNKTTtFQUNFO0EvQmszSlI7QStCNTJKSTtFQUNFO0EvQjgySk47QStCNTJKTTtFQUVFO0EvQjYySlI7QStCMzJKUTtFQUNFO0EvQjYySlY7QStCdjJKRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EvQnkySko7QU14eEpFO0V5QnJGQTtJQU9JO0UvQjAySko7QUFDRjtBK0J2MkpFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QS9CeTJKSjtBTW55SkU7RXlCbkVJO0lBRUk7RS9CdzJKUjtBQUNGO0ErQm4ySkU7RUFFRTtBL0JzMkpKO0ErQngySkU7RUFDRTtFQUVBO0EvQnEySko7QStCbDJKRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0JvMkpKO0FNcnpKRTtFeUJyREE7SUFTSTtFL0JxMkpKO0UrQm4ySkk7SUFDRTtFL0JxMkpOO0FBQ0Y7QU03ekpFO0V5QnJEQTtJQWlCSTtJQUNBO0lBQ0E7RS9CcTJKSjtFK0JsMkpNO0lBQ0U7SUFDQTtFL0JvMkpSO0UrQmoySk07SUFDRTtJQUNBO0UvQm0ySlI7RStCaDJKTTtJQUNFO0lBQ0E7RS9CazJKUjtFK0I5MUpJO0lBQ0U7RS9CZzJKTjtBQUNGOztBTW4xSkU7RXlCUEE7SUFFSTtFL0I2MUpKO0UrQi8xSkE7SUFFSTtFL0I2MUpKO0FBQ0Y7O0FnQ3JnS0U7RUFDRTtBaEN3Z0tKO0FNNzFKRTtFMEJ4S0E7SUFFSTtFaEN1Z0tKO0FBQ0Y7QU1sMkpFO0UwQm5LRTtJQUVJO0VoQ3VnS047QUFDRjtBZ0NuZ0tNO0VBRUU7RUFDQTtFQUNBO0VBQ0E7QWhDb2dLUjtBZ0NqZ0tNO0VBQ0U7QWhDbWdLUjtBZ0NoZ0tNO0VBQ0U7QWhDa2dLUjtBZ0M5L0pJO0VBQ0U7QWhDZ2dLTjtBZ0M1L0pFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEM4L0pKO0FnQzMvSk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhDNi9KUjtBTXI0SkU7RTBCOUhJO0lBU0k7SUFDQTtFaEM4L0pSO0FBQ0Y7QWdDMy9KTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQzYvSlI7QWdDdi9KSTtFQUNFO0VBQ0E7QWhDeS9KTjtBZ0NyL0pNOzs7O0VBRUU7QWhDeS9KUjtBZ0N0L0pNO0VBQ0U7QWhDdy9KUjtBZ0NsL0pJO0VBQ0U7QWhDby9KTjtBZ0NqL0pJO0VBQ0U7QWhDbS9KTjtBTTE2SkU7RTBCckVNO0lBRUk7RWhDaS9KVjtBQUNGO0FnQzUrSkk7RUFDRTtBaEM4K0pOO0FNbDdKRTtFMEJ4RE07SUFFSTtFaEM0K0pWO0FBQ0Y7QWdDbitKTTtFQUNFO0FoQ3ErSlI7QWdDLzlKTTtFQUNFO0FoQ2krSlI7QWdDMzlKSTtFQUNFO0VBQ0E7QWhDNjlKTjtBTWo4SkU7RTBCOUJFO0lBS0k7RWhDODlKTjtBQUNGOztBaUNybktFO0VBQ0U7QWpDd25LSjtBaUNybktFO0VBQ0U7RUFDQTtBakN1bktKO0FNOThKRTtFMkIzS0E7SUFNSTtFakN1bktKO0FBQ0Y7QU1uOUpFO0UyQmpLSTtJQUNFO0VqQ3VuS047QUFDRjtBaUNwbktJO0VBQ0U7RUFDQTtBakNzbktOO0FpQzltS0U7RUFDRTtFQUNBO0VBQ0E7QWpDZ25LSjtBaUM3bUtFO0VBQ0U7RUFDQTtFQUNBO0FqQyttS0o7QWlDOW1LSTtFQUNFO0VBQ0E7QWpDZ25LTjtBaUM5bUtNO0VBQ0U7QWpDZ25LUjtBaUMzbUtNO0VBQ0U7QWpDNm1LUjtBaUMzbUtRO0VBQ0U7QWpDNm1LVjtBaUNwbUtZO0VBQ0U7RUFDQTtFQUNBO0FqQ3NtS2Q7QWlDam1LZ0I7RUFDRTtFQUNBO0VBQ0E7QWpDbW1LbEI7QWlDdGxLTTtFQUNFO0FqQ3dsS1I7QWlDcGxLUTtFQUNFO0FqQ3NsS1Y7QWlDbmxLUTtFQUNFO0VBQ0E7RUFDQTtFQUVBO0FqQ29sS1Y7QWlDOWtLVTtFQUNFO0FqQ2dsS1o7QWlDamxLVTtFQUNFO0FqQ2dsS1o7QWlDNWtLUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FqQzhrS1Y7QWlDbGxLUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FqQzhrS1Y7QWlDcGtLVTtFQUNFO0FqQ3NrS1o7QWlDbmtLVTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FqQ3FrS1o7QWlDOWpLRTtFQUNFO0VBQ0E7QWpDZ2tLSjtBaUM5aktJO0VBQ0U7QWpDZ2tLTjtBaUMzaktJO0VBQ0U7QWpDNmpLTjtBaUMxaktJO0VBQ0U7QWpDNGpLTjtBTXhpS0U7RTJCckJFO0lBS0k7RWpDNmpLTjtFaUNsa0tFO0lBSUk7RWpDOGpLTjtBQUNGO0FpQzFqS0k7RUFDRTtBakM0aktOO0FpQ3pqS0k7RUFDRTtBakMyaktOO0FpQ3JqS007RUFDRTtBakN1aktSO0FpQ2xqS0U7RUFDRTtFQUNBO0VBQ0E7QWpDb2pLSjtBaUNsaktJO0VBQ0U7QWpDb2pLTjtBaUNsaktNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakNvaktSO0FNbGxLRTtFMkJhSTtJQW9CSTtJQUNBO0lBQ0E7SUFDQTtFakNxaktSO0FBQ0Y7QWlDbmpLUTtFQUNFO0lBQU07RWpDc2pLZDtFaUNyaktRO0lBQU07SUFBc0I7SUFBeUQ7RWpDMGpLN0Y7RWlDempLUTtJQUFNO0lBQXNCO0lBQXlEO0VqQzhqSzdGO0VpQzdqS1E7SUFBTTtFakNna0tkO0FBQ0Y7QWlDOWpLUTtFQUNFO0VBQ0E7QWpDZ2tLVjtBaUMzaktRO0VBRUU7QWpDOGpLVjtBaUNoa0tRO0VBQ0U7RUFFQTtBakM2aktWO0FpQ3ZqS0U7RUFDRTtFQUNBO0VBQ0E7QWpDeWpLSjtBTTFuS0U7RTJCOERBO0lBTUk7RWpDMGpLSjtBQUNGO0FpQ3ZqS007RUFDRTtBakN5aktSO0FNbG9LRTtFMkI4RUE7SUFFSTtFakNzaktKO0FBQ0Y7QU12b0tFO0UyQnFGSTtJQUVJO0VqQ29qS1I7QUFDRjtBaUMvaUtNO0VBQ0U7QWpDaWpLUjtBaUM5aUtNO0VBQ0U7RUFDQTtFQUNBO0FqQ2dqS1I7QWlDNWlLSTtFQUNFO0FqQzhpS047QU12cEtFO0UyQjhHTTtJQUNFO0VqQzRpS1I7RWlDN2lLTTtJQUNFO0VqQzRpS1I7QUFDRjtBaUN4aUtJO0VBQ0U7QWpDMGlLTjtBaUN4aUtNO0VBQ0U7QWpDMGlLUjtBaUN4aUtRO0VBQ0U7RUFDQTtFQUNBO0FqQzBpS1Y7QWlDcGlLRTtFQUNFO0VBQ0E7QWpDc2lLSjtBTTNxS0U7RTJCbUlBO0lBS0k7RWpDdWlLSjtBQUNGO0FpQ3BpS0U7RUFDRTtFQUNBO0VBQ0E7QWpDc2lLSjtBaUNwaUtJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWpDc2lLTjs7QWlDamlLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtLQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQ29pS0Y7QU01c0tFO0UyQjBKRjtJQWlCSTtFakNxaUtGO0FBQ0Y7QWlDbmlLRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQ3FpS0o7QWlDbmlLSTtFQUNFO0FqQ3FpS047QWlDbGlLSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FqQ29pS047QWlDamlLSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FqQ21pS047QWlDL2hLRTtFQUNFO0VBQ0E7QWpDaWlLSjtBaUMvaEtJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWpDaWlLTjtBaUM5aEtJO0VBQ0U7RUFDQTtBakNnaUtOO0FpQzdoS0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBakMraEtOOztBTTd2S0U7RTJCbU9GO0lBRUk7RWpDNmhLRjtBQUNGOztBaUMxaEtBOzs7RUFHRTtBakM2aEtGOztBaUMxaEtBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQzZoS0Y7QWlDM2hLRTtFQUNFO0VBQ0E7RUFDQTtFQUFBO0VBQUE7RUFBQTtFQUNBO0VBQ0E7RUFDQTtBakM2aEtKO0FpQzFoS0U7RUFDRTtBakM0aEtKO0FpQ3poS0U7RUFDRTtFQUNBO0FqQzJoS0o7QWlDemhLSTtFQUNFO0FqQzJoS047QWlDbmhLSTtFQUNFO0FqQ3FoS047O0FpQ2hoS0E7RUFDRTtFQUNBO0VBQ0E7QWpDbWhLRjs7QWlDaGhLQTtFQUNFO0FqQ3NoS0Y7O0FpQ3ZoS0E7RUFFRTtFQUNBO0VBQUE7RUFDQTtBakNtaEtGO0FpQ2poS0U7RUFDRTtBakNtaEtKO0FNdnpLRTtFMkJ3U0U7SUFDRTtFakNraEtKO0VpQy9nS0U7SUFDRTtFakNpaEtKO0VpQ2xoS0U7SUFDRTtFakNpaEtKO0FBQ0Y7QU0vektFO0UyQmtURTtJQUNFO0VqQ2doS0o7RWlDamhLRTtJQUNFO0VqQ2doS0o7QUFDRjs7QWlDNWdLQTtFQUNFO0VBQ0E7RUFDQTtBakMrZ0tGO0FpQzdnS0U7RUFDRTtBakMrZ0tKO0FpQzVnS0U7RUFDRTtFQUNBO0FqQzhnS0o7QWlDNWdLSTtFQUNFO0FqQzhnS047QWlDMWdLRTtFQUNFO0VBQ0E7QWpDNGdLSjtBaUN6Z0tFO0VBQ0U7RUFDQTtBakMyZ0tKO0FpQ3pnS0k7RUFDRTtBakMyZ0tOO0FpQ3ZnS0U7RUFDRTtFQUNBO0FqQ3lnS0o7QU1uMktFO0UyQndWQTtJQUtJO0lBQ0E7RWpDMGdLSjtBQUNGO0FpQ3hnS0k7RUFDRTtBakMwZ0tOOztBa0MzaExFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWxDOGhMSjtBa0M1aExJO0VBQ0U7RUFDQTtBbEM4aExOO0FrQzFoTEU7RUFDRTtFQUNBO0VBQ0E7QWxDNGhMSjtBa0MxaExJO0VBQ0U7RUFDQTtBbEM0aExOO0FrQzFoTE07RUFDRTtBbEM0aExSO0FrQ3poTE07RUFDRTtBbEMyaExSO0FrQ3ZoTEk7RUFDRTtBbEN5aExOO0FrQ3RoTFE7RUFDRTtFQUNBO0VBQ0E7QWxDd2hMVjtBa0NsaExFO0VBQ0U7QWxDb2hMSjtBa0NsaExJO0VBQ0U7RUFDQTtFQUNBO0FsQ29oTE47QWtDbGhMTTtFQUNFO0FsQ29oTFI7QWtDaGhMSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxDa2hMTjtBa0NoaExNO0VBQ0U7RUFDQTtBbENraExSO0FrQy9nTE07RUFDRTtBbENpaExSO0FrQzdnTEk7RUFDRTtFQUNBO0VBQ0E7QWxDK2dMTjtBa0MxZ0xJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEM0Z0xOO0FrQzFnTE07RUFDRTtFQUNBO0FsQzRnTFI7QWtDemdMTTtFQUNFO0FsQzJnTFI7QWtDdGdMRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FsQ3dnTEo7QWtDdGdMSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FsQ3dnTE47QWtDdGdMTTtFQUNFO0VBQ0E7QWxDd2dMUjtBa0NuZ0xFO0VBQ0U7RUFDQTtFQUNBO0FsQ3FnTEo7QWtDbGdMRTtFQUNFO0FsQ29nTEo7QWtDbGdMSTtFQUNFO0VBQ0E7QWxDb2dMTjtBSzFrTEU7RTZCeUVNO0FsQ29nTFI7QUsxa0xFO0U2QnNFTTtBbEN1Z0xSO0FLMWtMRTtFNkJtRU07QWxDMGdMUjtBSzFrTEU7RTZCZ0VNO0FsQzZnTFI7O0FrQ3RnTEU7RUFDRTtFQUNBO0VBQ0E7QWxDeWdMSjtBa0N2Z0xJO0VBQ0U7QWxDeWdMTjtBa0NyZ0xFO0VBQ0U7RUFDQTtFQUNBO0FsQ3VnTEo7QU10L0tFO0U0QnBCQTtJQU1JO0VsQ3dnTEo7QUFDRjtBTTMvS0U7RTRCcEJBO0lBVUk7SUFDQTtFbEN5Z0xKO0FBQ0Y7O0FrQ3JnTEE7RUFDRTtBbEN3Z0xGO0FNcmdMRTtFNEJKRjtJQUlJO0lBQ0E7RWxDeWdMRjtBQUNGO0FNM2dMRTtFNEJKRjtJQVNJO0VsQzBnTEY7QUFDRjtBa0N4Z0xFO0VBQ0U7QWxDMGdMSjtBTW5oTEU7RTRCUUE7SUFJSTtJQUNBO0lBQUE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEMyZ0xKO0VrQ3pnTEk7SUFDRTtFbEMyZ0xOO0FBQ0Y7QWtDeGdMSTtFQUNFO0FsQzBnTE47QWtDeGdMTTtFQUNFO0FsQzBnTFI7O0FrQ3BnTEE7RUFDRTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7RUFDQTtBbEN1Z0xGO0FrQ3JnTEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtLQUFBO0FsQ3VnTEo7QWtDcGdMRTtFQUNFO0FsQ3NnTEo7QWtDcGdMSTtFQUNFO0FsQ3NnTE47QWtDbmdMSTtFQUNFO0FsQ3FnTE47QWtDbGdMSTtFQUNFO0FsQ29nTE47QWtDbGdMTTs7RUFFRTtBbENvZ0xSO0FrQy8vS0U7RUFDRTtBbENpZ0xKO0FrQzkvS0U7RUFDRTtBbENnZ0xKO0FrQzcvS0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbEMrL0tKO0FrQzUvS0U7RUFFRTtBbEM2L0tKO0FrQzEvS0U7RUFDRTtFQUNBO0FsQzQvS0o7QWtDMS9LSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxDNC9LTjtBa0MxL0tNO0VBQ0U7RUFDQTtBbEM0L0tSO0FrQ3gvS1E7RUFDRTtBbEMwL0tWO0FrQ24vS0k7RUFDRTtFQUNBO0VBQ0E7QWxDcS9LTjtBa0NuL0tNO0VBQ0U7RUFDQTtFQUNBO0FsQ3EvS1I7QWtDLytLSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FsQ2kvS047QWtDNytLRTtFQUNFO0FsQysrS0o7QWtDNStLRTtFQUNFO0FsQzgrS0o7O0FrQzErS0E7RUFDRTtJQUNFO0lBQ0E7SUFDQTtFbEM2K0tGO0VrQzMrS0U7SUFDRTtFbEM2K0tKO0VrQzErS0U7SUFDRTtJQUNBO0lBQ0E7RWxDNCtLSjtFa0N4K0tJO0lBQ0U7RWxDMCtLTjtFa0N0K0tFO0lBQ0U7RWxDdytLSjtFa0NyK0tFO0lBQ0U7RWxDdStLSjtBQUNGO0FrQ24rS0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxDcStLRjtBTW5xTEU7RTRCa0xGO0lBZUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbENzK0tGO0FBQ0Y7QWtDcCtLRTtFQUNFO0VBQ0E7QWxDcytLSjtBa0NuK0tFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbENxK0tKO0FrQ24rS0k7RUFDRTtBbENxK0tOO0FrQ2orS0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQ20rS0o7QWtDaCtLRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbENrK0tKO0FrQy85S0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQ2krS0o7QWtDLzlLSTtFQUNFO0FsQ2krS047QUt4MUxJO0U2QjJYRTtFQUNBO0FsQ2crS047QWtDOTlLTTtFQUNFO0FsQ2crS1I7QWtDMzlLRTtFQUNFO0VBQ0E7QWxDNjlLSjtBa0MzOUtJO0VBQ0U7RUFDQTtBbEM2OUtOO0FrQzE5S0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQzQ5S047QWtDMTlLTTtFQUNFO0FsQzQ5S1I7QWtDdjlLRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxDeTlLSjtBa0N0OUtNO0VBQ0U7RUFDQTtBbEN3OUtSO0FrQ3Q5S1E7RUFDRTtBbEN3OUtWO0FrQ3I5S1E7RUFDRTtBbEN1OUtWO0FrQ2w5S0k7RUFDRTtBbENvOUtOO0FrQ2o5S0k7RUFDRTtBbENtOUtOOztBbUM5N0xFO0VBQ0U7RUFDQTtFQUNBO0FuQ2k4TEo7QW1DLzdMSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQ2k4TE47QW1DOTdMSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FuQ2c4TE47QU1weUxFO0U2Qi9LQTtJQXVCSTtFbkNnOExKO0FBQ0Y7QW1DOTdMSTtFQUNFO0FuQ2c4TE47QW1DNzdMSTtFQUNFO0VBQ0E7QW5DKzdMTjtBTWh6TEU7RTZCakpFO0lBS0k7RW5DZzhMTjtBQUNGO0FtQzU3TEU7RUFDRTtFQUNBO0VBQ0E7QW5DODdMSjtBbUM1N0xJO0VBQ0U7QW5DODdMTjtBbUMxN0xFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkM0N0xKOztBb0NsL0xJO0VBQ0U7RUFDQTtBcENxL0xOO0FvQy8rTE07O0VBRUU7RUFDQTtBcENpL0xSO0FvQzErTE07RUFDRTtFQUNBO0FwQzQrTFI7QW9DeitMTTtFQUNFO0VBQ0E7QXBDMitMUjtBb0N6K0xRO0VBR0U7S0FBQTtBcEMyK0xWO0FvQzkrTFE7RUFDRTtFQUNBO0FwQzQrTFY7QW9DdCtMSTtFQUNFO0FwQ3crTE47QW9DdCtMTTtFQUNFO0tBQUE7QXBDdytMUjtBb0NuK0xFO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQ28rTEo7QW9DbCtMSTtFQUNFO0VBQ0E7QXBDbytMTjtBb0NsK0xNO0VBQ0U7QXBDbytMUjtBb0NoK0xJO0VBQ0U7QXBDaytMTjtBb0MvOUxJO0VBQ0U7RUFDQTtBcENpK0xOO0FNdjNMRTtFOEJsSUE7SUE0Qkk7SUFDQTtJQUNBO0VwQ2krTEo7RW9DLzlMSTtJQUNFO0VwQ2krTE47RW9DOTlMSTtJQUNFO0lBQ0E7RXBDZytMTjtFb0M5OUxNO0lBQ0U7RXBDZytMUjtFb0M3OUxVO0lBQ0U7SUFDQTtFcEMrOUxaO0FBQ0Y7QU01NExFO0U4QjNFRTtJQUVJO0VwQ3k5TE47RW9DdjlMTTtJQUNFO0VwQ3k5TFI7RW9DdDlMTTtJQUNFO0VwQ3c5TFI7QUFDRjtBTXY1TEU7RThCN0RFO0lBRUk7RXBDczlMTjtFb0NwOUxNO0lBQ0U7RXBDczlMUjtFb0NuOUxNO0lBQ0U7RXBDcTlMUjtBQUNGO0FvQ2o5TEk7RUFDRTtBcENtOUxOO0FNcjZMRTtFOEIvQ0U7SUFJSTtFcENvOUxOO0FBQ0Y7QW9DbDlMTTtFQUNFO0FwQ285TFI7QW9DaDlMSTtFQUNFO0FwQ2s5TE47QW9DaDlMTTtFQUNFO0FwQ2s5TFI7QU1uN0xFO0U4Qm5DRTtJQVFJO0VwQ2s5TE47QUFDRjtBTXg3TEU7RThCbkNFO0lBWUk7RXBDbTlMTjtBQUNGO0FvQ2g5TEk7RUFDRTtFQUNBO0VBQ0E7QXBDazlMTjtBb0NqOUxNO0VBQ0U7RUFDQTtFQUNBO0FwQ205TFI7QU12OExFO0U4QlRJO0lBRUk7RXBDazlMUjtFb0NwOUxJO0lBRUk7RXBDazlMUjtBQUNGO0FvQzk4TEk7RUFDRTtFQUNBO0FwQ2c5TE47QW9DOThMTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQ2c5TFI7QW9DNzhMTTtFQUNFO0FwQys4TFI7QW9DMThMRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FwQzQ4TEo7QW9DMThMSTs7RUFFRTtBcEM0OExOO0FvQ3o4TEk7RUFDRTtBcEMyOExOO0FNeitMRTtFOEJpQ0U7SUFFSTtJQUNBO0VwQzA4TE47QUFDRjtBTS8rTEU7RThCMENNO0lBQ0U7RXBDdzhMUjtFb0NyOExNO0lBQ0U7RXBDdThMUjtFb0NwOExNO0lBQ0U7RXBDczhMUjtBQUNGO0FvQ2w4TEk7RUFDRTtFQUNBO0VBQ0E7QXBDbzhMTjtBb0NsOExNO0VBQ0U7QXBDbzhMUjtBb0NqOExNO0VBQ0U7QXBDbThMUjtBb0NoOExNO0VBQ0U7RUFDQTtBcENrOExSO0FvQy83TE07RUFDRTtFQUNBO0FwQ2k4TFI7QU03Z01FO0U4QmlGSTtJQUNFO0lBQ0E7RXBDKzdMTjtFb0M1N0xJO0lBQ0U7SUFDQTtFcEM4N0xOO0FBQ0Y7QW9DMTdMRTtFQUNFO0VBQ0E7RUFDQTtBcEM0N0xKO0FNNWhNRTtFOEI2RkE7SUFNSTtFcEM2N0xKO0FBQ0Y7QU1qaU1FO0U4QndHRTtJQUVJO0VwQzI3TE47QUFDRjtBb0N4N0xJO0VBQ0U7QXBDMDdMTjtBb0NwN0xNO0VBQ0U7QXBDczdMUjtBb0NqN0xNO0VBQ0U7QXBDbTdMUjtBTS9pTUU7RThCZ0lFO0lBRUk7SUFDQTtJQUFBO0VwQ2k3TE47QUFDRjtBTXJqTUU7RThCc0lJO0lBRUk7RXBDaTdMUjtBQUNGO0FNMWpNRTtFOEJzSUk7SUFNSTtFcENrN0xSO0FBQ0Y7QU0vak1FO0U4QmdKSTtJQUVJO0lBQ0E7SUFDQTtJQUFBO0VwQ2k3TFI7QUFDRjtBTXRrTUU7RThCZ0pJO0lBUUk7SUFDQTtJQUNBO0lBQUE7RXBDazdMUjtBQUNGO0FNN2tNRTtFOEIrSkU7SUFFSTtJQUNBO0lBQUE7RXBDZzdMTjtFb0M5NkxNO0lBQ0U7SUFDQTtJQUNBO0lBQUE7RXBDZzdMUjtFb0M3NkxNO0lBQ0U7RXBDKzZMUjtBQUNGOztBb0N6NkxBO0VBQ0U7RUFDQTtFQUFBO0VBQ0E7RUFDQTtBcEM0NkxGO0FNbG1NRTtFOEJrTEY7SUFPSTtFcEM2NkxGO0VvQzU2TEU7SUFFRTtFcEM2NkxKO0FBQ0Y7QU0xbU1FO0U4QmlNRTtJQUlJO0VwQzQ2TE47RW9DaDdMRTtJQUVJO0lBQ0E7SUFFQTtFcEMyNkxOO0VvQ3o2TE07Ozs7SUFFRTtFcEM4NkxSO0VvQ2g3TE07Ozs7SUFHRTtFcEM2NkxSO0VvQzE2TE07SUFDRTtFcEM2NkxSO0VvQzk2TE07SUFFRTtFcEM0NkxSO0FBQ0Y7QU03bk1FO0U4QnVOSTtJQUVJO0VwQ3c2TFI7QUFDRjtBTWxvTUU7RThCZ09JO0lBRUk7RXBDbzZMUjtBQUNGO0FNdm9NRTtFOEJ3T0k7SUFFSTtFcENpNkxSO0FBQ0Y7QU01b01FO0U4QmlQRTtJQUtJO0VwQzY1TE47RW9DbDZMRTtJQUVJO0lBQ0E7SUFDQTtFcEM4NUxOO0VvQzM1TE07Ozs7SUFFRTtFcENnNkxSO0VvQ2w2TE07Ozs7SUFHRTtFcEMrNUxSO0VvQzU1TE07SUFDRTtFcEMrNUxSO0VvQ2g2TE07SUFFRTtFcEM4NUxSO0FBQ0Y7QU0vcE1FO0U4QnVRSTtJQUVJO0VwQzA1TFI7QUFDRjtBTXBxTUU7RThCZ1JJO0lBRUk7RXBDczVMUjtBQUNGO0FNenFNRTtFOEJ3Ukk7SUFFSTtFcENtNUxSO0FBQ0Y7QW9DNTRMSTtFQUNFO0FwQzg0TE47QW9DMTRMRTs7RUFFRTtBcEM0NExKO0FvQ3g0TEk7RUFDRTtFQUNBO0FwQzA0TE47QW9DeDRMTTtFQUNFO0FwQzA0TFI7O0FxQ3oyTUU7RUFDRTtFQUNBO0FyQzQyTUo7QXFDejJNRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FyQzIyTUo7QXFDejJNSTtFQUNFO0FyQzIyTU47QXFDeDJNSTtFQUNFO0FyQzAyTU47QXFDdjJNSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FyQ3kyTU47QXFDdjJNTTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0FyQ3cyTVI7QU16dE1FO0UrQjFKRTtJQWVJO0VyQ3cyTU47QUFDRjtBcUNyMk1JO0VBRUU7QXJDczJNTjtBcUNwMk1NO0VBQ0U7QXJDczJNUjtBcUNsMk1JO0VBQ0U7RUFDQTtBckNvMk1OO0FxQ2gyTUU7RUFDRTtFQUNBO09BQUE7QXJDazJNSjtBTTV1TUU7RStCeEhBO0lBS0k7SUFDQTtFckNtMk1KO0FBQ0Y7QXFDaDJNRTtFQUNFO0VBQ0E7QXJDazJNSjtBTXR2TUU7RStCOUdBO0lBS0k7RXJDbTJNSjtBQUNGO0FNM3ZNRTtFK0J0R0U7SUFFSTtFckNtMk1OO0VxQ2oyTU07SUFDRTtFckNtMk1SO0FBQ0Y7QU1ud01FO0UrQjVGRTtJQUVJO0VyQ2kyTU47QUFDRjtBTXh3TUU7RStCdEZFO0lBRUk7RXJDZzJNTjtBQUNGO0FNN3dNRTtFK0JoRkU7SUFFSTtFckMrMU1OO0FBQ0Y7QXFDNTFNSTtFQUNFO0VBQ0E7QXJDODFNTjtBcUM1MU1NO0VBQ0U7RUFDQTtBckM4MU1SO0FxQzMxTU07RUFDRTtFQUNBO0VBQ0E7QXJDNjFNUjtBcUMzMU1RO0VBQ0U7QXJDNjFNVjtBTWx5TUU7RStCNURNO0lBSUk7RXJDODFNVjtBQUNGO0FxQzExTU07RUFDRTtFQUNBO0VBQ0E7RUFDQTtBckM0MU1SO0FxQ3YxTUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBckN5MU1KO0FNbnpNRTtFK0IxQ0E7SUFPSTtFckMwMU1KO0FBQ0Y7QXFDeDFNSTtFQUNFO0FyQzAxTU47QU0zek1FO0UrQmhDRTtJQUlJO0VyQzIxTU47QUFDRjtBcUN6MU1NO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQzIxTVI7QXFDeDFNTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckMwMU1SO0FxQ3QxTUk7RUFDRTtFQUNBO0FyQ3cxTU47QU0xMU1FO0UrQklJOztJQUdJO0VyQ3cxTVI7QUFDRjtBTWgyTUU7RStCV0k7O0lBR0k7RXJDdTFNUjtBQUNGO0FxQ3AxTU07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQ3MxTVI7QU03Mk1FO0UrQmtCSTtJQVFJO0VyQ3UxTVI7QUFDRjtBcUNwMU1NO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXJDczFNUjtBcUNwMU1ROztFQUVFO0VBQ0E7QXJDczFNVjtBcUNsMU1VOztFQUVFO0FyQ28xTVo7QXFDLzBNVTs7OztFQUVFO0FyQ20xTVo7QU12NE1FO0UrQjhCSTtJQTJCSTtJQUNBO0VyQ2sxTVI7QUFDRjtBcUMvME1NO0VBQ0U7QXJDaTFNUjtBTWg1TUU7RStCbUVFO0lBRUk7RXJDKzBNTjtBQUNGO0FNcjVNRTtFK0J5RUU7SUFFSTtJQUNBO0VyQzgwTU47RXFDNTBNTTtJQUNFO0VyQzgwTVI7RXFDMzBNTTtJQUNFO0VyQzYwTVI7QUFDRjtBcUN4ME1FO0VBQ0U7QXJDMDBNSjtBTXA2TUU7RStCeUZBO0lBSUk7RXJDbzFNSjtFcUN4MU1BO0lBS0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VyQzIwTUo7QUFDRjtBcUN6ME1JO0VBQ0U7QXJDMjBNTjtBTXI3TUU7RStCeUdFO0lBSUk7SUFDQTtJQUNBO0VyQzQwTU47QUFDRjtBTTU3TUU7RStCb0hJO0lBQ0U7RXJDMjBNTjtBQUNGO0FNajhNRTtFK0J5RkE7SUFpQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFckMyME1KO0FBQ0Y7QXFDeDBNRTtFQUNFO0VBQ0E7RUFDQTtBckMwME1KO0FxQ3gwTUk7RUFDRTtBckMwME1OO0FxQ3QwTUU7RUFDRTtFQUNBO0FyQ3cwTUo7QU10OU1FO0UrQmlKSTtJQUVJO0lBQ0E7RXJDdTBNUjtFcUNyME1RO0lBQ0U7SUFDQTtFckN1ME1WO0FBQ0Y7QU1oK01FO0UrQitKSTtJQUVJO0lBQ0E7SUFDQTtFckNtME1SO0FBQ0Y7QU12K01FO0UrQnVLSTtJQUVJO0VyQ2swTVI7QUFDRjtBcUM3ek1FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQyt6TUo7QXFDNXpNRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckM4ek1KO0FxQzV6TUk7RUFDRTtBckM4ek1OO0FxQzF6TUU7RUFDRTtBckM0ek1KOztBcUN0ek1JO0VBQ0U7QXJDeXpNTjs7QXFDcHpNQTtFQUNFO0FyQ3V6TUY7O0FxQ256TUU7RUFFRTtFQUNBO0FyQ3F6TUo7O0FzQy9yTkE7RUFDRTtFQUNBO0F0Q2tzTkY7QXNDaHNORTtFQUNFO0F0Q2tzTko7QXNDL3JORTtFQUVFO0VBQ0E7RUFDQTtBdENnc05KO0FzQzlyTkk7RUFDRTtBdENnc05OO0FzQzNyTkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRDNnJOTjtBTXZpTkU7RWdDNUpFO0lBU0k7RXRDOHJOTjtBQUNGO0FzQzVyTk07RUFDRTtBdEM4ck5SO0FNL2lORTtFZ0MzSUU7SUFFSTtFdEM0ck5OO0FBQ0Y7QXNDeHJOTTtFQUNFO0VBQ0E7QXRDMHJOUjtBTXhqTkU7RWdDN0hBO0lBRUk7SUFDQTtJQUNBO0V0Q3VyTko7QUFDRjtBTS9qTkU7RWdDcEhNO0lBQ0U7RXRDc3JOUjtBQUNGO0FNcGtORTtFZ0M5R0U7SUFFSTtFdENvck5OO0FBQ0Y7QU16a05FO0VnQ3hHRTtJQUVJO0V0Q21yTk47QUFDRjtBTTlrTkU7RWdDbEdFO0lBRUk7RXRDa3JOTjtBQUNGO0FzQzlxTkU7RUFDRTtBdENnck5KO0FzQzdxTkU7RUFDRTtBdEMrcU5KO0FzQzdxTkk7RUFDRTtFQUNBO0F0QytxTk47QU03bE5FO0VnQ3BGRTtJQUtJO0lBQ0E7RXRDZ3JOTjtBQUNGO0FNbm1ORTtFZ0MzRUk7SUFFSTtFdENnck5SO0FBQ0Y7QXNDN3FOTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRDK3FOUjtBc0M3cU5RO0VBQ0U7QXRDK3FOVjtBc0M1cU5RO0VBQ0U7RUFDQTtFQUNBO0F0QzhxTlY7QXNDenFOSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F0QzJxTk47QU03bk5FO0VnQ2xERTtJQU9JO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V0QzRxTk47QUFDRjtBc0MxcU5NO0VBQ0U7RUFDQTtFQUNBO0F0QzRxTlI7QXNDMXFOUTtFQUNFO0F0QzRxTlY7QXNDdHFORTtFQUNFO0F0Q3dxTko7QU1ucE5FO0VnQ3RCQTtJQUlJO0lBQ0E7RXRDeXFOSjtFc0N2cU5JO0lBS0U7RXRDcXFOTjtFc0MxcU5JO0lBS0U7RXRDcXFOTjtFc0NscU5JO0lBQ0U7RXRDb3FOTjtBQUNGO0FzQ2pxTkk7RUFDRTtBdENtcU5OO0FNbHFORTtFZ0NGRTtJQUlJO0lBQ0E7SUFDQTtJQUNBO0V0Q29xTk47RXNDbHFOTTtJQUNFO0V0Q29xTlI7QUFDRjtBTTdxTkU7RWdDYU07SUFDRTtJQUNBO0V0Q21xTlI7QUFDRjtBc0M5cE5FO0VBQ0U7QXRDZ3FOSjtBc0M1cE5JO0VBQ0U7QXRDOHBOTjtBTXpyTkU7RWdDeUJBO0lBTUk7RXRDOHBOSjtBQUNGO0FNOXJORTtFZ0NxQ0k7SUFFSTtJQUNBO0V0QzJwTlI7QUFDRjtBTXBzTkU7RWdDZ0RJO0lBRUk7SUFDQTtFdENzcE5SO0FBQ0Y7QU0xc05FO0VnQzJETTtJQUNFO0lBQ0E7RXRDa3BOUjtFc0Mvb05NO0lBQ0U7SUFDQTtJQUNBO0V0Q2lwTlI7RXNDL29OUTtJQUNFO0V0Q2lwTlY7QUFDRjtBTXh0TkU7RWdDK0VNO0lBQ0U7SUFDQTtFdEM0b05SO0VzQ3pvTk07SUFDRTtJQUNBO0lBQ0E7RXRDMm9OUjtFc0N6b05RO0lBQ0U7RXRDMm9OVjtBQUNGO0FNdHVORTtFZ0NrR007SUFDRTtJQUNBO0lBQ0E7RXRDdW9OUjtBQUNGO0FNN3VORTtFZ0M0R007SUFDRTtJQUNBO0lBQ0E7RXRDb29OUjtBQUNGO0FzQy9uTk07RUFDRTtBdENpb05SO0FzQzVuTkU7RUFDRTtFQUNBO0VBQ0E7QXRDOG5OSjtBc0M1bk5JO0VBQ0U7QXRDOG5OTjtBc0M1bk5NO0VBQ0U7RUFDQTtBdEM4bk5SO0FzQzNuTk07RUFDRTtBdEM2bk5SO0FzQ3puTkk7RUFDRTtBdEMybk5OO0FNendORTtFZ0M2SUU7SUFJSTtFdEM0bk5OO0FBQ0Y7QU05d05FO0VnQ3NKQTtJQUVJO0V0QzBuTko7QUFDRjtBc0N4bk5JO0VBQ0U7QXRDMG5OTjtBc0N2bk5JO0VBQ0U7QXRDeW5OTjtBTXp4TkU7RWdDK0pFO0lBSUk7RXRDMG5OTjtBQUNGO0FzQ3huTk07RUFDRTtBdEMwbk5SO0FzQ3RuTkk7RUFDRTtBdEN3bk5OO0FzQ3JuTkk7RUFDRTtFQUFBO0VBQ0E7RUFDQTtBdEN1bk5OO0FzQ3BuTkk7RUFDRTtFQUNBO0VBQ0E7QXRDc25OTjtBTTl5TkU7RWdDNExJO0lBRUk7SUFDQTtFdENvbk5SO0FBQ0Y7QXNDam5OTTtFQUNFO0VBQ0E7QXRDbW5OUjtBc0Nqbk5RO0VBQ0U7QXRDbW5OVjtBTTN6TkU7RWdDbU1JO0lBU0k7RXRDbW5OUjtBQUNGO0FzQy9tTkk7RUFDRTtBdENpbk5OO0FzQzdtTk07RUFFRTtBdEM4bU5SO0FzQzNtTk07RUFDRTtBdEM2bU5SO0FzQ2ptTlU7RUFDRTtBdENtbU5aO0FzQy9sTlE7RUFDRTtBdENpbU5WO0FzQzlsTlk7RUFDRTtBdENnbU5kO0FzQzFsTk07RUFFRTtBdEM0bE5SO0FzQzlsTk07RUFHRTtBdEMybE5SO0FzQ3RsTk07O0VBRUU7QXRDd2xOUjtBc0NubE5FO0VBQ0U7QXRDcWxOSjtBc0NubE5JO0VBQ0U7QXRDcWxOTjtBc0NqbE5FO0VBQ0U7QXRDbWxOSjtBc0M5a05NO0VBQ0U7QXRDZ2xOUjtBc0Mza05FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRDNmtOSjtBc0Mza05JO0VBQ0U7QXRDNmtOTjtBc0Mxa05JO0VBQ0U7RUFDQTtBdEM0a05OO0FzQ3prTkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0QzJrTk47QXNDeGtOSTtFQUNFO0F0QzBrTk47QXNDdmtOSTtFQUNFO0VBQ0E7QXRDeWtOTjtBc0N2a05NO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXRDeWtOUjtBc0Nua05NO0VBQ0U7RUFDQTtFQUNBO0F0Q3FrTlI7QXNDaGtORTtFQUNFO0VBQ0E7RUFDQTtBdENra05KO0FzQy9qTkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Q2lrTko7QXNDL2pOSTtFQUNFO0VBQ0E7RUFDQTtBdENpa05OO0FzQzdqTkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBdEMrak5KO0FzQzdqTkk7RUFDRTtBdEMrak5OOztBc0Mxak5BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEM2ak5GOztBc0Mxak5BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0QzZqTkY7QXNDMWpORTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRDNGpOSjtBc0N6ak5FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRDMmpOSjtBc0N6ak5JO0VBQ0U7QXRDMmpOTjtBS3JsT0k7RWlDOGhCRTtFQUNBO0VBQ0E7RUFDQTtBdEMwak5OO0FzQ3hqTk07RUFDRTtBdEMwak5SO0FzQ3JqTkU7RUFDRTtBdEN1ak5KO0FzQ3BqTkU7RUFDRTtFQUNBO0F0Q3NqTko7QU16K05FO0VnQ2liQTtJQUtJO0V0Q3VqTko7QUFDRjtBc0Nyak5JOztFQUVFO0VBQ0E7QXRDdWpOTjtBc0Nuak5FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXRDcWpOSjtBc0Nuak5JO0VBQ0U7QXRDcWpOTjs7QXNDaGpOQTtFQU1FO0F0Q21qTkY7O0FzQ3pqTkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Q29qTkY7QU1yZ09FO0VnQzRjRjtJQVNJO0lBQ0E7SUFDQTtFdENvak5GO0FBQ0Y7QU01Z09FO0VnQzRjRjtJQWVJO0lBQ0E7RXRDcWpORjtBQUNGO0FzQ25qTkU7RUFDRTtFQUNBO0VBQ0E7QXRDcWpOSjtBTXZoT0U7RWdDK2RBO0lBTUk7RXRDc2pOSjtBQUNGO0FzQ25qTkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Q3FqTko7QU1uaU9FO0VnQ3llQTtJQVFJO0V0Q3NqTko7QUFDRjtBc0Nuak5FO0VBQ0U7QXRDcWpOSjtBc0Nuak5JO0VBQ0U7RUFDQTtBdENxak5OO0FNL2lPRTtFZ0N3ZkU7SUFLSTtFdENzak5OO0FBQ0Y7QU1wak9FO0VnQ3dmRTtJQVNJO0V0Q3VqTk47QUFDRjtBc0Nuak5FO0VBQ0U7QXRDcWpOSjtBTTVqT0U7RWdDc2dCQTtJQUlJO0lBQ0E7RXRDc2pOSjtBQUNGO0FzQ3BqTkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtLQUFBO0VBQ0E7RUFDQTtBdENzak5OO0FzQ25qTkk7RUFDRTtFQUFBO0F0Q3FqTk47QXNDampORTtFQUNFO0F0Q21qTko7QU1obE9FO0VnQzRoQkE7SUFJSTtJQUNBO0lBQ0E7U0FBQTtFdENvak5KO0FBQ0Y7QXNDbGpOSTtFQUNFO0F0Q29qTk47QXNDampOSTtFQUNFO0VBQ0E7T0FBQTtBdENtak5OO0FzQ2pqTk07RUFDRTtFQUNBO0VBQ0E7QXRDbWpOUjtBc0M5aU5FO0VBQ0U7QXRDZ2pOSjtBTXRtT0U7RWdDcWpCQTtJQUlJO0V0Q2lqTko7QUFDRjs7QXVDM3hPQTtFQUVFO0F2QzZ4T0Y7QXVDM3hPRTtFQUNFO0VBQ0E7QXZDNnhPSjtBdUMxeE9FO0VBQ0U7RUFDQTtFQUNBO0F2QzR4T0o7QXVDenhPRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2QzJ4T0o7QXVDenhPSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2QzJ4T047QXVDeHhPSTtFQUNFO0VBQ0E7QXZDMHhPTjtBdUN0eE9FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Q3d4T0o7QXVDdHhPSTtFQUNFO0F2Q3d4T047QXVDcnhPSTtFQUNFO0F2Q3V4T047QXVDcHhPSTtFQUNFO0VBQ0E7RUFDQTtBdkNzeE9OO0F1Q254T0k7RUFDRTtFQUNBO0F2Q3F4T047QXVDbnhPTTs7OztFQUlFO0F2Q3F4T1I7QXVDbHhPTTtFQUNFO0F2Q294T1I7QXVDanhPTTs7RUFFRTtBdkNteE9SO0F1Qy93T1E7OztFQUVFO0VBQ0E7QXZDa3hPVjtBdUM3d09JO0VBQ0U7RUFDQTtBdkMrd09OO0F1Qzd3T007RUFDRTtFQUNBO0F2Qyt3T1I7QXVDNXdPTTs7Ozs7RUFLRTtBdkM4d09SO0F1QzN3T007RUFDRTtBdkM2d09SO0F1QzF3T007O0VBRUU7QXZDNHdPUjtBdUN4d09ROzs7RUFFRTtFQUNBO0VBQ0E7QXZDMndPVjtBdUNyd09FO0VBQ0U7RUFDQTtBdkN1d09KO0F1Q3J3T0k7RUFDRTtBdkN1d09OO0FNNXRPRTtFaUN4Q0U7SUFFSTtFdkNzd09OO0FBQ0Y7QU1qdU9FO0VpQ25DSTtJQUVJO0V2Q3N3T1I7QUFDRjtBdUNqd09FO0VBQ0U7RUFDQTtBdkNtd09KO0F1Q2p3T0k7RUFDRTtBdkNtd09OO0F1Q2h3T0k7RUFDRTtBdkNrd09OO0F1Qzd2T0k7RUFDRTtFQUNBO0VBQ0E7QXZDK3ZPTjtBdUM3dk9NO0VBQ0U7QXZDK3ZPUjtBTXh2T0U7RWlDUkk7SUFJSTtFdkNnd09SO0FBQ0Y7QXVDM3ZPVTtFQUNFO0VBQ0E7QXZDNnZPWjtBdUMzdk9ZO0VBQ0U7QXZDNnZPZDtBdUMxdk9ZO0VBQ0U7QXZDZ3dPZDtBdUNqd09ZO0VBRUU7RUFDQTtFQUNBO0VBQ0E7QXZDNHZPZDtBdUMxdk9jO0VBQ0U7QXZDNnZPaEI7QXVDOXZPYztFQUVFO0F2QzR2T2hCO0FNL3dPRTtFaUNnQ0k7O0lBRUU7RXZDa3ZPTjtBQUNGO0FNcnhPRTtFaUN3Q007O0lBRUU7RXZDZ3ZPUjtFdUMzdU9NOztJQUVFO0V2QzZ1T1I7QUFDRjtBTS94T0U7RWlDd0RNOztJQUVFO0V2QzB1T1I7RXVDcnVPTTs7SUFFRTtFdkN1dU9SO0FBQ0Y7QXVDbHVPRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F2Q291T0o7QXVDbHVPSTs7O0VBR0U7RUFDQTtFQUNBO0VBQ0E7S0FBQTtFQUNBO0F2Q291T047QU14ek9FO0VpQ3VFQTtJQWlCSTtJQUNBO0V2Q291T0o7QUFDRjtBdUNsdU9JO0VBQ0U7QXZDb3VPTjtBdUMvdE9JO0VBQ0U7QXZDaXVPTjs7QXdDbi9PRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeENzL09KO0FNNzBPRTtFa0MvS0E7SUFTSTtJQUNBO0V4Q3UvT0o7QUFDRjtBd0NwL09FO0VBQ0U7RUFDQTtBeENzL09KO0F3Q24vT0U7RUFDRTtFQUNBO0F4Q3EvT0o7QU0zMU9FO0VrQzVKQTtJQUtJO0V4Q3MvT0o7QUFDRjtBTWgyT0U7RWtDcEpFO0lBRUk7RXhDcy9PTjtFd0NwL09NO0lBQ0U7RXhDcy9PUjtBQUNGO0F3Q2wvT0k7RUFDRTtBeENvL09OO0F3Q2ovT0k7RUFDRTtFQUNBO0VBQ0E7S0FBQTtFQUNBO0F4Q20vT047QXdDai9PTTtFQUNFO0F4Q20vT1I7QXdDLytPSTtFQUNFO0F4Q2kvT047QXdDOStPUTtFQUNFO0F4Q2cvT1Y7QU0xM09FO0VrQ2pIRTtJQUVJO0V4QzYrT047RXdDMytPTTtJQUNFO0V4QzYrT1I7QUFDRjtBd0N4K09FO0VBQ0U7QXhDMCtPSixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly93b3JrZmxvdy8uL3NyYy9iZXRhL2Fzc2V0cy9zdHlsZXMvc2V0dGluZ3MvX3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly93b3JrZmxvdy8uL3NyYy9iZXRhL2Fzc2V0cy9zdHlsZXMvZ2VuZXJpYy9fcmVzZXQuc2NzcyIsIndlYnBhY2s6Ly93b3JrZmxvdy8uL3NyYy9iZXRhL2Fzc2V0cy9zdHlsZXMvZ2VuZXJpYy9fcHJpbnQuc2NzcyIsIndlYnBhY2s6Ly93b3JrZmxvdy8uL3NyYy9iZXRhL2Fzc2V0cy9zdHlsZXMvZ2VuZXJpYy9fZWxlbWVudHMuc2NzcyIsIndlYnBhY2s6Ly93b3JrZmxvdy8uL3NyYy9iZXRhL2Fzc2V0cy9zdHlsZXMvdG9vbHMvX21peGlucy5zY3NzIiwid2VicGFjazovL3dvcmtmbG93Ly4vbm9kZV9tb2R1bGVzL3Nhc3MtbXEvX21xLnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL29iamVjdHMvX2NvbnRhaW5lci5zY3NzIiwid2VicGFjazovL3dvcmtmbG93Ly4vc3JjL2JldGEvYXNzZXRzL3N0eWxlcy9vYmplY3RzL19jYXJkLnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL29iamVjdHMvX2Zvcm0uc2NzcyIsIndlYnBhY2s6Ly93b3JrZmxvdy8uL3NyYy9iZXRhL2Fzc2V0cy9zdHlsZXMvb2JqZWN0cy9fdG9vbHRpcC5zY3NzIiwid2VicGFjazovL3dvcmtmbG93Ly4vc3JjL2JldGEvYXNzZXRzL3N0eWxlcy91dGlsaXRpZXMvX2Rpc3BsYXkuc2NzcyIsIndlYnBhY2s6Ly93b3JrZmxvdy8uL3NyYy9iZXRhL2Fzc2V0cy9zdHlsZXMvdXRpbGl0aWVzL19pbWFnZS5zY3NzIiwid2VicGFjazovL3dvcmtmbG93Ly4vc3JjL2JldGEvYXNzZXRzL3N0eWxlcy91dGlsaXRpZXMvX3RleHQuc2NzcyIsIndlYnBhY2s6Ly93b3JrZmxvdy8uL3NyYy9iZXRhL2Fzc2V0cy9zdHlsZXMvdXRpbGl0aWVzL19hc3BlY3QtcmF0aW8uc2NzcyIsIndlYnBhY2s6Ly93b3JrZmxvdy8uL3NyYy9iZXRhL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwid2VicGFjazovL3dvcmtmbG93Ly4vc3JjL2JldGEvYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL19oZWFkaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvX2ljb25zLXByb2R1Y3Quc2NzcyIsIndlYnBhY2s6Ly93b3JrZmxvdy8uL3NyYy9iZXRhL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9fbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvX3ByZWRpY3RpdmUtc2VhcmNoLnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvX3ByaWNlLnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvX2Jhbm5lci5zY3NzIiwid2VicGFjazovL3dvcmtmbG93Ly4vc3JjL2JldGEvYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL19yYXRpbmcuc2NzcyIsIndlYnBhY2s6Ly93b3JrZmxvdy8uL3NyYy9iZXRhL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9fcXVhbnRpdHkuc2NzcyIsIndlYnBhY2s6Ly93b3JrZmxvdy8uL3NyYy9iZXRhL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9fc29jaWFsLWFjY291bnRzLnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvX3R5cGVmYWNlLnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvX3VpLXNoYXJlLnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvX3VzcC1wcm9kdWN0LnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL3NlY3Rpb25zL19hbm5vdW5jZW1lbnQtYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL3NlY3Rpb25zL19mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly93b3JrZmxvdy8uL3NyYy9iZXRhL2Fzc2V0cy9zdHlsZXMvc2VjdGlvbnMvX2ZlYXR1cmVzLWJhci5zY3NzIiwid2VicGFjazovL3dvcmtmbG93Ly4vc3JjL2JldGEvYXNzZXRzL3N0eWxlcy9zZWN0aW9ucy9faGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL3NlY3Rpb25zL19jYXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL3NlY3Rpb25zL19yaWNoLXRleHQuc2NzcyIsIndlYnBhY2s6Ly93b3JrZmxvdy8uL3NyYy9iZXRhL2Fzc2V0cy9zdHlsZXMvc2VjdGlvbnMvX2dyaWQtY29udGVudC5zY3NzIiwid2VicGFjazovL3dvcmtmbG93Ly4vc3JjL2JldGEvYXNzZXRzL3N0eWxlcy9zZWN0aW9ucy9fZ3JpZC1hcmNoaXZlLnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL3NlY3Rpb25zL19tYWluLXByb2R1Y3Quc2NzcyIsIndlYnBhY2s6Ly93b3JrZmxvdy8uL3NyYy9iZXRhL2Fzc2V0cy9zdHlsZXMvc2VjdGlvbnMvX2hlcm8uc2NzcyIsIndlYnBhY2s6Ly93b3JrZmxvdy8uL3NyYy9iZXRhL2Fzc2V0cy9zdHlsZXMvc2VjdGlvbnMvX2xvZ29zLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMjIExBWU9VVDogQkFTRVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vLyAtIFNFVFRJTkdTICYgVE9PTFNcbkBpbXBvcnQgXCIuL3NldHRpbmdzL3R5cG9ncmFwaHlcIjtcbkBpbXBvcnQgXCIuL3NldHRpbmdzL2JyZWFrcG9pbnRzXCI7XG5AaW1wb3J0IFwiLi90b29scy9taXhpbnNcIjtcblxuQGltcG9ydCBcIi4vZ2VuZXJpYy9yZXNldFwiO1xuQGltcG9ydCBcIi4vZ2VuZXJpYy9wcmludFwiO1xuQGltcG9ydCBcIi4vZ2VuZXJpYy9lbGVtZW50c1wiO1xuXG5ib2R5IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ib2R5KTtcbn1cblxuLy8vIC0gT0JKRUNUU1xuQGltcG9ydCBcIi4vb2JqZWN0cy9jb250YWluZXJcIjtcbkBpbXBvcnQgXCIuL29iamVjdHMvY2FyZFwiO1xuQGltcG9ydCBcIi4vb2JqZWN0cy9mb3JtXCI7XG5AaW1wb3J0IFwiLi9vYmplY3RzL3Rvb2x0aXBcIjtcblxuLy8vIC0gVVRJTElUSUVTXG5AaW1wb3J0IFwiLi91dGlsaXRpZXMvZGlzcGxheVwiO1xuQGltcG9ydCBcIi4vdXRpbGl0aWVzL2ltYWdlXCI7XG5AaW1wb3J0IFwiLi91dGlsaXRpZXMvdGV4dFwiO1xuQGltcG9ydCBcIi4vdXRpbGl0aWVzL2FzcGVjdC1yYXRpb1wiO1xuXG4vLy8gLSBDT01QT05FTlRTXG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL2FjY29yZGlvblwiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy9icmVhZGNydW1ic1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy9idXR0b25cIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvaGVhZGluZ1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy9pY29ucy1wcm9kdWN0XCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL25hdlwiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy9wcmVkaWN0aXZlLXNlYXJjaFwiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy9wcmljZVwiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy9iYW5uZXJcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvcmF0aW5nXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3F1YW50aXR5XCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3NvY2lhbC1hY2NvdW50c1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy90eXBlZmFjZVwiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy91aS1zaGFyZVwiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy91c3AtcHJvZHVjdFwiO1xuXG4vLy8gLSBTRUNUSU9OU1xuLnNob3BpZnktc2VjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAuc2VjdGlvbl9fd3JhcHBlciB7XG4gICAgJi0tb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG5cbiAgICAmLWJhY2tncm91bmQge1xuICAgICAgQGV4dGVuZCAuaW1nLWFic29sdXRlO1xuICAgIH1cblxuICAgICY6bm90KC5jb250YWluZXItLWZ1bGxfYmxlZWQpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgICAuc2VjdGlvbl9fd3JhcHBlci1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmLS1mdWxsX2JsZWVkIHtcbiAgICAgICY6YmVmb3JlLFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOmhhcyg+IC5zZWN0aW9uLS13aXRoLWJhY2tncm91bmQpIHtcbiAgICArIC5zaG9waWZ5LXNlY3Rpb24ge1xuICAgICAgJjpoYXMoPiAuc2VjdGlvbi0td2l0aC1iYWNrZ3JvdW5kKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tZ2FwKSAvIDIpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLWdhcCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhhcyg+IC5jb250YWluZXItLWZ1bGxfYmxlZWQpIHtcbiAgICAgICsgLnNob3BpZnktc2VjdGlvbiB7XG4gICAgICAgICY6aGFzKD4gLmNvbnRhaW5lci0tZnVsbF9ibGVlZCkge1xuICAgICAgICAgICY6aGFzKD4gLnNlY3Rpb24tLXdpdGgtYmFja2dyb3VuZCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnNlYXJjaC1yZXN1bHRzIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1nYXApIDAgMCAwO1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWdhcCkgKiAyKSAwIDAgMDtcbiAgICB9XG4gIH1cbn1cblxuLnNob3BpZnktcG9saWN5IHtcbiAgJl9fY29udGFpbmVyIHtcbiAgICBAZXh0ZW5kIC53eXNpd3lnO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiB2YXIoLS1jb250YWluZXItd2lkdGgpO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMy4ycmVtKSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDIuNHJlbSAwO1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDYuNHJlbSkgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDMuNnJlbSAwO1xuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQGltcG9ydCBcIi4vc2VjdGlvbnMvYW5ub3VuY2VtZW50LWJhclwiO1xuQGltcG9ydCBcIi4vc2VjdGlvbnMvZm9vdGVyXCI7XG5AaW1wb3J0IFwiLi9zZWN0aW9ucy9mZWF0dXJlcy1iYXJcIjtcbkBpbXBvcnQgXCIuL3NlY3Rpb25zL2hlYWRlclwiO1xuQGltcG9ydCBcIi4vc2VjdGlvbnMvY2FydFwiO1xuQGltcG9ydCBcIi4vc2VjdGlvbnMvcmljaC10ZXh0XCI7XG5AaW1wb3J0IFwiLi9zZWN0aW9ucy9ncmlkLWNvbnRlbnRcIjtcbkBpbXBvcnQgXCIuL3NlY3Rpb25zL2dyaWQtYXJjaGl2ZVwiO1xuQGltcG9ydCBcIi4vc2VjdGlvbnMvbWFpbi1wcm9kdWN0XCI7XG5AaW1wb3J0IFwiLi9zZWN0aW9ucy9oZXJvXCI7XG5AaW1wb3J0IFwiLi9zZWN0aW9ucy9sb2dvc1wiO1xuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMjIFNFVFRJTkdTOiBGT05UU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIEBjb250ZW50IEJhc2ljIFRoZW1lIGZvbnQgdmFyaWFibGVzIGV4dHJhY3RlZCBmcm9tIGNzcyBjdXN0b20gcHJvcGVydGllc1xuLy8vIGRlZmluZWQgaW4gdGhlIFwic25pcHBldHMvaGVhZC1zZXR0aW5ncy5saXF1aWRcIiBmaWxlLlxuLy8vXG4vLy8gVGhpcyBmaWxlIHNldHMgdXAgdGhlIHRoZW1lIGZvbnQgdmFyaWFibGVzLlxuLy8vIEJhc2ljYWxseSwgdGFrZSB0aGUgY3VzdG9tIHByb3BlcnRpZXMgZGVmaW5lZCBpbiB0aGUgXCJzbmlwcGV0cy9oZWFkLXNldHRpbmdzLmxpcXVpZFwiXG4vLy8gZmlsZSBhbmQgdHVybmVkIHRoZW0gdG8gU0NTUyAkdmFyaWFibGVzLlxuLy8vXG5cbi8vIFJlc3BlY3RpbmcgRm9udCBTaXplIFByZWZlcmVuY2VzIHdpdGggUmVtcyBhbmQgNjIuNSUgQmFzZSBGb250IFNpemVcbi8vIGh0dHBzOi8vd3d3LmFsZWtzYW5kcmhvdmhhbm5pc3lhbi5jb20vYmxvZy9yZXNwZWN0aW5nLWZvbnQtc2l6ZS1wcmVmZXJlbmNlcy1yZW1zLTYyLTUtcGVyY2VudC9cblxuaHRtbCB7XG4gIC8qIDEwcHggKi9cbiAgZm9udC1zaXplOiA2Mi41JTtcbn1cblxuYm9keSB7XG4gIC8qIDE2cHggKi9cbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHktZmFtaWx5KTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9keS13ZWlnaHQpO1xuICBmb250LXN0eWxlOiB2YXIoLS1mb250LWJvZHktc3R5bGUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tZm9udC1ib2R5LXRyYW5zZm9ybSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMjIEdFTkVSSUM6IFJFU0VUXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gQGNvbnRlbnQgcmVzcy5jc3Mg4oCiIHY0LjAuMFxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9maWxpcGVsaW5oYXJlcy9yZXNzIGZvciBtb3JlIERvY3MuXG4vLy9cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MgLy9cbiAgLW1vei10YWItc2l6ZTogNDtcbiAgdGFiLXNpemU6IDQ7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG5ib2R5IHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4qLFxuOjpiZWZvcmUsXG46OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgLy8gU2V0IGBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0YCB0byBhbGwgZWxlbWVudHMgYW5kIHBzZXVkbyBlbGVtZW50cyAvL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG46OmJlZm9yZSxcbjo6YWZ0ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7IC8vIEluaGVyaXQgdGV4dC1kZWNvcmF0aW9uIGFuZCB2ZXJ0aWNhbCBhbGlnbiB0byA6OmJlZm9yZSBhbmQgOjphZnRlciBwc2V1ZG8gZWxlbWVudHMgLy9cbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG59XG5cbioge1xuICBwYWRkaW5nOiAwOyAvLyBSZXNldCBgcGFkZGluZ2AgYW5kIGBtYXJnaW5gIG9mIGFsbCBlbGVtZW50cyAvL1xuICBtYXJnaW46IDA7XG59XG5cbi8vICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMgIEdlbmVyYWwgZWxlbWVudHNcbi8vICMgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cbmhyIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFIC8vXG4gIGhlaWdodDogMDsgLy8gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveCAvL1xuICBjb2xvcjogaW5oZXJpdDsgLy8gQ29ycmVjdCBib3JkZXIgY29sb3IgaW4gRmlyZWZveC4gLy9cbn1cblxuZGV0YWlscyxcbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgLy8gUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuIC8vXG59XG5cbm1haW4ge1xuICBvdXRsaW5lOiAwO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMgLy9cblxuICAmOjotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IC8vIFNldCBmb250LXNpemUgdG8gODAlIGluIGBzbWFsbGAgZWxlbWVudHMgLy9cbn1cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAvL1xufVxuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8vIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTcgLy9cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaSAvL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xufVxuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMCAvL1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7IC8vIFJlbW92ZSB0aGUgb3V0bGluZSB3aGVuIGhvdmVyaW5nIGluIGFsbCBicm93c2VycyAvL1xufVxuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gU3BlY2lmeSB0aGUgZm9udCBmYW1pbHkgb2YgY29kZSBlbGVtZW50cyAvL1xufVxuXG5wcmUge1xuICBmb250LXNpemU6IDFlbTsgLy8gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzIC8vXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vQ29ycmVjdCB0aGUgb2RkIHdoaXRlIHNwYWNlIGlzc3VlIHRoYXQgYnJlYWtzIENTUyBncmlkIGxheW91dHNcbn1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkgLy9cbn1cblxuLy8gaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vdW5ydXRobGVzcy80MTM5MzAgLy9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyAvLyBDb3JyZWN0IGJvcmRlciBjb2xvciBpbiBhbGwgQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLiAvL1xuICB0ZXh0LWluZGVudDogMDsgLy8gUmVtb3ZlIHRleHQgaW5kZW50YXRpb24gaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpIC8vXG59XG5cbmlmcmFtZSB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLy8gIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyAgRm9ybXNcbi8vICMgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cbmlucHV0IHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gUmVwbGFjZSBwb2ludGVyIGN1cnNvciBpbiBkaXNhYmxlZCBlbGVtZW50cyAvL1xuW2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lIC8vXG59XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpIC8vXG4gIG91dGxpbmUtb2Zmc2V0OiAtMC4ycmVtOyAvLyBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaSAvL1xufVxuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TIC8vXG59XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIEludGVybmV0IEV4cGxvcmVyIDExKyAvL1xuICByZXNpemU6IHZlcnRpY2FsOyAvLyBTcGVjaWZ5IHRleHRhcmVhIHJlc2l6YWJpbGl0eSAvL1xufVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250OiBpbmhlcml0OyAvLyBTcGVjaWZ5IGZvbnQgaW5oZXJpdGFuY2Ugb2YgZm9ybSBlbGVtZW50cyAvL1xufVxuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyAvLyBSZXN0b3JlIHRoZSBmb250IHdlaWdodCB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZSAvL1xufVxuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEgLy9cbn1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IC8vIEZpcmVmb3ggNDArLCBJbnRlcm5ldCBFeHBsb3JlciAxMS0gLy9cbn1cblxuLy8gQXBwbHkgY3Vyc29yIHBvaW50ZXIgdG8gYnV0dG9uIGVsZW1lbnRzIC8vXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSxcbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLyBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsgLy9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vLyBSZXBsYWNlIGZvY3VzIHN0eWxlIHJlbW92ZWQgaW4gdGhlIGJvcmRlciByZXNldCBhYm92ZSAvL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbmJ1dHRvbixcbmh0bWwgW3R5cGU9J2J1dHRvbiddLCAvLyBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2Bjb250cm9scyBpbiBBbmRyb2lkIDQgLy9cblt0eXBlPSdyZXNldCddLFxuW3R5cGU9J3N1Ym1pdCddIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIC8vXG59XG5cbi8vIFJlbW92ZSB0aGUgZGVmYXVsdCBidXR0b24gc3R5bGluZyBpbiBhbGwgYnJvd3NlcnMgLy9cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vLyBTdHlsZSBzZWxlY3QgbGlrZSBhIHN0YW5kYXJkIGlucHV0IC8vXG5zZWxlY3Qge1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IC8vIEZpcmVmb3ggMzYrIC8vXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gQ2hyb21lIDQxKyAvL1xufVxuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG59XG5cbnNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gIGRpc3BsYXk6IG5vbmU7IC8vIEludGVybmV0IEV4cGxvcmVyIDExKyAvL1xufVxuXG5zZWxlY3Q6Oi1tcy12YWx1ZSB7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7IC8vIEludGVybmV0IEV4cGxvcmVyIDExKyAvL1xufVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiAwO1xuICBwYWRkaW5nLWJsb2NrLWVuZDogMDtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gIHBhZGRpbmctaW5saW5lLWVuZDogMDtcbiAgYm9yZGVyOiBub25lO1xuICBtaW4taW5saW5lLXNpemU6IG1pbi1jb250ZW50O1xufVxuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8vIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMSAvL1xuICBjb2xvcjogaW5oZXJpdDsgLy8gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFIC8vXG4gIGRpc3BsYXk6IHRhYmxlOyAvLyBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFIC8vXG4gIG1heC13aWR0aDogMTAwJTsgLy8gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRSAvL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFIC8vXG4gIG1heC13aWR0aDogMTAwJTsgLy8gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIDE4LSBhbmQgSUUgLy9cbn1cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC8vIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkgLy9cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250OiBpbmhlcml0OyAvLyBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBDaHJvbWUgYW5kIFNhZmFyaSAvL1xufVxuXG4vLyAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjICBTcGVjaWZ5IG1lZGlhIGVsZW1lbnQgc3R5bGVcbi8vICMgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgLy8gUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAgLy9cbn1cblxuLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYSAvL1xucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8vICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMgQWNjZXNzaWJpbGl0eVxuLy8gIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBTcGVjaWZ5IHRoZSBwcm9ncmVzcyBjdXJzb3Igb2YgdXBkYXRpbmcgZWxlbWVudHMgLy9cblthcmlhLWJ1c3k9XCJ0cnVlXCJdIHtcbiAgY3Vyc29yOiBwcm9ncmVzcztcbn1cblxuLy8gU3BlY2lmeSB0aGUgcG9pbnRlciBjdXJzb3Igb2YgdHJpZ2dlciBlbGVtZW50cyAvL1xuW2FyaWEtY29udHJvbHNdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLyBTcGVjaWZ5IHRoZSB1bnN0eWxlZCBjdXJzb3Igb2YgZGlzYWJsZWQsIG5vdC1lZGl0YWJsZSwgb3Igb3RoZXJ3aXNlIGlub3BlcmFibGUgZWxlbWVudHMgLy9cblthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuKjotaW50ZXJuYWwtZGlyZWN0LWZvY3VzIHtcbiAgb3V0bGluZS13aWR0aDogMDtcbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjIyBHRU5FUklDOiBQUklOVFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIFZlcnkgY3J1ZGUsIHJlc2V0LWxpa2Ugc3R5bGVzIGZvciB0aGUgcHJpbnQgcXVlcnkuXG5AbWVkaWEgcHJpbnQge1xuICAvLy8gMS4gQmxhY2sgcHJpbnRzIGZhc3RlcjogaHR0cHM6Ly93d3cuc2FuYmVpamkuY29tL2FyY2hpdmVzLzk1M1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50OyAvLyBbMV1cbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuXG4gIGFbaHJlZl06OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgfVxuXG4gIGFiYnJbdGl0bGVdOjphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICB9XG5cbiAgLy8gRG9u4oCZdCBzaG93IGxpbmtzIHRoYXQgYXJlIGZyYWdtZW50IGlkZW50aWZpZXJzLCBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmBcbiAgLy8gcHNldWRvIHByb3RvY29sLlxuICBhW2hyZWZePVwiI1wiXTo6YWZ0ZXIsXG4gIGFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk5OTk7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG5cbiAgLy8gUHJpbnRpbmcgVGFibGVzOiBodHRwczovL2Nzcy1kaXNjdXNzLmluY3V0aW8uY29tL3dpa2kvUHJpbnRpbmdfVGFibGVzXG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gIH1cblxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cblxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMztcbiAgfVxuXG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gIH1cblxuICAuZmVhdHVyZXMtYmFyLFxuICAuaGVyby1iYXNpYyAuaW1nLWFic29sdXRlLFxuICAucmVsYXRlZC1hcnRpY2xlcyxcbiAgLnJlY29tbWVuZGVkLXByb2R1Y3RzLFxuICAuZm9vdGVyLFxuICAudGVtcGxhdGUtYXJ0aWNsZSAubG9nb3MsXG4gIC50ZW1wbGF0ZS1wcm9kdWN0IC5sb2dvcyxcbiAgLmZlYXR1cmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAjbmF2LXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIG1haW4ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyMgR0VORVJJQzogRUxFTUVOVFNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbnVsLFxub2wge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbnN1bW1hcnkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuZGV0YWlscyA+ICoge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saW5rcyk7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgaDEgJixcbiAgaDIgJixcbiAgaDMgJixcbiAgaDQgJixcbiAgaDUgJixcbiAgaDYgJixcbiAgc3Ryb25nICYsXG4gIHAgJixcbiAgdGFibGUgJixcbiAgdHIgJixcbiAgdGQgJixcbiAgdGggJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICB9XG5cbiAgQGluY2x1ZGUgb25FdmVudCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlua3MtaG92ZXIpO1xuXG4gICAgJjpub3QoLmJ1dHRvbikge1xuICAgICAgJjpub3QoLmJhbm5lcl9fd3JhcHBlcikge1xuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWljb24taG92ZXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnAge1xuICBidXR0b24ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBIaWRlIGVtcHR5IGVsZW1lbnRzXG5hOmVtcHR5LFxudWw6ZW1wdHksXG5kbDplbXB0eSxcbmRpdjplbXB0eTpub3QoLnByb2R1Y3QtcmVjb21tZW5kYXRpb25zKTpub3QoLnN3aXBlci1zY3JvbGxiYXItZHJhZyk6bm90KCNhcnJvdyk6bm90KC5zd2lwZXItbGF6eS1wcmVsb2FkZXIpLFxuc2VjdGlvbjplbXB0eSxcbmFydGljbGU6ZW1wdHksXG5wOmVtcHR5LFxuaDE6ZW1wdHksXG5oMjplbXB0eSxcbmgzOmVtcHR5LFxuaDQ6ZW1wdHksXG5oNTplbXB0eSxcbmg2OmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxucCxcbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLy8gMS4gU2luZ2xlIHRhcHMgc2hvdWxkIGJlIGRpc3BhdGNoZWQgaW1tZWRpYXRlbHkgb24gY2xpY2thYmxlIGVsZW1lbnRzXG4vLy9cbmEsXG5hcmVhLFxuYnV0dG9uLFxuaW5wdXQsXG5sYWJlbCxcbnNlbGVjdCxcbnRleHRhcmVhLFxuW3RhYmluZGV4XSB7XG4gIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgLy8gWzFdXG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG5baHJlZmxhbmddID4gYWJiclt0aXRsZV0ge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbnRhYmxlIHtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIC8vYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxuYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saW5rcyk7XG5cbiAgQGluY2x1ZGUgb25FdmVudCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlua3MpO1xuICB9XG59XG5cbi8vIDEuIEZsdWlkIGltYWdlcyBmb3IgcmVzcG9uc2l2ZSBwdXJwb3Nlcy5cbi8vIDIuIE9mZnNldCBgYWx0YCB0ZXh0IGZyb20gc3Vycm91bmRpbmcgY29weS5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gWzFdXG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgLy8gWzJdXG59XG5cbi8vIDMuIFNldHRpbmcgYHZlcnRpY2FsLWFsaWduYCByZW1vdmVzIHRoZSB3aGl0ZXNwYWNlIHRoYXQgYXBwZWFycyB1bmRlciBgaW1nYFxuLy8gZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBkcm9wcGVkIGludG8gYSBwYWdlIGFzLWlzLlxuLy9cbmF1ZGlvLFxuY2FudmFzLFxuaWZyYW1lLFxuaW1nLFxuc3ZnLFxudmlkZW8ge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBbM11cbn1cblxuLnN3aXBlciB7XG4gICZbZGF0YS1tb2JpbGUtbGF5b3V0PVwiZ3JpZFwiXSB7XG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLXRhYmxldC1sYXlvdXQ9XCJncmlkXCJdIHtcbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG4gIH1cblxuICAmW2RhdGEtZGVza3RvcC1sYXlvdXQ9XCJncmlkXCJdIHtcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cbiAgfVxufVxuXG4uc3dpcGVyLXNwYWNlciB7XG4gIGhlaWdodDogMDtcbn1cblxuLy8gU3dpcGVyIFVJXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LFxuLnN3aXBlci1idXR0b24tcHJldiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogMCAwLjhyZW07XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICB0cmFuc2l0aW9uOiBhbGwgMC40cztcbiAgbWFyZ2luOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWljb24pO1xuXG4gIEBpbmNsdWRlIG9uRXZlbnQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1pY29uLWhvdmVyKTtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMC40cmVtLCAwKTtcbiAgICB9XG4gIH1cbn1cblxuLnN3aXBlci1idXR0b24tcHJldiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgIEBpbmNsdWRlIG9uRXZlbnQge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTAuNHJlbSwgMCk7XG4gICAgfVxuICB9XG59XG5cbi5zd2lwZXItc2Nyb2xsYmFyLnN3aXBlci1zY3JvbGxiYXItaG9yaXpvbnRhbCB7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWFsdCkgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAuc3dpcGVyLXNjcm9sbGJhci1kcmFnIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItaWNvbikgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMC40cmVtO1xuXG4gICAgQGluY2x1ZGUgb25FdmVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1pY29uLWhvdmVyKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4uc3dpcGVyLXBhZ2luYXRpb24ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICY6bm90KC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhcikge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgJi5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbiB7XG4gICAgcGFkZGluZzogMCAxLjZyZW0gMCAwO1xuICAgIEBleHRlbmQgLnRleHQteHM7XG4gICAgQGV4dGVuZCAudGV4dC0tY2FwdGlvbjtcbiAgfVxuXG4gICYtcHJvZ3Jlc3NiYXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYWx0KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAwLjRyZW07XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG5cbiAgICAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1pY29uKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gICYtYnVsbGV0cyB7XG4gICAgJjpub3QoLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyk6bm90KC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhcikge1xuICAgICAgc3BhbiB7XG4gICAgICAgIHBhZGRpbmc6IDAuOHJlbTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMC44cmVtO1xuICAgICAgICAgIGhlaWdodDogMC44cmVtO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWljb24pO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHM7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS40KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWljb24taG92ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgJi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICAgICAgLy93aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgLy9vdmVyZmxvdzogaGlkZGVuO1xuICAgICAgLy9mb250LXNpemU6IDA7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMCA0cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDAuOHJlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjhyZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBvcGFjaXR5OiAwLjI7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWljb24pO1xuICAgICAgICBtYXJnaW46IDAuOHJlbTtcblxuICAgICAgICAmLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dC1uZXh0LFxuICAgICAgICAmLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldi1wcmV2IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQsXG4gICAgICAgICYuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW1haW4ge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1pY29uLWhvdmVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc3dpcGVyLXRodW1ibmFpbHMge1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDYwcHg7XG4gIH1cblxuICAmLW5hdiB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDAuOHJlbTtcbiAgICB9XG5cbiAgICAuaWNvbiB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICBAaW5jbHVkZSBvbkV2ZW50IHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaWNvbi1ob3Zlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnN3aXBlciB7XG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICBoZWlnaHQ6IDU1cmVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGZpZ3VyZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDAuNHJlbTtcbiAgICAgICAgYm90dG9tOiAwLjRyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1pY29uKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ib2R5KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMC40cmVtO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIHdpZHRoOiAxLjZyZW07XG4gICAgICAgIGhlaWdodDogMS42cmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgJi5zd2lwZXItc2xpZGUtdGh1bWItYWN0aXZlIHtcbiAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1hcmdpbjogNHJlbSAwIDA7XG4gIHBhZGRpbmc6IDEuNnJlbSAzLjJyZW07XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYWx0KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gIHdpZHRoOiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ3JpZC1jb2x1bW46IDEvLTE7XG5cbiAgYSxcbiAgc3BhbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlua3MpO1xuICAgIHBhZGRpbmc6IDEuNnJlbSAyLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuOHJlbTtcblxuICAgICY6bm90KHNwYW4pOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpbmtzLWhvdmVyKTtcbiAgICB9XG4gIH1cblxuICAmX19pdGVtLS1jdXJyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDAuOHJlbTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4udGFncyB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAxLjJyZW07XG59XG5cbi51c3Age1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDAuOHJlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwO1xufVxuXG4uZ3JlY2FwdGNoYS1iYWRnZSB7XG4gIHotaW5kZXg6IC05OTk5ICFpbXBvcnRhbnQ7XG59XG5cbi50b29sdGlwIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udG9vbHRpcC1jb250ZW50IHtcbiAgJHRoaXM6ICY7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwcyAwLjNzO1xuICB6LWluZGV4OiAxO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICAmX193cmFwcGVyIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHdpZHRoOiAzMHJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFyZW0pO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyAwcywgdHJhbnNmb3JtIDAuM3MgMHM7XG4gIH1cblxuICAmW2RhdGEtc2hvd10ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwcyAwcztcbiAgICB6LWluZGV4OiAxMDtcblxuICAgICN7JHRoaXN9X193cmFwcGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxuICB9XG59XG5cbi5naWZ0LWNhcmQtcGFnZSB7XG4gIHBhZGRpbmc6IDMuMnJlbSAwO1xuXG4gIC5jb250YWluZXIge1xuICAgIC5tYWluLXByb2R1Y3RfX2Jsb2NrcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogMS42cmVtO1xuXG4gICAgICA+ICoge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY29weS1zdWNjZXNzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgJl9fbnVtYmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICZfYnV0dG9ucy5uby1wcmludCB7XG4gICAgbWFyZ2luOiAxLjZyZW0gMCAwIDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG5pbnB1dC5naWZ0LWNhcmRfX251bWJlciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cblxuLnN0b2NrLXN0YXR1cyB7XG4gIHAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbjogMDtcblxuICAgIHNwYW4ge1xuICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luOiAwIDAuOHJlbSAwIDA7XG4gICAgfVxuXG4gICAgJi5pbi1zdG9jayB7XG4gICAgICAuaWNvbiB7XG4gICAgICAgIGNvbG9yOiAjMDBhYTAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICYubG93LXN0b2NrIHtcbiAgICAgIC5pY29uIHtcbiAgICAgICAgY29sb3I6ICM1MDY3YjA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vdXQtb2Ytc3RvY2sge1xuICAgICAgLmljb24ge1xuICAgICAgICBjb2xvcjogI2ZjNzA1MztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnByaWNlLWl0ZW0sXG4uc3RvY2stc3RhdHVzIHAge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc2tlbGV0b24tbG9hZGluZyB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IDFzO1xuXG4gIGRpdixcbiAgc3BhbixcbiAgLnByaWNlLWl0ZW0sXG4gIHAge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnNrZWxldG9uLWxvYWRpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMCU7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItdGV4dCk7XG4gIC8vIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMTBkZWcsIHZhcigtLWNvbG9yLWJhY2tncm91bmQtYWx0KSA4JSwgdmFyKC0tY29sb3ItYmFja2dyb3VuZC1hbHQpIDE4JSwgdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ib2R5KSAzMyUpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTEwZGVnLCByZ2JhKHZhcigtLWNvbG9yLXRleHQtcmdiKSwgMCkgOCUsIHJnYmEodmFyKC0tY29sb3ItdGV4dC1yZ2IpLCAwLjE2KSwgNDAlLCByZ2JhKHZhcigtLWNvbG9yLXRleHQtcmdiKSwgMCkgNjQlKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiAwJTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gIGJhY2tncm91bmQtc2l6ZTogMjAwJSAxMDAlO1xuICBhbmltYXRpb246IDEuMnMgc2hpbmUgbGluZWFyIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHNoaW5lIHtcbiAgdG8ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogLTIwMCU7XG4gIH1cbn1cblxuLnByb2R1Y3QtcmVjb21tZW5kYXRpb25zIHtcbiAgLmljb24ge1xuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgfVxufVxuXG5zdGlja3ktZW5naW5lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogdmFyKC0tc3RpY2t5LWVuZ2luZS1wYWRkaW5nKTtcbn1cblxuc3dpcGVyLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tZ2FwKTtcblxuICAmW2RhdGEtbW9iaWxlLWxheW91dD1cInNsaWRlclwiXSB7XG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgLnNsaWRlci1lbmFibGVkICYge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZbZGF0YS10YWJsZXQtbGF5b3V0PVwic2xpZGVyXCJdIHtcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWQsICR1bnRpbDogbGcpIHtcbiAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgIC5zbGlkZXItZW5hYmxlZCAmIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmW2RhdGEtZGVza3RvcC1sYXlvdXQ9XCJzbGlkZXJcIl0ge1xuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgLnNsaWRlci1lbmFibGVkICYge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMjIFRPT0xTOiBNSVhJTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIE1peGluIHRvIHF1aWNrbHkgYXBwbHkgYWNjZXNzaWJsZSBoaWRpbmcgdG8gZWxlbWVudHMuXG4vLyAudXNhZ2Uge1xuLy8gICBAaW5jbHVkZSBoaWRkZW5WaXN1YWxseTtcbi8vIH1cblxuQG1peGluIGhpZGRlblZpc3VhbGx5KCkge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMXB4O1xuXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBjbGlwOiBhdXRvO1xuICAgIGNsaXAtcGF0aDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgei1pbmRleDogMTAwMDAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4vLy8gRXZlbnQgd3JhcHBlclxuLy8vIEBhdXRob3IgSGFycnkgUm9iZXJ0c1xuLy8vIEBwYXJhbSB7Qm9vbH0gJHNlbGYgW2ZhbHNlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgY3VycmVudCBzZWxlY3RvclxuLy8vIEBsaW5rIGh0dHBzOi8vdHdpdHRlci5jb20vY3Nzd2l6YXJkcnkvc3RhdHVzLzQ3ODkzODUzMDM0MjAwNjc4NCBPcmlnaW5hbCB0d2VldCBmcm9tIEhhcnJ5IFJvYmVydHNcbi8vIC51c2FnZSB7XG4vLyAgIEBpbmNsdWRlIG9uRXZlbnQge1xuLy8gICAgIGNvbG9yOiByZWJlY2NhcHVycGxlO1xuLy8gICB9XG4vLyB9XG4vLyB9XG5AbWl4aW4gb25FdmVudCgkc2VsZjogZmFsc2UpIHtcbiAgQGlmICRzZWxmIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWl4aW4gdG8gcXVpY2tseSBnZW5lcmF0ZSB0aGUgcGxhY2Vob2xkZXIgc3R5bGluZyB2YWx1ZXNcbi8vIC51c2FnZSB7XG4vLyAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcbi8vICAgICAvKiBzdHlsZXMgZm9yIHBsYWNlaG9sZGVyIGhlcmUgKi9cbi8vICAgfVxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgJjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudDtcbiAgfVxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudDtcbiAgfVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkB1c2UgJ3Nhc3M6bWF0aCc7XG5AdXNlICdzYXNzOm1hcCc7XG5AdXNlICdzYXNzOmxpc3QnO1xuXG4vLy8gQnJlYWtwb2ludCBsaXN0XG4vLy9cbi8vLyBOYW1lIHlvdXIgYnJlYWtwb2ludHMgaW4gYSB3YXkgdGhhdCBjcmVhdGVzIGEgdWJpcXVpdG91cyBsYW5ndWFnZVxuLy8vIGFjcm9zcyB0ZWFtIG1lbWJlcnMuIEl0IHdpbGwgaW1wcm92ZSBjb21tdW5pY2F0aW9uIGJldHdlZW5cbi8vLyBzdGFrZWhvbGRlcnMsIGRlc2lnbmVycywgZGV2ZWxvcGVycywgYW5kIHRlc3RlcnMuXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRicmVha3BvaW50czogKFxuICBtb2JpbGU6IDMyMHB4LFxuICB0YWJsZXQ6IDc0MHB4LFxuICBkZXNrdG9wOiA5ODBweCxcbiAgd2lkZTogMTMwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFNob3cgYnJlYWtwb2ludHMgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcbi8vL1xuLy8vIElmIHlvdSB3YW50IHRvIGRpc3BsYXkgdGhlIGN1cnJlbnRseSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wXG4vLy8gcmlnaHQgY29ybmVyIG9mIHlvdXIgc2l0ZSBkdXJpbmcgZGV2ZWxvcG1lbnQsIGFkZCB0aGUgYnJlYWtwb2ludHNcbi8vLyB0byB0aGlzIGxpc3QsIG9yZGVyZWQgYnkgd2lkdGguIEZvciBleGFtcGxlOiAobW9iaWxlLCB0YWJsZXQsIGRlc2t0b3ApLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgQHVzZSAncGF0aC90by9tcScgd2l0aCAoJHNob3ctYnJlYWtwb2ludHM6ICgnbW9iaWxlJywgJ3RhYmxldCcsICdkZXNrdG9wJykpO1xuLy8vXG4vLy9cbi8vLyBAdHlwZSBtYXBcbiRzaG93LWJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcblxuLy8vIEN1c3RvbWl6ZSB0aGUgbWVkaWEgdHlwZSAoZm9yIGV4YW1wbGU6IGBAbWVkaWEgc2NyZWVuYCBvciBgQG1lZGlhIHByaW50YClcbi8vLyBCeSBkZWZhdWx0IHNhc3MtbXEgdXNlcyBhbiBcImFsbFwiIG1lZGlhIHR5cGUgKGBAbWVkaWEgYWxsIGFuZCDigKZgKVxuLy8vXG4vLy8gSWYgeW91IHdhbnQgdG8gb3ZlcnJpZWQgdGhlIG1lZGlhIHR5cGUsIHlvdSBjYW4gdXNlIHRoaXMgb3B0aW9uLlxuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIEB1c2UgJ3BhdGgvdG8vbXEnIHdpdGggKCRtZWRpYS10eXBlOiAnc2NyZWVuJyk7XG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2NoYW5naW5nLW1lZGlhLXR5cGUgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlXG4kbWVkaWEtdHlwZTogYWxsICFkZWZhdWx0O1xuXG4vLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHB4IC0gdmFsdWUgdG8gY29udmVydFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAkZm9udC1zaXplLWluLWVtczogcHgyZW0oMTZweCk7XG4vLy8gIHAgeyBmb250LXNpemU6IHB4MmVtKDE2cHgpOyB9XG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfVxuXG5AZnVuY3Rpb24gcHgyZW0oJHB4KSB7XG4gIEBpZiBtYXRoLmlzLXVuaXRsZXNzKCRweCkge1xuICAgIEB3YXJuIFwiQXNzdW1pbmcgI3skcHh9IHRvIGJlIGluIHBpeGVscywgYXR0ZW1wdGluZyB0byBjb252ZXJ0IGl0IGludG8gcGl4ZWxzLlwiO1xuICAgIEByZXR1cm4gcHgyZW0oJHB4ICogMXB4KTtcbiAgfVxuICAvLyBpZiAkcHggaXMgY29tcGF0aWJsZSB3aXRoIGVtIHVuaXRzLCB0aGVuIHJldHVybiB2YWx1ZSB1bmNoYW5nZWRcbiAgQGlmIG1hdGguY29tcGF0aWJsZSgkcHgsIDFlbSkge1xuICAgIEByZXR1cm4gJHB4O1xuICB9XG4gIEByZXR1cm4gbWF0aC5kaXYoJHB4LCAxNnB4KSAqIDFlbTtcbn1cblxuLy8vIEdldCBhIGJyZWFrcG9pbnQncyB3aWR0aFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludC4gT25lIG9mICRicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAkdGFibGV0LXdpZHRoOiBnZXQtYnJlYWtwb2ludC13aWR0aCh0YWJsZXQpO1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogZ2V0LWJyZWFrcG9pbnQtd2lkdGgodGFibGV0KSkge31cbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRicmVha3BvaW50c1xuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVmFsdWUgaW4gcGl4ZWxzXG5AZnVuY3Rpb24gZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJG5hbWUsICRicmVha3BvaW50czogJGJyZWFrcG9pbnRzKSB7XG4gIEBpZiBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsICRuYW1lKSB7XG4gICAgQHJldHVybiBtYXAuZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiBcIkJyZWFrcG9pbnQgI3skbmFtZX0gd2Fzbid0IGZvdW5kIGluICRicmVha3BvaW50cy5cIjtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuLy8vIE1lZGlhIFF1ZXJ5IG1peGluXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRmcm9tIFtmYWxzZV0gLSBPbmUgb2YgJGJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkdW50aWwgW2ZhbHNlXSAtIE9uZSBvZiAkYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRhbmQgW2ZhbHNlXSAtIEFkZGl0aW9uYWwgbWVkaWEgcXVlcnkgcGFyYW1ldGVyc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVkaWEtdHlwZSBbJG1lZGlhLXR5cGVdIC0gTWVkaWEgdHlwZTogc2NyZWVuLCBwcmludOKAplxuLy8vXG4vLy8gQGlnbm9yZSBVbmRvY3VtZW50ZWQgQVBJLCBmb3IgYWR2YW5jZWQgdXNlIG9ubHk6XG4vLy8gQGlnbm9yZSBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzIFskYnJlYWtwb2ludHNdXG4vLy9cbi8vLyBAY29udGVudCBzdHlsaW5nIHJ1bGVzLCB3cmFwcGVkIGludG8gYSBAbWVkaWEgcXVlcnkgd2hlbiAkcmVzcG9uc2l2ZSBpcyB0cnVlXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbWVkaWEtdHlwZVxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRicmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IHB4MmVtXG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gZ2V0LWJyZWFrcG9pbnQtd2lkdGhcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9uLWRlZmF1bHQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICBAdXNlICdwYXRoL3RvL21xJyBhcyAqO1xuLy8vICAuZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IG1vYmlsZSkge1xuLy8vICAgICAgY29sb3I6IHJlZDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBibHVlO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcShtb2JpbGUsIHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGdyZWVuO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0LCAkYW5kOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJykge1xuLy8vICAgICAgY29sb3I6IHRlYWw7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKDk1MHB4KSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEodGFibGV0LCAkbWVkaWEtdHlwZTogc2NyZWVuKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgLy8gQWR2YW5jZWQgdXNlOlxuLy8vICAgICRteS1icmVha3BvaW50czogKEw6IDkwMHB4LCBYTDogMTIwMHB4KTtcbi8vLyAgICBAaW5jbHVkZSBtcShMLCAkYnJlYWtwb2ludHM6ICRteS1icmVha3BvaW50cykge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICB9XG5AbWl4aW4gbXEoXG4gICRmcm9tOiBmYWxzZSxcbiAgJHVudGlsOiBmYWxzZSxcbiAgJGFuZDogZmFsc2UsXG4gICRtZWRpYS10eXBlOiAkbWVkaWEtdHlwZSxcbiAgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHNcbikge1xuICAkbWluLXdpZHRoOiAwO1xuICAkbWF4LXdpZHRoOiAwO1xuICAkbWVkaWEtcXVlcnk6ICcnO1xuXG4gIC8vIEZyb206IHRoaXMgYnJlYWtwb2ludCAoaW5jbHVzaXZlKVxuICBAaWYgJGZyb20ge1xuICAgIEBpZiB0eXBlLW9mKCRmcm9tKSA9PSBudW1iZXIge1xuICAgICAgJG1pbi13aWR0aDogcHgyZW0oJGZyb20pO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJG1pbi13aWR0aDogcHgyZW0oZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJGZyb20sICRicmVha3BvaW50cykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFVudGlsOiB0aGF0IGJyZWFrcG9pbnQgKGV4Y2x1c2l2ZSlcbiAgQGlmICR1bnRpbCB7XG4gICAgQGlmIHR5cGUtb2YoJHVudGlsKSA9PSBudW1iZXIge1xuICAgICAgJG1heC13aWR0aDogcHgyZW0oJHVudGlsKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRtYXgtd2lkdGg6IHB4MmVtKGdldC1icmVha3BvaW50LXdpZHRoKCR1bnRpbCwgJGJyZWFrcG9pbnRzKSkgLSAwLjAxZW07XG4gICAgfVxuICB9XG5cbiAgQGlmICRtaW4td2lkdGggIT0gMCB7XG4gICAgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWluLXdpZHRoOiAjeyRtaW4td2lkdGh9KSc7XG4gIH1cbiAgQGlmICRtYXgtd2lkdGggIT0gMCB7XG4gICAgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWF4LXdpZHRoOiAjeyRtYXgtd2lkdGh9KSc7XG4gIH1cbiAgQGlmICRhbmQge1xuICAgICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgI3skYW5kfSc7XG4gIH1cblxuICAvLyBSZW1vdmUgdW5uZWNlc3NhcnkgbWVkaWEgcXVlcnkgcHJlZml4ICdhbGwgYW5kICdcbiAgQGlmICgkbWVkaWEtdHlwZSA9PSAnYWxsJyBhbmQgJG1lZGlhLXF1ZXJ5ICE9ICcnKSB7XG4gICAgJG1lZGlhLXR5cGU6ICcnO1xuICAgICRtZWRpYS1xdWVyeTogc3RyLXNsaWNlKHVucXVvdGUoJG1lZGlhLXF1ZXJ5KSwgNik7XG4gIH1cblxuICBAbWVkaWEgI3skbWVkaWEtdHlwZSArICRtZWRpYS1xdWVyeX0ge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBRdWljayBzb3J0XG4vLy9cbi8vLyBAYXV0aG9yIFNhbSBSaWNoYXJkc1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNvcnRcbi8vLyBAcmV0dXJucyB7TGlzdH0gU29ydGVkIExpc3RcbkBmdW5jdGlvbiBfcXVpY2stc29ydCgkbGlzdCkge1xuICAkbGVzczogKCk7XG4gICRlcXVhbDogKCk7XG4gICRsYXJnZTogKCk7XG5cbiAgQGlmIGxlbmd0aCgkbGlzdCkgPiAxIHtcbiAgICAkc2VlZDogbGlzdC5udGgoJGxpc3QsIG1hdGguY2VpbChtYXRoLmRpdihsZW5ndGgoJGxpc3QpLCAyKSkpO1xuXG4gICAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgICAgQGlmICgkaXRlbSA9PSAkc2VlZCkge1xuICAgICAgICAkZXF1YWw6IGxpc3QuYXBwZW5kKCRlcXVhbCwgJGl0ZW0pO1xuICAgICAgfSBAZWxzZSBpZiAoJGl0ZW0gPCAkc2VlZCkge1xuICAgICAgICAkbGVzczogbGlzdC5hcHBlbmQoJGxlc3MsICRpdGVtKTtcbiAgICAgIH0gQGVsc2UgaWYgKCRpdGVtID4gJHNlZWQpIHtcbiAgICAgICAgJGxhcmdlOiBsaXN0LmFwcGVuZCgkbGFyZ2UsICRpdGVtKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIGpvaW4oam9pbihfcXVpY2stc29ydCgkbGVzcyksICRlcXVhbCksIF9xdWljay1zb3J0KCRsYXJnZSkpO1xuICB9XG5cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFNvcnQgYSBtYXAgYnkgdmFsdWVzICh3b3JrcyB3aXRoIG51bWJlcnMgb25seSlcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNvcnRcbi8vLyBAcmV0dXJucyB7TWFwfSBNYXAgc29ydGVkIGJ5IHZhbHVlXG5AZnVuY3Rpb24gX21hcC1zb3J0LWJ5LXZhbHVlKCRtYXApIHtcbiAgJG1hcC1zb3J0ZWQ6ICgpO1xuICAkbWFwLWtleXM6IG1hcC5rZXlzKCRtYXApO1xuICAkbWFwLXZhbHVlczogbWFwLnZhbHVlcygkbWFwKTtcbiAgJG1hcC12YWx1ZXMtc29ydGVkOiBfcXVpY2stc29ydCgkbWFwLXZhbHVlcyk7XG5cbiAgLy8gUmVvcmRlciBrZXkvdmFsdWUgcGFpcnMgYmFzZWQgb24ga2V5IHZhbHVlc1xuICBAZWFjaCAkdmFsdWUgaW4gJG1hcC12YWx1ZXMtc29ydGVkIHtcbiAgICAkaW5kZXg6IGluZGV4KCRtYXAtdmFsdWVzLCAkdmFsdWUpO1xuICAgICRrZXk6IGxpc3QubnRoKCRtYXAta2V5cywgJGluZGV4KTtcbiAgICAkbWFwLXNvcnRlZDogbWFwLm1lcmdlKFxuICAgICAgJG1hcC1zb3J0ZWQsXG4gICAgICAoXG4gICAgICAgICRrZXk6ICR2YWx1ZSxcbiAgICAgIClcbiAgICApO1xuXG4gICAgLy8gVW5zZXQgdGhlIHZhbHVlIGluICRtYXAtdmFsdWVzIHRvIHByZXZlbnQgdGhlIGxvb3BcbiAgICAvLyBmcm9tIGZpbmRpbmcgdGhlIHNhbWUgaW5kZXggdHdpY2VcbiAgICAkbWFwLXZhbHVlczogbGlzdC5zZXQtbnRoKCRtYXAtdmFsdWVzLCAkaW5kZXgsIDApO1xuICB9XG5cbiAgQHJldHVybiAkbWFwLXNvcnRlZDtcbn1cblxuLy8vIEFkZCBhIGJyZWFrcG9pbnRcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIGJyZWFrcG9pbnRcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICBAaW5jbHVkZSBhZGQtYnJlYWtwb2ludCh0dnNjcmVlbiwgMTkyMHB4KTtcbi8vLyAgQGluY2x1ZGUgbXEodHZzY3JlZW4pIHt9XG5AbWl4aW4gYWRkLWJyZWFrcG9pbnQoJG5hbWUsICR3aWR0aCkge1xuICAkbmV3LWJyZWFrcG9pbnQ6IChcbiAgICAkbmFtZTogJHdpZHRoLFxuICApO1xuICAkYnJlYWtwb2ludHM6IG1hcC5tZXJnZSgkYnJlYWtwb2ludHMsICRuZXctYnJlYWtwb2ludCkgIWdsb2JhbDtcbiAgJGJyZWFrcG9pbnRzOiBfbWFwLXNvcnQtYnktdmFsdWUoJGJyZWFrcG9pbnRzKSAhZ2xvYmFsO1xufVxuXG4vLy8gU2hvdyB0aGUgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcCByaWdodCBjb3JuZXIgb2YgdGhlIHZpZXdwb3J0XG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hvdy1icmVha3BvaW50cyBbJHNob3ctYnJlYWtwb2ludHNdIC0gTGlzdCBvZiBicmVha3BvaW50cyB0byBzaG93IGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXG4vLy8gQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyBbJGJyZWFrcG9pbnRzXSAtIEJyZWFrcG9pbnQgbmFtZXMgYW5kIHNpemVzXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkc2hvdy1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyBTaG93IGJyZWFrcG9pbnRzIHVzaW5nIGdsb2JhbCBzZXR0aW5nc1xuLy8vICBAaW5jbHVkZSBzaG93LWJyZWFrcG9pbnRzO1xuLy8vXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgY3VzdG9tIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIHNob3ctYnJlYWtwb2ludHMoKEwsIFhMKSwgKFM6IDMwMHB4LCBMOiA4MDBweCwgWEw6IDEyMDBweCkpO1xuQG1peGluIHNob3ctYnJlYWtwb2ludHMoXG4gICRzaG93LWJyZWFrcG9pbnRzOiAkc2hvdy1icmVha3BvaW50cyxcbiAgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHNcbikge1xuICBib2R5OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMztcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZiZWVkNTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNmYmVlZDU7XG4gICAgY29sb3I6ICNjMDk4NTM7XG4gICAgZm9udDogc21hbGwtY2FwdGlvbjtcbiAgICBwYWRkaW5nOiAzcHggNnB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTAwO1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIHRoZSBicmVha3BvaW50cyB0aGF0IHNob3VsZCBiZSBzaG93blxuICAgIEBlYWNoICRzaG93LWJyZWFrcG9pbnQgaW4gJHNob3ctYnJlYWtwb2ludHMge1xuICAgICAgJHdpZHRoOiBnZXQtYnJlYWtwb2ludC13aWR0aCgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuICAgICAgQGluY2x1ZGUgbXEoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcbiAgICAgICAgY29udGVudDogJyN7JHNob3ctYnJlYWtwb2ludH0g4omlICN7JHdpZHRofSAoI3tweDJlbSgkd2lkdGgpfSknO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaWYgbGlzdC5sZW5ndGgoJHNob3ctYnJlYWtwb2ludHMpID4gMCB7XG4gIEBpbmNsdWRlIHNob3ctYnJlYWtwb2ludHM7XG59XG4iLCIuY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogdmFyKC0tY29udGFpbmVyLXdpZHRoKTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcblxuICAmLS1kZWZhdWx0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IHZhcigtLWNvbnRhaW5lci13aWR0aCk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1nYXApKTtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLWdhcCkgKiAyKSk7XG4gICAgfVxuICB9XG5cbiAgJi0tZnVsbF93aWR0aCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBjYWxjKHZhcigtLWdhcCkgLyAyKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmLS1mdWxsX2JsZWVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAmOm5vdCguaW5zZXQpOm5vdCguc2VjdGlvbi0td2l0aC1iYWNrZ3JvdW5kKSAuZ3JpZC1jb250ZW50X19oZWFkZXIsXG4gICAgJjpub3QoLmluc2V0KTpub3QoLnNlY3Rpb24tLXdpdGgtYmFja2dyb3VuZCkgLnUtZ3JpZCAucmljaC10ZXh0X193cmFwcGVyLFxuICAgICY6bm90KC5pbnNldCk6bm90KC5zZWN0aW9uLS13aXRoLWJhY2tncm91bmQpIC5oZXJvX193cmFwcGVyLFxuICAgICY6bm90KC5pbnNldCk6bm90KC5zZWN0aW9uLS13aXRoLWJhY2tncm91bmQpIC5zbGlkZXNob3ctdGV4dC1jb250cm9sc19fY29udHJvbGxlcixcbiAgICAubWFpbi1wcm9kdWN0X19ibG9ja3MsXG4gICAgJi5pbnNldCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tZ2FwKSAvIDIpO1xuICAgICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1nYXApIC8gMik7XG5cbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdhcCk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNlY3Rpb25fX3dyYXBwZXItLW92ZXJsYXkge1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG9waWZ5LXNlY3Rpb24uYmFubmVyICYge1xuICAgICAgJi5jb250YWluZXItd2lkdGgtLW5vbmUge1xuICAgICAgICAuYmFubmVyX193cmFwcGVyOmJlZm9yZSxcbiAgICAgICAgLmJhbm5lcl9fd3JhcHBlcixcbiAgICAgICAgLmJhbm5lcl9fYmFja2dyb3VuZCB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmNhcmQge1xuICAkdGhpczogJjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1jYXJkKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgei1pbmRleDogMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1jYXJkKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC40cztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICZfX2ltYWdlIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgaW1nLCB2aWRlbyB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cztcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtY2FyZCk7XG4gICAgfVxuXG4gICAgZmlndXJlIHtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1jYXJkKTtcblxuICAgICAgaW1nLCB2aWRlbywgcHJvZHVjdC1tb2RlbCwgaWZyYW1lIHtcbiAgICAgICAgKyBpbWcsICsgdmlkZW8sICsgcHJvZHVjdC1tb2RlbCwgKyBpZnJhbWUge1xuICAgICAgICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlciAhaW1wb3J0YW50O1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICsgcHJvZHVjdC1tb2RlbCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1jYXJkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5zd2lwZXIge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgLnN3aXBlci13cmFwcGVyIHtcbiAgICAgICAgLy9kaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICZbZGF0YS1kZXNrdG9wLWxheW91dD1cImdyaWRcIl0ge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tc2xpZGVyIHtcbiAgICAgIC5zd2lwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICZbZGF0YS1kaXNwbGF5LXBhZ2luYXRpb249XCJ0cnVlXCJdIHtcbiAgICAgICAgICAmW2RhdGEtZGlzcGxheS1uYXZpZ2F0aW9uPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMS4ycmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTEuNnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmW2RhdGEtZGlzcGxheS1uYXZpZ2F0aW9uPVwiZmFsc2VcIl0ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTAuNnJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0wLjhyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zd2lwZXItd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLnN3aXBlci1zbGlkZSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG5cbiAgICAgIC5nYWxsZXJ5LWNvbnRyb2xzIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBtYXJnaW46IDAgLjhyZW07XG4gICAgICAgIG1pbi1oZWlnaHQ6IDRweDtcblxuICAgICAgICAuc3dpcGVyLXBhZ2luYXRpb24ge1xuICAgICAgICAgIHBhZGRpbmc6IDAuOHJlbSAwO1xuXG4gICAgICAgICAgJi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZ2FsbGVyeS1jb250cm9scy0tcGFnaW5hdGlvbi5nYWxsZXJ5LWNvbnRyb2xzLS1uYXZpZ2F0aW9uIHtcbiAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjRyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIHBhZGRpbmc6IDAuOHJlbSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN3aXBlci1idXR0b24tcHJldiArIC5zd2lwZXItcGFnaW5hdGlvbiB7XG4gICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuc3dpcGVyLXNjcm9sbGJhci5zd2lwZXItc2Nyb2xsYmFyLWhvcml6b250YWwge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY2FwdGlvbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhlYWRpbmctY2FyZCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHZhcigtLWZvbnQtY2FwdGlvbi10cmFuc2Zvcm0pO1xuICB9XG5cbiAgJl9fZGVzY3JpcHRpb24sXG4gICZfX3RpdGxlIHtcbiAgICB0cmFuc2l0aW9uOiAwLjJzO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oZWFkaW5nLWNhcmQpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWNhcmQtaGVhZGluZy1mYW1pbHkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWNhcmQtaGVhZGluZy13ZWlnaHQpO1xuICAgIGZvbnQtc3R5bGU6IHZhcigtLWZvbnQtY2FyZC1oZWFkaW5nLXN0eWxlKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tZm9udC1jYXJkLWhlYWRpbmctdHJhbnNmb3JtKTtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgfVxuXG4gICZfX2Rlc2NyaXB0aW9uIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgICBsaW5lLWNsYW1wOiAzO1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtY2FyZCk7XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IDEuMnJlbTtcbiAgICBnYXA6IDEuNnJlbTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZsZXg6IDE7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIHBhZGRpbmc6IDEuNnJlbTtcbiAgICB9XG5cbiAgICB2YXJpYW50LXNlbGVjdHMge1xuICAgICAgbWFyZ2luOiAxLjZyZW0gMCAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IDAuOHJlbTtcbiAgICB9XG5cbiAgICArIC5jYXJkX19ib3R0b20ge1xuICAgICAgcGFkZGluZzogMCAxLjZyZW0gMS42cmVtO1xuICAgIH1cbiAgfVxuXG5cbiAgJl9fYm90dG9tIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBjb2x1bW4tZ2FwOiAxLjZyZW07XG4gICAgcm93LWdhcDogMC44cmVtO1xuXG4gICAgLnByaWNlIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5wcmljZV9fcmVndWxhciB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAuYnV0dG9uLS1wbGFpbiB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAmX19ibG9nLXRpdGxlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tZm9udC1jYXB0aW9uLXRyYW5zZm9ybSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtY2FyZCk7XG4gIH1cblxuICAmX19iYWRnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMHJlbTtcbiAgICByaWdodDogMHJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC1ib2R5LXdlaWdodC1ib2xkKTtcbiAgICB6LWluZGV4OiAyO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwLjRyZW0gMC44cmVtO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYWx0KTtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgcGFkZGluZzogMC44cmVtIDEuNnJlbTtcbiAgICB9XG5cbiAgICAmLS1vdXQtb2Ytc3RvY2sge1xuICAgICAgY29sb3I6ICNmYzcwNTMgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLS1vbi1zYWxlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zYWxlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIHNob3BpZnktcGF5bWVudC10ZXJtcyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICYtLXN0eWxlLWJhbm5lcixcbiAgJi0tc3R5bGUtbm9faW1hZ2Uge1xuICAgICYuY2FyZC0tdGV4dC12X190b3Age1xuICAgICAgJi5jYXJkLS1iYWRnZSB7XG4gICAgICAgIC5jYXJkX19jb250ZW50IHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNC40cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jYXJkLS10ZXh0LXZfX2JvdHRvbSxcbiAgICAmLmNhcmQtLXRleHQtdl9fY2VudGVyIHtcbiAgICAgICYuY2FyZC0tYmFkZ2Uge1xuICAgICAgICAuY2FyZF9fY29udGVudCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDQuNHJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLXN0eWxlLW5vX3BhZGRpbmcge1xuICAgICN7JHRoaXN9X19pbWFnZS0tc2xpZGVyIC5zd2lwZXIge1xuICAgICAgZ2FwOiAwO1xuXG4gICAgICAuZ2FsbGVyeS1jb250cm9scyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1zdHlsZS1wYWRkaW5nIHtcbiAgICAjeyR0aGlzfV9faW1hZ2Uge1xuICAgICAgJi0tc2xpZGVyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIHN3aXBlci1jb250YWluZXIge1xuICAgICAgc3dpcGVyLXNsaWRlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuOHJlbTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC44cmVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZbZGF0YS1kZXNrdG9wLXNsaWRlcy1wZXItdmlldz1cIjFcIl0ge1xuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgICBzd2lwZXItc2xpZGUge1xuICAgICAgICAgICAgcGFkZGluZzogMC44cmVtO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHN3aXBlci1zbGlkZTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJltkYXRhLW1vYmlsZS1zbGlkZXMtcGVyLXZpZXc9XCIxXCJdIHtcbiAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICAgIHN3aXBlci1zbGlkZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjhyZW07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3dpcGVyLXNsaWRlOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmW2RhdGEtYW5pbWF0aW9uLXN0eWxlPVwiZmFkZVwiXSB7XG4gICAgICAgIHN3aXBlci1zbGlkZSB7XG4gICAgICAgICAgcGFkZGluZzogMC44cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZmlndXJlIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cblxuICAgIC5jYXJkX19pbWFnZTpub3QoLnNsaWRlci1lbmFibGVkKSB7XG4gICAgICBwYWRkaW5nOiAwLjhyZW07XG4gICAgfVxuICB9XG5cbiAgJi0tdGV4dCB7XG4gICAgJi1oIHtcblxuICAgICAgJl9fY2VudGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIC5tYWluLXByb2R1Y3RfX2ZpZWxkc2V0LS1waWxscyBkaXYudmFyaWFudF9vcHRpb25zIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHRoaXN9X19ib3R0b20ge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19yaWdodCB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgIC5tYWluLXByb2R1Y3RfX2ZpZWxkc2V0LS1waWxscyBkaXYudmFyaWFudF9vcHRpb25zIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgI3skdGhpc31fX2JhZGdlIHtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1ib3JkZXItcmFkaXVzKSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skdGhpc31fX2JvdHRvbSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtdiB7XG4gICAgICAmX190b3Age1xuICAgICAgICAjeyR0aGlzfV9fY29udGVudCB7XG4gICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoI3skdGhpc30tLXN0eWxlLW5vX2ltYWdlKSB7XG4gICAgICAgICAgI3skdGhpc31fX2ltYWdlIHtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHRoaXN9X19iYWRnZSB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgdmFyKC0tYm9yZGVyLXJhZGl1cykgMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJiN7JHRoaXN9LS10ZXh0LWhfX3JpZ2h0ICN7JHRoaXN9X19iYWRnZSB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cykgMCAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAmI3skdGhpc30tLXN0eWxlLXBhZGRpbmcge1xuICAgICAgICAgICN7JHRoaXN9X19pbWFnZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHN3aXBlci1jb250YWluZXIge1xuICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uLXJldmVyc2U7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fY2VudGVyIHtcbiAgICAgICAgI3skdGhpc31fX2NvbnRlbnQge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2JvdHRvbSB7XG4gICAgICAgICN7JHRoaXN9X19jb250ZW50IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgJiN7JHRoaXN9LS1zdHlsZS1wYWRkaW5nIHtcbiAgICAgICAgICAjeyR0aGlzfV9faW1hZ2Uge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1zdHlsZS1iYW5uZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1iYW5uZXIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYmFubmVyKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWdyYWRpZW50LWJhbm5lcik7XG5cbiAgICAjeyR0aGlzfV9faW1hZ2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICBmaWd1cmUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3skdGhpc31fX3RpdGxlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oZWFkaW5nLWJhbm5lcik7XG4gICAgfVxuXG4gICAgI3skdGhpc31fX2Rlc2NyaXB0aW9uIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJhbm5lcik7XG4gICAgfVxuXG4gICAgI3skdGhpc31fX2NvbnRlbnQge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgICN7JHRoaXN9X19jb250ZW50LFxuICAgICN7JHRoaXN9X19ib3R0b20ge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtYmFubmVyKTtcbiAgICB9XG5cbiAgICAjeyR0aGlzfV9fY29udGVudDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itb3ZlcmxheS1iYW5uZXIpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tY29sb3Itb3ZlcmxheS1ncmFkaWVudC1iYW5uZXIpO1xuICAgICAgb3BhY2l0eTogY2FsYyh2YXIoLS1vcGFjaXR5LW92ZXJsYXktYmFubmVyKSAvIDEwMCk7XG4gICAgfVxuICB9XG5cbiAgLm1haW4tcHJvZHVjdF9fZmllbGRzZXQge1xuICAgIGxlZ2VuZCB7XG4gICAgICBAZXh0ZW5kIC50ZXh0LXhzO1xuICAgIH1cbiAgfVxuXG4gICYtLXRlc3RpbW9uaWFsIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1jYXJkKTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgIHBhZGRpbmc6IDMuNnJlbSAzLjZyZW0gNC44cmVtO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1jYXJkKTtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fdGVzdGltb25pYWwge1xuICAgICAgcGFkZGluZzogMS4ycmVtIDA7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1jYXJkKTtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB9XG5cbiAgICAmX19zb3VyY2Uge1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWNhcmQpO1xuICAgIH1cblxuICAgICZfX3Nob3Age1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IC00cmVtIDAgMCAwO1xuXG4gICAgICBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgbWFyZ2luOiAwIDAgMS42cmVtIDA7XG4gICAgICBoZWlnaHQ6IDhyZW07XG4gICAgICB3aWR0aDogOHJlbTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWNhcmQpO1xuXG4gICAgICAmLS1yb3VuZGVkX2Nvcm5lcnMge1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cblxuICAgICAgJi0tY2lyY2xlIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWNhcmQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWNhcmQpO1xuICAgICAgICBwYWRkaW5nOiAwLjhyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cbiAgICAgICAgaW1nLFxuICAgICAgICBzdmcge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi0tYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWNhcmQpO1xuICAgICAgfVxuXG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG9uRXZlbnQge1xuICAgICN7JHRoaXN9X19pbWFnZTpub3QoLmNhcmRfX2ltYWdlLS1zbGlkZXIpIHtcbiAgICAgICY6aGFzKGZpZ3VyZSA+ICogKyAqKSB7XG4gICAgICAgIGltZywgdmlkZW8sIHByb2R1Y3QtbW9kZWwsIGlmcmFtZSB7XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGltZywgdmlkZW8sIHByb2R1Y3QtbW9kZWwsIGlmcmFtZSB7XG4gICAgICAgICsgaW1nLCArIHZpZGVvLCArIHByb2R1Y3QtbW9kZWwsICsgaWZyYW1lIHtcbiAgICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguY2FyZC0tc3R5bGUtYmFubmVyKSB7XG4gICAgICAjeyR0aGlzfV9fdGl0bGUge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saW5rcy1ob3Zlcik7XG4gICAgICB9XG5cbiAgICAgICYuY2FyZC0tdGV4dC1kaXNwbGF5LS10ZXh0IHtcbiAgICAgICAgI3skdGhpc31fX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saW5rcy1ob3Zlcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5mb3JtX19pbnB1dC13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4OiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWlucHV0LWJhY2tncm91bmQpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1pbnB1dC1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWlucHV0LXRleHQpO1xuICBib3gtc2hhZG93OiAwIDFweCAwLjJyZW0gcmdiYSgxNiwgMjQsIDQwLCAwLjA1KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuICBzZWxlY3Qge1xuICAgIGZsZXg6IDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG5cbiAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIge1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItaW5wdXQtcGxhY2Vob2xkZXIpO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHZhcigtLWZvbnQtYm9keS10cmFuc2Zvcm0pO1xuXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjkyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgcGFkZGluZzogMS42cmVtIDhyZW0gMS42cmVtIDRyZW07XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIHBhZGRpbmc6IDEuNnJlbSAxMnJlbSAxLjZyZW0gNHJlbTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3Qge1xuICAgIHBhZGRpbmc6IDEuMnJlbSA0cmVtIDEuMnJlbSAxcmVtO1xuICB9XG5cbiAgLmljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIG1hcmdpbjogMCAwLjhyZW07XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cblxuICAuZXhwYW5kIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMjtcbiAgICBwYWRkaW5nOiAwLjhyZW0gMS4ycmVtO1xuICB9XG5cbiAgLmV4cGFuZCxcbiAgLmJ1dHRvbiB7XG4gICAgcmlnaHQ6IDAuOHJlbTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbn1cblxuLmZvcm1fX291dHB1dC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZzogMS4ycmVtO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcblxuICBzcGFuIHtcbiAgICBtYXJnaW46IDAgMC44cmVtIDAgMC4ycmVtO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgfVxufVxuXG4uaW5wdXQtZmllbGQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW46IDAgMCAyLjRyZW0gMDtcblxuICBsYWJlbCB7XG4gICAgbWFyZ2luOiAwIDAgMC44cmVtIDA7XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWlucHV0LWJhY2tncm91bmQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWlucHV0LWJvcmRlcik7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWlucHV0LXRleHQpO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDAuMnJlbSByZ2JhKDE2LCAyNCwgNDAsIDAuMDUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIHBhZGRpbmc6IDEuMnJlbSAxLjZyZW07XG5cbiAgICBAaW5jbHVkZSBwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItaW5wdXQtcGxhY2Vob2xkZXIpO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHZhcigtLWZvbnQtYm9keS10cmFuc2Zvcm0pO1xuICAgIH1cbiAgfVxufVxuXG4ubG9jYWxpemF0aW9uLWZvcm0ge1xuICAmLS1zZWxlY3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICBzZWxlY3Qge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAuOHJlbSAwIDAgMDtcbiAgfVxuXG4gIGRldGFpbHMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIHN1bW1hcnkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJltvcGVuXSB7XG4gICAgICBzdW1tYXJ5IHtcbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ib2R5KTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMnJlbSA2cmVtIHJnYig1MiA2NCA4NCAvIDglKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgbWF4LWhlaWdodDogMTByZW07XG4gICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtNHJlbTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB0cmFuc2l0aW9uOiAwLjRzO1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDAuOHJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogMC40cztcblxuICAgICAgICBhIHtcbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC1ib2R5LXdlaWdodC1ib2xkKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmhlYWRlciAmIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICZbb3Blbl0ge1xuICAgICAgdWwge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gICAgICAgIC5oZWFkZXIgJiB7XG4gICAgICAgICAgdG9wOiA0LjRyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIltkYXRhLXRvb2x0aXAtdHJpZ2dlcl0ge1xuICArIFtkYXRhLXRvb2x0aXBdIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnM7XG5cbiAgICAmLm5hdi0tbXVsdGktbGV2ZWwge1xuICAgICAgd2lkdGg6IHZhcigtLWNvbnRhaW5lci13aWR0aCk7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSBjYWxjKHZhcigtLWdhcCkgKiAyKSk7XG4gICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgI2Fycm93IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG5cbiAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWJvZHkpO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOm5vdChbb3Blbl0pICsgW2RhdGEtdG9vbHRpcF0ge1xuICAgIHRvcDogLTk5OTlweDtcbiAgICBsZWZ0OiAtOTk5OXB4O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMHMgLjNzLCBvcGFjaXR5IC4zcztcblxuICAgIC5hY3RpdmUge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwcyAuM3M7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgW2RhdGEtbW9iaWxlLXZpZXc9XCJmdWxsc2NyZWVuXCJdIFtkYXRhLXRvb2x0aXAtdHJpZ2dlcl0gKyBbZGF0YS10b29sdGlwXSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tZ2FwKSk7XG4gIH1cbn1cblxuLnRvb2x0aXAtLXNlYXJjaCB7XG4gIHRyYW5zaXRpb246IDBzICFpbXBvcnRhbnQ7XG59IiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMjIFVUSUxJVElFUzogRElTUExBWVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIEBjb250ZW50IFV0aWxpdHkgY2xhc3NlcyB0byBoaWRlL3Nob3cgZWxlbWVudHMuXG4vLy9cbi8vLyAgIC51LWhpZGRlbi12aXN1YWxseSB7fSAgIC0gaGlkZSBhbmQgdmlzaWJsZSBmb3IgYTExeS5cbi8vLyAgIC51LWhpZGUge30gICAgICAgICAgICAgIC0gYWx3YXlzIGhpZGRlbi5cbi8vLyAgIC51LXZpc2libGUge30gICAgICAgICAgIC0gYWx3YXlzIHZpc2libGUuXG4vLy8gICBhbmQgb3RoZXJzLi4uXG4vLy9cblxuLy8gQWx3YXlzIGhpZGUgYW4gZWxlbWVudC5cbi51LWhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBSZXBvbnNpdmUgaGlkaW5nIHV0aWxpdHkgY2xhc3Nlcy5cbi8vLyBAdG9kb1xuXG4vLyBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnMuXG4udmlzdWFsbHktaGlkZGVuIHtcbiAgQGluY2x1ZGUgaGlkZGVuVmlzdWFsbHk7XG59XG5cbi8vIFJlZHVjZSBtb3Rpb24gZm9yIGFjY2Vzc2liaWxpdHlcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbikge1xuICAudS1tb3Rpb24tcmVkdWNlIHtcbiAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gQWx3YXlzIHNob3cgYW4gZWxlbWVudC5cbi51LXNob3csXG4udS1oaWRlLW5vbmUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi51LWZsZXgsXG4udS1mbGV4LW5vbmUge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLnUtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbiAgZ2FwOiBjYWxjKHZhcigtLWdhcCkgLyAyKTtcblxuICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tY29sdW1uLWNvdW50LW1vYmlsZSksIG1pbm1heCgwLCAxZnIpKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgIGdhcDogdmFyKC0tZ2FwKTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS1jb2x1bW4tY291bnQtZGVza3RvcCksIG1pbm1heCgwLCAxZnIpKTtcbiAgfVxufVxuXG4vLy8gQHRocm93IERhbmdlcm91cyBmb3IgYTExeSAtIFVzZSB3aXRoIGNhcmVcbi51LWZvY3VzLW5vbmUge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIG91dGxpbmU6IDAgIWltcG9ydGFudDtcbn1cblxuLy8gQ29udHJvbCB2aXNpYmlsaXR5IHdpdGhvdXQgYWZmZWN0aW5nIGZsb3cuXG4udS12aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG5cbi51LWludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5uby1zY3JvbGxiYXIge1xuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6IDA7IC8qIFJlbW92ZSBzY3JvbGxiYXIgc3BhY2UgKi9cbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgLyogT3B0aW9uYWw6IGp1c3QgbWFrZSBzY3JvbGxiYXIgaW52aXNpYmxlICovXG4gIH1cbn1cblxuLnctMTAwIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLmRpc3BsYXkge1xuICAmLS1maWxsIHtcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLW1vYmlsZSB7XG4gICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmhpZGUtbW9iaWxlIHtcbiAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaGlkZS1kZXNrdG9wIHtcbiAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi52aWRlbyxcbi5pbWFnZSB7XG4gIC5jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIC50ZXh0LS1jYXB0aW9uIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxudHJ1bmNhdGFibGUtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgPiBkaXYge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWF4LWhlaWdodDogOS42cmVtO1xuICAgIHRyYW5zaXRpb246IDAuNXM7XG5cbiAgICAuZmFjZXRzX19mYWNldCAmIHtcbiAgICAgIG1heC1oZWlnaHQ6IDE2cmVtO1xuICAgIH1cblxuICAgICYudGV4dC1zbSB7XG4gICAgICBtYXgtaGVpZ2h0OiA4LjRyZW07XG4gICAgfVxuXG4gICAgJi50ZXh0LWxnIHtcbiAgICAgIG1heC1oZWlnaHQ6IDlyZW07XG4gICAgfVxuXG4gICAgJi50ZXh0LXhsIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwLjhyZW07XG4gICAgfVxuICB9XG5cbiAgLnNocmluayxcbiAgLmV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNHM7XG5cbiAgICAuZmFjZXRzX19mYWNldCAmIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAwLjhyZW07XG4gICAgICBiYWNrZ3JvdW5kOiByZ2IodmFyKC0tY29sb3ItYmFja2dyb3VuZC1hbHQtcmdiKSk7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDE3MmRlZyxcbiAgICAgICAgcmdiYSh2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWFsdC1yZ2IpLCAwKSA1MCUsXG4gICAgICAgIHJnYmEodmFyKC0tY29sb3ItYmFja2dyb3VuZC1hbHQtcmdiKSwgMSkgMTAwJVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBvbkV2ZW50IHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpbmtzLWhvdmVyKTtcbiAgICB9XG4gIH1cblxuICAmLnRydW5jYXRlZCB7XG4gICAgLmV4cGFuZCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuZmFjZXRzX19mYWNldCAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB6LWluZGV4OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDIuNHJlbTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2IodmFyKC0tY29sb3ItYmFja2dyb3VuZC1hbHQtcmdiKSk7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDkwZGVnLFxuICAgICAgICByZ2JhKHZhcigtLWNvbG9yLWJhY2tncm91bmQtYWx0LXJnYiksIDApIDAlLFxuICAgICAgICByZ2JhKHZhcigtLWNvbG9yLWJhY2tncm91bmQtYWx0LXJnYiksIDEpIDEwMCVcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgJi5leHBhbmRlZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi40cmVtO1xuXG4gICAgPiBkaXYge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLmV4cGFuZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuc2hyaW5rIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3R0b206IC0yLjRyZW07XG4gICAgfVxuXG4gICAgLmZhY2V0c19fZmFjZXQgJjphZnRlciB7XG4gICAgICBib3R0b206IC0yLjRyZW07XG4gICAgfVxuICB9XG59XG5cbi5zZXBhcmF0b3JzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc2VwYXJhdG9yIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5ociB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICYubm9uZSB7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG5cbiAgJi5saW5lIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICB9XG5cbiAgJi5kb3R0ZWQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4O1xuICAgIGJvcmRlci1zdHlsZTogZG90dGVkO1xuICB9XG5cbiAgJi5kYXNoZWQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4O1xuICAgIGJvcmRlci1zdHlsZTogZGFzaGVkO1xuICB9XG59XG5cbi5uby1qcyB7XG4gIC5uby1qcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaGFzLWpzIHtcbiAgLmhhcy1qcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5ib2R5IHtcbiAgJi5uby1zY3JvbGwge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmLS1sYXB0b3AtZG93biB7XG4gICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnM7XG5cbiAgJi5vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgei1pbmRleDogOTk5O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzO1xuICB9XG59XG5cbi5hYm92ZS1vdmVybGF5IHtcbiAgei1pbmRleDogMTAwMCAhaW1wb3J0YW50O1xuXG4gICYjbmF2LXdyYXBwZXIge1xuICAgIHotaW5kZXg6IDEwMDEgIWltcG9ydGFudDtcblxuICAgIC5tYWluLW5hdmlnYXRpb24ge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ib2R5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5Aa2V5ZnJhbWVzIHV4LXNoYWtlIHtcbiAgMCUsIDUwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG4gIDI1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0wLjJyZW0pO1xuICB9XG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAuMnJlbSk7XG4gIH1cbn1cblxuLnV4LXNoYWtlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGFuaW1hdGlvbjogdXgtc2hha2UgMC4ycyAyIGVhc2Utb3V0O1xufVxuXG5AaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gIC5hbGlnbm1lbnQtaG9yaXpvbnRhbC1tb2JpbGUtLWxlZnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgYSB7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgfVxuXG4gIC5hbGlnbm1lbnQtaG9yaXpvbnRhbC1tb2JpbGUtLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAuc29jaWFsLWFjY291bnRzIHVsIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC5hbGlnbm1lbnQtaG9yaXpvbnRhbC1tb2JpbGUtLXJpZ2h0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcblxuICAgIC5zb2NpYWwtYWNjb3VudHMgdWwge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgIH1cbiAgfVxufVxuXG5cbkBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAuYWxpZ25tZW50LWhvcml6b250YWwtLWxlZnQge1xuICAgIGEge1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICB9XG4gIH1cblxuICAuYWxpZ25tZW50LWhvcml6b250YWwtLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAuc29jaWFsLWFjY291bnRzIHVsIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC5hbGlnbm1lbnQtaG9yaXpvbnRhbC0tcmlnaHQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXG4gICAgbG9jYWxpemF0aW9uLWZvcm0ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC40cmVtO1xuICAgIH1cblxuICAgIC5zb2NpYWwtYWNjb3VudHMgdWwge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgIH1cbiAgfVxufVxuXG4uc2xpZGVyLWVuYWJsZWQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufSIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjIyBVVElMSVRJRVM6IElNQUdFXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uaW1nLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDA7XG5cbiAgJi0tbm8taW5kZXgge1xuICAgIEBleHRlbmQgLmltZy1hYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAwO1xuICB9XG5cbiAgJi0tbG9nbyB7XG4gICAgQGV4dGVuZCAuaW1nLWFic29sdXRlO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgd2lkdGg6IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbn1cblxuLmltZy1wbGFjZWhvbGRlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjMxLCAyMjksIDIyMCwgMC40OCk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgJi5zdGlja3ktYWRkLXRvLWNhcnRfX2ltYWdlIHtcbiAgICB3aWR0aDogMTByZW07XG4gICAgaGVpZ2h0OiAxMHJlbTtcbiAgICBtYXJnaW46IDAgMC44cmVtIDAgMDtcbiAgfVxufVxuXG5maWd1cmUge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICA+IGRpdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gIC5pbWctcGxhY2Vob2xkZXIsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvLFxuICBtb2RlbC12aWV3ZXIge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG5cbiAgLmltZy1wbGFjZWhvbGRlcixcbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyxcbiAgbW9kZWwtdmlld2VyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8sXG4gIG1vZGVsLXZpZXdlciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJi5zdHlsZS0tbm9fcGFkZGluZyB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxufVxuXG4uZmlndXJlIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJi0tZGVmYXVsdCB7XG4gICAgdmlkZW8sXG4gICAgaW1nOm5vdCguZmlndXJlLS12aWRlb19fZXh0ZXJuYWwtcG9zdGVyLWltYWdlKSxcbiAgICBzdmcge1xuICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuY2FyZCAmIHtcbiAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZmlndXJlLS1tb2RlbCB7XG4gICAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICB9XG5cbiAgICAuaWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICB9XG5cbiAgJi0tdmlkZW8sXG4gICYtLWV4dGVybmFsX3ZpZGVvIHtcbiAgICBAZXh0ZW5kIC5maWd1cmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblxuICAgICZfX3Bvc3RlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IDAuNHM7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICB3aWR0aDogNi40cmVtO1xuICAgICAgICBoZWlnaHQ6IDYuNHJlbTtcbiAgICAgICAgZm9udC1zaXplOiA2LjRyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWJvZHkpICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBcIkZJTExcIiAxLCBcIndnaHRcIiA0MDAsIFwiR1JBRFwiIDAsIFwib3BzelwiIDQ4O1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjRzO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBvbkV2ZW50IHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1pY29uLWhvdmVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhpZGRlbiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1zcXVhcmUge1xuICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICB9XG5cbiAgJi0tbGFuZHNjYXBlIHtcbiAgICBhc3BlY3QtcmF0aW86IDE2Lzk7XG4gIH1cblxuICAmLS1wb3J0cmFpdCB7XG4gICAgYXNwZWN0LXJhdGlvOiAyLzM7XG4gIH1cblxuICAmLS13aWRlc2NyZWVuIHtcbiAgICAvL3RoaXMgYXNwZWN0IHJhdGlvIGlzbid0IGdyZWF0IG9uIG1vYmlsZVxuICAgIC8vd2UgbmVlZCB0byBzdGF5IG9waW5pb25hdGVkIG9uIHRoaXNcbiAgICBhc3BlY3QtcmF0aW86IDE2Lzk7XG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICBhc3BlY3QtcmF0aW86IDIuMzUvMTtcbiAgICB9XG4gIH1cblxuICAmLS1iYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWFsdCk7XG4gIH1cblxuICAmLS12aWRlb19fcG9zdGVyLFxuICAmLS1vdmVybGF5IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gIH1cbn1cblxuLmZpZ3VyZSB7XG4gICY6bm90KC5hc3BlY3QtcmF0aW8tLWRlZmF1bHQpIHtcbiAgICAub2JqZWN0LWZpdC0tY292ZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi5pbWFnZSB7XG4gICYtLWNpcmNsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgfVxuXG4gICYtLXJvdW5kZWRfY29ybmVycyB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG4uaWNvbiB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcywgdHJhbnNmb3JtIDAuMnM7XG4gIGZvbnQtZmFtaWx5OiBcIk1hdGVyaWFsIFN5bWJvbHMgT3V0bGluZWRcIjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwibGlnYVwiO1xuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogXCJGSUxMXCIgMCwgXCJ3Z2h0XCIgNDAwLCBcIkdSQURcIiAwLCBcIm9wc3pcIiA0ODtcbiAgd2lkdGg6IDIuNHJlbTtcbiAgaGVpZ2h0OiAyLjRyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1pY29uKTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLm5vLWpzICYsXG4gICYubG9hZGVkIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbmRldGFpbHMge1xuICAuaWNvbiB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cblxuICBAaW5jbHVkZSBvbkV2ZW50IHtcbiAgICAuaWNvbiB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cbn1cblxuaW1nLnZhcmlhbnQtaW1hZ2Uge1xuICB6LWluZGV4OiAyO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgLjNzIGxpbmVhciwgdmlzaWJpbGl0eSAwcyAwcyBsaW5lYXI7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgbGluZWFyLCB2aXNpYmlsaXR5IDBzIDBzIGxpbmVhcjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgbGluZWFyLCB2aXNpYmlsaXR5IDBzIDBzIGxpbmVhcjtcblxuICAmLmhpZGRlbiB7XG4gICAgei1pbmRleDogMTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgLjZzIGxpbmVhciwgdmlzaWJpbGl0eSAwcyAuNnMgbGluZWFyO1xuICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAuNnMgbGluZWFyLCB2aXNpYmlsaXR5IDBzIC42cyBsaW5lYXI7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNnMgbGluZWFyLCB2aXNpYmlsaXR5IDBzIC42cyBsaW5lYXI7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi50ZXh0IHtcbiAgJi0tdXBwZXJjYXNlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgJi0tY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmLS1saWdodCB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuXG4gICYtLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgJi0tcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgJi0tbm93cmFwIHtcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuICB9XG59XG4iLCIuYXNwZWN0LXJhdGlvIHtcbiAgJi0tZGVmYXVsdCB7XG4gICAgYXNwZWN0LXJhdGlvOiBhdXRvO1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG5cbiAgICA+IHZpZGVvLFxuICAgID4gaW1nOm5vdCguZmlndXJlLS12aWRlb19fZXh0ZXJuYWwtcG9zdGVyLWltYWdlKSxcbiAgICA+IHN2ZyB7XG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgICYuZmlndXJlLS12aWRlby1leHRlcm5hbCB7XG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5maWd1cmUtLW1vZGVsIHtcbiAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgfVxuICB9XG5cbiAgJi0tbGFuZHNjYXBlIHtcbiAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgIGFzcGVjdC1yYXRpbzogMTYvOTtcbiAgfVxuXG4gICYtLXBvcnRyYWl0IHtcbiAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgIGFzcGVjdC1yYXRpbzogMi8zO1xuICB9XG5cbiAgJi0tc3F1YXJlIHtcbiAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICB9XG5cbiAgJi0tdWx0cmF3aWRlIHtcbiAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgIGFzcGVjdC1yYXRpbzogNC8xO1xuICB9XG5cbiAgJi0tbWVnYXdpZGUge1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgYXNwZWN0LXJhdGlvOiA2LjQvMTtcbiAgfVxuXG4gICYtLXdpZGVzY3JlZW4ge1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgYXNwZWN0LXJhdGlvOiAyLjM1LzE7XG4gIH1cblxuICAmLS1jaXJjbGUge1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgYXNwZWN0LXJhdGlvOiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuXG4gICZfX21vYmlsZSB7XG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgJi0tZGVmYXVsdCB7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcblxuICAgICAgICA+IHZpZGVvLFxuICAgICAgICA+IGltZzpub3QoLmZpZ3VyZS0tdmlkZW9fX2V4dGVybmFsLXBvc3Rlci1pbWFnZSksXG4gICAgICAgID4gc3ZnIHtcbiAgICAgICAgICAmOm5vdCguYmFubmVyX19iYWNrZ3JvdW5kKSB7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gdmlkZW8ge1xuICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTYgLyA5O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5maWd1cmUtLXZpZGVvLWV4dGVybmFsIHtcbiAgICAgICAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLS1zcXVhcmUge1xuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICAgIH1cblxuICAgICAgJi0tbGFuZHNjYXBlIHtcbiAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxNi85O1xuICAgICAgfVxuXG4gICAgICAmLS1wb3J0cmFpdCB7XG4gICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogOS8xNjtcbiAgICAgIH1cblxuICAgICAgJi0td2lkZXNjcmVlbiB7XG4gICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMi4zNS8xO1xuICAgICAgfVxuXG4gICAgICAmLS11bHRyYXdpZGUge1xuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgICBhc3BlY3QtcmF0aW86IDQvMTtcbiAgICAgIH1cblxuICAgICAgJi0tbWVnYXdpZGUge1xuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgICBhc3BlY3QtcmF0aW86IDYuNC8xO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ub2JqZWN0LWZpdCB7XG4gICYtLWNvdmVyIHtcbiAgICBvYmplY3QtZml0OiBjb3ZlciAhaW1wb3J0YW50O1xuICB9XG5cbiAgJi0tY29udGFpbiB7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbiAhaW1wb3J0YW50O1xuICB9XG5cbiAgJi0tZGVmYXVsdCB7XG4gICAgb2JqZWN0LWZpdDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIuYWNjb3JkaW9uIHtcbiAgZGV0YWlscyB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBtYXJnaW46IDAgMCAxLjZyZW0gMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWNhcmQpO1xuXG4gICAgJjpsYXN0LWNoaWxkLFxuICAgIC5tYWluLXByb2R1Y3QgJiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBwYWRkaW5nOiAxLjZyZW0gMi40cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3V0bGluZS1zdHlsZTogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgb25FdmVudCB7XG4gICAgICAgIG91dGxpbmUtc3R5bGU6IG5vbmU7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlua3MtaG92ZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWljb24taG92ZXIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBwYWRkaW5nOiAwIDMuMnJlbSAwIDA7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjEyNTtcblxuICAgICAgICAmOm5vdChbY2xhc3NdKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG5cbiAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcblxuICAgICAgICAgKyBwIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNnJlbTtcbiAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJltvcGVuXSBzdW1tYXJ5IHtcbiAgICAgIHNwYW46bGFzdC1jaGlsZCB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMCAyLjRyZW0gMi40cmVtIDIuNHJlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBhICsgLnd5c2l3eWcsXG4gICAgICAud3lzaXd5ZyArIC53eXNpd3lnLFxuICAgICAgLnd5c2l3eWcgKyBhIHtcbiAgICAgICAgbWFyZ2luOiAxLjZyZW0gMCAwIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZmlndXJlIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW46IDAgMCAxLjZyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMi40cmVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW46IDEuNnJlbSAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICAgIG1hcmdpbjogMi40cmVtIDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAxLjZyZW0gMCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICAgIG1hcmdpbjogMi40cmVtIDAgMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgJi5oYXMtY29udGVudCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDJmcjtcbiAgICAgICAgZ3JpZC1nYXA6IDYuNHJlbTtcblxuICAgICAgICAmLmNvbnRlbnQtbGVmdCB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyZnIgMWZyO1xuXG4gICAgICAgICAgLmFjY29yZGlvbl9fdGFicyB7XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuYWNjb3JkaW9uX19jb250ZW50IHtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5oYXMtZnVsbHdpZHRoKSB7XG4gICAgICAgICAgLmdyaWQtY29udGVudF9faGVhZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgICAgICYtLXJpZ2h0IHtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1jZW50ZXIge1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhhcy1mdWxsd2lkdGgge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgZ3JpZC1nYXA6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgLnN0aWNreSB7XG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgdG9wOiAxMnJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5icmVhZGNydW1icyB7XG4gIG5hdiB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbiAgb2wge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDFyZW07XG4gICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgLyogSUUgYW5kIEVkZ2UgKi9cbiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7IC8qIEZpcmVmb3ggKi9cbiAgICB6LWluZGV4OiAxO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB3aWR0aDogMDsgLyogUmVtb3ZlIHNjcm9sbGJhciBzcGFjZSAqL1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IC8qIE9wdGlvbmFsOiBqdXN0IG1ha2Ugc2Nyb2xsYmFyIGludmlzaWJsZSAqL1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgYSxcbiAgICAgIHAge1xuICAgICAgICBtYXgtd2lkdGg6IDgwcmVtO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICBtYXgtd2lkdGg6IDIwcmVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGEsXG4gICAgICAgIHAge1xuICAgICAgICAgIG1heC13aWR0aDogMjByZW07XG5cbiAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzByZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5zZWN0aW9uX193cmFwcGVyIHtcbiAgICBuYXYge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5jb250YWluZXIge1xuICAgICYuc2VjdGlvbl9fd3JhcHBlci0tYmFja2dyb3VuZCB7XG4gICAgICBwYWRkaW5nOiAxLjZyZW07XG5cbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICBwYWRkaW5nOiAyLjRyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbm1lbnQtaG9yaXpvbnRhbC0tY2VudGVyIHtcbiAgICAgIG9sIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbm1lbnQtaG9yaXpvbnRhbC0tcmlnaHQge1xuICAgICAgb2wge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICYuYWxpZ25tZW50LWhvcml6b250YWwtbW9iaWxlLS1sZWZ0IHtcbiAgICAgICAgb2wge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmFsaWdubWVudC1ob3Jpem9udGFsLW1vYmlsZS0tY2VudGVyIHtcbiAgICAgICAgb2wge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuYWxpZ25tZW50LWhvcml6b250YWwtbW9iaWxlLS1yaWdodCB7XG4gICAgICAgIG9sIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5zaG9waWZ5LXNlY3Rpb24ge1xuICAgIG9sIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMjIENPTVBPTkVOVDogQlVUVE9OXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYnV0dG9uLWZhbWlseSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJ1dHRvbi13ZWlnaHQpO1xuICBmb250LXN0eWxlOiB2YXIoLS1mb250LWJ1dHRvbi1zdHlsZSk7XG4gIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1mb250LWJ1dHRvbi10cmFuc2Zvcm0pO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gIGdhcDogMC44cmVtO1xuICBmbGV4LXNocmluazogMDtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyOiAwLjFyZW0gc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWJ1dHRvbi1wcmltYXJ5KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gIHBhZGRpbmc6IDEuMnJlbSAycmVtO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1idXR0b24tcHJpbWFyeSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJ1dHRvbi1wcmltYXJ5KTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycywgYmFja2dyb3VuZC1jb2xvciAwLjJzLCBib3JkZXItY29sb3IgMC4ycztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXG4gIC5pY29uIHtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICB3aWR0aDogMS42cmVtO1xuICAgIGhlaWdodDogMS42cmVtO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG5cbiAgQGluY2x1ZGUgb25FdmVudCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYnV0dG9uLXByaW1hcnktaG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJ1dHRvbi1wcmltYXJ5LWhvdmVyKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1idXR0b24tcHJpbWFyeS1ob3Zlcik7XG5cbiAgICAuaWNvbiB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAmLS1kZWZhdWx0LFxuICAmLS1wcmltYXJ5IHtcbiAgICBAZXh0ZW5kIC5idXR0b247IC8vbmVjZXNzYXJ5IHRvIGhhbmRsZSBjYXNlcyB3aGVyZSBwbGFpbiBidXR0b24gaXMgdXNlZFxuICB9XG5cbiAgJi0taW52ZXJ0ZWQsXG4gICYtLXNlY29uZGFyeSB7XG4gICAgQGV4dGVuZCAuYnV0dG9uO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1idXR0b24tc2Vjb25kYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1idXR0b24tc2Vjb25kYXJ5KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWJ1dHRvbi1zZWNvbmRhcnkpO1xuXG4gICAgQGluY2x1ZGUgb25FdmVudCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItYnV0dG9uLXNlY29uZGFyeS1ob3Zlcik7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYnV0dG9uLXNlY29uZGFyeS1ob3ZlcikgIWltcG9ydGFudDsgLy9pbXBvcnRhbnQgaXMgYWRkZWQgZm9yIHRoZSBzaG9waWZ5IHBheW1lbnQgYnV0dG9uIG92ZXJyaWRlXG4gICAgfVxuICB9XG5cbiAgJi0teHMge1xuICAgIEBleHRlbmQgLmJ1dHRvbjtcbiAgICBAZXh0ZW5kIC50ZXh0LXhzO1xuICAgIHBhZGRpbmc6IDAuNHJlbSAwLjhyZW07XG5cbiAgICAmLWludmVydGVkLFxuICAgICYtc2Vjb25kYXJ5IHtcbiAgICAgIEBleHRlbmQgLmJ1dHRvbi0teHM7XG4gICAgICBAZXh0ZW5kIC5idXR0b24tLXNlY29uZGFyeTtcbiAgICB9XG4gIH1cblxuICAmLS1zbSB7XG4gICAgQGV4dGVuZCAuYnV0dG9uO1xuICAgIEBleHRlbmQgLnRleHQtc207XG4gICAgcGFkZGluZzogMC44cmVtIDEuNnJlbTtcblxuICAgICYtaW52ZXJ0ZWQsXG4gICAgJi1zZWNvbmRhcnkge1xuICAgICAgQGV4dGVuZCAuYnV0dG9uLS1zbTtcbiAgICAgIEBleHRlbmQgLmJ1dHRvbi0tc2Vjb25kYXJ5O1xuICAgIH1cbiAgfVxuXG4gICYtLWxnIHtcbiAgICBAZXh0ZW5kIC5idXR0b247XG4gICAgQGV4dGVuZCAudGV4dC1sZztcblxuICAgICYtaW52ZXJ0ZWQsXG4gICAgJi1zZWNvbmRhcnkge1xuICAgICAgQGV4dGVuZCAuYnV0dG9uLS1sZztcbiAgICAgIEBleHRlbmQgLmJ1dHRvbi0tc2Vjb25kYXJ5O1xuICAgIH1cbiAgfVxuXG4gICYtLXhsIHtcbiAgICBAZXh0ZW5kIC5idXR0b247XG4gICAgQGV4dGVuZCAudGV4dC14bDtcblxuICAgICYtaW52ZXJ0ZWQsXG4gICAgJi1zZWNvbmRhcnkge1xuICAgICAgQGV4dGVuZCAuYnV0dG9uLS14bDtcbiAgICAgIEBleHRlbmQgLmJ1dHRvbi0tc2Vjb25kYXJ5O1xuICAgIH1cbiAgfVxuXG4gICYtLXBsYWluIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1idXR0b24tZmFtaWx5KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC1idXR0b24td2VpZ2h0KTtcbiAgICBmb250LXN0eWxlOiB2YXIoLS1mb250LWJ1dHRvbi1zdHlsZSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHZhcigtLWZvbnQtYnV0dG9uLXRyYW5zZm9ybSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICAgIGdhcDogMC40cmVtO1xuICAgIHBhZGRpbmc6IDAgMCAwLjRyZW0gMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBtYXJnaW46IDA7XG5cbiAgICAmLXNtIHtcbiAgICAgIEBleHRlbmQgLmJ1dHRvbi0tcGxhaW47XG4gICAgICBAZXh0ZW5kIC50ZXh0LXNtO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmLXhzIHtcbiAgICAgIEBleHRlbmQgLmJ1dHRvbi0tcGxhaW47XG4gICAgICBAZXh0ZW5kIC50ZXh0LXhzO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkLFxuICAmW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIHtcbiAgICBAZXh0ZW5kIC5idXR0b247XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAuY2FydC1pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi0tY2xvc2Uge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1pY29uLWhvdmVyKTtcbiAgICB3aWR0aDogMS4ycmVtO1xuICAgIGhlaWdodDogMS4ycmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWljb24taG92ZXIpO1xuICAgIHRyYW5zaXRpb246IDAuNHM7XG5cbiAgICBAaW5jbHVkZSBvbkV2ZW50IHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJ1dHRvbi1wcmltYXJ5LWhvdmVyKSAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1idXR0b24tcHJpbWFyeS1ob3ZlcikgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAmLS1mdWxsd2lkdGgge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJi0tYWRkLXRvLWNhcnQge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5zY3JvbGwtYXRjIHtcbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+ICoge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG5cbiAgICAubG9hZGluZy1pY29uLFxuICAgIC5jYXJ0LWljb24ge1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzLCB0cmFuc2Zvcm0gMC4ycztcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgaGVpZ2h0OiAxLjZyZW07XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAmLS1pbnZlcnRlZCxcbiAgICAmLS1zZWNvbmRhcnkge1xuICAgICAgQGV4dGVuZCAuYnV0dG9uLS1hZGQtdG8tY2FydDtcbiAgICAgIEBleHRlbmQgLmJ1dHRvbi0tc2Vjb25kYXJ5O1xuICAgIH1cbiAgfVxuXG4gICYtLWNhcmQsXG4gICYtLWNhcmQ6ZGlzYWJsZWQge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJ1dHRvbi1mYW1pbHkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJ1dHRvbi13ZWlnaHQpO1xuICAgIGZvbnQtc3R5bGU6IHZhcigtLWZvbnQtYnV0dG9uLXN0eWxlKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tZm9udC1idXR0b24tdHJhbnNmb3JtKTtcbiAgICBwYWRkaW5nOiAwLjhyZW0gMS4ycmVtO1xuICAgIG1pbi13aWR0aDogNC44cmVtO1xuXG4gICAgc3ZnIHtcbiAgICAgIGhlaWdodDogMS42cmVtO1xuXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgICY6bm90KC5jYXJ0LWljb24pIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuY2FydC1pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICBoZWlnaHQ6IDEuNnJlbTtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmljb24ge1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzLCB0cmFuc2Zvcm0gMC4ycztcbiAgICB9XG4gIH1cblxuICAmLS12aWV3LXByb2R1Y3Qge1xuICAgIHBhZGRpbmc6IDAuOHJlbSAxLjJyZW07XG4gICAgbWluLXdpZHRoOiA0LjhyZW07XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG5cbiAgICAmX190ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICBoZWlnaHQ6IDEuNnJlbTtcbiAgICAgIHdpZHRoOiAxLjZyZW07XG4gICAgfVxuICB9XG5cbiAgJi0teHIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJltkYXRhLXNob3BpZnkteHItaGlkZGVuXSB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgJltkYXRhLXNob3BpZnkteHItaGlkZGVuXSB7XG4gICAgICAuc2hvcGlmeS1kZXNpZ24tbW9kZSAmIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1waWxsIHtcbiAgICBAZXh0ZW5kIC5idXR0b24tLXNlY29uZGFyeTtcbiAgICBAZXh0ZW5kIC50ZXh0LXhzO1xuICAgIHBhZGRpbmc6IDAuOHJlbSAxLjJyZW07XG5cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICBwYWRkaW5nOiAwLjhyZW07XG4gICAgfVxuXG4gICAgJi5pcy1zZWxlY3RlZCxcbiAgICAmOmhhcyhpbnB1dDpjaGVja2VkKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIpO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtYnV0dG9uLXNlY29uZGFyeS1ob3Zlcik7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKTtcbiAgICB9XG5cbiAgICAmLmlzLWRpc2FibGVkLFxuICAgICY6aGFzKGlucHV0OmRpc2FibGVkKSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgIG9wYWNpdHk6IC41O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1pY29uX3JpZ2h0IHtcbiAgICAuaWNvbiB7XG4gICAgICBvcmRlcjogMjtcbiAgICB9XG4gIH1cblxuICAmLS1iYWNrIHtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHZhcigtLWZvbnQtYnV0dG9uLXRyYW5zZm9ybSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgcGFkZGluZzogMDtcbiAgICB0cmFuc2l0aW9uOiAwLjI1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAuaWNvbiB7XG4gICAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICAgIGhlaWdodDogMi40cmVtO1xuICAgICAgd2lkdGg6IDIuNHJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBvbkV2ZW50IHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpbmtzLWhvdmVyKTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gICYtLWNpcmNsZSB7XG4gICAgQGV4dGVuZCAuYnV0dG9uO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgQGV4dGVuZCAuYXNwZWN0LXJhdGlvLS1jaXJjbGU7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1nYXApIC8gMik7XG4gICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgfVxufVxuXG5hLmNhcmRfX2NvbnRlbnQge1xuICBAaW5jbHVkZSBvbkV2ZW50IHtcbiAgICAuYnV0dG9uIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYnV0dG9uLXNlY29uZGFyeS1ob3Zlcik7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKTtcblxuICAgICAgLmJ1dHRvbi0tdmlldy1wcm9kdWN0X190ZXh0IHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtYnV0dG9uLXByaW1hcnktaG92ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5hLmJhbm5lcl9fd3JhcHBlciB7XG4gIEBpbmNsdWRlIG9uRXZlbnQge1xuICAgIC5idXR0b24ge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1idXR0b24tcHJpbWFyeS1ob3Zlcik7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1idXR0b24tcHJpbWFyeS1ob3Zlcik7XG5cbiAgICAgIC5idXR0b25fX3RleHQge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1idXR0b24tcHJpbWFyeS1ob3Zlcik7XG4gICAgICB9XG5cbiAgICAgICYtLWludmVydGVkLFxuICAgICAgJi0tc2Vjb25kYXJ5IHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIpO1xuXG4gICAgICAgIC5idXR0b25fX3RleHQge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5zaG9waWZ5LXBheW1lbnQtYnV0dG9uIHtcbiAgbWFyZ2luOiAxLjJyZW0gMCAwIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAubm8tanMgJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIGJ1dHRvbiB7XG4gICAgQGV4dGVuZCAuYnV0dG9uO1xuICAgIEBleHRlbmQgLmJ1dHRvbi0tYWRkLXRvLWNhcnQtLXNlY29uZGFyeTtcbiAgICBtaW4taGVpZ2h0OiA0LjJyZW07XG4gICAgaGVpZ2h0OiA0LjJyZW07XG5cbiAgICAmLnNob3BpZnktcGF5bWVudC1idXR0b25fX21vcmUtb3B0aW9ucyB7XG4gICAgICBtYXJnaW46IDEuMnJlbSAwIDAgMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4ubG9hZGluZy1pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmJ1dHRvbnMge1xuICAmX193cmFwcGVyIHtcbiAgICBncmlkLWdhcDogY2FsYyh2YXIoLS1nYXApIC8gMik7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICYtLWJlbG93IHtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tZ2FwKSAvIDIpO1xuICAgIH1cblxuICAgICYtLWNlbnRlciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmLS1yaWdodCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgICYtLWZ1bGx3aWR0aCB7XG4gICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIGE6bm90KC5idXR0b24tLXBsYWluKSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICB9XG4gIH1cbn1cblxuLnN3YXRjaCB7XG4gICY6aGFzKGlucHV0OmNoZWNrZWQpIHtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAwLjJyZW0gdmFyKC0tY29sb3ItYm9yZGVyLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgJjpoYXMoaW5wdXQ6ZGlzYWJsZWQpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogLTUwJTtcbiAgICAgIGhlaWdodDogMC4xcmVtO1xuICAgICAgd2lkdGg6IDIwMCU7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLWJ1dHRvbi1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBvbkV2ZW50IHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWJ1dHRvbi1wcmltYXJ5KTtcbiAgICB9XG4gIH1cblxuICAmLS1pbWFnZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG5cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICB9XG5cbiAgICAmOmhhcyhpbnB1dDpkaXNhYmxlZCkge1xuICAgICAgb3BhY2l0eTogMC41O1xuXG4gICAgICAuaW1hZ2Vfc3dhdGNoLS10ZXh0X3ZhbHVlIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyICFpbXBvcnRhbnQ7XG4gICAgICBncmlkLXJvdzogMTtcbiAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgIH1cbiAgfVxuXG4gICYtLWNvbG9yIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgfVxufVxuXG4uYWNjZWxlcmF0ZWQtY2hlY2tvdXQtYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufSIsIi5oZWFkaW5nIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgJi5jZW50ZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLmdyaWQtY29udGVudF9faGVhZGVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmljb24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICYucmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2Jsb2NrLFxuICAmX19zZWN0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgfVxuXG4gICAgKyBkaXYge1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgPiAqIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKTpub3QoLnRleHQtLWNhcHRpb24pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS42cmVtO1xuICAgICAgfVxuXG4gICAgICAmLnRleHQtLWNhcHRpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fYmxvY2ssXG4gICZfX3NlY3Rpb24ge1xuICAgID4gKiB7XG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6bm90KC50ZXh0LS1jYXB0aW9uKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNnJlbTtcbiAgICAgIH1cblxuICAgICAgJi50ZXh0LS1jYXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuc2hvcGlmeS1zZWN0aW9uIHtcbiAgICAuZ3JpZC1jb250ZW50X19oZWFkZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjIyBDT01QT05FTlQ6IFBST0RVQ1QgSUNPTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5pY29ucy1wcm9kdWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDAuOHJlbTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICZfX2ljb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmbGV4OiAxO1xuICB9XG5cbiAgJl9fZGVzY3JpcHRpb24ge1xuICAgIGh5cGhlbnM6IGF1dG87XG5cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgc3Ryb25nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLm5hdiB7XG4gIC5mZWF0dXJlcy1iYXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBmbGV4LXNocmluazogMDtcblxuICAgICZfX2lubmVyLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICA+IC5jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWJvZHkpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjRzO1xuICAgIG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLXdpZHRoKTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1heC1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogMCAxcmVtIDRyZW0gcmdiYSg1MiwgNjQsIDg0LCAwLjEyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgd2lkdGg6IDA7IC8qIFJlbW92ZSBzY3JvbGxiYXIgc3BhY2UgKi9cbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyAvKiBPcHRpb25hbDoganVzdCBtYWtlIHNjcm9sbGJhciBpbnZpc2libGUgKi9cbiAgICB9XG4gIH1cblxuICAmX19tYWluLW1lbnUge1xuICAgICYtLXNpbXBsZV9kcm9wZG93biB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQpO1xuXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC1nYXA6IDMuNnJlbTtcbiAgICAgICAgcGFkZGluZzogMi40cmVtIDQuOHJlbSAyLjRyZW0gMy42cmVtOyAvLyBvZmZzZXQgZm9yIGNhcnJhdHNcblxuICAgICAgICB1bCB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG5cbiAgICAgICAgICB1bCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDEuNnJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmF2X19tYWluLW1lbnUtY29sdW1uLS1iYW5uZXIge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xuXG4gICAgICAgICAgLmJhbm5lcl9fd3JhcHBlciA+IGRpdiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyLjRyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudF9fb3V0ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAmX19tYWluLW1lbnUtbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiA2LjRyZW07XG4gICAgcGFkZGluZzogMCAxLjZyZW0gMCAyLjRyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpbmtzKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDApO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zMnM7XG5cbiAgICAmLS1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1hbHQpO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlua3MtaG92ZXIpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJi0tYmFzaWMge1xuICAgICAgQGV4dGVuZCAubmF2X19tYWluLW1lbnUtbGluaztcbiAgICAgIHBhZGRpbmc6IDAgMi40cmVtO1xuICAgIH1cblxuICAgICYtLXNpbXBsZSB7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgbWFyZ2luOiAxLjZyZW0gMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlua3MpO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyMDNhXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAtMC4xMnJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4yNXM7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG9uRXZlbnQge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saW5rcy1ob3Zlcik7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpbmtzLWhvdmVyKTtcbiAgICAgICAgICBsZWZ0OiAwLjJyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1heC1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAvKiBGaXJlZm94ICovXG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyAvKiBJRSAxMCsgKi9cblxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgIHdpZHRoOiAyMDAlO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXM7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IC8qIENocm9tZS9TYWZhcmkvV2Via2l0ICovXG4gICAgICB3aWR0aDogMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX21haW4tbWVudSB7XG4gICAgd2lkdGg6IDUwJTtcblxuICAgICYtLW9uZV9sZXZlbF9tZWdhbWVudSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgcGFkZGluZzogdmFyKC0tZ2FwKTtcbiAgICAgIGdyaWQtZ2FwOiB2YXIoLS1nYXApO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcblxuICAgICAgLm5hdl9fbWFpbi1tZW51LWNvbHVtbiB7XG4gICAgICAgIG1heC13aWR0aDogMjRyZW07XG5cbiAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyAvKiBDaHJvbWUvU2FmYXJpL1dlYmtpdCAqL1xuICAgICAgICAgIHdpZHRoOiAwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICB9XG5cbiAgICAgIC5uYXZfX21haW4tbWVudS1jb2x1bW4tLWJhbm5lciB7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZCwgJHVudGlsOiB4bCkge1xuICAgICAgICAgIGdyaWQtcm93OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtY29sdW1uLS1iYW5uZXIge1xuICAgICAgcGFkZGluZzogdmFyKC0tZ2FwKSB2YXIoLS1nYXApIHZhcigtLWdhcCkgMDtcbiAgICAgIG1pbi13aWR0aDogMzZyZW07XG4gICAgICBtaW4taGVpZ2h0OiAzNnJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQpO1xuICAgIH1cblxuICAgICYtLW11bHRpX2xldmVsX21lZ2FtZW51IHtcbiAgICAgIHdpZHRoOiAyNSU7XG4gICAgICBwYWRkaW5nOiA0cmVtO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICB9XG5cbiAgICAmLWNvbHVtbiB7XG4gICAgICB1bCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICBtYXJnaW46IDEuNnJlbSAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saW5rcyk7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcXDIwM2FcIjtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICB0b3A6IC0wLjEycmVtO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBvbkV2ZW50IHtcbiAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlua3MtaG92ZXIpO1xuXG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saW5rcy1ob3Zlcik7XG4gICAgICAgICAgICAgICAgbGVmdDogMC4ycmVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbWFpbi1tZW51LS1tdWx0aV9sZXZlbF9tZWdhbWVudSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ib2R5KTtcbiAgfVxuXG4gICZfX21haW4tbWVudS0tb25lX2xldmVsX21lZ2FtZW51IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7IC8qIEZpcmVmb3ggKi9cbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IC8qIElFIDEwKyAqL1xuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IC8qIENocm9tZS9TYWZhcmkvV2Via2l0ICovXG4gICAgICB3aWR0aDogMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX21haW4tbWVudS0tb25lX2xldmVsX21lZ2FtZW51LFxuICAmX19tYWluLW1lbnUtLW11bHRpX2xldmVsX21lZ2FtZW51IHtcbiAgICB1bCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRldGFpbHMge1xuICAgICAgICAgIHN1bW1hcnkge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm5hdl9fc2Vjb25kYXJ5LW1lbnVfX2l0ZW0ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMjUlO1xuICAgICAgICAgICAgcGFkZGluZzogNHJlbTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWFsdCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tb25lLWxldmVsIHtcbiAgICAubmF2X19jb250ZW50IHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7IC8qIEZpcmVmb3ggKi9cbiAgICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgLyogSUUgMTArICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IC8qIENocm9tZS9TYWZhcmkvV2Via2l0ICovXG4gICAgICAgIHdpZHRoOiAwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fc2Vjb25kYXJ5LW1lbnUge1xuICAgIHdpZHRoOiA3NSU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWFsdCk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICY6bm90KDpoYXMoLm5hdl9fc2Vjb25kYXJ5LW1lbnVfX2l0ZW0tLXZpc2libGUpKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAuYnV0dG9uLS1zbS1zZWNvbmRhcnkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMS42cmVtO1xuICAgICAgfVxuXG4gICAgICAubmF2X19tYWluLW1lbnUtbGluay0tYmFzaWMge1xuICAgICAgICBwYWRkaW5nOiAwIDEuNnJlbTtcbiAgICAgIH1cblxuICAgICAgLm5hdl9fbW9iaWxlLWRyb3Bkb3duLXdyYXBwZXItLW9wZW4ge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMS4ycmVtO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcblxuICAgICAgICAubmF2X19tYWluLW1lbnUtbGluay0tYmFzaWMge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMi40cmVtO1xuICAgICAgICAgIGhlaWdodDogNC44cmVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2xvc2Uge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saW5rcyk7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgdG9wOiAwO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHBhZGRpbmc6IDJyZW0gMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ib2R5KTtcblxuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyAwcywgb3BhY2l0eSAwLjNzIDBzO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAvL2hlaWdodDogMTAwJTtcbiAgICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsgLyogRmlyZWZveCAqL1xuICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyAvKiBJRSAxMCsgKi9cblxuICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgLyogQ2hyb21lL1NhZmFyaS9XZWJraXQgKi9cbiAgICAgICAgd2lkdGg6IDBweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWdhcCkgLyAyKTtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYm9keSk7XG5cbiAgICAgICAgLm5hdl9fc2Vjb25kYXJ5LW5hdmlnYXRpb24taXRlbS1jb250ZW50IHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiA0LjhyZW07XG4gICAgICB9XG5cbiAgICAgICYtLXZpc2libGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgJi0tYW5pbWF0ZS1pbiB7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgMC4xcywgb3BhY2l0eSAwLjNzIDAuMXM7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICAgIC5uYXZfX3NlY29uZGFyeS1uYXZpZ2F0aW9uLWl0ZW0tY29udGVudCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3NlY29uZGFyeS1uYXZpZ2F0aW9uLWl0ZW0tY29udGVudCB7XG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuICAgICAgZ3JpZC1nYXA6IDRyZW07XG4gICAgICAvL2hlaWdodDogMTAwJTtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7IC8qIEZpcmVmb3ggKi9cbiAgICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgLyogSW50ZXJuZXQgRXhwbG9yZXIgMTArICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXG4gICAgICAmLmJ1dHRvbi0tZnVsbHdpZHRoIHtcbiAgICAgICAgbWFyZ2luOiAxLjZyZW0gMCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICAgIG1hcmdpbjogMCAwIDIuNHJlbSAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRleHQtbGcge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgfVxuXG4gICAgLmJhbm5lcl9fd3JhcHBlciA+IGRpdiB7XG4gICAgICBwYWRkaW5nOiAyLjRyZW07XG5cbiAgICAgIC5iYW5uZXJfX2JhY2tncm91bmQge1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oaWdobGlnaHRzLWNvbHVtbiB7XG4gICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIuNHJlbTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXg6IDA7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0LWxnIHtcbiAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdWwge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgICBtYXJnaW46IDEuNnJlbSAwO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlua3MpO1xuXG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyMDNBXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAtMC4xMnJlbTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpbmtzKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgb25FdmVudCB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saW5rcy1ob3Zlcik7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgbGVmdDogMC4ycmVtO1xuICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saW5rcy1ob3Zlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fZmVhdHVyZWQtY29sdW1uIHtcbiAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMi40cmVtO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgZmxleDogMCAzMyU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBtb2JpbGUgZHJvcGRvd25zXG5cbiAgJl9fbW9iaWxlLWFjY29yZGlvbi1vcGVuZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZzogMnJlbSAxLjJyZW0gMnJlbSAxLjZyZW07XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpbmtzKTtcblxuICAgIC5uYXZfX21vYmlsZS1kcm9wZG93bi13cmFwcGVyOmZpcnN0LWNoaWxkICYge1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fbW9iaWxlLWRyb3Bkb3duLXdyYXBwZXIge1xuICAgICYtLW9wZW4ge1xuICAgICAgLm5hdl9fbW9iaWxlLWFjY29yZGlvbi1vcGVuZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saW5rcyk7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZfX3NlY29uZGFyeS1tZW51ICYge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm5hdl9fbW9iaWxlLWRyb3Bkb3duX19jb250ZW50LXdyYXBwZXIge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbW9iaWxlLWRyb3Bkb3duX19jb250ZW50LXdyYXBwZXIge1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgJi0tbW9iaWxlIHtcbiAgICAmX19pbm5lci1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDIwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNnM7XG4gICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgIH1cblxuICAgICZfX2NvbHVtbiB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cblxuICAgICYubmF2LS1zZWNvbmRhcnktbWVudS1vcGVuIHtcbiAgICAgIC5uYXYtLW1vYmlsZV9faW5uZXItY29udGFpbmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZWdhbWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAyZnI7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1hbHQpO1xuICAgICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICAgIG1heC1oZWlnaHQ6IGluaGVyaXQ7XG5cbiAgICAgICY6aGFzKC5tZWdhbWVudV9fYmFubmVyKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDJmciAxZnI7XG4gICAgICB9XG5cbiAgICAgIC5iYW5uZXJfX3dyYXBwZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zaWRlYmFyIHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWJvZHkpO1xuICAgIH1cblxuICAgICZfX3NpZGViYXIsXG4gICAgJl9fY29udGVudCxcbiAgICAmX19iYW5uZXIge1xuICAgICAgcGFkZGluZzogdmFyKC0tZ2FwKTtcblxuICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICB3aWR0aDogMDsgLyogUmVtb3ZlIHNjcm9sbGJhciBzcGFjZSAqL1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgLyogT3B0aW9uYWw6IGp1c3QgbWFrZSBzY3JvbGxiYXIgaW52aXNpYmxlICovXG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmFubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgLmZpZ3VyZS5uYXZpZ2F0aW9uLW1haW4ge1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGU6IDFmciAvIDFmcjtcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IHZhcigtLWdhcCkgdmFyKC0tZ2FwKSAwIHZhcigtLWdhcCk7XG4gICAgfVxuXG4gICAgJl9fbGlua3Mge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtYXJlYTogMSAvIDE7XG4gICAgICBncmlkLWdhcDogMi40cmVtO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgICAgZ3JpZC1hdXRvLXJvd3M6IG1heC1jb250ZW50O1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuXG4gICAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIHdpZHRoOiAwOyAvKiBSZW1vdmUgc2Nyb2xsYmFyIHNwYWNlICovXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyAvKiBPcHRpb25hbDoganVzdCBtYWtlIHNjcm9sbGJhciBpbnZpc2libGUgKi9cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLWxpbmstY291bnQpLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIH1cblxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gYXV0bztcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG5cbiAgICAgIHVsICsgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMCAwIHZhcigtLWdhcCkgMDtcbiAgICAgIH1cblxuICAgICAgdWwge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuNnJlbSAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saW5rcyk7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgb25FdmVudCB7XG4gICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpbmtzLWhvdmVyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpub3QoLnRleHQtbGcpIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWdhcCkgLyAyKTtcblxuICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXDIwM2FcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoKHZhcigtLWdhcCkgLyAyKSAqIC0xKSk7XG4gICAgICAgICAgICAgICAgdG9wOiAtMC4xMnJlbTtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saW5rcyk7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcywgdHJhbnNmb3JtIDAuM3M7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBvbkV2ZW50IHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygodmFyKC0tZ2FwKSAvIC0yKSArIDAuMnJlbSkpO1xuICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlua3MtaG92ZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX2Jsb2NrIHtcbiAgICAgICY6aGFzKC5mZWF0dXJlcy1iYXIpIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tbW9iaWxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ubWFpbi1uYXZpZ2F0aW9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbiIsIi5wcmVkaWN0aXZlLXNlYXJjaCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYm9keSk7XG4gIHotaW5kZXg6IC0xO1xuICBvdmVyZmxvdzogc2Nyb2xsO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblxuICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IDAgMXJlbSA0cmVtICMzNDQwNTQxZjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWJvZHkpO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgIHdpZHRoOiB2YXIoLS1jb250YWluZXItd2lkdGgpO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJveC1zaGFkb3c6IDAgMCA2LjRyZW0gcmdiYSg1MiwgNjQsIDg0LCAwLjEyKTtcbiAgfVxuXG4gIGltZyB7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICB9XG5cbiAgJi1jb250YWluZXIge1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcblxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgIHdpZHRoOiAwOyAvKiBSZW1vdmUgc2Nyb2xsYmFyIHNwYWNlICovXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgLyogT3B0aW9uYWw6IGp1c3QgbWFrZSBzY3JvbGxiYXIgaW52aXNpYmxlICovXG4gICAgfVxuXG4gICAgLnByZWRpY3RpdmUtc2VhcmNoX19oZWFkZXIge1xuICAgICAgcGFkZGluZzogMS42cmVtIDAgMS42cmVtIDEuNnJlbTtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYWx0KTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuXG4gICAgICAmLS1oaWRlLWRlc2t0b3Age1xuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fcmVzdWx0cy1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYWx0KTtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGhlaWdodDogNjJyZW07XG4gICAgICBncmlkLWF1dG8tY29sdW1uczogMWZyIDJmciAxZnI7XG4gICAgfVxuXG4gICAgJiA+ICoge1xuICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICBwYWRkaW5nOiAxLjZyZW07XG4gICAgICB9XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAxLjZyZW0gMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYubG9hZGluZyB7XG4gICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44cztcbiAgICB9XG4gIH1cblxuICAmX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ib2R5KTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgYS5idXR0b24ge1xuICAgICAgcGFkZGluZzogMC43cmVtIDEuOHJlbTtcbiAgICB9XG5cbiAgICAucHJlZGljdGl2ZS1zZWFyY2hfX2Nsb3NlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1pY29uKTtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgcGFkZGluZzogMC40cmVtO1xuICAgICAgbWFyZ2luOiAwIDAuNHJlbTtcbiAgICAgIHdvcmQtYnJlYWs6IGluaXRpYWw7XG4gICAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICAgIHdvcmQtYnJlYWs6IGluaXRpYWw7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgQGluY2x1ZGUgb25FdmVudCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1pY29uLWhvdmVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2VhcmNoLXByb2R1Y3RzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICBwYWRkaW5nOiAyLjRyZW07XG4gICAgICBncmlkLWNvbHVtbjogMjtcbiAgICB9XG5cbiAgICAuY2FyZCB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgJl9fcm93IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW46IDAgMCAyLjJyZW0gMDtcbiAgICAgIH1cblxuICAgICAgJiBwOm5vdCguY2FyZF9fdGl0bGUpIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC44cmVtIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fZ3JpZCB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgZ3JpZC1nYXA6IDEuNnJlbTtcbiAgICAgIGdyaWQtYXV0by1yb3dzOiBtaW5tYXgobWluLWNvbnRlbnQsIG1heC1jb250ZW50KTtcblxuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jYXJkX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC44IDA7XG4gICAgICB9XG5cbiAgICAgIC5jYXJkX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMC44cmVtIDEuMnJlbSAxLjJyZW07XG4gICAgICB9XG5cbiAgICAgIC5jYXJkX19ib3R0b20ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zZWFyY2gtc2lkZWJhciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ib2R5KTtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgcGFkZGluZzogMi40cmVtO1xuICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB4bCkge1xuICAgICAgcGFkZGluZzogNHJlbTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpbmtzKTtcblxuICAgICAgQGluY2x1ZGUgb25FdmVudCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpbmtzLWhvdmVyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxLjZyZW0gMDtcbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgcGFkZGluZzogMC40cmVtIDA7XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1mb250LWJvZHktdHJhbnNmb3JtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICB3aWR0aDogMS4ycmVtO1xuICAgICAgICAgIGhlaWdodDogMS4ycmVtO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1pY29uLWhvdmVyKTtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1pY29uLWhvdmVyKTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjRyZW07XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG5cbiAgICAgICAgICBAaW5jbHVkZSBvbkV2ZW50IHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJ1dHRvbi1wcmltYXJ5LWhvdmVyKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYnV0dG9uLXByaW1hcnktaG92ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDAgMCAwLjRyZW07XG4gICAgfVxuICB9XG5cbiAgLnNlYXJjaC1iYW5uZXJzIHtcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIHBhZGRpbmc6IDIuNHJlbSAyLjRyZW0gMi40cmVtIDA7XG4gICAgICBncmlkLWNvbHVtbjogMztcbiAgICB9XG4gIH1cblxuICAuc2VhcmNoLXNpZGViYXIsXG4gIC5zZWFyY2gtcHJvZHVjdHMsXG4gIC5zZWFyY2gtYmFubmVycyB7XG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICBoZWlnaHQ6IDYycmVtO1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuXG4gICAgICAuYmFubmVyX193cmFwcGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBhc3BlY3QtcmF0aW86IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgd2lkdGg6IDA7XG4gICAgICAvKiBSZW1vdmUgc2Nyb2xsYmFyIHNwYWNlICovXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIC8qIE9wdGlvbmFsOiBqdXN0IG1ha2Ugc2Nyb2xsYmFyIGludmlzaWJsZSAqL1xuICAgIH1cbiAgfVxuXG4gIC5zZWFyY2gtcHJvZHVjdHMge1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgfVxuXG4gIC5yZWNlbnQtc2VhcmNoZXMge1xuICAgIHBhZGRpbmc6IDEuMnJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAwIDEuNnJlbTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWFsdCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG5cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgcGFkZGluZzogMS42cmVtICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW46IC0xLjZyZW0gLTEuNnJlbSAyLjRyZW0gLTEuNnJlbTsgLy8gb2Zmc2V0IHRvIGFsaWduIGxlZnQgbWFyZ2luIHdpdGggcmVzdWx0c1xuICAgIH1cblxuICAgICZfX2hlYWRlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDAuOHJlbTtcbiAgICB9XG4gIH1cblxuICAubm8tcmVzdWx0cy1ub3RpY2Uge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG5cbiAgICBwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5mZWF0dXJlcy1iYXIge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgLnNlYXJjaC1wcm9kdWN0cyA+ICosXG4gIC5hcnRpY2xlLXNlYXJjaCxcbiAgLmNvbGxlY3Rpb24tc2VhcmNoLFxuICAuc2VhcmNoZXMtc2VhcmNoIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcztcbiAgfVxuXG4gICYuc2VhcmNoaW5nIHtcbiAgICAuc2VhcmNoLXByb2R1Y3RzID4gKixcbiAgICAuYXJ0aWNsZS1zZWFyY2gsXG4gICAgLmNvbGxlY3Rpb24tc2VhcmNoLFxuICAgIC5zZWFyY2hlcy1zZWFyY2gge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gIH1cbn1cbiIsIi5wcmljZSB7XG4gJHRoaXM6ICY7XG5cbiAgJi1pdGVtLS1zYWxlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc2FsZSk7XG4gIH1cblxuICAmLS1zb2xkLW91dCAmX19hdmFpbGFiaWxpdHksXG4gICZfX3JlZ3VsYXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gICZfX3JlZ3VsYXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgfVxuXG4gICZfX3NhbGUsXG4gICZfX2F2YWlsYWJpbGl0eSxcbiAgJl9fYmFkZ2Utc2FsZSxcbiAgJl9fYmFkZ2Utc29sZC1vdXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmLS1vbi1zYWxlIHtcbiAgICAjeyR0aGlzIH1fX3JlZ3VsYXIsXG4gICAgI3skdGhpcyB9X19hdmFpbGFiaWxpdHkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAjeyR0aGlzIH1fX3NhbGUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgI3skdGhpcyB9LWl0ZW0tLXJlZ3VsYXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjIyBDT01QT05FTlQ6IGJhbm5lclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmJhbm5lciB7XG4gICZfX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgei1pbmRleDogMDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICA+IGRpdiB7XG4gICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWdhcCkgLyAyKTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBncmlkLWdhcDogMC44cmVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cblxuICAgIGgxLFxuICAgIGgyLFxuICAgIGgzLFxuICAgIGg0LFxuICAgIGg1LFxuICAgIGg2IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGh5cGhlbnM6IGF1dG87XG5cbiAgICAgICsgLmJ1dHRvbnNfX3dyYXBwZXIsXG4gICAgICArIGZpZ3VyZSxcbiAgICAgICsgYSB7XG4gICAgICAgIG1hcmdpbjogMC44cmVtIDAgMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLFxuICAgIC5idXR0b24tLXBsYWluIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgfVxuICB9XG5cbiAgJl9fc3ViaGVhZGluZyB7XG4gICAgPiAqLFxuICAgID4gKiA+ICoge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgJi53eXNpd3lnIHtcbiAgICAgIHAge1xuICAgICAgICBtYXJnaW46IDAgMCAwLjhyZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICArIC5idXR0b25zX193cmFwcGVyLFxuICAgICsgZmlndXJlLFxuICAgICsgYSB7XG4gICAgICBtYXJnaW46IDAuOHJlbSAwIDA7XG4gICAgfVxuXG4gIH1cblxuICAmX19iYWNrZ3JvdW5kIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcblxuICAgIGltZywgdmlkZW8ge1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5idXR0b25zX193cmFwcGVyICsgZmlndXJlLFxuICAuYnV0dG9uc19fd3JhcHBlciArIGEge1xuICAgIG1hcmdpbjogMC44cmVtIDAgMDtcbiAgfVxuXG4gICYuc2hvcGlmeS1zZWN0aW9uIHtcbiAgICAuYmFubmVyX193cmFwcGVyIHtcbiAgICAgID4gZGl2IHtcbiAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGFpbmVyLS1mdWxsX2JsZWVkIHtcbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICAuYmFubmVyX193cmFwcGVyID4gZGl2IHtcbiAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1nYXApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vc2FmYXJpIGhhY2sgZm9yIHRoZSBiYW5uZXJcbl86Oi13ZWJraXQtZnVsbC1wYWdlLW1lZGlhLCBfOmZ1dHVyZSwgOnJvb3QgLnNhZmFyaV9vbmx5IHtcbiAgLmJhbm5lcl9fd3JhcHBlciB7XG4gICAgbWluLWhlaWdodDogLXdlYmtpdC1maXQtY29udGVudDtcbiAgfVxufVxuIiwiLnJhdGluZy1wcm9kdWN0IHtcbiAgcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cblxuICAmX19zdGFycyB7XG4gICAgLS1wZXJjZW50OiBjYWxjKHZhcigtLXJhdGluZykgLyA1ICogMTAwJSk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGZvbnQtZmFtaWx5OiBUaW1lczsgLy8gbWFrZSBzdXJlIOKYhSBhcHBlYXJzIGNvcnJlY3RseVxuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLimIXimIXimIXimIXimIVcIjtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgOTBkZWcsXG4gICAgICAgIHZhcigtLXN0YXItY29sb3IpIHZhcigtLXBlcmNlbnQpLFxuICAgICAgICB2YXIoLS1lbXB0eS1jb2xvcikgdmFyKC0tcGVyY2VudClcbiAgICAgICk7XG4gICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi5xdWFudGl0eSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItaW5wdXQtYmFja2dyb3VuZCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWlucHV0LWJvcmRlcik7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDAuMnJlbSByZ2IoMTYgMjQgNDAgLyA1JSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcblxuICBpbnB1dCB7XG4gICAgcGFkZGluZzogMS4ycmVtIDA7XG4gICAgd2lkdGg6IDhyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWlucHV0LWJhY2tncm91bmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1pbnB1dC10ZXh0KTtcbiAgICBvdXRsaW5lLW9mZnNldDogMDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblxuICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAuaWNvbiB7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1pbnB1dC10ZXh0KSAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMi40cmVtIDEuNnJlbTtcblxuICAgICAgQGluY2x1ZGUgb25FdmVudCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1pY29uLWhvdmVyKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgICZbbmFtZT1cIm1pbnVzXCJdIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgJltuYW1lPVwicGx1c1wiXSB7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi5zb2NpYWwtYWNjb3VudHMge1xuICB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAwLjhyZW0gMDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAwLjhyZW07XG5cbiAgICBsaSB7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWljb24pO1xuXG4gICAgICAgICYgc3ZnIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDJyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaWNvbi1ob3Zlcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjIyBDT01QT05FTlQ6IFRZUEVGQUNFXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4udGV4dC1kaXNwbGF5LTJ4bCxcbmgxLFxuLnRleHQtZGlzcGxheS14bCxcbmgyLFxuLnRleHQtZGlzcGxheS1sZyxcbmgzLFxuLnRleHQtZGlzcGxheS1tZCxcbmg0LFxuLnRleHQtZGlzcGxheS1zbSxcbmg1LFxuaDYge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBjb2xvcjogdmFyKC0tY29sb3ItaGVhZGluZyk7XG4gIG1hcmdpbjogMCAwIDEuNnJlbSAwO1xufVxuXG4udGV4dC1kaXNwbGF5LTJ4bCB7XG4gIGZvbnQtc2l6ZTogNy4ycmVtO1xufVxuXG5oMSxcbi50ZXh0LWRpc3BsYXkteGwge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oMS1mYW1pbHkpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC1oMS13ZWlnaHQpO1xuICBmb250LXN0eWxlOiB2YXIoLS1mb250LWgxLXN0eWxlKTtcbiAgdGV4dC10cmFuc2Zvcm06IHZhcigtLWZvbnQtaDEtdHJhbnNmb3JtKTtcbiAgZm9udC1zaXplOiAzLjJyZW07XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgZm9udC1zaXplOiA0cmVtO1xuICB9XG59XG5cbmgyLFxuLnRleHQtZGlzcGxheS1sZyB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWgyLWZhbWlseSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWgyLXdlaWdodCk7XG4gIGZvbnQtc3R5bGU6IHZhcigtLWZvbnQtaDItc3R5bGUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tZm9udC1oMi10cmFuc2Zvcm0pO1xuICBmb250LXNpemU6IDIuNHJlbTtcblxuICArIC50ZXh0LWxnIHtcbiAgICBtYXJnaW46IDEuNnJlbSAwIDAgMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICB9XG59XG5cbmgzLFxuLnRleHQtZGlzcGxheS1tZCB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWgzLWZhbWlseSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWgzLXdlaWdodCk7XG4gIGZvbnQtc3R5bGU6IHZhcigtLWZvbnQtaDMtc3R5bGUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tZm9udC1oMy10cmFuc2Zvcm0pO1xuICBmb250LXNpemU6IDJyZW07XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG4gIH1cbn1cblxuaDQsXG4udGV4dC1kaXNwbGF5LXNtIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaDQtZmFtaWx5KTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtaDQtd2VpZ2h0KTtcbiAgZm9udC1zdHlsZTogdmFyKC0tZm9udC1oNC1zdHlsZSk7XG4gIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1mb250LWg0LXRyYW5zZm9ybSk7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xufVxuXG5oNSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWg1LWZhbWlseSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWg1LXdlaWdodCk7XG4gIGZvbnQtc3R5bGU6IHZhcigtLWZvbnQtaDUtc3R5bGUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tZm9udC1oNS10cmFuc2Zvcm0pO1xuICBmb250LXNpemU6IDEuNHJlbTtcbn1cblxuaDYge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oNi1mYW1pbHkpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC1oNi13ZWlnaHQpO1xuICBmb250LXN0eWxlOiB2YXIoLS1mb250LWg2LXN0eWxlKTtcbiAgdGV4dC10cmFuc2Zvcm06IHZhcigtLWZvbnQtaDYtdHJhbnNmb3JtKTtcbiAgZm9udC1zaXplOiAxLjJyZW07XG59XG5cbi50ZXh0IHtcbiAgJi14cyxcbiAgJi14cyBwIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcblxuICAgIC5pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgd2lkdGg6IDEuMnJlbTtcbiAgICAgIGhlaWdodDogMS4ycmVtO1xuICAgIH1cbiAgfVxuXG4gICYteHMgcCB7XG4gICAgbWFyZ2luOiAwIDAgMS4ycmVtIDA7XG4gIH1cblxuICAmLXNtLFxuICAmLXNtIHAge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuXG4gICAgLmljb24ge1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICB3aWR0aDogMS42cmVtO1xuICAgICAgaGVpZ2h0OiAxLjZyZW07XG4gICAgfVxuICB9XG5cbiAgJi1zbSBwIHtcbiAgICBtYXJnaW46IDAgMCAxLjRyZW0gMDtcbiAgfVxuXG4gICYtbWQsXG4gICYtbWQgcCB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG5cbiAgICAuaWNvbiB7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIHdpZHRoOiAxLjZyZW07XG4gICAgICBoZWlnaHQ6IDEuNnJlbTtcbiAgICB9XG4gIH1cblxuICAmLW1kIHAge1xuICAgIG1hcmdpbjogMCAwIDEuNnJlbSAwO1xuICB9XG5cbiAgJi1sZyxcbiAgJi1sZyBwIHtcbiAgICBmb250LXNpemU6IDJyZW07XG5cbiAgICAuaWNvbiB7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICB3aWR0aDogMnJlbTtcbiAgICAgIGhlaWdodDogMnJlbTtcbiAgICB9XG4gIH1cblxuICAmLWxnIHAge1xuICAgIG1hcmdpbjogMCAwIDJyZW0gMDtcbiAgfVxuXG4gICYteGwsXG4gICYteGwgcCB7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG5cbiAgICAuaWNvbiB7XG4gICAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICAgIHdpZHRoOiAyLjRyZW07XG4gICAgICBoZWlnaHQ6IDIuNHJlbTtcbiAgICB9XG4gIH1cblxuICAmLXhsIHAge1xuICAgIG1hcmdpbjogMCAwIDIuNHJlbSAwO1xuICB9XG5cbiAgJi0tY2FwdGlvbiB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtY2FwdGlvbi1mYW1pbHkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWNhcHRpb24td2VpZ2h0KTtcbiAgICBmb250LXN0eWxlOiB2YXIoLS1mb250LWNhcHRpb24tc3R5bGUpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1mb250LWNhcHRpb24tdHJhbnNmb3JtKTtcblxuICAgICYtc20ge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cblxuICAgICYtbWQge1xuICAgICAgQGV4dGVuZCAudGV4dC14cztcbiAgICB9XG5cbiAgICAmLWxnIHtcbiAgICAgIEBleHRlbmQgLnRleHQtc207XG4gICAgfVxuXG4gICAgJi14bCB7XG4gICAgICBAZXh0ZW5kIC50ZXh0LW1kO1xuICAgIH1cbiAgfVxufVxuXG4udGV4dC1ib2xkLFxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvZHktd2VpZ2h0LWJvbGQpO1xufVxuXG5wLFxuc3BhbixcbnN0cm9uZyB7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbnAge1xuICBtYXJnaW46IDAgMCAwLjhyZW07XG5cbiAgJi5pbnRybyB7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG5cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICB9XG4gIH1cblxuICAmLnNtYWxsLFxuICAmLmNpdGF0aW9uIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIH1cblxuICBzdHJvbmcge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG5cbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG5maWdjYXB0aW9uIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuXG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG59XG5cbi5maWd1cmUgKyBmaWdjYXB0aW9uLFxuZmlndXJlICsgZmlnY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAxLjZyZW0gIWltcG9ydGFudDtcbn1cblxuZmlnY2FwdGlvbiArIC5maWd1cmUsXG5maWdjYXB0aW9uICsgZmlndXJlIHtcbiAgbWFyZ2luLXRvcDogMS42cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5maWd1cmUgKyBmaWdjYXB0aW9uLFxuZmlndXJlICsgZmlnY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAxLjZyZW0gIWltcG9ydGFudDtcbn1cblxuZmlnY2FwdGlvbiArIC5maWd1cmUsXG5maWdjYXB0aW9uICsgZmlndXJlIHtcbiAgbWFyZ2luLXRvcDogMS42cmVtICFpbXBvcnRhbnQ7XG59XG5cbi53eXNpd3lnIHtcbiAgcCxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgYmxvY2txdW90ZSxcbiAgdWwsXG4gIG9sLFxuICB0YWJsZSB7XG4gICAgbWFyZ2luOiAwIDAgMi40cmVtO1xuICB9XG5cbiAgJjpub3QoOmVtcHR5KSA+ICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGgxIHtcbiAgICBtYXJnaW46IDAgMCA0cmVtO1xuICB9XG5cbiAgJjpub3QoLmJhbm5lcl9fc3ViaGVhZGluZykge1xuICAgIGgyLFxuICAgIGgzLFxuICAgIGg0LFxuICAgIGg1LFxuICAgIGg2IHtcbiAgICAgIHBhZGRpbmc6IDIuNHJlbSAwIDA7XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlua3MtaG92ZXIpO1xuICAgIH1cbiAgfVxuXG4gIGlmcmFtZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDIuNHJlbSAwO1xuICB9XG5cbiAgZmlndXJlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDIuNHJlbSAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogZmxleDsgLy8gaGFuZGxlciBmb3IgY2FwdGlvblxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8vIHN3aXRjaCBmb3IgYWx0IHN0eWxlXG5cbiAgICBpZnJhbWUsXG4gICAgdmlkZW8ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgZmlnY2FwdGlvbiB7XG4gICAgICBtYXJnaW46IDAuNHJlbTtcbiAgICAgIHBhZGRpbmc6IDEuNnJlbSAwIDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbjogMCAwIDIuNHJlbTtcbiAgICB9XG4gIH1cblxuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDQuOHJlbSAwO1xuICAgIHBhZGRpbmc6IDAgMCAwIDIuNHJlbTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDMuMnJlbTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAzLjJyZW0gMCAwIDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB1bCxcbiAgb2wge1xuICAgIHBhZGRpbmc6IDAgMCAwIDEuMnJlbTtcblxuICAgIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cblxuICAgICAgc3Ryb25nIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWljb24pO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItaWNvbi1ob3Zlcik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgfVxuXG4gICAgICB1bCwgb2wge1xuICAgICAgICBtYXJnaW46IDEuNnJlbSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gdWwsXG4gICAgPiBvbCB7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAzLjJyZW07XG4gICAgICBtYXJnaW46IDAgMCAxLjZyZW0gMDtcbiAgICB9XG4gIH1cblxuICB1bCB7XG4gICAgPiBsaSB7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAyLjRyZW07XG4gICAgICBtYXJnaW46IDAgMCAwLjhyZW0gMDtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyNkFDXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saW5rcyk7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgbWFyZ2luOiAwIDAuNXJlbSAwIC0yLjRyZW07XG4gICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBvbkV2ZW50IHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpbmtzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IHVsLFxuICAgID4gb2wge1xuICAgICAgbWFyZ2luOiAwLjhyZW07XG4gICAgfVxuXG4gICAgPiBvbCB7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAzLjJyZW07XG4gICAgICBtYXJnaW46IDEuNnJlbSAwIDIuNHJlbSAwO1xuICAgIH1cbiAgfVxuXG4gIG9sIHtcbiAgICBjb3VudGVyLXJlc2V0OiBvcmRlcmVkTGlzdDtcblxuICAgID4gdWwsXG4gICAgPiBvbCB7XG4gICAgICBsaSBvbCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAzLjJyZW07XG4gICAgICBtYXJnaW46IDAgMCAxLjZyZW0gMDtcbiAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBvcmRlcmVkTGlzdDtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTEuMnJlbTtcbiAgICAgICAgdG9wOiAtMC40cmVtO1xuICAgICAgICBjb250ZW50OiBjb3VudGVyKG9yZGVyZWRMaXN0KTtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWljb24pO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saW5rcyk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAzLjJyZW07XG4gICAgICAgIGhlaWdodDogMy4ycmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW46IDAgMS42cmVtIDAgMDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIHRyYW5zaXRpb246IDAuNHM7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG9uRXZlbnQge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItaWNvbi1ob3Zlcik7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IG9sLFxuICAgID4gb2wgPiB1bCB7XG4gICAgICBjb3VudGVyLXJlc2V0OiBvcmRlcmVkTGlzdENoaWxkO1xuXG4gICAgICBsaSB7XG4gICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBvcmRlcmVkTGlzdENoaWxkO1xuICAgICAgfVxuXG4gICAgICBsaTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBjb3VudGVyKG9yZGVyZWRMaXN0Q2hpbGQsIGxvd2VyLWxhdGluKTtcbiAgICAgICAgbGVmdDogLTAuOHJlbTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItaWNvbik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpbmtzKTtcbiAgICAgICAgd2lkdGg6IDIuNHJlbTtcbiAgICAgICAgaGVpZ2h0OiAyLjRyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICA+IG9sLFxuICAgICAgPiBvbCA+IHVsIHtcbiAgICAgICAgY291bnRlci1yZXNldDogb3JkZXJlZExpc3RTZWNvbmRDaGlsZDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IG9yZGVyZWRMaXN0U2Vjb25kQ2hpbGQ7XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBjb3VudGVyKG9yZGVyZWRMaXN0U2Vjb25kQ2hpbGQsIGxvd2VyLXJvbWFuKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgID4gb2wsXG4gICAgICAgID4gb2wgPiB1bCB7XG4gICAgICAgICAgY291bnRlci1yZXNldDogb3JkZXJlZExpc3RUaGlyZENoaWxkO1xuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IG9yZGVyZWRMaXN0VGhpcmRDaGlsZDtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBjb3VudGVyKG9yZGVyZWRMaXN0VGhpcmRDaGlsZCwgbG93ZXItcm9tYW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRhYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICBtYXJnaW46IDMuNnJlbSAwO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICB3aGl0ZS1zcGFjZTogYnJlYWstc3BhY2VzO1xuICAgIH1cblxuICAgIHRoZWFkIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICB9XG5cbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWJvZHkpO1xuXG4gICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWFsdCk7XG5cbiAgICAgICAgdGQge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0ZCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHBhZGRpbmc6IDEuNnJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjhyZW07XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC44cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC44cmVtO1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjhyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHRkIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWJvZHkpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi51aS1zaGFyZS1wcmludCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQuOHJlbTtcbiAgaGVpZ2h0OiA0LjhyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWljb24pO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICB1bCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICB3aWR0aDogNC44cmVtO1xuICAgIGhlaWdodDogNC44cmVtO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHdpZHRoOiAyLjRyZW07XG4gICAgICBoZWlnaHQ6IDIuNHJlbTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItaWNvbik7XG5cbiAgICAgIEBpbmNsdWRlIG9uRXZlbnQge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaWNvbi1ob3ZlcikgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDEuNnJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjZyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3RyaWdnZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiAwLjRzO1xuICB9XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgdWwge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgfVxuXG4gICAgICAudWktc2hhcmUtcHJpbnRfX3RyaWdnZXIge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyMgQ09NUE9ORU5UOiBQUk9EVUNUIFVTUFNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi51c3AtcHJvZHVjdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDFyZW0gMDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuXG4gIHN0cm9uZyB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gIH1cblxuICBzdmcge1xuICAgIHdpZHRoOiAzLjJyZW07XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMCAwIDAgMC40cmVtO1xuICB9XG5cbiAgLmljb24ge1xuICAgIG1hcmdpbjogMCAxcmVtIDAgMDtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICB9XG5cbiAgKjpub3QoLnVzcC1wcm9kdWN0KSArICYsXG4gICYudS1oaWRlICsgJiB7XG4gICAgYm9yZGVyLXRvcDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgZm9ybSB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmLS1hdmFpbGFiaWxpdHkge1xuICAgIC51c3AtcHJvZHVjdCB7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgfVxuICB9XG59XG4iLCIuYW5ub3VuY2VtZW50LWJhciB7XG4gIC5zZWN0aW9uX193cmFwcGVyLFxuICAuc2VjdGlvbl9fd3JhcHBlci1iYWNrZ3JvdW5kIHtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi5mb290ZXIge1xuICAuc2VjdGlvbl9fd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1hbHQpO1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tZ2FwKSAvIDIpO1xuXG4gICAgJi1iYWNrZ3JvdW5kLFxuICAgICY6bm90KC5jb250YWluZXItLWZ1bGxfYmxlZWQpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpIDAgMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYuY29udGFpbmVyLS1mdWxsX2JsZWVkIHtcbiAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tZ2FwKSAvIDIpO1xuXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tZ2FwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDAgYXV0byAxLjZyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMy4ycmVtO1xuXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICBhLmhlYWRlcl9fbG9nbyB7XG4gICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3Rlcl9fY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogMS42cmVtO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAmLS1maWxsIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLnNlcGFyYXRvci0tY29sdW1uIHtcbiAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgJjplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgPiBkaXYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zZXBhcmF0b3Ige1xuICAgICAgbWFyZ2luOiAtMy4ycmVtIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgLnNvY2lhbC1hY2NvdW50cyB7XG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbWVudSB7XG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAxLjZyZW0gMCAwIDA7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgQGV4dGVuZCAudGV4dC1zbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMCAxLjJyZW0gMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3JpZ2h0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwLjhyZW0gMDtcblxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICZfX3BheW1lbnQtaWNvbnMge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdyaWQtZ2FwOiAwLjhyZW07XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgbGkge1xuICAgICAgc3ZnIHtcbiAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICAgIHdpZHRoOiAzcmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbG9jYWxpemF0aW9uIHtcbiAgICBnYXA6IDAuOHJlbTtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgJi0tYXJ0aWNsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiAxLjZyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgIHAgKyAudS1mbGV4IHtcbiAgICAgICAgbWFyZ2luOiAtMC44cmVtIDAgMCAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtYXV0by1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgPiAqIHtcbiAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zaGFyZS11aSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi50ZW1wbGF0ZS1wcm9kdWN0Omhhcyguc3RpY2t5LWFkZC10by1jYXJ0KSB7XG4gIC5mb290ZXItc2VjdGlvbnMge1xuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgIG1hcmdpbjogMCAwIDcuNHJlbSAwO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL3NldHRpbmdzL2JyZWFrcG9pbnRzXCI7XG5AaW1wb3J0IFwiLi4vdG9vbHMvbWl4aW5zXCI7XG5cbi5mZWF0dXJlcy1iYXIge1xuICAuc2VjdGlvbl9fd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1hbHQpO1xuICB9XG5cbiAgc3dpcGVyLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICB9XG5cbiAgICAmOjpwYXJ0KHdyYXBwZXIpIHtcbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3dpcGVyLWJ1dHRvbiB7XG4gICAgICAmLXByZXYsXG4gICAgICAmLW5leHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICB9XG5cbiAgICAgICYtcHJldiB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgICYtbmV4dCB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIHN3aXBlci1zbGlkZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIGdhcDogMC44cmVtO1xuXG4gICAgZGl2IHtcbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIG1heC13aWR0aDogMzByZW07XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWhlYWRpbmcpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgIG1heC13aWR0aDogMjFyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIG1heC13aWR0aDogMjFyZW07XG4gICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhLmZlYXR1cmVzLWJhcl9faXRlbSB7XG4gICAgLmljb24ge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgb25FdmVudCB7XG4gICAgICBzdHJvbmcsXG4gICAgICBwIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlua3MpO1xuICAgICAgfVxuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wOCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tdGV4dCB7XG4gICAgJi1jZW50ZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICYtbGVmdCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAmLmZlYXR1cmVzLWJhci0taWNvbi10b3AsXG4gICAgICAmLmZlYXR1cmVzLWJhci0taWNvbi1ib3R0b20ge1xuICAgICAgICAuZmVhdHVyZXMtYmFyX19pdGVtIHtcbiAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICYuZmVhdHVyZXMtYmFyLS1pY29uLXRvcCxcbiAgICAgICYuZmVhdHVyZXMtYmFyLS1pY29uLWJvdHRvbSB7XG4gICAgICAgIC5mZWF0dXJlcy1iYXJfX2l0ZW0ge1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWljb24ge1xuICAgICYtYm90dG9tLFxuICAgICYtcmlnaHQge1xuICAgICAgLmljb24ge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLXRvcCxcbiAgICAmLWJvdHRvbSB7XG4gICAgICAuZmVhdHVyZXMtYmFyX19pdGVtIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1uYXYge1xuICAgIC5mZWF0dXJlcy1iYXJfX3dyYXBwZXIge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1hbHQpO1xuICAgICAgcGFkZGluZzogMC44cmVtIDA7XG5cbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWdhcCkgLyAyKSAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmhlYWRlciB7XG4gIC5zdGlja3kge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gIH1cblxuICAmX19tZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvL2hlaWdodDogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICArIC5oZWFkZXJfX21lbnUge1xuICAgICAgICBtYXJnaW46IDAgMCAwIC0xLjZyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJhbm5lcl9fd3JhcHBlcntcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGFzcGVjdC1yYXRpbzogYXV0bztcbiAgICB9XG5cbiAgICA+IHRvZ2dsZXRpcC1lbmdpbmUge1xuICAgICAgLy9oZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgYS5tYWluLW5hdi1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMnJlbSAwLjhyZW07XG4gIH1cblxuICAubWFpbi1uYXYtaXRlbSB7XG4gICAgdHJhbnNpdGlvbjogMC40cztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgPiBhIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHBhZGRpbmc6IDJyZW0gMC44cmVtO1xuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG9uRXZlbnQge1xuICAgICAgPiBhIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlua3MtaG92ZXIpO1xuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saW5rcy1ob3Zlcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2IHtcbiAgICAgIHVsIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgIGRldGFpbHMge1xuICAgICAgICAgICAgLm5hdl9fc2Vjb25kYXJ5LW1lbnVfX2l0ZW0ge1xuICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3VtbWFyeSB7XG4gICAgICAgICAgICAgICYubmF2X19tYWluLW1lbnUtbGluay0tYWN0aXZlICsge1xuICAgICAgICAgICAgICAgIC5uYXZfX3NlY29uZGFyeS1tZW51X19pdGVtIHtcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBbZGF0YS11eD1cImhvdmVyXCJdIHtcbiAgICAubWFpbi1uYXYtaXRlbSB7XG5cbiAgICAgIFtkYXRhLXRvb2x0aXAtdHJpZ2dlcl0ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG5cbiAgICAgIFtkYXRhLXRvb2x0aXAtdHJpZ2dlcl1bb3Blbl06aG92ZXIge1xuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICArIC5uYXYge1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgMHMsXG4gICAgICAgICAgICB2aXNpYmlsaXR5IDBzIDBzO1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAmW29wZW5dIHtcbiAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmF2IHtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIDBzO1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBbZGF0YS11eD1cImNsaWNrXCJdIHtcbiAgICAubWFpbi1uYXYtaXRlbSB7XG4gICAgICBbZGF0YS10b29sdGlwLXRyaWdnZXJdIHtcbiAgICAgICAgJltvcGVuXSB7XG4gICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgKyAubmF2IHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIDBzO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saW5rcyk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpbmtzKTtcbiAgICB9XG4gIH1cblxuICAmX19sb2dvIHtcbiAgICB+IC5oZWFkZXJfX25hdi1ibG9jayB7XG4gICAgICBtYXJnaW46IDAgMCAwIDIuNHJlbTtcbiAgICB9XG5cbiAgICAmLnRleHQtbGcge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG5cbiAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1tb2JpbGUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICY6bm90KC50ZXh0LWxnKSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBvbkV2ZW50IHtcbiAgICAgIC5pY29uIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWljb24taG92ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2ljb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAyLjRyZW07XG5cbiAgICAmLS1jYXJ0LW9wZW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAuY2FydC1jb3VudCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRvcDogLTAuOHJlbTtcbiAgICAgICAgcmlnaHQ6IC0wLjhyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYnV0dG9uLXByaW1hcnkpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1idXR0b24tcHJpbWFyeSk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1idXR0b24tcHJpbWFyeSk7XG4gICAgICAgIHdpZHRoOiAxLjhyZW07XG4gICAgICAgIGhlaWdodDogMS44cmVtO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvZHktd2VpZ2h0LWJvbGQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTtcblxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgICB3aWR0aDogMi40cmVtO1xuICAgICAgICAgIGhlaWdodDogMi40cmVtO1xuICAgICAgICAgIHRvcDogLTEuNnJlbTtcbiAgICAgICAgICByaWdodDogLTEuMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBrZXlmcmFtZXMgYWRkZWRUb0NhcnQge1xuICAgICAgICAgIDAlICAge3RyYW5zZm9ybTogc2NhbGUoMSl9XG4gICAgICAgICAgMjUlICB7dHJhbnNmb3JtOiBzY2FsZSgxLjEpO2JhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYnV0dG9uLXByaW1hcnktaG92ZXIpO2NvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJ1dHRvbi1wcmltYXJ5LWhvdmVyKTt9XG4gICAgICAgICAgNTAlICB7dHJhbnNmb3JtOiBzY2FsZSgxLjEpO2JhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYnV0dG9uLXByaW1hcnktaG92ZXIpO2NvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJ1dHRvbi1wcmltYXJ5LWhvdmVyKTt9XG4gICAgICAgICAgMTAwJSB7dHJhbnNmb3JtOiBzY2FsZSgxKX1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hZGRlZC10by1jYXJ0ICYge1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBhZGRlZFRvQ2FydDtcbiAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEuOHM7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgb25FdmVudCB7XG4gICAgICAgIC5jYXJ0LWNvdW50IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1idXR0b24tcHJpbWFyeS1ob3ZlcikgIWltcG9ydGFudDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2VhcmNoLXRyaWdnZXItLW1vYmlsZSB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgaGVpZ2h0OiAyLjRyZW07XG4gICAgbWluLXdpZHRoOiAyLjRyZW07XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgb25FdmVudCB7XG4gICAgICAuc2VhcmNoLWljb24ge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaWNvbi1ob3Zlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fc2VhcmNoLS1zbWFsbCB7XG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1sYXlvdXQtLWZpbGwgJixcbiAgICAuc2VhcmNoLWxheW91dC0tc21hbGwgJiB7XG4gICAgICAuZm9ybV9faW5wdXQtd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNlYXJjaC1sYXlvdXQtLWljb24gJiB7XG4gICAgICBmb3JtOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAucHJlZGljdGl2ZS1zZWFyY2hfX2hlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBhZGRpbmc6IDEuNnJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tZnVsbHdpZHRoIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgfVxuXG4gICAgJi5kaXNwbGF5LS1maWxsIHtcbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICB0b2dnbGV0aXAtZW5naW5lOmhhcygjcHJlZGljdGl2ZS1zZWFyY2gtaGVhZGVyLW5hdmlnYXRpb24tbWFpbikge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdG9nZ2xldGlwLWVuZ2luZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgIC5wcmVkaWN0aXZlLXNlYXJjaC13cmFwcGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgIGZvcm1bZGF0YS10b29sdGlwLXRyaWdnZXJdIHtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNlYXJjaC10cmlnZ2VyLW1vYmlsZSB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgaGVpZ2h0OiAyLjRyZW07XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fbG9jYWxpemF0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjhyZW07XG5cbiAgICAubmF2LS1tb2JpbGUgJiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDAuOHJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICB9XG59XG5cbi5tZW51LXRyaWdnZXIge1xuICB3aWR0aDogMi40cmVtO1xuICBoZWlnaHQ6IDIuNHJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcGFkZGluZzogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgMHM7XG4gIG1hcmdpbjogMDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGdyaWQtYXJlYTogbGVmdDtcblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgc3BhbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC40cmVtO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAwLjJyZW07XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItaWNvbik7XG4gICAgdHJhbnNpdGlvbjogMC40cztcblxuICAgICY6bnRoLW9mLXR5cGUoMSkge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgMC4zcywgdHJhbnNmb3JtIDAuM3MgMHM7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgMC4zcztcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDMpIHtcbiAgICAgIGJvdHRvbTogMC40cmVtO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIDAuM3MsIHRyYW5zZm9ybSAwLjNzIDBzO1xuICAgIH1cbiAgfVxuXG4gICZbb3Blbj1cInRydWVcIl17XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIDAuM3M7XG5cbiAgICBzcGFuOm50aC1vZi10eXBlKDEpIHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzLCB0cmFuc2Zvcm0gMC4zcyAwLjNzO1xuICAgIH1cblxuICAgIHNwYW46bnRoLW9mLXR5cGUoMikge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzLCBvcGFjaXR5IDAuM3MgMHM7XG4gICAgfVxuXG4gICAgc3BhbjpudGgtb2YtdHlwZSgzKSB7XG4gICAgICBib3R0b206IDUwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzLCB0cmFuc2Zvcm0gMC4zcyAwLjNzO1xuICAgIH1cbiAgfVxufVxuXG5idXR0b24uc2VhcmNoLXRyaWdnZXIge1xuICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICBwYWRkaW5nOiAycmVtIDA7XG4gIH1cbn1cblxuYnV0dG9uLnNlYXJjaC10cmlnZ2VyLFxuYnV0dG9uI2NhcnQtb3Blbixcbi5oZWFkZXJfX2ljb25zID4gYSB7XG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG4jbmF2LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDIwO1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjNzLCBiYWNrZ3JvdW5kIDAuM3M7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYm9keSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgfVxuXG4gICYuc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICB9XG5cbiAgJi5oZWFkZXItdmlzaWJsZTpub3QoLnJlYWNoZWQtdG9wKSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJveC1zaGFkb3c6IDAgMCA0cmVtIC0wLjRyZW0gcmdiKDUyIDY0IDg0IC8gOCUpO1xuXG4gICAgJi5zdGlja3ktYWN0aXZlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCA0cmVtIC0wLjRyZW0gcmdiKDUyIDY0IDg0IC8gMCk7XG4gICAgfVxuICB9XG5cbiAgJi5oZWFkZXItdmlzaWJsZTpub3QoLnJlYWNoZWQtdG9wKSxcbiAgJi5oZWFkZXItdmlzaWJsZS5hYm92ZS1vdmVybGF5LFxuICAmLmhlYWRlci12aXNpYmxlLmFib3ZlLW92ZXJsYXkucmVhY2hlZC10b3AsXG4gICYuYWJvdmUtb3ZlcmxheSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn1cblxuI2hlYWRlci1zcGFjZXIge1xuICBoZWlnaHQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmhlYWRlci1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IGNhbGModmFyKC0tZ2FwKSAvIDIpO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG87XG5cbiAgPiBkaXYge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgKyAuY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogY2FsYyh2YXIoLS1nYXApIC8gMikgMCAwIDA7XG4gICAgfVxuXG4gICAgJjpoYXMoLmhlYWRlci1jb2x1bW4tLWNlbnRlci5oaWRlLWRlc2t0b3ApIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsMWZyKSBhdXRvIG1pbm1heCgwLDFmcik7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgJjpoYXMoLmhlYWRlci1jb2x1bW4tLWNlbnRlci5oaWRlLW1vYmlsZSkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwxZnIpIGF1dG8gbWlubWF4KDAsMWZyKTtcbiAgICB9XG4gIH1cbn1cblxuLmhlYWRlci1jb2x1bW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGdhcDogY2FsYyh2YXIoLS1nYXApIC8gMik7XG5cbiAgJi5oaWRlLW1vYmlsZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gICYtLWxlZnQge1xuICAgIGdyaWQtY29sdW1uOiAxO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICsgLmhlYWRlci1jb2x1bW4tLXJpZ2h0IHtcbiAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIH1cbiAgfVxuXG4gICYtLXJpZ2h0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICB9XG5cbiAgJi0tY2VudGVyIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICsgLmhlYWRlci1jb2x1bW4tLXJpZ2h0IHtcbiAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgIH1cbiAgfVxuXG4gICYtLWZ1bGx3aWR0aCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIC5oZWFkZXJfX3NlYXJjaCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi5jYXJ0LXN1bW1hcnkge1xuICAmX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIHBhZGRpbmc6IDEuNnJlbTtcblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgJl9fbGluZS1pdGVtcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMS42cmVtIDEuNnJlbSAwIDEuNnJlbTtcblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1ub3RpY2Uge1xuICAgICAgcGFkZGluZzogMCAxLjZyZW0gMC44cmVtO1xuXG4gICAgICBwIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fYnV0dG9ucyB7XG4gICAgcGFkZGluZzogMS42cmVtO1xuXG4gICAgLmFkZGl0aW9uYWwtY2hlY2tvdXQtYnV0dG9ucyB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC1nYXA6IDAuOHJlbTtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgZGl2I2R5bmFtaWMtY2hlY2tvdXQtY2FydCB7XG4gICAgICAgIG1hcmdpbjogMS42cmVtIDAgMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cblxuICAgICAgJi0tc2Vjb25kYXJ5IHtcbiAgICAgICAgbWFyZ2luOiAwLjhyZW0gMCAwIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG5cbiAgJl9fZnJlZS1zaGlwcGluZyB7XG4gICAgcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1hbHQpO1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBwYWRkaW5nOiAwLjhyZW0gMS42cmVtO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICAgIH1cblxuICAgICAgI2Ftb3VudC1sZWZ0IHtcbiAgICAgICAgbWFyZ2luOiAwIDAuM3JlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jZXJ0aWZpY2F0ZSB7XG4gICAgcGFkZGluZzogMC44cmVtIDEuNnJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuXG4gICAgcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIGhlaWdodDogMS42cmVtO1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19tZXRhIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAmX19ub3RlIHtcbiAgICBtYXJnaW46IDIuNHJlbSAwIDAgMDtcblxuICAgIHRleHRhcmVhIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuXG4gICAgICBAaW5jbHVkZSBwbGFjZWhvbGRlciB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1mb250LWJvZHktdHJhbnNmb3JtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNhcnQge1xuICAmX19lbXB0eSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDRyZW07XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG5cbiAgICA+ICo6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW46IDAgMCAxLjZyZW0gMDtcbiAgICB9XG4gIH1cblxuICAmX193cmFwcGVyIHtcbiAgICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWdhcDogMS42cmVtO1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMzByZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IHhsKSB7XG4gICAgICBncmlkLWdhcDogMy4ycmVtO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDM2cmVtO1xuICAgIH1cbiAgfVxufVxuXG4uY2FydC1jb250ZW50IHtcbiAgbWFyZ2luOiAwIDAgMS42cmVtIDA7XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgIG1hcmdpbjogMCAwIDRyZW0gMDtcbiAgfVxuXG4gICZfX2hlYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdhcDogMC44cmVtO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMC44cmVtIDJmciAyZnIgMmZyIDJmciAxZnI7XG4gICAgICBwYWRkaW5nOiAxLjZyZW0gMi40cmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcblxuICAgICAgcDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNhcnQtaXRlbSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC44cmVtIDEuMnJlbTtcbiAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJpbWFnZSB0aXRsZSByZW1vdmVcIiBcImltYWdlIHF1YW50aXR5IHRvdGFsXCI7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAuOHJlbSAxZnIgMWZyO1xuICBwYWRkaW5nOiAwO1xuXG4gICZfX2ltYWdlIHtcbiAgICBncmlkLWFyZWE6IGltYWdlO1xuICAgIG1hcmdpbjogMCAwLjhyZW0gMCAwO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgZ3JpZC1hcmVhOiB0aXRsZTtcblxuICAgIGRsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIH1cblxuICAgIC5jYXJ0LWl0ZW1fX2Rpc2NvdW50cyB7XG4gICAgICBtYXJnaW46IDAuOHJlbSAwIDA7XG5cbiAgICAgICYsXG4gICAgICBzcGFuIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXNhbGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3VuaXQtcHJpY2Uge1xuICAgIGdyaWQtYXJlYTogdW5pdC1wcmljZTtcbiAgfVxuXG4gICZfX3F1YW50aXR5IHtcbiAgICBncmlkLWFyZWE6IHF1YW50aXR5O1xuICB9XG5cbiAgJl9fdG90YWxzIHtcbiAgICBncmlkLWFyZWE6IHRvdGFsO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAmX19yZW1vdmUtd3JhcHBlcixcbiAgJl9fdGl0bGUge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgfVxuXG4gICZfX3JlbW92ZS13cmFwcGVyIHtcbiAgICBncmlkLWFyZWE6IHJlbW92ZTtcbiAgICBkaXNwbGF5OiBncmlkO1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICBwYWRkaW5nOiAwLjRyZW07XG4gICAgICBoZWlnaHQ6IDMuMnJlbTtcblxuICAgICAgLm1pbmktY2FydCAmIHtcbiAgICAgICAgdG9wOiAtMC44cmVtO1xuICAgICAgICByaWdodDogLTAuOHJlbTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgb25FdmVudCB7XG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaWNvbi1ob3Zlcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19kaXNjb3VudHMge1xuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiAwLjRyZW07XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIHdpZHRoOiAxLjRyZW07XG4gICAgICAgIGhlaWdodDogMS40cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50b3RhbC1wcmljZSB7XG4gICAgZGwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIH1cbiAgfVxuXG4gIC5zaG93LWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuc2hvdy1tb2JpbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBjb250YWluZXIgKG1pbi13aWR0aDogNjUwcHgpIHtcbiAgLmNhcnQtaXRlbSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJpbWFnZSB0aXRsZSB1bml0LXByaWNlIHF1YW50aXR5IHRvdGFsIHJlbW92ZVwiO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAuOHJlbSAyZnIgMmZyIDJmciAyZnIgMWZyO1xuICAgIG1hcmdpbjogMi40cmVtO1xuXG4gICAgJl9fdGl0bGUgYSB7XG4gICAgICBtYXJnaW46IDAgMCAwLjhyZW0gMDtcbiAgICB9XG5cbiAgICAmX190b3RhbHMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgICZfX3JlbW92ZS13cmFwcGVyIHtcbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaG93LWRlc2t0b3Age1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNob3ctbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5taW5pLWNhcnQge1xuICB6LWluZGV4OiAyMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNHMsIG9wYWNpdHkgLjRzLCB2aXNpYmlsaXR5IDBzIC40cztcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgb3BhY2l0eTogMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ib2R5KTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwcmVtKTtcbiAgICB3aWR0aDogNDByZW07XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJveC1zaGFkb3c6IDAgMnJlbSA0cmVtIHJnYmEoNTIsIDY0LCA4NCwgMC4wOCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cykgMCAwIHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiAwOyAvKiBSZW1vdmUgc2Nyb2xsYmFyIHNwYWNlICovXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IC8qIE9wdGlvbmFsOiBqdXN0IG1ha2Ugc2Nyb2xsYmFyIGludmlzaWJsZSAqL1xuICB9XG5cbiAgJi0tZW1wdHkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYWx0KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogNHJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbjogMCAwIDEuNnJlbSAwO1xuICAgIH1cbiAgfVxuXG4gICYub3BlbiB7XG4gICAgY29udGFpbmVyLXR5cGU6IHNpemU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjRzLCBvcGFjaXR5IC40cywgdmlzaWJpbGl0eSAwcztcbiAgfVxuXG4gICZfX3NpZGViYXIge1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gICZfX2Nsb3NlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIHBhZGRpbmc6IDEuNnJlbSAyLjRyZW0gMS42cmVtIDEuNnJlbTtcbiAgICB0cmFuc2l0aW9uOiAwLjI1cztcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYm9keSk7XG5cbiAgICAuaWNvbiB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItaWNvbik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgb25FdmVudCB7XG4gICAgICBwYWRkaW5nOiAxLjZyZW0gMi42cmVtIDEuNnJlbSAxLjRyZW07XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWljb24taG92ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgcGFkZGluZzogMS42cmVtO1xuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgd2lkdGg6IDA7IC8qIFJlbW92ZSBzY3JvbGxiYXIgc3BhY2UgKi9cbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyAvKiBPcHRpb25hbDoganVzdCBtYWtlIHNjcm9sbGJhciBpbnZpc2libGUgKi9cbiAgICB9XG5cbiAgICAuY2FydC1pdGVtcy1jb250YWluZXIge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IDAuNXMgMC4zcztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiAyLjRyZW07XG5cbiAgICAgIC5taW5pLWNhcnQub3BlbiAmIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19mb290ZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ib2R5KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKSB2YXIoLS1ib3JkZXItcmFkaXVzKSAwIDA7XG4gICAgYm94LXNoYWRvdzogMCAwIDJyZW0gcmdiYSg1MiwgNjQsIDg0LCAwLjEyKTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKSB2YXIoLS1ib3JkZXItcmFkaXVzKSAwIDA7XG5cbiAgICAuYWNjb3JkaW9uIHtcbiAgICAgIGRldGFpbHMge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuXG4gICAgICAgIHN1bW1hcnkge1xuICAgICAgICAgIHBhZGRpbmc6IDEuNnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDEuNnJlbSAxLjZyZW0gMS42cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhcnQtc3VtbWFyeV9fbm90ZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmNhcnQtc3VtbWFyeV9fbWV0YSB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIucmljaC10ZXh0IHtcbiAgJl9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgID4gZGl2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAmLS1zdHJldGNoIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAmLnNlY3Rpb25fX3dyYXBwZXItLWJhY2tncm91bmQge1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICBwYWRkaW5nOiAxLjZyZW07XG5cbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICBwYWRkaW5nOiAyLjRyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgIG1hcmdpbjogMCAwIDEuNnJlbTtcbiAgICB9XG4gIH1cblxuICAmX19idXR0b25zIHtcbiAgICBtYXJnaW46IDIuNHJlbSAwIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEuNnJlbTtcbiAgfVxufVxuIiwiLmdyaWQtY29udGVudCB7XG4gICZfX2NvbHVtbiB7XG4gICAgJi0tc3RyZXRjaCB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgIC8vYXNwZWN0LXJhdGlvOiBhdXRvO1xuICAgICAgfVxuXG4gICAgICA+ICosXG4gICAgICA+ICogPiAqIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICAgIC8vYXNwZWN0LXJhdGlvOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLWNvbnRlbnRfX2hlYWRlciA+ICosIC5ncmlkLWNvbnRlbnRfX2hlYWRlci1ibG9jayA+ICoge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cblxuICAgICAgLmZpZ3VyZSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgICBpbWcsIHZpZGVvLCBpZnJhbWUge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlciAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBmaWd1cmUge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICBpbWcge1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19oZWFkZXIsXG4gICZfX2hlYWRlci1ibG9jayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgPiAqIHtcbiAgICAgIG1hcmdpbjogMCAwIHZhcigtLWdhcCkgMDtcbiAgICAgIGFsaWduLXNlbGY6IGluaGVyaXQ7XG5cbiAgICAgIC5zaG9waWZ5LXNlY3Rpb24uaGVhZGluZyAmIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaG9waWZ5LXNlY3Rpb24uaGVhZGluZyAmIHtcbiAgICAgIGdhcDogY2FsYyh2YXIoLS1nYXApIC8gMik7XG4gICAgfVxuXG4gICAgLmdyaWQtY29udGVudF9fc2xpZGVyLW5hdi13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBnYXA6IGNhbGModmFyKC0tZ2FwKSAvIDIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgIGdhcDogY2FsYyh2YXIoLS1nYXApIC8gMik7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgbWFyZ2luOiAwIDAgY2FsYyh2YXIoLS1nYXApIC8gMikgMDtcblxuICAgICAgPiAqIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC1jb250ZW50X19zbGlkZXItbmF2LXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAuZ3JpZC1jb250ZW50X19zbGlkZXItbmF2IHtcbiAgICAgICAgICBvcmRlcjogMztcblxuICAgICAgICAgICYuZ3JpZC1jb250ZW50X19zbGlkZXItbmF2LS1ib3RoIHtcbiAgICAgICAgICAgIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC04cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faGVhZGVyIHtcbiAgICAmLS1idXR0b24tYmxvY2stYmVsb3cge1xuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcblxuICAgICAgICAmLmdyaWQtY29udGVudF9faGVhZGVyLS1sZWZ0IHtcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZ3JpZC1jb250ZW50X19oZWFkZXItLXJpZ2h0IHtcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1idXR0b24tbW9iaWxlLWJsb2NrLWJlbG93IHtcbiAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuXG4gICAgICAgICYuZ3JpZC1jb250ZW50X19oZWFkZXItLWxlZnQge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5ncmlkLWNvbnRlbnRfX2hlYWRlci0tcmlnaHQge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLWxlZnQge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIH1cblxuICAgICAgLmhlYWRpbmdfX3NlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLWdhcCkgMCAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAuaGVhZGluZ19fc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIHZhcigtLWdhcCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWNlbnRlciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIC5oZWFkaW5nX19zZWN0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIH1cblxuICAgICAgLmdyaWQtY29udGVudF9fc2xpZGVyLW5hdi13cmFwcGVyOmhhcyguZ3JpZC1jb250ZW50X19zbGlkZXItbmF2LmhpZGUtZGVza3RvcCk6bm90KDpoYXMoW2NsYXNzXj1cImJ1dHRvblwiXSkpIHtcbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tYmFja2dyb3VuZCB7XG4gICAgICBwYWRkaW5nOiAyLjRyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICB9XG5cbiAgICAgIGRpdiB7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fc2xpZGVyLW5hdiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IGNhbGModmFyKC0tZ2FwKSAvIDIpO1xuXG4gICAgLnN3aXBlci1wYWdpbmF0aW9uLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uLFxuICAgIC5zd2lwZXItYnV0dG9uLW5leHQsIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuc2xpZGVyLWVuYWJsZWQgJiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgICY6bm90KC5ncmlkLWNvbnRlbnRfX3NsaWRlci1uYXYtLWJlbG93KSB7XG4gICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLmdyaWQtY29udGVudF9fc2xpZGVyLW5hdi0tYmVsb3cpIHtcbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICAuc3dpcGVyLXBhZ2luYXRpb24ge1xuICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIH1cblxuICAgICAgICAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLWJlbG93IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogY2FsYyh2YXIoLS1nYXApIC8gMikgMCAwIDA7XG5cbiAgICAgIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAuc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOHJlbTtcbiAgICAgIH1cblxuICAgICAgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOHJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOHJlbTtcbiAgICAgIH1cblxuICAgICAgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOHJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIHdpZHRoOiA1MHJlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbHVtbiB7XG4gICAgJi0tYmFja2dyb3VuZCB7XG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgcGFkZGluZzogOS42cmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5ncmlkLWNvbnRlbnRfX2hlYWRlcj4qIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBzd2lwZXItY29udGFpbmVyIHtcbiAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgICYuZ3JpZC1jb250ZW50X19jb2x1bW4tLXN0cmV0Y2gge1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgfVxuICAgIH1cblxuICAgICZbZGF0YS1hdXRvcGxheT1cInRydWVcIl1bZGF0YS1hdXRvcGxheS1kZWxheT1cIjBcIl0gIHtcbiAgICAgIC5zd2lwZXItd3JhcHBlciB7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJltkYXRhLW1vYmlsZS1sYXlvdXQ9XCJncmlkXCJdIHtcbiAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiBjYWxjKHZhcigtLWdhcCkgLyAyKTtcbiAgICAgIH1cblxuICAgICAgOjpzbG90dGVkKHN3aXBlci1zbGlkZSkge1xuICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gdmFyKC0tY29sdW1uLWNvdW50LW1vYmlsZSk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWQsICR1bnRpbDogbGcpIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiB2YXIoLS1jb2x1bW4tY291bnQtdGFibGV0KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOjpwYXJ0KHdyYXBwZXIpIHtcbiAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tY29sdW1uLWNvdW50LW1vYmlsZSksIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgICAgICBnYXA6IGNhbGModmFyKC0tZ2FwKSAvIDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IG1kLCAkdW50aWw6IGxnKSB7XG4gICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS1jb2x1bW4tY291bnQtdGFibGV0KSwgbWlubWF4KDAsIDFmcikpO1xuICAgICAgICAgIGdhcDogY2FsYyh2YXIoLS1nYXApIC8gMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2RhdGEtZGVza3RvcC1sYXlvdXQ9XCJncmlkXCJdIHtcbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IHZhcigtLWdhcCk7XG5cbiAgICAgICAgJjo6cGFydCh3cmFwcGVyKSB7XG4gICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS1jb2x1bW4tY291bnQtZGVza3RvcCksIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgICAgICBnYXA6IHZhcigtLWdhcCk7XG4gICAgICAgIH1cblxuICAgICAgICA6OnNsb3R0ZWQoc3dpcGVyLXNsaWRlKSB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gdmFyKC0tY29sdW1uLWNvdW50LWRlc2t0b3ApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jb2xsYWdlIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiBjYWxjKHZhcigtLWdhcCkgLyAyKTtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKTtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBtaW4tY29udGVudDtcblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICBnYXA6IHZhcigtLWdhcCk7XG4gICAgJi5jb2xsYWdlLS1ibG9ja3MtNCxcbiAgICAmLmNvbGxhZ2UtLWJsb2Nrcy01IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgbWlubWF4KDAsIDFmcikgbWlubWF4KDAsIDFmcikgbWlubWF4KDAsIDFmcik7XG4gICAgfVxuICB9XG5cbiAgJi0tbGFyZ2VfbGVmdCB7XG4gICAgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBhc3BlY3QtcmF0aW86IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgZ3JpZC1yb3c6IHNwYW4gMjtcblxuICAgICAgICA+IGRpdixcbiAgICAgICAgLmZpZ3VyZSB7XG4gICAgICAgICAgYXNwZWN0LXJhdGlvOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJhbm5lcl9fd3JhcHBlciB7XG4gICAgICAgICAgYXNwZWN0LXJhdGlvOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jb2xsYWdlLS1ibG9ja3MtNCxcbiAgICAmLmNvbGxhZ2UtLWJsb2Nrcy01IHtcbiAgICAgID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jb2xsYWdlLS1ibG9ja3MtMyxcbiAgICAmLmNvbGxhZ2UtLWJsb2Nrcy01IHtcbiAgICAgID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuY29sbGFnZS0tYmxvY2tzLTQge1xuICAgICAgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMyAvIHNwYW4gMjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWxhcmdlX3JpZ2h0IHtcbiAgICA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAxO1xuICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gMjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBhc3BlY3QtcmF0aW86IGF1dG8gIWltcG9ydGFudDtcblxuICAgICAgICA+IGRpdixcbiAgICAgICAgLmZpZ3VyZSB7XG4gICAgICAgICAgYXNwZWN0LXJhdGlvOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJhbm5lcl9fd3JhcHBlciB7XG4gICAgICAgICAgYXNwZWN0LXJhdGlvOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jb2xsYWdlLS1ibG9ja3MtNCxcbiAgICAmLmNvbGxhZ2UtLWJsb2Nrcy01IHtcbiAgICAgID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAzIC8gc3BhbiAyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jb2xsYWdlLS1ibG9ja3MtMyxcbiAgICAmLmNvbGxhZ2UtLWJsb2Nrcy01IHtcbiAgICAgID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jb2xsYWdlLS1ibG9ja3MtNCB7XG4gICAgICA+ICo6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmNvbGxhZ2UtLWJsb2Nrcy0xLFxuICAmLmNvbGxhZ2UtLWJsb2Nrcy0yIHtcbiAgICA+ICoge1xuICAgICAgZ3JpZC1yb3c6IHNwYW4gMTtcbiAgICB9XG4gIH1cblxuICBmaWd1cmUsXG4gIGZpZ3VyZSA+IGRpdiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLmNhcmQge1xuICAgID4gYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgZmlndXJlIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5ncmlkLWFyY2hpdmUge1xuICAkdGhpczogJjtcblxuICAuc2VjdGlvbl9fd3JhcHBlci0tYmFja2dyb3VuZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgJl9faGVhZGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tYm9yZGVyLXJhZGl1cykgdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgei1pbmRleDogMjtcbiAgICB0b3A6IC0xcHg7XG5cbiAgICAmLnN0aWNreS1zdWJoZWFkZXIge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB9XG5cbiAgICArIC5ncmlkLWFyY2hpdmUge1xuICAgICAgbWFyZ2luLXRvcDogMS42cmVtO1xuICAgIH1cblxuICAgICZfX2lubmVyLWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDEuNnJlbSAwO1xuICAgICAgdHJhbnNpdGlvbjogMC4yNXM7XG5cbiAgICAgIC5pcy1zdGlja3kgJixcbiAgICAgIC5zdGlja3ktLXN0dWNrICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWJvZHkpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICBwYWRkaW5nOiAxLjJyZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLXN0aWNreSxcbiAgICAmLnN0aWNreS0tc3R1Y2sge1xuICAgICAgYm94LXNoYWRvdzogMCAycmVtIDNyZW0gLTJyZW0gcmdiKDUyIDY0IDg0IC8gOCUpO1xuXG4gICAgICAjbmF2LXdyYXBwZXIuaGVhZGVyLXZpc2libGUgfiAmIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGdhcDogMC44cmVtO1xuICAgIH1cbiAgfVxuXG4gICZfX2ZpbHRlci10cmlnZ2VycyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBjb2x1bW4tZ2FwOiAwLjhyZW07XG5cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBmbGV4OiAxO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1nYXA6IGNhbGModmFyKC0tZ2FwKSAvIDIpO1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICBncmlkLWdhcDogdmFyKC0tZ2FwKTtcbiAgICB9XG5cbiAgICAmLS1vbmUtY29sdW1uIHtcbiAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgbWlubWF4KDAsIDFmcikpO1xuXG4gICAgICAgIC5iYW5uZXIge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDEgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLXR3by1jb2x1bW4ge1xuICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tdGhyZWUtY29sdW1uIHtcbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tZm91ci1jb2x1bW4ge1xuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYmFubmVyIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAmLmJhbm5lci0tbGFyZ2Uge1xuICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgIH1cblxuICAgICAgJi5iYW5uZXItLXNtYWxsIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMTtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiAtMTtcbiAgICAgICAgZ3JpZC1yb3c6IDQ7XG5cbiAgICAgICAgLmJhbm5lcl9fd3JhcHBlciA+IGRpdiB7XG4gICAgICAgICAgcGFkZGluZzogMS42cmVtO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyLjRyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5iYW5uZXJfX3dyYXBwZXIge1xuICAgICAgICBhc3BlY3QtcmF0aW86IGluaGVyaXQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fc3VibmF2IHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjhyZW07XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIGdhcDogM3JlbTtcbiAgICB9XG5cbiAgICAuc29ydC1ieSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgc2VsZWN0IHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWlucHV0LXRleHQpO1xuICAgICAgICBwYWRkaW5nOiAwLjhyZW0gNC42cmVtIDAuOHJlbSAxLjZyZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWlucHV0LWJvcmRlcik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWlucHV0LWJhY2tncm91bmQpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAuNHJlbSAxcmVtIHJnYmEoNzQsIDc0LCA3NCwgMC4wMSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAwO1xuICAgICAgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICByaWdodDogMXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWlucHV0LXRleHQpO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29scyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgLm9uZS1jb2wsXG4gICAgICAudHdvLWNvbCB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnRocmVlLWNvbCxcbiAgICAgIC5mb3VyLWNvbCB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICBtYXJnaW46IDAgMC44cmVtIDAgMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzdmcge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiA0cmVtO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAuOHJlbSAwLjRyZW07XG5cbiAgICAgICAgcGF0aCxcbiAgICAgICAgcmVjdCB7XG4gICAgICAgICAgZmlsbDogdmFyKC0tY29sb3ItaWNvbik7XG4gICAgICAgICAgdHJhbnNpdGlvbjogMC4ycztcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBwYXRoLFxuICAgICAgICAgIHJlY3Qge1xuICAgICAgICAgICAgZmlsbDogdmFyKC0tY29sb3ItaWNvbi1ob3Zlcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgb25FdmVudCB7XG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICByZWN0IHtcbiAgICAgICAgICAgIGZpbGw6IHZhcigtLWNvbG9yLWljb24taG92ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgICBoZWlnaHQ6IDMuMnJlbTtcbiAgICAgICAgICBwYWRkaW5nOiAwLjRyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJiArIC5zb3J0LWJ5IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAzcmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZhY2V0LWZpbHRlcnMtZm9ybSB7XG4gICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tbW9iaWxlLWZ1bGwge1xuICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgZmFjZXQtZmlsdGVycy1mb3JtLCAuc29ydC1ieSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuc29ydC1ieSBzZWxlY3Qge1xuICAgICAgICAgIHBhZGRpbmc6IDAuNHJlbSA0cmVtIDAuNHJlbSAxLjZyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19maWx0ZXJzLWNvbnRhaW5lciB7XG4gICAgdHJhbnNpdGlvbjogbWFyZ2luLWxlZnQgMC4zcywgb3BhY2l0eSAwLjNzO1xuXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gICAgICBsZWZ0OiAtOTk5OXB4O1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB6LWluZGV4OiAzMDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gICAgICBwYWRkaW5nOiAxLjJyZW07XG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgdHJhbnNpdGlvbjogbGVmdCAwcyAwLjNzLCBiYWNrZ3JvdW5kIDAuM3MgMHM7XG4gICAgfVxuXG4gICAgLmZhY2V0cyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnJlbSk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzLCBvcGFjaXR5IDAuM3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgLmZhY2V0cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYWx0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIHdpZHRoOiAyNSU7XG4gICAgICBtYXJnaW4tbGVmdDogLTI1JTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcCk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fcHJvZHVjdHMtZ3JpZC1jb250YWluZXIge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmLmxvYWRpbmcge1xuICAgICAgb3BhY2l0eTogMC40O1xuICAgIH1cbiAgfVxuXG4gICZfX21haW4tY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgJi1tb2JpbGUtLWZpbHRlcnMtc2hvd24ge1xuICAgICAgI3skdGhpc31fX2ZpbHRlcnMtY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAwcyAwcywgYmFja2dyb3VuZCAwLjNzIDBzO1xuXG4gICAgICAgICAgLmZhY2V0cyB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLWZpbHRlcnMtc2hvd24ge1xuICAgICAgI3skdGhpc31fX2ZpbHRlcnMtY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICN7JHRoaXN9X19wcm9kdWN0cy1ncmlkLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbm8tcmVzdWx0cyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDQ7XG4gICAgcGFkZGluZzogMjRyZW0gOHJlbTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWFsdCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICB9XG5cbiAgcC5ub3RoaW5nX2ZvdW5kIHtcbiAgICBwYWRkaW5nOiA2LjRyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDQ7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1hbHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcblxuICAgIHN0cm9uZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAjRmFjZXRTZWFyY2hGb3JtIHtcbiAgICBtYXJnaW46IDEuNnJlbSAwO1xuICB9XG59XG5cbi50ZW1wbGF0ZS1zZWFyY2gge1xuICAuZ3JpZC1hcmNoaXZlX19vdXRlci1jb250YWluZXIge1xuICAgIGgxIHtcbiAgICAgIG1hcmdpbjogOHJlbSAwO1xuICAgIH1cbiAgfVxufVxuXG4jYmxvZy1jb250ZW50IHtcbiAgc2Nyb2xsLW1hcmdpbjogMTUwcHg7XG59XG5cbi5zaG9waWZ5LXNlY3Rpb24ge1xuICAmLmJsb2csXG4gICYuY29sbGVjdGlvbiB7XG4gICAgcGFkZGluZzogMS42cmVtIDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbn1cbiIsIi5tYWluLXByb2R1Y3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICZfX2dhbGxlcnktY29udHJvbHMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmX190YXgtcG9saWN5IHtcbiAgICBAZXh0ZW5kIC50ZXh0LXhzO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBtYXJnaW46IDAuNHJlbSAwIDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHZhcigtLWZvbnQtYm9keS10cmFuc2Zvcm0pO1xuXG4gICAgYTpub3QoOmhvdmVyKSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAmLnNsaWRlci1lbmFibGVkIHtcbiAgICAubWFpbi1wcm9kdWN0X19nYWxsZXJ5LWNvbnRyb2xzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIHBhZGRpbmc6IDAuOHJlbSAwIDAgMDtcbiAgICAgIG1hcmdpbjogMC44cmVtIDAgMCAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgIG1hcmdpbjogMC44cmVtIDAgMCAtMS42cmVtO1xuICAgICAgfVxuXG4gICAgICAuc3dpcGVyLXNjcm9sbGJhciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb250YWluZXItLWZ1bGxfYmxlZWQgLm1haW4tcHJvZHVjdF9fZ2FsbGVyeS1jb250cm9scyB7XG4gICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgY2FsYyh2YXIoLS1nYXApIC8gMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1haW4tcHJvZHVjdF9fZ2FsbGVyeSB7XG4gICAgICBmaWd1cmUge1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgY3Vyc29yOiBncmFiICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKTtcbiAgICAgIGdyaWQtZ2FwOiB2YXIoLS1nYXApO1xuICAgIH1cblxuICAgICYuZ2FsbGVyeS0tcmlnaHQge1xuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgIC5tYWluLXByb2R1Y3RfX21lZGlhIHtcbiAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYubGVmdCB7XG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMmZyKSBtaW5tYXgoMCwgMWZyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCAyZnIpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZ2FsbGVyeS0tZGVza3RvcC1zdHlsZS1ub25lIHtcbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvbnRhaW5lci0tZnVsbF9ibGVlZCAuY29udGFpbmVyIHtcbiAgICBncmlkLWdhcDogMDtcbiAgfVxuXG4gIC5zd2lwZXItdGh1bWJuYWlscyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLnN3aXBlciB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogNjBweDtcblxuICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgfVxuXG4gICAgICAuc3dpcGVyLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG5cbiAgICAgICAgJi5zd2lwZXItc2xpZGUtdGh1bWItYWN0aXZlIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1uYXYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZ2FwOiA4cHg7XG4gICAgICBtYXJnaW4tdG9wOiA4cHg7XG5cbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICB9XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19tZWRpYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgcGFkZGluZzogMCAwIDEuNnJlbSAwO1xuICAgICAgbWFyZ2luOiAwIC0xLjZyZW0gMCAwO1xuXG4gICAgICAmOmhhcyguc3dpcGVyW2RhdGEtbW9iaWxlLXNsaWRlcy1wZXItdmlldz1cIjFcIl0pLFxuICAgICAgJjpoYXMoLnN3aXBlcltkYXRhLW1vYmlsZS1zbGlkZXMtcGVyLXZpZXc9XCIyXCJdKSxcbiAgICAgICY6aGFzKC5zd2lwZXJbZGF0YS1tb2JpbGUtc2xpZGVzLXBlci12aWV3PVwiM1wiXSksXG4gICAgICAmOmhhcyguc3dpcGVyW2RhdGEtbW9iaWxlLXNsaWRlcy1wZXItdmlldz1cIjRcIl0pLFxuICAgICAgJjpoYXMoLnN3aXBlcltkYXRhLW1vYmlsZS1zbGlkZXMtcGVyLXZpZXc9XCI1XCJdKSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cblxuICAgICAgLmNvbnRhaW5lci0tZnVsbF9ibGVlZCAmIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtd3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAwLjhyZW07XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLnN3aXBlci10aHVtYm5haWxzIHtcbiAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgLnN3aXBlci10aHVtYm5haWxzICsgLm1haW4tcHJvZHVjdF9fbWVkaWEtZ2FsbGVyeSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDY4cHgpO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2OHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gIHN3aXBlci1jb250YWluZXIge1xuICAgIGZpZ3VyZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgJltkYXRhLWRlc2t0b3AtbGF5b3V0PVwib25lLWNvbHVtbi1maXJzdFwiXSxcbiAgICAmW2RhdGEtZGVza3RvcC1sYXlvdXQ9XCJvbmUtY29sdW1uXCJdLFxuICAgICZbZGF0YS1kZXNrdG9wLWxheW91dD1cInR3by1jb2x1bW5cIl0ge1xuICAgICAgJjo6cGFydCh3cmFwcGVyKSB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgZ3JpZC1nYXA6IDEuNnJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZbZGF0YS1tb2JpbGUtbGF5b3V0PVwib25lLWNvbHVtbi1maXJzdFwiXSxcbiAgICAmW2RhdGEtbW9iaWxlLWxheW91dD1cIm9uZS1jb2x1bW5cIl0sXG4gICAgJltkYXRhLW1vYmlsZS1sYXlvdXQ9XCJ0d28tY29sdW1uXCJdIHtcbiAgICAgICY6OnBhcnQod3JhcHBlcikge1xuICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBncmlkLWdhcDogMS42cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJltkYXRhLWRlc2t0b3AtbGF5b3V0PVwib25lLWNvbHVtbi1maXJzdFwiXSxcbiAgICAmW2RhdGEtZGVza3RvcC1sYXlvdXQ9XCJ0d28tY29sdW1uXCJdOm5vdChbZGF0YS12YXJpYW50LXN0eWxlPVwidmFyaWFudFwiXSkge1xuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgICY6OnBhcnQod3JhcHBlcikge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1haW4tcHJvZHVjdF9fZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgICBmbGV4OiAwIGNhbGMoNTAlIC0gMC44cmVtKTtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJltkYXRhLW1vYmlsZS1sYXlvdXQ9XCJvbmUtY29sdW1uLWZpcnN0XCJdLFxuICAgICZbZGF0YS1tb2JpbGUtbGF5b3V0PVwidHdvLWNvbHVtblwiXTpub3QoW2RhdGEtdmFyaWFudC1zdHlsZT1cInZhcmlhbnRcIl0pIHtcbiAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgJjo6cGFydCh3cmFwcGVyKSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAubWFpbi1wcm9kdWN0X19nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICAgIGZsZXg6IDAgY2FsYyg1MCUgLSAwLjhyZW0pO1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2RhdGEtZGVza3RvcC1sYXlvdXQ9XCJvbmUtY29sdW1uLWZpcnN0XCJdIHtcbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICAubWFpbi1wcm9kdWN0X19nYWxsZXJ5LWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGZsZXg6IDAgMTAwJTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2RhdGEtbW9iaWxlLWxheW91dD1cIm9uZS1jb2x1bW4tZmlyc3RcIl0ge1xuICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICAubWFpbi1wcm9kdWN0X19nYWxsZXJ5LWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGZsZXg6IDAgMTAwJTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnpvb20tbGlnaHRib3gge1xuICAgICAgZmlndXJlIHtcbiAgICAgICAgY3Vyc29yOiB6b29tLWluO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgZGl2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICYgaDEge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaGVhZGluZyk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgKyAubWFpbi1wcm9kdWN0X19wcmljZSB7XG4gICAgICBtYXJnaW46IC0wLjhyZW0gMCAxLjZyZW0gMDtcblxuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgIG1hcmdpbjogLTEuNnJlbSAwIDIuNHJlbSAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2Jsb2NrcyB7XG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgc2hvcGlmeS1wYXltZW50LXRlcm1zIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIH1cblxuICAgID4gKiB7XG4gICAgICBtYXJnaW46IDEuNnJlbSAwO1xuXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgbWFyZ2luOiAyLjRyZW0gMDtcbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbiArIC5hY2NvcmRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogIC0wLjhyZW1cbiAgICB9XG5cbiAgICAucHJpY2Uge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuXG4gICAgdmFyaWFudC1zZWxlY3RzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiAxLjZyZW07XG4gICAgfVxuXG4gICAgLmMtaWNvbnMtcHJvZHVjdCB7XG4gICAgICAmX19pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDAuOHJlbTtcblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICAgIHBhZGRpbmc6IDAuOHJlbSAwIDAgMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5zdGlja3kpIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvcGlmeV9zdWJzY3JpcHRpb25zX2ZpZWxkc2V0IHtcbiAgICAgIC5zaG9waWZ5X3N1YnNjcmlwdGlvbnNfYXBwX190aXRsZSB7XG4gICAgICAgIEBleHRlbmQgLnRleHQtc207XG4gICAgICAgIG1hcmdpbjogMCAwIDAuOHJlbSAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLnNob3BpZnlfc3Vic2NyaXB0aW9uc19hcHBfYmxvY2tfbGFiZWxfY2hpbGRyZW4sXG4gICAgICAuc2hvcGlmeV9zdWJzY3JpcHRpb25zX3B1cmNoYXNlX29wdGlvbl93cmFwcGVyIHtcbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgIEBleHRlbmQgLnRleHQtc207XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNob3BpZnlfc3Vic2NyaXB0aW9uc19hcHBfYmxvY2tfbGFiZWwge1xuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAuOHJlbSAwIDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgIHBhZGRpbmc6IDAuOHJlbSAwICAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwLjhyZW0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNob3BpZnlfc3Vic2NyaXB0aW9uc19hcHBfcG9saWN5IHtcbiAgICAgICAgQGV4dGVuZCAudGV4dC14cztcbiAgICAgICAgbWFyZ2luOiAwLjhyZW0gMCAwIDAgIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdHJ1bmNhdGFibGUtY29udGVudCB7XG4gICAgICAuc2hyaW5rLFxuICAgICAgLmV4cGFuZCB7XG4gICAgICAgIHBhZGRpbmc6IDAuOHJlbSAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2FkZC10by1jYXJ0IHtcbiAgICBtYXJnaW4tdG9wOiAwLjhyZW07XG5cbiAgICBmb3JtIHtcbiAgICAgIG1hcmdpbjogMCAwIDIuNHJlbSAwO1xuICAgIH1cbiAgfVxuXG4gICZfX3JhdGluZyB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgJl9fZGVzY3JpcHRpb24ge1xuICAgIHAge1xuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fZmllbGRzZXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAwLjhyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBmaWVsZHNldCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBsZWdlbmQge1xuICAgICAgbWFyZ2luOiAwLjhyZW0gMS42cmVtIDAgMDtcbiAgICAgIG1pbi13aWR0aDogOHJlbTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gICAgICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmLS1waWxscyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAgIGRpdi52YXJpYW50X29wdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogMC44cmVtO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0taW1hZ2Vfc3dhdGNoZXMsXG4gICAgJi0tY29sb3Jfc3dhdGNoZXMge1xuICAgICAgZGl2LnZhcmlhbnRfb3B0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGdyaWQtZ2FwOiAwLjhyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fZHJvcGRvd24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDAuOHJlbTtcbiAgfVxuXG4gICZfX3F1YW50aXR5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDEuNnJlbTtcblxuICAgIC5xdWFudGl0eS1waWNrZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDEuNnJlbTtcbiAgICB9XG4gIH1cblxuICAmX19lcnJvciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAuOHJlbTtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcblxuICAgIHAge1xuICAgICAgbWFyZ2luOiAwIDAgMCAwLjhyZW07XG4gICAgfVxuICB9XG59XG5cbi5zaG9waWZ5LW1vZGVsLXZpZXdlci11aSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ucGRwLWxpZ2h0Ym94IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IC05OTk5cHg7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWJvZHkpO1xuICB6LWluZGV4OiAtMTtcbiAgcGFkZGluZzogMCAwIDRyZW07XG4gIG92ZXJmbG93OiBhdXRvO1xuICBvcGFjaXR5OiAwO1xuICBsZWZ0OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNnM7XG4gICR0aGlzOiAmO1xuXG4gICZfX2Nsb3NlLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogLTEwMCU7XG4gICAgei1pbmRleDogMjtcbiAgfVxuXG4gICZfX2Nsb3NlIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDQuOHJlbSAwLjhyZW0gMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWJ1dHRvbi1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1idXR0b24tcHJpbWFyeSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWJ1dHRvbi1wcmltYXJ5KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIHdpZHRoOiA0cmVtO1xuICAgIGhlaWdodDogNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjRzO1xuXG4gICAgLmljb24ge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtYnV0dG9uLXByaW1hcnkpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG9uRXZlbnQge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYnV0dG9uLXByaW1hcnktaG92ZXIpO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtYnV0dG9uLXByaW1hcnktaG92ZXIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItYnV0dG9uLXByaW1hcnktaG92ZXIpO1xuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJ1dHRvbi1wcmltYXJ5LWhvdmVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiB2YXIoLS1nYXApO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICBtYXJnaW46IHZhcigtLWdhcCk7XG4gICAgfVxuXG4gICAgaW1nLFxuICAgIHN2ZyB7XG4gICAgICBjdXJzb3I6IHpvb20tb3V0O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICYtLW9wZW4ge1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHotaW5kZXg6IDEwMDtcblxuICAgICN7JHRoaXN9X19jbG9zZS1jb250YWluZXIge1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLnN0aWNreS1hZGQtdG8tY2FydCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxOTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgYm90dG9tOiAtMXB4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA5OTk5OTk7XG4gIH1cblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICB0b3A6IDA7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgfVxuXG4gICZfX2lubmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWJvZHkpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MsIG9wYWNpdHkgMC4zcztcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICB9XG4gIH1cblxuICAuY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tZ2FwKSAvIDIpO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWdhcCkgLyAyKSBjYWxjKHZhcigtLWdhcCkpO1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcblxuICAgIC5zdGlja3ktYWRkLXRvLWNhcnRfX2lubmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBib3gtc2hhZG93OiAwIDAgNHJlbSAtMC40cmVtIHJnYig1MiA2NCA4NCAvIDglKTtcblxuICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX21ldGEge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIHN2ZywgaW1nIHtcbiAgICAgIHdpZHRoOiA2LjZyZW07XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICBtYXJnaW46IDAgMS42cmVtIDAgMDtcbiAgICB9XG5cbiAgICAucHJpY2Uge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRyb2xzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgY29sdW1uLWdhcDogMC44cmVtO1xuICAgIH1cblxuICAgIC5zaG9waWZ5LXBheW1lbnQtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICB2YXJpYW50LXNlbGVjdHMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGNvbHVtbi1nYXA6IDAuOHJlbTtcblxuICAgICAgLm1haW4tcHJvZHVjdF9fZHJvcGRvd24ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiAwLjhyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbW9iaWxlLWNvbnRyb2xzIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuIiwiLmhlcm8ge1xuICAkdGhpczogJjtcbiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcblxuICAuZ3JpZC1jb250ZW50X19oZWFkZXIge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gICZfX21ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICAmX19zaWRlLWltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgbWFyZ2luOiAwLjhyZW0gMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiA4MHJlbTtcbiAgICBtaW4taGVpZ2h0OiAyMHJlbTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC5oZXJvLS1pbWFnZS1sZWZ0ICYge1xuICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICBncmlkLXJvdzogMTtcbiAgICB9XG4gIH1cblxuICAmX193cmFwcGVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHotaW5kZXg6IDI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGdhcDogY2FsYyh2YXIoLS1nYXApIC8gMik7XG5cbiAgICAuc2VjdGlvbi0td2l0aC1iYWNrZ3JvdW5kICYge1xuICAgICAgcGFkZGluZzogMS42cmVtO1xuICAgIH1cblxuICAgIC5ncmlkLWNvbnRlbnRfX2hlYWRlcj4qIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmID4gKiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cbiAgICAgIC50YWdzLFxuICAgICAgLnVzcCxcbiAgICAgIC5oZXJvX191aS1zaGFyZS1wcmludCxcbiAgICAgIC5icmVhZGNydW1icyBuYXYgb2wge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgfVxuXG4gICAgICAuaGVyb19fbWV0YSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgIH1cblxuICAgICAgYVtjbGFzc149XCJidXR0b25cIl0sXG4gICAgICBhW2NsYXNzKj1cIiBidXR0b25cIl0ge1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgIH1cblxuICAgICAgLnd5c2l3eWcge1xuICAgICAgICB1bCxcbiAgICAgICAgb2wge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgaDEge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLmhlcm9fX21ldGEsXG4gICAgICAudGFncyxcbiAgICAgIC51c3AsXG4gICAgICAuaGVyb19fdWktc2hhcmUtcHJpbnQsXG4gICAgICAuYnJlYWRjcnVtYnMgbmF2IG9sIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5oZXJvX19tZXRhIHtcbiAgICAgICAgZ2FwOiAzLjJyZW07XG4gICAgICB9XG5cbiAgICAgIGFbY2xhc3NePVwiYnV0dG9uXCJdLFxuICAgICAgYVtjbGFzcyo9XCIgYnV0dG9uXCJdIHtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAud3lzaXd5ZyB7XG4gICAgICAgIHVsLFxuICAgICAgICBvbCB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fYmcge1xuICAgIHotaW5kZXg6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG5cbiAgICAuY29udGFpbmVyLS1mdWxsX2JsZWVkICYge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAmLS1tb2JpbGUge1xuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICsgLmhlcm9fX2JnLS1kZXNrdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX191aS1zaGFyZS1wcmludCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDAgMCAwIC0xLjJyZW07XG5cbiAgICAudWktc2hhcmUtcHJpbnQgdWwge1xuICAgICAgbGVmdDogMS42cmVtO1xuICAgIH1cblxuICAgIGEgKyAudWktc2hhcmUtcHJpbnQgdWwge1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuYnJlYWRjcnVtYnMge1xuICAgIC5jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgJi5zZWN0aW9uX193cmFwcGVyLS1iYWNrZ3JvdW5kIHtcbiAgICAgICAgcGFkZGluZzogMS42cmVtICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgICAgcGFkZGluZzogMi40cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgb2wge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjJzO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlua3MtaG92ZXIpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZbYXJpYS1jdXJyZW50XSB7XG4gICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJ1dHRvbi1zZWNvbmRhcnkpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYnV0dG9uLXNlY29uZGFyeSk7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwLjRyZW0gMC44cmVtO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjJzO1xuXG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKFxuICAgICAgICAgICAgICAgICAgLS1jb2xvci1iYWNrZ3JvdW5kLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXJcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tb25lLWNvbCB7XG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAjeyR0aGlzfV9fZGVzY3JpcHRpb24sXG4gICAgICAuaGVhZGluZ19fc2VjdGlvbiA+ICoge1xuICAgICAgICBtYXgtd2lkdGg6IDYwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAuYWxpZ25tZW50LWhvcml6b250YWwtbW9iaWxlLS1jZW50ZXIge1xuICAgICAgICAjeyR0aGlzfV9fZGVzY3JpcHRpb24sXG4gICAgICAgIC5oZWFkaW5nX19zZWN0aW9uID4gKiB7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmFsaWdubWVudC1ob3Jpem9udGFsLW1vYmlsZS0tcmlnaHQge1xuICAgICAgICAjeyR0aGlzfV9fZGVzY3JpcHRpb24sXG4gICAgICAgIC5oZWFkaW5nX19zZWN0aW9uID4gKiB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIC5hbGlnbm1lbnQtaG9yaXpvbnRhbC0tY2VudGVyIHtcbiAgICAgICAgI3skdGhpc31fX2Rlc2NyaXB0aW9uLFxuICAgICAgICAuaGVhZGluZ19fc2VjdGlvbiA+ICoge1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5hbGlnbm1lbnQtaG9yaXpvbnRhbC0tcmlnaHQge1xuICAgICAgICAjeyR0aGlzfV9fZGVzY3JpcHRpb24sXG4gICAgICAgIC5oZWFkaW5nX19zZWN0aW9uID4gKiB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS10d28tY29sIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ3JpZC1hdXRvLWNvbHVtbnM6IDEwMCU7XG4gICAgZ3JpZC1nYXA6IDIuNHJlbTtcblxuICAgIC5pbWctcGxhY2Vob2xkZXIsXG4gICAgdmlkZW8sXG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1heC1oZWlnaHQ6IDgwcmVtO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heChjYWxjKDUwJSAtIDhyZW0pLCAxZnIpKTtcbiAgICAgIGdyaWQtZ2FwOiA0LjhyZW07XG4gICAgfVxuXG4gICAgLmhlcm9fX3dyYXBwZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJi1iYXNpYyB7XG4gICAgaDEge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICB9XG59XG4iLCIubG9nb3Mge1xuICAmX193cmFwcGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogY2FsYyh2YXIoLS1nYXApIC8gMik7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIGdhcDogdmFyKC0tZ2FwKTtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gIH1cblxuICAuYnV0dG9uIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGFsaWduLXNlbGY6IGF1dG87XG4gIH1cblxuICAmX19sb2dvIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBmbGV4OiAwIGNhbGMoMTAwJSAvIHZhcigtLW1vYmlsZS1jb2x1bW4tY291bnQtbG9nby1saXN0KSAtIGNhbGModmFyKC0tZ2FwKSAvIDIpKTtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgZmxleDogMCBjYWxjKDEwMCUgLyB2YXIoLS1kZXNrdG9wLWNvbHVtbi1jb3VudC1sb2dvLWxpc3QpIC0gdmFyKC0tZ2FwKSk7XG4gICAgfVxuXG4gICAgJi0tdGV4dC1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgZmxleDogMCAxMDAlO1xuXG4gICAgICAgIC5jb250YWluZXItLWZ1bGxfYmxlZWQgJiB7XG4gICAgICAgICAgcGFkZGluZzogMCAxLjJyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1pbWFnZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIHNjYWxlOiAxO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuXG4gICAgICArIHAge1xuICAgICAgICBtYXJnaW46IDAuOHJlbSAwIDAgMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgQGluY2x1ZGUgb25FdmVudCB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgc2NhbGU6IDEuMDQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1maWxsLW1vYmlsZSB7XG4gICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgIGZsZXg6IDAgMTAwJTtcblxuICAgICAgICAuY29udGFpbmVyLS1mdWxsX2JsZWVkICYge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMS4ycmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fcGxhY2Vob2xkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/