:root{
  --alpha-button-background:1;
  --alpha-button-border:1;
  --alpha-link:0.85;
  --alpha-badge-border:0.1;
  --focused-base-outline:0.2rem solid rgba(var(--color-foreground), 0.5);
  --focused-base-outline-offset:0.3rem;
  --focused-base-box-shadow:0 0 0 0.3rem rgb(var(--color-background)), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3);
}

.contains-card--product,.product-card-wrapper .card{
  --border-radius:var(--product-card-corner-radius);
  --border-width:var(--product-card-border-width);
  --border-opacity:var(--product-card-border-opacity);
  --shadow-horizontal-offset:var(--product-card-shadow-horizontal-offset);
  --shadow-vertical-offset:var(--product-card-shadow-vertical-offset);
  --shadow-blur-radius:var(--product-card-shadow-blur-radius);
  --shadow-opacity:var(--product-card-shadow-opacity);
  --shadow-visible:var(--product-card-shadow-visible);
  --image-padding:var(--product-card-image-padding);
  --text-alignment:var(--product-card-text-alignment);
}

.collection-card-wrapper .card,.contains-card--collection{
  --border-radius:var(--collection-card-corner-radius);
  --border-width:var(--collection-card-border-width);
  --border-opacity:var(--collection-card-border-opacity);
  --shadow-horizontal-offset:var(--collection-card-shadow-horizontal-offset);
  --shadow-vertical-offset:var(--collection-card-shadow-vertical-offset);
  --shadow-blur-radius:var(--collection-card-shadow-blur-radius);
  --shadow-opacity:var(--collection-card-shadow-opacity);
  --shadow-visible:var(--collection-card-shadow-visible);
  --image-padding:var(--collection-card-image-padding);
  --text-alignment:var(--collection-card-text-alignment);
}

.article-card-wrapper .card,.contains-card--article{
  --border-radius:var(--blog-card-corner-radius);
  --border-width:var(--blog-card-border-width);
  --border-opacity:var(--blog-card-border-opacity);
  --shadow-horizontal-offset:var(--blog-card-shadow-horizontal-offset);
  --shadow-vertical-offset:var(--blog-card-shadow-vertical-offset);
  --shadow-blur-radius:var(--blog-card-shadow-blur-radius);
  --shadow-opacity:var(--blog-card-shadow-opacity);
  --shadow-visible:var(--blog-card-shadow-visible);
  --image-padding:var(--blog-card-image-padding);
  --text-alignment:var(--blog-card-text-alignment);
}

.contains-content-container,.content-container{
  --border-radius:var(--text-boxes-radius);
  --border-width:var(--text-boxes-border-width);
  --border-opacity:var(--text-boxes-border-opacity);
  --shadow-horizontal-offset:var(--text-boxes-shadow-horizontal-offset);
  --shadow-vertical-offset:var(--text-boxes-shadow-vertical-offset);
  --shadow-blur-radius:var(--text-boxes-shadow-blur-radius);
  --shadow-opacity:var(--text-boxes-shadow-opacity);
  --shadow-visible:var(--text-boxes-shadow-visible);
}

.contains-media,.global-media-settings{
  --border-radius:var(--media-radius);
  --border-width:var(--media-border-width);
  --border-opacity:var(--media-border-opacity);
  --shadow-horizontal-offset:var(--media-shadow-horizontal-offset);
  --shadow-vertical-offset:var(--media-shadow-vertical-offset);
  --shadow-blur-radius:var(--media-shadow-blur-radius);
  --shadow-opacity:var(--media-shadow-opacity);
  --shadow-visible:var(--media-shadow-visible);
}

.page-width{
  margin:0 auto;
  max-width:var(--page-width);
  padding:0 1.5rem;
}

body:has(.section-header .drawer-menu) .announcement-bar-section .page-width{
  max-width:100%;
}

.page-width.drawer-menu{
  max-width:100%;
}

.page-width-desktop{
  margin:0 auto;
  padding:0;
}

.utility-bar__grid.page-width{
  padding-left:3rem;
  padding-right:3rem;
}

@media screen and (min-width:750px){
  .page-width{
    padding:0 5rem;
  }

  .header.page-width,.utility-bar__grid.page-width{
    padding-left:3.2rem;
    padding-right:3.2rem;
  }

  .page-width--narrow{
    padding:0 9rem;
  }

  .page-width-desktop{
    padding:0;
  }

  .page-width-tablet{
    padding:0 5rem;
  }
}

@media screen and (min-width:990px){
  .header:not(.drawer-menu).page-width{
    padding-left:5rem;
    padding-right:5rem;
  }

  .page-width--narrow{
    max-width:72.6rem;
    padding:0;
  }

  .page-width-desktop{
    max-width:var(--page-width);
    padding:0 5rem;
  }
}

.isolate{
  position:relative;
  z-index:0;
}

.section+.section{
  margin-top:var(--spacing-sections-mobile);
}

@media screen and (min-width:750px){
  .section+.section{
    margin-top:var(--spacing-sections-desktop);
  }
}

.element-margin-top{
  margin-top:5rem;
}

@media screen and (min-width:750px){
  .element-margin{
    margin-top:calc(5rem + var(--page-width-margin));
  }
}

.background-secondary{
  background-color:rgba(var(--color-foreground), .04);
}

.grid-auto-flow{
  display:grid;
  grid-auto-flow:column;
}

.page-margin,.shopify-challenge__container{
  margin:7rem auto;
}

.rte-width{
  margin:0 auto 2rem;
  max-width:82rem;
}

.list-unstyled{
  list-style:none;
  margin:0;
  padding:0;
}

.hidden{
  display:none !important;
}

.visually-hidden{
  border:0;
  height:1px;
  margin:-1px;
  overflow:hidden;
  padding:0;
  position:absolute !important;
  width:1px;
  clip:rect(0 0 0 0);
  word-wrap:normal !important;
}

.visually-hidden--inline{
  height:1em;
  margin:0;
}

.overflow-hidden{
  overflow:hidden;
}

.skip-to-content-link:focus{
  height:auto;
  overflow:auto;
  position:inherit;
  width:auto;
  z-index:9999;
  clip:auto;
}

.full-width-link{
  bottom:0;
  left:0;
  position:absolute;
  right:0;
  top:0;
  z-index:2;
}

::selection{
  background-color:rgba(var(--color-foreground), .2);
}

.text-body{
  font-family:var(--font-body-family);
    font-size:1.5rem;
  font-style:var(--font-body-style);
  font-weight:var(--font-body-weight);
  line-height:calc(1 + .8/var(--font-body-scale));
}

.hxxl{
  font-size:clamp(calc(var(--font-heading-scale)*5.6rem), 14vw, calc(var(--font-heading-scale)*7.2rem));
  line-height:1.1;
}

.hxl{
  font-size:calc(var(--font-heading-scale)*5rem);
  line-height:calc(1 + .3/max(1, var(--font-heading-scale)));
}

@media only screen and (min-width:750px){
  .hxl{
    font-size:calc(var(--font-heading-scale)*6.2rem);
  }
}

.h0{
  font-size:calc(var(--font-heading-scale)*4rem);
}

@media only screen and (min-width:750px){
  .h0{
    font-size:calc(var(--font-heading-scale)*5.2rem);
  }
}

.h1,h1{
  font-size:calc(var(--font-heading-scale)*3rem);
}

@media only screen and (min-width:750px){
  .h1,h1{
    font-size:calc(var(--font-heading-scale)*4rem);
  }
}

.h2,h2{
  font-size:calc(var(--font-heading-scale)*2rem);
}

@media only screen and (min-width:750px){
  .h2,h2{
    font-size:calc(var(--font-heading-scale)*2.4rem);
  }
}

.h3,h3{
  font-size:calc(var(--font-heading-scale)*1.7rem);
}

@media only screen and (min-width:750px){
  .h3,h3{
    font-size:calc(var(--font-heading-scale)*1.8rem);
  }
}

.h4,h4{
  font-family:var(--font-heading-family);
  font-size:calc(var(--font-heading-scale)*1.5rem);
  font-style:var(--font-heading-style);
}

.h5,h5{
  font-size:calc(var(--font-heading-scale)*1.2rem);
}

@media only screen and (min-width:750px){
  .h5,h5{
    font-size:calc(var(--font-heading-scale)*1.3rem);
  }
}

.h6,h6{
  margin-block-end:1.67em;
  margin-block-start:1.67em;
}

.h6,blockquote,h6{
  color:rgba(var(--color-foreground), .75);
}

blockquote{
  border-left:.2rem solid rgba(var(--color-foreground), .2);
  font-style:italic;
  padding-left:1rem;
}

@media screen and (min-width:750px){
  blockquote{
    padding-left:1.5rem;
  }
}

.caption{
  font-size:1rem;
  letter-spacing:.07rem;
  line-height:calc(1 + .7/var(--font-body-scale));
}

@media screen and (min-width:750px){
  .caption{
    font-size:1.2rem;
  }
}

.caption-with-letter-spacing{
  font-size:1rem;
  letter-spacing:.13rem;
  line-height:calc(1 + .2/var(--font-body-scale));
  text-transform:uppercase;
}

.caption-with-letter-spacing--medium{
  font-size:1.2rem;
  letter-spacing:.16rem;
}

.caption-with-letter-spacing--large{
  font-size:1.4rem;
  letter-spacing:.18rem;
}

.caption-large,.customer .field input,.customer select,.field__input,.form__label,.select__select{
  font-size:1.3rem;
  letter-spacing:.04rem;
  line-height:calc(1 + .5/var(--font-body-scale));
}

.color-foreground{
  color:rgb(var(--color-foreground));
}

table:not([class]){
  border-collapse:collapse;
  border-style:hidden;
  box-shadow:0 0 0 .1rem rgba(var(--color-foreground), .2);
  font-size:1.4rem;
  table-layout:fixed;
}

table:not([class]) td,table:not([class]) th{
  border:.1rem solid rgba(var(--color-foreground), .2);
  padding:1em;
}

@media screen and (max-width:749px){
  .small-hide{
    display:none !important;
  }
}

@media screen and (min-width:750px) and (max-width:989px){
  .medium-hide{
    display:none !important;
  }
}

@media screen and (min-width:990px){
  .large-up-hide{
    display:none !important;
  }
}

.left{
  text-align:left;
}

.center{
  text-align:center;
}

.right{
  text-align:right;
}

.uppercase{
  text-transform:uppercase;
}

.light{
  opacity:.7;
}

a:empty,article:empty,div:empty,dl:empty,h1:empty,h2:empty,h3:empty,h4:empty,h5:empty,h6:empty,p:empty,section:empty,ul:empty{
  display:none;
}

.customer a,.link{
  background-color:transparent;
  border:none;
  box-shadow:none;
  color:rgb(var(--color-link));
  cursor:pointer;
  display:inline-block;
  font-family:inherit;
  font-size:1.4rem;
  text-decoration:underline;
  text-underline-offset:.3rem;
}

.link--text{
  color:rgb(var(--color-foreground));
}

.link--text:hover{
  color:rgba(var(--color-foreground), .75);
}

.link-with-icon{
  display:inline-flex;
  font-size:1.4rem;
  font-weight:600;
  letter-spacing:.1rem;
  margin-bottom:4.5rem;
  text-decoration:none;
  white-space:nowrap;
}

.link-with-icon .icon{
  margin-left:1rem;
  width:1.5rem;
}

a:not([href]){
  cursor:not-allowed;
}

.circle-divider:after{
  content:"\2022";
  margin:0 1.3rem 0 1.5rem;
}

.circle-divider:last-of-type:after{
  display:none;
}

hr{
  background-color:rgba(var(--color-foreground), .2);
  border:none;
  display:block;
  height:.1rem;
  margin:5rem 0;
}

@media screen and (min-width:750px){
  hr{
    margin:7rem 0;
  }
}

.full-unstyled-link{
  color:currentColor;
  display:block;
  text-decoration:none;
}

.placeholder{
  background-color:rgba(var(--color-foreground), .04);
  color:rgba(var(--color-foreground), .55);
  fill:rgba(var(--color-foreground), .55);
}

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

.break{
  word-break:break-word;
}

.visibility-hidden{
  visibility:hidden;
}

@media (prefers-reduced-motion){
  .motion-reduce{
    animation:none !important;
    transition:none !important;
  }
}

:root{
  --duration-short:100ms;
  --duration-default:200ms;
  --duration-announcement-bar:250ms;
  --duration-medium:300ms;
  --duration-long:500ms;
  --duration-extra-long:600ms;
  --duration-extra-longer:750ms;
  --duration-extended:3s;
  --ease-out-slow:cubic-bezier(0, 0, 0.3, 1);
  --animation-slide-in:slideIn var(--duration-extra-long) var(--ease-out-slow) forwards;
  --animation-fade-in:fadeIn var(--duration-extra-long) var(--ease-out-slow);
}

.customer a,.inline-richtext a,.underlined-link{
  text-decoration-thickness:.1rem;
  text-underline-offset:.3rem;
  transition:text-decoration-thickness .1s ease;
}

.customer a,.underlined-link{
  color:rgba(var(--color-link), var(--alpha-link));
}

.inline-richtext a,.rte.inline-richtext a{
  color:currentColor;
}

.customer a:hover,.inline-richtext a:hover,.underlined-link:hover{
  color:rgb(var(--color-link));
  text-decoration-thickness:.2rem;
}

.icon-arrow{
  width:1.5rem;
}

.h3 .icon-arrow,h3 .icon-arrow{
  width:calc(var(--font-heading-scale)*1.5rem);
}
.animate-arrow .icon-arrow path{
  transform:translateX(-.25rem);
  transition:transform var(--duration-short) ease;
}

.animate-arrow:hover .icon-arrow path{
  transform:translateX(-.05rem);
}

.svg-wrapper{
  align-items:center;
  display:inline-flex;
  height:20px;
  justify-content:center;
  width:20px;
}

.svg-wrapper>svg{
  height:100%;
  width:100%;
}
summary{
  cursor:pointer;
  list-style:none;
  position:relative;
}

summary .icon-caret{
  height:.6rem;
  position:absolute;
  right:1.5rem;
  top:calc(50% - .2rem);
}

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

.disclosure-has-popup{
  position:relative;
}

.disclosure-has-popup[open]>summary:before{
  background:transparent;
  bottom:0;
  content:" ";
  cursor:default;
  display:block;
  left:0;
  position:fixed;
  right:0;
  top:0;
  z-index:2;
}

.disclosure-has-popup>summary:before{
  display:none;
}

.disclosure-has-popup[open]>summary+*{
  z-index:100;
}

@media screen and (min-width:750px){
  .disclosure-has-popup[open]>summary+*{
    z-index:4;
  }

  .facets .disclosure-has-popup[open]>summary+*{
    z-index:2;
  }
}

.placeholder-svg{
  height:100%;
  width:100%;
}

:focus{
  box-shadow:none;
  outline:0;
}

:focus-visible{
  box-shadow:var(--focused-base-box-shadow);
  outline:var(--focused-base-outline);
  outline-offset:var(--focused-base-outline-offset);
}
.focused{
  box-shadow:var(--focused-base-box-shadow);
  outline:var(--focused-base-outline);
  outline-offset:var(--focused-base-outline-offset);
}

.focus-inset:focus-visible{
  box-shadow:0 0 .2rem 0 rgba(var(--color-foreground), .3);
  outline:.2rem solid rgba(var(--color-foreground), .5);
  outline-offset:-.2rem;
}

.focused.focus-inset{
  box-shadow:0 0 .2rem 0 rgba(var(--color-foreground), .3);
  outline:.2rem solid rgba(var(--color-foreground), .5);
  outline-offset:-.2rem;
}
.focus-none{
  box-shadow:none !important;
  outline:0 !important;
}

.focus-offset:focus-visible{
  box-shadow:0 0 0 1rem rgb(var(--color-background)), 0 0 .2rem 1.2rem rgba(var(--color-foreground), .3);
  outline:.2rem solid rgba(var(--color-foreground), .5);
  outline-offset:1rem;
}

.focus-offset.focused{
  box-shadow:0 0 0 1rem rgb(var(--color-background)), 0 0 .2rem 1.2rem rgba(var(--color-foreground), .3);
  outline:.2rem solid rgba(var(--color-foreground), .5);
  outline-offset:1rem;
}
.title,.title-wrapper-with-link{
  margin:3rem 0 2rem;
}

.title-wrapper-with-link .title{
  margin:0;
}

.title .link{
  font-size:inherit;
}

.title-wrapper{
  margin-bottom:3rem;
}

.title-wrapper-with-link{
  align-items:flex-end;
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  justify-content:space-between;
  margin-bottom:3rem;
}

.title--primary{
  margin:4rem 0;
}

.title-wrapper--self-padded-mobile,.title-wrapper--self-padded-tablet-down{
  padding-left:1.5rem;
  padding-right:1.5rem;
}

@media screen and (min-width:750px){
  .title-wrapper--self-padded-mobile{
    padding-left:0;
    padding-right:0;
  }
}

@media screen and (min-width:990px){
  .title,.title-wrapper-with-link{
    margin:5rem 0 3rem;
  }

  .title--primary{
    margin:2rem 0;
  }

  .title-wrapper-with-link{
    align-items:center;
  }

  .title-wrapper-with-link .title{
    margin-bottom:0;
  }

  .title-wrapper--self-padded-tablet-down{
    padding-left:0;
    padding-right:0;
  }
}

.title-wrapper-with-link .link-with-icon{
  align-items:center;
  display:flex;
  flex-shrink:0;
  margin:0;
}

.title-wrapper-with-link .link-with-icon .svg-wrapper{
  width:1.5rem;
}

.title-wrapper-with-link a{
  flex-shrink:0;
  margin-top:0;
}

.title-wrapper--no-top-margin,.title-wrapper--no-top-margin>.title{
  margin-top:0;
}

.subtitle{
  color:rgba(var(--color-foreground), .7);
  font-size:1.8rem;
  letter-spacing:.06rem;
  line-height:calc(1 + .8/var(--font-body-scale));
}

.subtitle--small{
  font-size:1.4rem;
  letter-spacing:.1rem;
}

.subtitle--medium{
  font-size:1.6rem;
  letter-spacing:.08rem;
}
.grid{
  column-gap:var(--grid-mobile-horizontal-spacing);
  display:flex;
  flex-wrap:wrap;
  list-style:none;
  margin-bottom:2rem;
  padding:0;
  row-gap:var(--grid-mobile-vertical-spacing);
}

@media screen and (min-width:750px){
  .grid{
    column-gap:var(--grid-desktop-horizontal-spacing);
    row-gap:var(--grid-desktop-vertical-spacing);
  }
}

.grid:last-child{
  margin-bottom:0;
}

.grid__item{
  flex-grow:1;
  flex-shrink:0;
  max-width:calc(50% - var(--grid-mobile-horizontal-spacing)/2);
  width:calc(25% - var(--grid-mobile-horizontal-spacing)*3/4);
}

@media screen and (min-width:750px){
  .grid__item{
    max-width:calc(50% - var(--grid-desktop-horizontal-spacing)/2);
    width:calc(25% - var(--grid-desktop-horizontal-spacing)*3/4);
  }
}

.grid--gapless.grid{
  column-gap:0;
  row-gap:0;
}

@media screen and (max-width:749px){
  .grid__item.slider__slide--full-width{
    max-width:none;
    width:100%;
  }
}

.grid--1-col .grid__item{
  max-width:100%;
  width:100%;
}

.grid--3-col .grid__item{
  width:calc(33.33% - var(--grid-mobile-horizontal-spacing)*2/3);
}

@media screen and (min-width:750px){
  .grid--3-col .grid__item{
    width:calc(33.33% - var(--grid-desktop-horizontal-spacing)*2/3);
  }
}

.grid--2-col .grid__item{
  width:calc(50% - var(--grid-mobile-horizontal-spacing)/2);
}

@media screen and (min-width:750px){
  .grid--2-col .grid__item{
    width:calc(50% - var(--grid-desktop-horizontal-spacing)/2);
  }

  .grid--4-col-tablet .grid__item{
    width:calc(25% - var(--grid-desktop-horizontal-spacing)*3/4);
  }

  .grid--3-col-tablet .grid__item{
    width:calc(33.33% - var(--grid-desktop-horizontal-spacing)*2/3);
  }

  .grid--2-col-tablet .grid__item{
    width:calc(50% - var(--grid-desktop-horizontal-spacing)/2);
  }
}

@media screen and (max-width:989px){
  .grid--1-col-tablet-down .grid__item{
    max-width:100%;
    width:100%;
  }

  .slider--tablet.grid--peek{
    margin:0;
    width:100%;
  }

  .slider--tablet.grid--peek .grid__item{
    box-sizing:content-box;
    margin:0;
  }

  .slider.slider--mobile .scroll-trigger.animate--slide-in,.slider.slider--tablet .scroll-trigger.animate--slide-in{
    animation:none;
    opacity:1;
    transform:inherit;
  }

  .scroll-trigger:not(.scroll-trigger--offscreen) .slider--tablet{
    animation:var(--animation-slide-in);
  }
}

@media screen and (min-width:990px){
  .grid--6-col-desktop .grid__item{
    max-width:calc(16.66% - var(--grid-desktop-horizontal-spacing)*5/6);
    width:calc(16.66% - var(--grid-desktop-horizontal-spacing)*5/6);
  }

  .grid--5-col-desktop .grid__item{
    max-width:calc(20% - var(--grid-desktop-horizontal-spacing)*4/5);
    width:calc(20% - var(--grid-desktop-horizontal-spacing)*4/5);
  }

  .grid--4-col-desktop .grid__item{
    max-width:calc(25% - var(--grid-desktop-horizontal-spacing)*3/4);
    width:calc(25% - var(--grid-desktop-horizontal-spacing)*3/4);
  }

  .grid--3-col-desktop .grid__item{
    max-width:calc(33.33% - var(--grid-desktop-horizontal-spacing)*2/3);
    width:calc(33.33% - var(--grid-desktop-horizontal-spacing)*2/3);
  }

  .grid--2-col-desktop .grid__item{
    max-width:calc(50% - var(--grid-desktop-horizontal-spacing)/2);
    width:calc(50% - var(--grid-desktop-horizontal-spacing)/2);
  }

  .slider.slider--desktop .scroll-trigger.animate--slide-in{
    animation:none;
    opacity:1;
    transform:inherit;
  }

  .scroll-trigger:not(.scroll-trigger--offscreen) .slider--desktop{
    animation:var(--animation-slide-in);
  }
  .grid--1-col-desktop{
    flex:0 0 100%;
    max-width:100%;
  }

  .grid--1-col-desktop .grid__item{
    max-width:100%;
    width:100%;
  }
}

@media screen and (max-width:749px){
  .grid--peek.slider--mobile{
    margin:0;
    width:100%;
  }

  .grid--peek.slider--mobile .grid__item{
    box-sizing:content-box;
    margin:0;
  }

  .grid--peek .grid__item{
    min-width:35%;
  }

  .grid--peek.slider .grid__item:first-of-type{
    margin-left:1.5rem;
  }
  .grid--peek.slider:after{
    margin-left:calc(var(--grid-mobile-horizontal-spacing)*-1);
  }

  .grid--2-col-tablet-down .grid__item{
    width:calc(50% - var(--grid-mobile-horizontal-spacing)/2);
  }

  .grid--peek .grid__item,.slider--tablet.grid--peek.grid--2-col-tablet-down .grid__item{
    width:calc(50% - var(--grid-mobile-horizontal-spacing) - 3rem);
  }

  .slider--mobile.grid--peek.grid--1-col-tablet-down .grid__item,.slider--tablet.grid--peek.grid--1-col-tablet-down .grid__item{
    width:calc(100% - var(--grid-mobile-horizontal-spacing) - 3rem);
  }
}

@media screen and (min-width:750px) and (max-width:989px){
  .slider--tablet.grid--peek .grid__item{
    width:calc(25% - var(--grid-desktop-horizontal-spacing) - 3rem);
  }

  .slider--tablet.grid--peek.grid--3-col-tablet .grid__item{
    width:calc(33.33% - var(--grid-desktop-horizontal-spacing) - 3rem);
  }

  .slider--tablet.grid--peek.grid--2-col-tablet .grid__item,.slider--tablet.grid--peek.grid--2-col-tablet-down .grid__item{
    width:calc(50% - var(--grid-desktop-horizontal-spacing) - 3rem);
  }

  .slider--tablet.grid--peek .grid__item:first-of-type{
    margin-left:1.5rem;
  }

  .grid--2-col-tablet-down .grid__item{
    width:calc(50% - var(--grid-desktop-horizontal-spacing)/2);
  }

  .grid--1-col-tablet-down.grid--peek .grid__item{
    width:calc(100% - var(--grid-desktop-horizontal-spacing) - 3rem);
  }
}
.media{
  background-color:rgba(var(--color-foreground), .1);
  display:block;
  overflow:hidden;
  position:relative;
}

.media--transparent{
  background-color:transparent;
}

.media model-viewer,.media>:not(.zoom):not(.deferred-media__poster-button){
  display:block;
  height:100%;
  left:0;
  max-width:100%;
  position:absolute;
  top:0;
  width:100%;
}

.media>img{
  object-fit:cover;
  object-position:center center;
  transition:opacity .4s cubic-bezier(.25, .46, .45, .94);
}

.media--square{
  padding-bottom:100%;
}

.media--portrait{
  padding-bottom:125%;
}

.media--landscape{
  padding-bottom:66.6%;
}

.media--cropped{
  padding-bottom:56%;
}

.media--16-9{
  padding-bottom:56.25%;
}

.media--circle{
  border-radius:50%;
  padding-bottom:100%;
}

.media.media--hover-effect>img+img{
  opacity:0;
}

@media screen and (min-width:990px){
  .media--cropped{
    padding-bottom:63%;
  }
}

deferred-media{
  display:block;
}

.button--secondary,.button--tertiary{
  --color-button:var(--color-secondary-button);
  --color-button-text:var(--color-secondary-button-text);
}

.button--tertiary{
  --alpha-button-background:0;
  --alpha-button-border:0.2;
}

.button,.customer button,.shopify-challenge__button,button.shopify-payment-button__button--unbranded{
  --shadow-horizontal-offset:var(--buttons-shadow-horizontal-offset);
  --shadow-vertical-offset:var(--buttons-shadow-vertical-offset);
  --shadow-blur-radius:var(--buttons-shadow-blur-radius);
  --shadow-opacity:var(--buttons-shadow-opacity);
  --shadow-visible:var(--buttons-shadow-visible);
  --border-offset:var(--buttons-border-offset);
  --border-opacity:calc(1 - var(--buttons-border-opacity));
  border-radius:var(--buttons-radius-outset);
  min-height:calc(4.5rem + var(--buttons-border-width)*2);
  min-width:calc(12rem + var(--buttons-border-width)*2);
  position:relative;
}

.button,.customer button,.shopify-challenge__button{
  align-items:center;
  -webkit-appearance:none;
  appearance:none;
  background-color:rgba(var(--color-button), var(--alpha-button-background));
  border:0;
  color:rgb(var(--color-button-text));
  cursor:pointer;
  display:inline-flex;
  font:inherit;
  font-size:1.5rem;
  justify-content:center;
  padding:0 3rem;
  text-decoration:none;
  transition:box-shadow var(--duration-short) ease;
}

.button:before,.customer button:before,.shopify-challenge__button:before,.shopify-payment-button__button--unbranded:before{
  border-radius:var(--buttons-radius-outset);
  bottom:0;
  box-shadow:var(--shadow-horizontal-offset) var(--shadow-vertical-offset) var(--shadow-blur-radius) rgba(var(--color-shadow), var(--shadow-opacity));
  content:"";
  left:0;
  position:absolute;
  right:0;
  top:0;
  z-index:-1;
}

.button:after,.customer button:after,.shopify-challenge__button:after,.shopify-payment-button__button--unbranded:after{
  border-radius:var(--buttons-radius);
  bottom:var(--buttons-border-width);
  box-shadow:0 0 0 calc(var(--buttons-border-width) + var(--border-offset)) rgba(var(--color-button-text), var(--border-opacity)), 0 0 0 var(--buttons-border-width) rgba(var(--color-button), var(--alpha-button-background));
  content:"";
  left:var(--buttons-border-width);
  position:absolute;
  right:var(--buttons-border-width);
  top:var(--buttons-border-width);
  transition:box-shadow var(--duration-short) ease;
  z-index:1;
}

.button:not([disabled]):hover:after,.customer button:hover:after,.shopify-challenge__button:hover:after,.shopify-payment-button__button--unbranded:hover:after{
  --border-offset:1.3px;
  box-shadow:0 0 0 calc(var(--buttons-border-width) + var(--border-offset)) rgba(var(--color-button-text), var(--border-opacity)), 0 0 0 calc(var(--buttons-border-width) + 1px) rgba(var(--color-button), var(--alpha-button-background));
}

.button--secondary:after{
  --border-opacity:var(--buttons-border-opacity);
}

.button.focused,.button:focus,.button:focus-visible,.shopify-payment-button__button--unbranded:focus,.shopify-payment-button__button--unbranded:focus-visible{
  box-shadow:0 0 0 .3rem rgb(var(--color-background)), 0 0 0 .5rem rgba(var(--color-foreground), .5), 0 0 .5rem .4rem rgba(var(--color-foreground), .3);
  outline:0;
}

.button:focus:not(:focus-visible):not(.focused),.shopify-payment-button__button--unbranded:focus:not(:focus-visible):not(.focused){
  box-shadow:inherit;
}

.button::selection,.customer button::selection,.shopify-challenge__button::selection{
  background-color:rgba(var(--color-button-text), .3);
}

.button,.button-label,.customer button,.shopify-challenge__button{
  font-size:1.5rem;
  letter-spacing:.1rem;
  line-height:calc(1 + .2/var(--font-body-scale));
}

.button--tertiary{
  font-size:1.2rem;
  min-height:calc(3.5rem + var(--buttons-border-width)*2);
  min-width:calc(9rem + var(--buttons-border-width)*2);
  padding:1rem 1.5rem;
}

.button--small{
  padding:1.2rem 2.6rem;
}
shopify-accelerated-checkout,shopify-accelerated-checkout-cart{
  --shopify-accelerated-checkout-button-border-radius:var(--buttons-radius-outset);
  --shopify-accelerated-checkout-button-box-shadow:var(--shadow-horizontal-offset) var(--shadow-vertical-offset) var(--shadow-blur-radius) rgba(var(--color-shadow), var(--shadow-opacity));
}

.button.disabled,.button:disabled,.button[aria-disabled=true],.customer button.disabled,.customer button:disabled,.customer button[aria-disabled=true],.quantity__button.disabled{
  cursor:not-allowed;
  opacity:.5;
}

.button--full-width{
  display:flex;
  width:100%;
}

.button.loading{
  color:transparent;
  position:relative;
}

@media screen and (forced-colors:active){
  .button.loading{
    color:rgb(var(--color-foreground));
  }
}

.button.loading>.loading__spinner{
  align-items:center;
  display:flex;
  height:100%;
  left:50%;
  position:absolute;
  top:50%;
  transform:translate(-50%, -50%);
}

.button.loading>.loading__spinner .spinner{
  width:fit-content;
}

.button.loading>.loading__spinner .path{
  stroke:rgb(var(--color-button-text));
}

.share-button{
  display:block;
  position:relative;
}

.share-button details{
  width:fit-content;
}

.share-button__button{
  align-items:center;
  color:rgb(var(--color-link));
  display:flex;
  font-size:1.4rem;
  margin-left:0;
  min-height:4.4rem;
  padding-left:0;
}

details[open]>.share-button__fallback{
  animation:animateMenuOpen var(--duration-default) ease;
}

.share-button__button:hover{
  text-decoration:underline;
  text-underline-offset:.3rem;
}

.share-button__button,.share-button__fallback button{
  background-color:transparent;
  border:none;
  cursor:pointer;
}

.share-button__button .icon-share{
  height:1.2rem;
  margin-right:1rem;
  min-width:1.3rem;
}

.share-button__fallback{
  align-items:center;
  border:0;
  border-radius:var(--inputs-radius);
  display:flex;
  left:.1rem;
  min-width:max-content;
  position:absolute;
  top:3rem;
  width:100%;
  z-index:3;
}

.share-button__fallback:after{
  border:.1rem solid transparent;
  border-radius:var(--inputs-radius);
  bottom:var(--inputs-border-width);
  box-shadow:0 0 0 var(--inputs-border-width) rgba(var(--color-foreground), var(--inputs-border-opacity));
  content:"";
  left:var(--inputs-border-width);
  pointer-events:none;
  position:absolute;
  right:var(--inputs-border-width);
  top:var(--inputs-border-width);
  transition:box-shadow var(--duration-short) ease;
  z-index:1;
}

.share-button__fallback:before{
  background:rgb(var(--color-background));
  border-radius:var(--inputs-radius-outset);
  bottom:0;
  box-shadow:var(--inputs-shadow-horizontal-offset) var(--inputs-shadow-vertical-offset) var(--inputs-shadow-blur-radius) rgba(var(--color-shadow), var(--inputs-shadow-opacity));
  content:"";
  left:0;
  pointer-events:none;
  position:absolute;
  right:0;
  top:0;
  z-index:-1;
}

.share-button__fallback button{
  align-items:center;
  display:flex;
  flex-shrink:0;
  height:4.4rem;
  justify-content:center;
  padding:0;
  position:relative;
  right:var(--inputs-border-width);
  width:4.4rem;
}

.share-button__fallback button:hover{
  color:rgba(var(--color-foreground), .75);
}

.share-button__fallback button:hover .svg-wrapper{
  transform:scale(1.07);
}

.share-button__close:not(.hidden)+.share-button__copy{
  display:none;
}

.share-button__close,.share-button__copy{
  background-color:transparent;
  color:rgb(var(--color-foreground));
}

.share-button__close:focus-visible,.share-button__copy:focus-visible{
  background-color:rgb(var(--color-background));
  z-index:2;
}

.share-button__close:focus,.share-button__copy:focus{
  background-color:rgb(var(--color-background));
  z-index:2;
}

.field:not(:focus-visible):not(.focused)+.share-button__close:not(:focus-visible):not(.focused),.field:not(:focus-visible):not(.focused)+.share-button__copy:not(:focus-visible):not(.focused){
  background-color:inherit;
}

.share-button__fallback .field:after,.share-button__fallback .field:before{
  content:none;
}

.share-button__fallback .field{
  border-radius:0;
  min-height:auto;
  min-width:auto;
  transition:none;
}

.share-button__fallback .field__input:-webkit-autofill,.share-button__fallback .field__input:focus{
  box-shadow:0 0 0 .1rem rgb(var(--color-background)), 0 0 .5rem .4rem rgba(var(--color-foreground), .3);
  outline:.2rem solid rgba(var(--color-foreground), .5);
  outline-offset:.1rem;
}

.share-button__fallback .field__input{
  box-shadow:none;
  filter:none;
  min-height:auto;
  min-width:auto;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.share-button__fallback .field__input:hover{
  box-shadow:none;
}

.share-button__fallback .icon{
  height:1.5rem;
  width:1.5rem;
}

.share-button__message:not(:empty){
  align-items:center;
  display:flex;
  height:100%;
  margin:var(--inputs-border-width);
  padding:.8rem 0 .8rem 1.5rem;
  width:100%;
}

.share-button__message:not(:empty):not(.hidden)~*{
  display:none;
}
.customer .field input,.customer select,.field__input,.select__select{
  -webkit-appearance:none;
  appearance:none;
  background-color:rgb(var(--color-background));
  border:0;
  border-radius:var(--inputs-radius);
  box-sizing:border-box;
  color:rgb(var(--color-foreground));
  font-family:var(--font-body-family);
  font-size:1.6rem;
  font-style:var(--font-body-style);
  font-weight:var(--font-body-weight);
  height:4.5rem;
  min-height:calc(var(--inputs-border-width)*2);
  min-width:calc(7rem + var(--inputs-border-width)*2);
  position:relative;
  transition:box-shadow var(--duration-short) ease;
  width:100%;
}

.customer .field:before,.customer select:before,.field:before,.localization-form__select:before,.select:before{
  border-radius:var(--inputs-radius-outset);
  bottom:0;
  box-shadow:var(--inputs-shadow-horizontal-offset) var(--inputs-shadow-vertical-offset) var(--inputs-shadow-blur-radius) rgba(var(--color-shadow), var(--inputs-shadow-opacity));
  content:"";
  left:0;
  pointer-events:none;
  position:absolute;
  right:0;
  top:0;
  z-index:-1;
}

.customer .field:after,.customer select:after,.field:after,.localization-form__select:after,.select:after{
  border:.1rem solid transparent;
  border-radius:var(--inputs-radius);
  bottom:var(--inputs-border-width);
  box-shadow:0 0 0 var(--inputs-border-width) rgba(var(--color-foreground), var(--inputs-border-opacity));
  content:"";
  left:var(--inputs-border-width);
  pointer-events:none;
  position:absolute;
  right:var(--inputs-border-width);
  top:var(--inputs-border-width);
  transition:box-shadow var(--duration-short) ease;
  z-index:1;
}

.select__select{
  color:rgba(var(--color-foreground), .75);
  font-family:var(--font-body-family);
  font-size:1.2rem;
  font-style:var(--font-body-style);
  font-weight:var(--font-body-weight);
}

.customer .field:hover.field:after,.customer select:hover.select:after,.field:hover.field:after,.localization-form__select:hover.localization-form__select:after,.select:hover.select:after,.select__select:hover.select__select:after{
  border-radius:var(--inputs-radius);
  box-shadow:0 0 0 calc(.1rem + var(--inputs-border-width)) rgba(var(--color-foreground), var(--inputs-border-opacity));
  outline:0;
}

.customer .field input:focus-visible,.customer select:focus-visible,.field__input:focus-visible,.localization-form__select:focus-visible.localization-form__select:after,.select__select:focus-visible{
  border-radius:var(--inputs-radius);
  box-shadow:0 0 0 calc(.1rem + var(--inputs-border-width)) rgba(var(--color-foreground));
  outline:0;
}

.customer .field input:focus,.customer select:focus,.field__input:focus,.localization-form__select:focus.localization-form__select:after,.select__select:focus{
  border-radius:var(--inputs-radius);
  box-shadow:0 0 0 calc(.1rem + var(--inputs-border-width)) rgba(var(--color-foreground));
  outline:0;
}

.localization-form__select:focus{
  box-shadow:none;
  outline:0;
}

.select,.text-area{
  display:flex;
  position:relative;
  width:100%;
}

.customer select+.svg-wrapper,.select .svg-wrapper{
  height:.6rem;
  pointer-events:none;
  position:absolute;
  right:0;
  top:calc(50% - .2rem);
  width:1rem;
}

.customer select,.select__select{
  cursor:pointer;
  line-height:calc(1 + .6/var(--font-body-scale));
  margin:var(--inputs-border-width);
  min-height:calc(var(--inputs-border-width)*2);
  padding:0 calc(var(--inputs-border-width) + 3rem) 0 2rem;
}

.field{
  position:relative;
  transition:box-shadow var(--duration-short) ease;
  width:100%;
}

.customer .field,.field{
  display:flex;
}

.field--with-error{
  flex-wrap:wrap;
}

.customer .field input,.field__input{
  flex-grow:1;
  margin:var(--inputs-border-width);
  padding:1.5rem;
  text-align:left;
  transition:box-shadow var(--duration-short) ease;
}

.customer .field label,.field__label{
  color:rgba(var(--color-foreground), .75);
  font-size:1.6rem;
  left:calc(var(--inputs-border-width) + 2rem);
  letter-spacing:.1rem;
  line-height:1.5;
  margin-bottom:0;
  pointer-events:none;
  position:absolute;
  top:calc(1rem + var(--inputs-border-width));
  transition:top var(--duration-short) ease, font-size var(--duration-short) ease;
}

.customer .field input:-webkit-autofill~label,.customer .field input:focus~label,.customer .field input:not(:placeholder-shown)~label,.field__input:-webkit-autofill~.field__label,.field__input:focus~.field__label,.field__input:not(:placeholder-shown)~.field__label{
  font-size:1rem;
  left:calc(var(--inputs-border-width) + 2rem);
  letter-spacing:.04rem;
  top:calc(var(--inputs-border-width) + .5rem);
}

.customer .field input:-webkit-autofill,.customer .field input:focus,.customer .field input:not(:placeholder-shown),.field__input:-webkit-autofill,.field__input:focus,.field__input:not(:placeholder-shown){
  margin:var(--inputs-border-width);
  padding:2.2rem 1.5rem .8rem 2rem;
}

.customer .field input::-webkit-search-cancel-button,.field__input::-webkit-search-cancel-button{
  display:none;
}

.customer .field input::placeholder,.field__input::placeholder{
  opacity:0;
}

.field__button{
  align-items:center;
  background-color:transparent;
  border:0;
  color:currentColor;
  cursor:pointer;
  display:flex;
  height:4.4rem;
  justify-content:center;
  overflow:hidden;
  padding:0;
  position:absolute;
  right:0;
  top:0;
  width:4.4rem;
}

.field__button>.svg-wrapper{
  height:2.5rem;
  width:2.5rem;
}

.customer .field input:-webkit-autofill~label,.field__input:-webkit-autofill~.field__button,.field__input:-webkit-autofill~.field__label{
  color:#000;
}

.text-area{
  font-family:var(--font-body-family);
  font-style:var(--font-body-style);
  font-weight:var(--font-body-weight);
  min-height:10rem;
  resize:none;
}

input[type=checkbox]{
  display:inline-block;
  margin-right:.5rem;
  width:auto;
}

.form__label{
  display:block;
  margin-bottom:.6rem;
}

.form__message{
  align-items:center;
  display:flex;
  font-size:1.4rem;
  line-height:1;
  margin-top:1rem;
}

.form__message--large{
  font-size:1.6rem;
}

.customer .field .form__message{
  font-size:1.4rem;
  text-align:left;
}

.customer .form__message .svg-wrapper,.form__message .icon{
  flex-shrink:0;
  height:1.3rem;
  margin-right:.5rem;
  width:1.3rem;
}

.customer .form__message .svg-wrapper,.form__message--large .icon{
  height:1.5rem;
  margin-right:1rem;
  width:1.5rem;
}

.customer .field .form__message .svg-wrapper{
  align-self:start;
}

.form-status{
  font-size:1.6rem;
  margin:0;
}

.form-status-list{
  margin:2rem 0 4rem;
  padding:0;
}

.form-status-list li{
  list-style-position:inside;
}

.form-status-list .link:first-letter{
  text-transform:capitalize;
}
.quantity{
  border-radius:var(--inputs-radius);
  color:rgba(var(--color-foreground));
  display:flex;
  min-height:calc(var(--inputs-border-width)*2 + 4.5rem);
  position:relative;
  width:calc(14rem/var(--font-body-scale) + var(--inputs-border-width)*2);
}

.quantity:after{
  border:.1rem solid transparent;
  border-radius:var(--inputs-radius);
  bottom:var(--inputs-border-width);
  box-shadow:0 0 0 var(--inputs-border-width) rgba(var(--color-foreground), var(--inputs-border-opacity));
  left:var(--inputs-border-width);
  right:var(--inputs-border-width);
  top:var(--inputs-border-width);
  transition:box-shadow var(--duration-short) ease;
  z-index:1;
}

.quantity:after,.quantity:before{
  content:"";
  pointer-events:none;
  position:absolute;
}

.quantity:before{
  background:rgb(var(--color-background));
  border-radius:var(--inputs-radius-outset);
  bottom:0;
  box-shadow:var(--inputs-shadow-horizontal-offset) var(--inputs-shadow-vertical-offset) var(--inputs-shadow-blur-radius) rgba(var(--color-shadow), var(--inputs-shadow-opacity));
  left:0;
  right:0;
  top:0;
  z-index:-1;
}

.quantity__input{
  -webkit-appearance:none;
  appearance:none;
  color:currentColor;
  flex-grow:1;
  font-family:var(--font-body-family);
  font-size:1.6rem;
  font-style:var(--font-body-style);
  font-weight:var(--font-body-weight);
  font-weight:500;
  opacity:.85;
  padding:0 .5rem;
  text-align:center;
  width:100%;
}

.quantity__button,.quantity__input{
  background-color:transparent;
  border:0;
}

.quantity__button{
  align-items:center;
  color:rgb(var(--color-foreground));
  cursor:pointer;
  display:flex;
  flex-shrink:0;
  font-size:1.8rem;
  justify-content:center;
  padding:0;
  width:calc(4.5rem/var(--font-body-scale));
}

.quantity__button:first-child{
  margin-left:calc(var(--inputs-border-width));
}

.quantity__button:last-child{
  margin-right:calc(var(--inputs-border-width));
}
.quantity__button svg{
  pointer-events:none;
  width:1rem;
}
.quantity__button:focus-visible,.quantity__input:focus-visible{
  background-color:rgb(var(--color-background));
  z-index:2;
}

.quantity__button:focus,.quantity__input:focus{
  background-color:rgb(var(--color-background));
  z-index:2;
}

.quantity__button:not(:focus-visible):not(.focused),.quantity__input:not(:focus-visible):not(.focused){
  background-color:inherit;
  box-shadow:inherit;
}

.quantity__input:-webkit-autofill,.quantity__input:-webkit-autofill:active,.quantity__input:-webkit-autofill:hover{
  box-shadow:0 0 0 10rem rgb(var(--color-background)) inset !important;
  -webkit-box-shadow:0 0 0 10rem rgb(var(--color-background)) inset !important;
}

.quantity__input::-webkit-inner-spin-button,.quantity__input::-webkit-outer-spin-button{
  -webkit-appearance:none;
  margin:0;
}

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

.quantity__rules{
  font-size:1.2rem;
  margin-top:.5rem;
  position:relative;
}

.quantity__rules .caption{
  display:inline-block;
  margin-bottom:0;
  margin-top:0;
}

.quantity__rules .divider+.divider:before{
  content:"\2022";
  margin:0 .5rem;
}

.quantity__rules-cart{
  position:relative;
}

.product__info-container .loading__spinner:not(.hidden)~*,.quantity__rules-cart .loading__spinner:not(.hidden)~*{
  visibility:hidden;
}
.modal__toggle{
  list-style-type:none;
}

.modal__toggle-close{
  display:none;
}

.modal__toggle-open{
  display:flex;
}

.modal__close-button.link{
  align-items:center;
  background-color:transparent;
  display:flex;
  height:4.4rem;
  justify-content:center;
  padding:0;
  width:4.4rem;
}

.modal__close-button .icon{
  height:1.7rem;
  width:1.7rem;
}

.modal__content{
  align-items:center;
  background:rgb(var(--color-background));
  bottom:0;
  display:flex;
  justify-content:center;
  left:0;
  position:absolute;
  right:0;
  top:0;
  z-index:4;
}

.media-modal{
  cursor:zoom-out;
}

.media-modal .deferred-media{
  cursor:auto;
}
.cart-count-bubble:empty{
  display:none;
}

.cart-count-bubble{
  align-items:center;
  background-color:rgb(var(--color-button));
  border-radius:100%;
  bottom:.8rem;
  color:rgb(var(--color-button-text));
  display:flex;
  font-size:.9rem;
  height:1.7rem;
  justify-content:center;
  left:2.2rem;
  line-height:calc(1 + .1/var(--font-body-scale));
  position:absolute;
  width:1.7rem;
}
.utility-bar{
  height:100%;
}

.utility-bar--bottom-border{
  border-bottom:.1rem solid rgba(var(--color-foreground), .08);
}

@media screen and (min-width:990px){
  .utility-bar--bottom-border-social-only{
    border-bottom:.1rem solid rgba(var(--color-foreground), .08);
  }
}

.utility-bar__grid{
  display:grid;
  grid-template-areas:"announcements";
  grid-template-columns:1fr;
}

.utility-bar__grid .list-social{
  align-content:center;
  grid-area:social-icons;
  justify-content:flex-start;
  margin-left:-1.2rem;
}

@media screen and (max-width:989px){
  .utility-bar .utility-bar__grid .list-social{
    display:none;
  }
}

.utility-bar .list-social__item .icon{
  scale:.9;
}

@media screen and (min-width:990px){
  .utility-bar__grid--3-col{
    grid-template-areas:"social-icons announcements language-currency";
    grid-template-columns:3fr 4fr 3fr;
  }

  .utility-bar__grid--2-col{
    grid-template-areas:"social-icons language-currency";
    grid-template-columns:1fr 1fr;
  }

  .announcement-bar--one-announcement .announcement-bar__link,.announcement-bar.announcement-bar--one-announcement{
    margin:auto;
    width:fit-content;
  }
}

.announcement-bar,.announcement-bar__announcement{
  align-content:center;
  color:rgb(var(--color-foreground));
  display:flex;
  flex-wrap:wrap;
  grid-area:announcements;
  height:100%;
  justify-content:center;
  width:100%;
}

.announcement-bar .slider--everywhere{
  margin-bottom:0;
  scroll-behavior:auto;
}

.announcement-bar-slider,.announcement-bar-slider .slider,.utility-bar__grid .announcement-bar-slider{
  width:100%;
}

.announcement-bar .slider-button--next{
  margin-right:-1.5rem;
  min-width:44px;
}

.announcement-bar .slider-button--prev{
  margin-left:-1.5rem;
  min-width:44px;
}

.announcement-bar .slider-button--next:focus-visible,.announcement-bar .slider-button--prev:focus-visible,.utility-bar .list-social__link:focus-visible{
  box-shadow:0 0 0 -.2rem rgb(var(--color-foreground));
  outline-offset:-.3rem;
}

.localization-wrapper{
  align-self:center;
  display:flex;
  grid-area:language-currency;
  justify-content:flex-end;
}

.localization-wrapper .localization-selector+.disclosure__list-wrapper{
  animation:animateMenuOpen var(--duration-default) ease;
}

.utility-bar .localization-wrapper .disclosure .localization-form__select,.utility-bar .localization-wrapper .disclosure__link{
  font-size:calc(var(--font-heading-scale)*1.3rem);
}

@media screen and (min-width:990px){
  body:has(.section-header .header:not(.drawer-menu)) .utility-bar .page-width{
    padding-left:5rem;
    padding-right:5rem;
  }

  .announcement-bar-slider{
    width:60%;
  }

  .announcement-bar .slider-button{
    height:3.8rem;
  }
}

.announcement-bar__link{
  align-items:center;
  display:flex;
  height:100%;
  justify-content:center;
  text-decoration:none;
  width:100%;
}

.announcement-bar__link:hover{
  text-decoration:underline;
}

.announcement-bar__link .icon-arrow{
  display:inline-block;
  margin-bottom:.2rem;
  margin-left:.8rem;
  pointer-events:none;
  vertical-align:middle;
}

.announcement-bar__message{
  letter-spacing:.1rem;
  margin:0;
  min-height:3.8rem;
  padding:1rem 0;
  text-align:center;
}

.announcement-bar-slider--fade-in-next .announcement-bar__message,.announcement-bar-slider--fade-in-previous .announcement-bar__message,.announcement-bar-slider--fade-out-next .announcement-bar__message,.announcement-bar-slider--fade-out-previous .announcement-bar__message{
  animation-duration:var(--duration-announcement-bar);
  animation-fill-mode:forwards;
  animation-timing-function:ease-in-out;
}

.announcement-bar-slider--fade-in-next .announcement-bar__message{
  --announcement-translate-from:-1.5rem;
  animation-delay:var(--duration-announcement-bar);
  animation-name:translateAnnouncementSlideIn;
  opacity:0;
}

.announcement-bar-slider--fade-in-previous .announcement-bar__message{
  --announcement-translate-from:1.5rem;
  animation-delay:var(--duration-announcement-bar);
  animation-name:translateAnnouncementSlideIn;
  opacity:0;
}

.announcement-bar-slider--fade-out-next .announcement-bar__message{
  --announcement-translate-to:1.5rem;
  animation-name:translateAnnouncementSlideOut;
}

.announcement-bar-slider--fade-out-previous .announcement-bar__message{
  --announcement-translate-to:-1.5rem;
  animation-name:translateAnnouncementSlideOut;
}

@keyframes translateAnnouncementSlideIn{
  0%{
    opacity:0;
    transform:translateX(var(--announcement-translate-from));
  }
  to{
    opacity:1;
    transform:translateX(0);
  }
}

@keyframes translateAnnouncementSlideOut{
  0%{
    opacity:1;
    transform:translateX(0);
  }
  to{
    opacity:0;
    transform:translateX(var(--announcement-translate-to));
  }
}
.section-header.shopify-section-group-header-group{
  z-index:3;
}

.shopify-section-header-sticky{
  position:sticky;
  top:0;
}

.shopify-section-header-hidden{
  top:calc(var(--header-height)*-1);
}

.shopify-section-header-hidden.menu-open{
  top:0;
}

.section-header.animate{
  transition:top .15s ease-out;
}

.shopify-section-group-header-group{
  z-index:4;
}

.section-header~.shopify-section-group-header-group{
  z-index:auto;
}
.header-wrapper{
  background-color:rgb(var(--color-background));
  display:block;
  position:relative;
}

.header-wrapper--border-bottom{
  border-bottom:.1rem solid rgba(var(--color-foreground), .08);
}

.header{
  align-items:center;
  display:grid;
  grid-template-areas:"left-icons heading icons";
  grid-template-columns:1fr 2fr 1fr;
}

@media screen and (max-width:749px){
  .header--has-app{
    grid-template-columns:auto 1fr auto;
  }
}

@media screen and (min-width:990px){
  .header{
    grid-template-columns:1fr auto 1fr;
  }

  .header--middle-left:not(.header--has-menu),.header--top-left{
    grid-template-areas:"heading icons" "navigation navigation";
    grid-template-columns:1fr auto;
  }

  .header--middle-left.drawer-menu,.header--top-left.drawer-menu{
    column-gap:1rem;
    grid-template-areas:"navigation heading icons";
    grid-template-columns:auto 1fr auto;
  }

  .header--middle-left{
    column-gap:2rem;
    grid-template-areas:"heading navigation icons";
    grid-template-columns:auto auto 1fr;
  }

  .header--middle-center:not(.drawer-menu){
    column-gap:2rem;
    grid-template-areas:"navigation heading icons";
    grid-template-columns:1fr auto 1fr;
  }

  .header--middle-center a.header__heading-link{
    text-align:center;
  }

  .header--top-center{
    grid-template-areas:"left-icons heading icons" "navigation navigation navigation";
  }

  .header--top-center.drawer-menu{
    grid-template-areas:"left-icons heading icons";
    grid-template-columns:1fr auto 1fr;
  }

  .header:not(.header--middle-left,.header--middle-center) .header__inline-menu{
    margin-top:1.05rem;
  }
}

.header [tabindex="-1"]:focus{
  outline:none;
}

.header__heading{
  line-height:0;
  margin:0;
}

.header>.header__heading-link{
  line-height:0;
}

.header__heading,.header__heading-link{
  grid-area:heading;
  justify-self:center;
}

.header__heading-link{
  display:inline-block;
  padding:.75rem;
  text-decoration:none;
  word-break:break-word;
}

.header__heading-link:hover .h2{
  color:rgb(var(--color-foreground));
}

.header__heading-link .h2{
  color:rgba(var(--color-foreground), .75);
  line-height:1;
}

.header__heading-logo{
  height:auto;
  max-width:100%;
}

.header__heading-logo-wrapper{
  display:inline-block;
  transition:width .3s cubic-bezier(.52, 0, .61, .99);
  width:100%;
}

@media screen and (max-width:989px){
  .header__heading,.header__heading-link{
    text-align:center;
  }

  .header--mobile-left .header__heading,.header--mobile-left .header__heading-link{
    justify-self:start;
    text-align:left;
  }

  .header--mobile-left{
    grid-template-columns:auto 2fr 1fr;
  }
}

@media screen and (min-width:990px){
  .header--middle-left .header__heading-link,.header--top-left .header__heading-link{
    margin-left:-.75rem;
  }

  .header__heading,.header__heading-link{
    justify-self:start;
  }

  .header--middle-center .header__heading,.header--middle-center .header__heading-link,.header--top-center .header__heading,.header--top-center .header__heading-link{
    justify-self:center;
    text-align:center;
  }
}
.header__icons{
  display:flex;
  grid-area:icons;
  justify-self:end;
  padding-right:.8rem;
}

.header__icons .shopify-app-block{
  max-height:4.4rem;
  max-width:4.4rem;
  overflow:hidden;
}

.header__icon span,.header__icon:not(.header__icon--summary){
  align-items:center;
  display:flex;
  justify-content:center;
}

.header__icon{
  color:rgb(var(--color-foreground));
}

.header__icon span{
  height:100%;
}

.header__icon .svg-wrapper{
  height:44px;
  width:44px;
}

.header__icon:after{
  content:none;
}

.header__icon:hover .icon,.modal__close-button:hover .icon{
  transform:scale(1.07);
}

.header__icon .icon{
  fill:none;
  height:2rem;
  vertical-align:middle;
  width:2rem;
}

.header__icon,.header__icon--cart .icon{
  height:4.4rem;
  padding:0;
  width:4.4rem;
}

.header__icon--cart{
  margin-right:-1.2rem;
  position:relative;
}

.header__icon--menu[aria-expanded=true]:before{
  background:rgba(var(--color-foreground), .5);
  content:"";
  display:block;
  height:calc(var(--viewport-height, 100vh) - var(--header-bottom-position, 100%));
  left:0;
  position:absolute;
  top:100%;
  width:100%;
}

.header__icon--account shop-user-avatar{
  --shop-avatar-size:2.8rem;
}

details .header__icon-close{
  display:none;
}

details[open] .header__icon-close{
  display:inline-block;
}

account-icon{
  display:flex;
}
menu-drawer+.header__search{
  display:none;
}

.header>.header__search{
  grid-area:left-icons;
  justify-self:start;
}

.header--top-center.drawer-menu>.header__search{
  margin-left:3.2rem;
}

.header--top-center header-drawer{
  grid-area:left-icons;
}

.header:not(.header--has-menu) *>.header__search{
  display:none;
}

.header__search{
  display:inline-flex;
  line-height:0;
}

.header--top-center>.header__search{
  display:none;
}

.header--top-center *>.header__search{
  display:inline-flex;
}

@media screen and (min-width:990px){
  .header--top-center>.header__search,.header:not(.header--top-center) *>.header__search{
    display:inline-flex;
  }

  .header--top-center *>.header__search,.header:not(.header--top-center)>.header__search{
    display:none;
  }
}

details[open]>.search-modal{
  animation:animateMenuOpen var(--duration-default) ease;
  opacity:1;
}

details[open] .modal-overlay{
  display:block;
}

details[open] .modal-overlay:after{
  background-color:rgb(var(--color-foreground), .5);
  content:"";
  height:100vh;
  left:0;
  position:absolute;
  right:0;
  top:100%;
}

.search-modal{
  border-bottom:.1rem solid rgba(var(--color-foreground), .08);
  height:100%;
  min-height:calc(100% + var(--inputs-margin-offset) + var(--inputs-border-width)*2);
  opacity:0;
}

.search-modal__content{
  align-items:center;
  display:flex;
  height:100%;
  justify-content:center;
  line-height:calc(1 + .8/var(--font-body-scale));
  padding:0 5rem 0 1rem;
  position:relative;
  width:100%;
}

.search-modal__content-bottom{
  bottom:calc(var(--inputs-margin-offset)/2);
}

.search-modal__content-top{
  top:calc(var(--inputs-margin-offset)/2);
}

.search-modal__form{
  width:100%;
}

.search-modal__close-button{
  position:absolute;
  right:.3rem;
}

@media screen and (min-width:750px){
  .search-modal__close-button{
    right:1rem;
  }

  .search-modal__content{
    padding:0 6rem;
  }
}

@media screen and (min-width:990px){
  .search-modal__form{
    max-width:74.2rem;
  }

  .search-modal__close-button{
    margin-left:.5rem;
    position:static;
  }
}
.header__icon--menu .icon{
  display:block;
  opacity:1;
  position:absolute;
  transform:scale(1);
  transition:transform .15s ease,opacity .15s ease;
}

details:not([open])>.header__icon--menu .icon-close,details[open]>.header__icon--menu .icon-hamburger{
  opacity:0;
  transform:scale(.8);
  visibility:hidden;
}

.js details[open]:not(.menu-opening)>.header__icon--menu .icon-close{
  visibility:hidden;
}

.js details[open]:not(.menu-opening)>.header__icon--menu .icon-hamburger{
  opacity:1;
  transform:scale(1.07);
  visibility:visible;
}

.js details>.header__submenu{
  opacity:0;
  transform:translateY(-1.5rem);
}

details[open]>.header__submenu{
  animation:animateMenuOpen var(--duration-default) ease;
  animation-fill-mode:forwards;
  z-index:1;
}

@media (prefers-reduced-motion){
  details[open]>.header__submenu{
    opacity:1;
    transform:translateY(0);
  }
}
.header__inline-menu{
  display:none;
  grid-area:navigation;
  margin-left:-1.2rem;
}

.header--top-center .header__heading-link,.header--top-center .header__inline-menu{
  margin-left:0;
}

@media screen and (min-width:990px){
  .header__inline-menu{
    display:block;
  }

  .header--top-center .header__inline-menu{
    justify-self:center;
  }

  .header--top-center .header__inline-menu>.list-menu--inline{
    justify-content:center;
  }

  .header--middle-left .header__inline-menu{
    margin-left:0;
  }
}

.header__menu{
  padding:0 1rem;
}

.header__menu-item{
  color:rgba(var(--color-foreground), .75);
  padding:1.2rem;
  text-decoration:none;
}

.header__menu-item:hover{
  color:rgb(var(--color-foreground));
}

.header__menu-item span{
  transition:text-decoration var(--duration-short) ease;
}

.header__menu-item:hover span{
  text-decoration:underline;
  text-underline-offset:.3rem;
}

details[open]>.header__menu-item{
  text-decoration:underline;
}

details[open]:hover>.header__menu-item{
  text-decoration-thickness:.2rem;
}

details[open]>.header__menu-item .icon-caret{
  transform:rotate(180deg);
}

.header__active-menu-item{
  color:rgb(var(--color-foreground));
  text-decoration:underline;
  text-underline-offset:.3rem;
  transition:text-decoration-thickness var(--duration-short) ease;
}

.header__menu-item:hover .header__active-menu-item{
  text-decoration-thickness:.2rem;
}

.header__submenu{
  transition:opacity var(--duration-default) ease, transform var(--duration-default) ease;
}

.global-settings-popup,.header__submenu.global-settings-popup{
  border-color:rgba(var(--color-foreground), var(--popup-border-opacity));
  border-radius:var(--popup-corner-radius);
  border-style:solid;
  border-width:var(--popup-border-width);
  box-shadow:var(--popup-shadow-horizontal-offset) var(--popup-shadow-vertical-offset) var(--popup-shadow-blur-radius) rgba(var(--color-shadow), var(--popup-shadow-opacity));
  z-index:-1;
}

.header__submenu.list-menu{
  padding:1rem 0;
}

.header__submenu .header__submenu{
  background-color:rgba(var(--color-foreground), .03);
  margin:1rem 0;
  padding:1rem 0;
}

.header__submenu .header__menu-item:after{
  right:2rem;
}

.header__submenu .header__menu-item{
  justify-content:space-between;
  padding:.8rem 2rem;
}

.header__submenu .header__menu-item:hover{
  text-decoration-line:underline;
}

.header__menu-item .icon-caret{
  right:.8rem;
}

.header__submenu .icon-caret{
  flex-shrink:0;
  margin-left:1rem;
  position:static;
}

details-disclosure>details,header-menu>details{
  position:relative;
}

@keyframes animateMenuOpen{
  0%{
    opacity:0;
    transform:translateY(-1.5rem);
  }

  to{
    opacity:1;
    transform:translateY(0);
  }
}

.overflow-hidden-desktop,.overflow-hidden-mobile,.overflow-hidden-tablet{
  overflow:hidden;
}

@media screen and (min-width:750px){
  .overflow-hidden-mobile{
    overflow:auto;
  }
}

@media screen and (min-width:990px){
  .overflow-hidden-tablet{
    overflow:auto;
  }
}

.badge{
  background-color:rgb(var(--color-badge-background));
  border:1px solid transparent;
  border-color:rgba(var(--color-badge-border), var(--alpha-badge-border));
  border-radius:var(--badge-corner-radius);
  color:rgb(var(--color-badge-foreground));
  display:inline-block;
  font-size:1.2rem;
  letter-spacing:.1rem;
  line-height:1;
  padding:.5rem 1.3rem .6rem;
  text-align:center;
  word-break:break-word;
}

.gradient{
  background:rgb(var(--color-background));
  background:var(--gradient-background);
  background-attachment:fixed;
}

@media screen and (forced-colors:active){
  .icon{
    color:CanvasText;
    fill:CanvasText !important;
  }

  .icon-close-small path{
    stroke:CanvasText;
  }
}

.ratio{
  align-items:stretch;
  display:flex;
  position:relative;
}

.ratio:before{
  content:"";
  height:0;
  padding-bottom:var(--ratio-percent);
  width:0;
}

.content-container{
  border:var(--text-boxes-border-width) solid rgba(var(--color-foreground), var(--text-boxes-border-opacity));
  border-radius:var(--text-boxes-radius);
  position:relative;
}

.content-container:after{
  border-radius:var(--text-boxes-radius);
  bottom:calc(var(--text-boxes-border-width)*-1);
  box-shadow:var(--text-boxes-shadow-horizontal-offset) var(--text-boxes-shadow-vertical-offset) var(--text-boxes-shadow-blur-radius) rgba(var(--color-shadow), var(--text-boxes-shadow-opacity));
  content:"";
  left:calc(var(--text-boxes-border-width)*-1);
  position:absolute;
  right:calc(var(--text-boxes-border-width)*-1);
  top:calc(var(--text-boxes-border-width)*-1);
  z-index:-1;
}

.content-container--full-width:after{
  border-radius:0;
  left:0;
  right:0;
}

@media screen and (max-width:749px){
  .content-container--full-width-mobile{
    border-left:none;
    border-radius:0;
    border-right:none;
  }
  .content-container--full-width-mobile:after{
    display:none;
  }
}

.global-media-settings{
  background-color:rgb(var(--color-background));
  border:var(--media-border-width) solid rgba(var(--color-foreground), var(--media-border-opacity));
  border-radius:var(--media-radius);
  overflow:visible !important;
  position:relative;
}

.global-media-settings:after{
  border-radius:var(--media-radius);
  bottom:calc(var(--media-border-width)*-1);
  box-shadow:var(--media-shadow-horizontal-offset) var(--media-shadow-vertical-offset) var(--media-shadow-blur-radius) rgba(var(--color-shadow), var(--media-shadow-opacity));
  content:"";
  left:calc(var(--media-border-width)*-1);
  pointer-events:none;
  position:absolute;
  right:calc(var(--media-border-width)*-1);
  top:calc(var(--media-border-width)*-1);
  z-index:-1;
}

.global-media-settings--no-shadow{
  overflow:hidden !important;
}

.global-media-settings--no-shadow:after{
  content:none;
}

.global-media-settings .placeholder-svg,.global-media-settings iframe,.global-media-settings img,.global-media-settings model-viewer,.global-media-settings video{
  border-radius:calc(var(--media-radius) - var(--media-border-width));
}

.content-container--full-width,.global-media-settings--full-width,.global-media-settings--full-width .placeholder-svg,.global-media-settings--full-width iframe,.global-media-settings--full-width img,.global-media-settings--full-width video{
  border-left:none;
  border-radius:0;
  border-right:none;
}
@supports not (inset:10px){
  .grid{
    margin-left:calc(var(--grid-mobile-horizontal-spacing)*-1);
  }

  .grid__item{
    padding-bottom:var(--grid-mobile-vertical-spacing);
    padding-left:var(--grid-mobile-horizontal-spacing);
  }

  @media screen and (min-width:750px){
    .grid{
      margin-left:calc(var(--grid-desktop-horizontal-spacing)*-1);
    }

    .grid__item{
      padding-bottom:var(--grid-desktop-vertical-spacing);
      padding-left:var(--grid-desktop-horizontal-spacing);
    }
  }

  .grid--gapless .grid__item{
    padding-bottom:0;
    padding-left:0;
  }

  @media screen and (min-width:749px){
    .grid--peek .grid__item{
      padding-left:var(--grid-mobile-horizontal-spacing);
    }
  }

  .product-grid .grid__item{
    padding-bottom:var(--grid-mobile-vertical-spacing);
  }

  @media screen and (min-width:750px){
    .product-grid .grid__item{
      padding-bottom:var(--grid-desktop-vertical-spacing);
    }
  }
}

.font-body-bold{
  font-weight:var(--font-body-weight-bold);
}
@media (forced-colors:active){
  .button,.customer button,.shopify-challenge__button{
    border:1px solid transparent;
  }

  .button.focused,.button:focus,.button:focus-visible,.shopify-payment-button [role=button]:focus,.shopify-payment-button [role=button]:focus-visible,.shopify-payment-button__button--unbranded:focus,.shopify-payment-button__button--unbranded:focus-visible{
    outline:1px solid transparent;
  }

  .customer .field input:focus,.customer select:focus,.field__input:focus,.localization-form__select:focus,.localization-form__select:focus.localization-form__select:after,.select__select:focus{
    outline:1px solid transparent;
  }
}

.rte:after{
  clear:both;
  content:"";
  display:block;
}

.rte>:first-child{
  margin-top:0;
}

.rte>:last-child{
  margin-bottom:0;
}

.rte table{
  table-layout:fixed;
}

@media screen and (min-width:750px){
  .rte table td{
    padding-left:1.2rem;
    padding-right:1.2rem;
  }
}

.rte img{
  border:var(--media-border-width) solid rgba(var(--color-foreground), var(--media-border-opacity));
  border-radius:var(--media-radius);
  box-shadow:var(--media-shadow-horizontal-offset) var(--media-shadow-vertical-offset) var(--media-shadow-blur-radius) rgba(var(--color-shadow), var(--media-shadow-opacity));
  height:auto;
  margin-bottom:var(--media-shadow-vertical-offset);
  max-width:100%;
}

.rte ol,.rte ul{
  list-style-position:inside;
  padding-left:2rem;
}

.rte li{
  list-style:inherit;
}

.rte li:last-child{
  margin-bottom:0;
}

.rte a{
  color:rgba(var(--color-link), var(--alpha-link));
  text-decoration-thickness:.1rem;
  text-underline-offset:.3rem;
  transition:text-decoration-thickness var(--duration-short) ease;
}

.rte a:hover{
  color:rgb(var(--color-link));
  text-decoration-thickness:.2rem;
}

.rte blockquote{
  display:inline-flex;
}

.rte blockquote>*{
  margin:-.5rem 0;
}

.shape--mask{
  display:block;
  height:0;
  width:0;
}

.shape--arch{
  clip-path:url(#Shape-Arch);
}

.shape--blob{
  clip-path:polygon(var(--shape--blob-1));
}

.shape--chevronleft{
  clip-path:polygon(100% 0, 85% 50%, 100% 100%, 15% 100%, 0 50%, 15% 0);
}

.shape--chevronright{
  clip-path:polygon(85% 0, 100% 50%, 85% 100%, 0 100%, 15% 50%, 0 0);
}

.shape--circle{
  clip-path:circle(closest-side);
}

.shape--diamond{
  clip-path:polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
}

.shape--parallelogram{
  clip-path:polygon(15% 0, 100% 0, 85% 100%, 0 100%);
}

.shape--round{
  clip-path:ellipse(45% 45% at 50% 50%);
}
.animate--fixed{
  clip-path:inset(0);
}

.animate--fixed>img:not(.zoom):not(.deferred-media__poster-button),.animate--fixed>svg:not(.zoom):not(.deferred-media__poster-button){
  height:100vh;
  position:fixed;
}
.animate--zoom-in{
  --zoom-in-ratio:1;
}

.animate--zoom-in>.svg-wrapper,.animate--zoom-in>img{
  scale:var(--zoom-in-ratio);
  transition:scale var(--duration-short) linear;
}

@media (prefers-reduced-motion:no-preference){
  .animate--ambient>.svg-wrapper,.animate--ambient>img{
    animation:animateAmbient 30s linear infinite;
  }

  @keyframes animateAmbient{
    0%{
      transform:rotate(0deg) translateX(1em) rotate(0deg) scale(1.2);
    }
    to{
      transform:rotate(1turn) translateX(1em) rotate(-1turn) scale(1.2);
    }
  }

  .scroll-trigger.animate--fade-in,.scroll-trigger.animate--slide-in{
    opacity:.01;
  }

  .scroll-trigger.animate--slide-in{
    transform:translateY(2rem);
  }

  .scroll-trigger:not(.scroll-trigger--offscreen).animate--fade-in{
    animation:var(--animation-fade-in);
    opacity:1;
  }

  .scroll-trigger:not(.scroll-trigger--offscreen).animate--slide-in{
    animation:var(--animation-slide-in);
    animation-delay:calc(var(--animation-order)*75ms);
  }

  .scroll-trigger.scroll-trigger--design-mode .slider,.scroll-trigger.scroll-trigger--design-mode.animate--fade-in,.scroll-trigger.scroll-trigger--design-mode.animate--slide-in,.scroll-trigger:not(.scroll-trigger--offscreen).scroll-trigger--cancel{
    animation:none;
    opacity:1;
    transform:none;
    transition:none;
  }

  .scroll-trigger.scroll-trigger--design-mode.animate--slide-in{
    transform:translateY(0);
  }

  @keyframes slideIn{
    0%{
      opacity:.01;
      transform:translateY(2rem);
    }
    to{
      opacity:1;
      transform:translateY(0);
    }
  }

  @keyframes fadeIn{
    0%{
      opacity:.01;
    }
    to{
      opacity:1;
    }
  }
}

@media (prefers-reduced-motion:no-preference) and (hover:hover){
  .animate--hover-3d-lift .button:not(.button--tertiary),.animate--hover-3d-lift .card-wrapper .card--card,.animate--hover-3d-lift .card-wrapper .card--standard .card__inner,.animate--hover-3d-lift .customer button,.animate--hover-3d-lift .deferred-media .deferred-media__poster-button,.animate--hover-3d-lift .shopify-challenge__button,.animate--hover-3d-lift .shopify-payment-button__button{
    transform-origin:center;
    transition:transform var(--duration-long) ease, box-shadow var(--duration-long) ease;
  }

  .animate--hover-3d-lift .button:not(.button--tertiary):not([disabled]):hover,.animate--hover-3d-lift .card-wrapper:hover .card--card,.animate--hover-3d-lift .card-wrapper:hover .card--standard .card__inner,.animate--hover-3d-lift .customer button:not([disabled]):hover,.animate--hover-3d-lift .deferred-media:hover .deferred-media__poster-button,.animate--hover-3d-lift .shopify-challenge__button:not([disabled]):hover,.animate--hover-3d-lift .shopify-payment-button__button:hover{
    box-shadow:-1rem -1rem 1rem -1rem rgba(0,0,0,.05),1rem 1rem 1rem -1rem rgba(0,0,0,.05),0 0 .5rem 0 hsla(0,0%,100%,0),0 2rem 3.5rem -2rem rgba(0,0,0,.5);
    transform:rotate(1deg);
    transition:transform var(--duration-extended) ease, box-shadow var(--duration-long) ease;
  }

  .animate--hover-3d-lift .deferred-media:hover .deferred-media__poster-button{
    transform:translate(-50%, -50%) scale(1.05);
  }

  .animate--hover-3d-lift .collage__item .card-wrapper:hover .card--card,.animate--hover-3d-lift .collage__item .card-wrapper:hover .card--standard .card__inner{
    transform:rotate(.5deg);
  }

  .animate--hover-3d-lift .blog-articles .article:hover,.animate--hover-3d-lift .collage__item:hover,.animate--hover-3d-lift .collection-list .grid__item:hover,.animate--hover-3d-lift .complementary-slide li:hover,.animate--hover-3d-lift .product-grid .grid__item:hover{
    z-index:2;
  }

  .animate--hover-3d-lift .product-grid{
    isolation:isolate;
  }

  .animate--hover-3d-lift .card-wrapper .card--shape.card--standard:not(.card--text) .card__inner{
    box-shadow:none;
    transition:transform var(--duration-long) ease, filter var(--duration-long) ease;
  }

  .animate--hover-3d-lift .card-wrapper:hover .card--shape.card--standard:not(.card--text) .card__inner{
    filter:drop-shadow(0 2rem 2rem rgba(0, 0, 0, .15)) drop-shadow(0 1rem 1rem rgba(0, 0, 0, .15));
    transition:transform calc(var(--duration-extended)*2) ease, filter var(--duration-long) ease;
  }

  .animate--hover-3d-lift .card-wrapper:hover .card--card:after,.animate--hover-3d-lift .card-wrapper:hover .card--shape.card--standard:not(.card--text) .card__inner .card__media:before,.animate--hover-3d-lift .card-wrapper:hover .card--standard .card__inner:after{
    background-image:var(--easter-egg);
    background-size:250px 250px;
    mix-blend-mode:color-dodge;
    pointer-events:none;
    z-index:2;
  }

  .animate--hover-3d-lift .card-wrapper:hover .card--shape.card--standard:not(.card--text) .card__inner .card__media:before{
    bottom:0;
    content:"";
    left:0;
    position:absolute;
    right:0;
    top:0;
  }

  .animate--hover-3d-lift .card-wrapper .card--card:before,.animate--hover-3d-lift .card-wrapper .card--standard .card__media:after{
    background-image:linear-gradient(
      135deg,
      hsla(0,0%,100%,0) 45%,
      #fff 50%,
      hsla(0,0%,100%,0) 55%
    );
    background-position:90% 0;
    background-repeat:no-repeat;
    background-size:400% 100%;
    bottom:0;
    content:"";
    left:0;
    mix-blend-mode:overlay;
    opacity:0;
    pointer-events:none;
    position:absolute;
    right:0;
    top:0;
    transition:background-position calc(var(--duration-extended)*2) ease, opacity var(--duration-default) ease;
  }

  .animate--hover-3d-lift .card-wrapper:hover .card--card:before,.animate--hover-3d-lift .card-wrapper:hover .card--standard .card__media:after{
    background-position:0;
    opacity:.2;
    transition:background-position 6s ease, opacity var(--duration-long) ease;
    z-index:2;
  }

  :root{
    --easter-egg:none;
    --sparkle:url(sparkle.gif);
  }

  .animate--hover-vertical-lift .button:not(.button--tertiary),.animate--hover-vertical-lift .customer button,.animate--hover-vertical-lift .shopify-challenge__button,.animate--hover-vertical-lift .shopify-payment-button__button{
    transition:transform var(--duration-default) var(--ease-out-slow);
  }

  .animate--hover-vertical-lift .card-wrapper .card--card,.animate--hover-vertical-lift .card-wrapper .card--standard .card__inner{
    transition:transform var(--duration-medium) var(--ease-out-slow);
  }

  .animate--hover-vertical-lift .card-wrapper:hover .card--card,.animate--hover-vertical-lift .card-wrapper:hover .card--standard .card__inner{
    transform:translateY(-.75rem);
  }

  .animate--hover-vertical-lift .card-wrapper:active .card--card,.animate--hover-vertical-lift .card-wrapper:active .card--standard .card__inner{
    transform:translateY(-.5rem);
  }

  .animate--hover-vertical-lift .button:not(.button--tertiary):not([disabled]):hover,.animate--hover-vertical-lift .customer button:not([disabled]):hover,.animate--hover-vertical-lift .shopify-challenge__button:not([disabled]):hover,.animate--hover-vertical-lift .shopify-payment-button__button:hover{
    transform:translateY(-.25rem);
  }

  .animate--hover-vertical-lift .button:not(.button--tertiary):not([disabled]):active,.animate--hover-vertical-lift .customer button:not([disabled]):active,.animate--hover-vertical-lift .shopify-challenge__button:not([disabled]):active,.animate--hover-vertical-lift .shopify-payment-button__button:active{
    transform:translateY(0);
  }

  .animate--hover-vertical-lift .button:not([disabled]):hover:after,.animate--hover-vertical-lift .customer button:not([disabled]):hover:after,.animate--hover-vertical-lift .shopify-payment-button__button:not([disabled]):hover:after{
    --border-offset:0.3px;
    box-shadow:0 0 0 calc(var(--buttons-border-width) + var(--border-offset)) rgba(var(--color-button-text), var(--border-opacity)), 0 0 0 var(--buttons-border-width) rgba(var(--color-button), var(--alpha-button-background));
  }

  .animate--hover-vertical-lift .button:not([disabled]).button--secondary:hover:after{
    --border-offset:0px;
  }
}
.loading__spinner{
  display:inline-block;
  position:absolute;
  width:1.8rem;
  z-index:1;
}

.spinner{
  animation:rotator 1.4s linear infinite;
}

@keyframes rotator{
  0%{
    transform:rotate(0deg);
  }
  to{
    transform:rotate(270deg);
  }
}

.path{
  animation:dash 1.4s ease-in-out infinite;
  stroke:rgb(var(--color-foreground));
  stroke-dasharray:280;
  stroke-dashoffset:0;
  transform-origin:center;
}

@media screen and (forced-colors:active){
  .path{
    stroke:CanvasText;
  }
}

@keyframes dash{
  0%{
    stroke-dashoffset:280;
  }
  50%{
    stroke-dashoffset:75;
    transform:rotate(135deg);
  }
  to{
    stroke-dashoffset:280;
    transform:rotate(450deg);
  }
}

.loading__spinner:not(.hidden)+.cart-item__price-wrapper,.loading__spinner:not(.hidden)~cart-remove-button{
  opacity:50%;
}

.loading__spinner:not(.hidden)~cart-remove-button{
  cursor:default;
  pointer-events:none;
}
.progress-bar-container{
  margin:auto;
  width:100%;
}

.progress-bar{
  height:.13rem;
  width:100%;
}

.progress-bar-value{
  animation:indeterminateAnimation var(--duration-extra-longer) infinite ease-in-out;
  background-color:rgb(var(--color-foreground));
  height:100%;
  transform-origin:0;
  width:100%;
}

.progress-bar .progress-bar-value{
  display:block;
}

@keyframes indeterminateAnimation{
  0%{
    transform:translateX(-20%) scaleX(0);
  }
  40%{
    transform:translateX(30%) scaleX(.7);
  }
  to{
    transform:translateX(100%) scaleX(0);
  }
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3RoZW1lL2Fzc2V0cy9iYXNlLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDJCQUE0QjtFQUM1Qix1QkFBd0I7RUFDeEIsaUJBQWtCO0VBQ2xCLHdCQUF5QjtFQUN6QixzRUFBdUU7RUFDdkUsb0NBQXFDO0VBQ3JDLHlIQUEwSDtBQUM1SDs7QUFFQTtFQUVFLGlEQUFrRDtFQUNsRCwrQ0FBZ0Q7RUFDaEQsbURBQW9EO0VBQ3BELHVFQUF3RTtFQUN4RSxtRUFBb0U7RUFDcEUsMkRBQTREO0VBQzVELG1EQUFvRDtFQUNwRCxtREFBb0Q7RUFDcEQsaURBQWtEO0VBQ2xELG1EQUFvRDtBQUN0RDs7QUFFQTtFQUVFLG9EQUFxRDtFQUNyRCxrREFBbUQ7RUFDbkQsc0RBQXVEO0VBQ3ZELDBFQUEyRTtFQUMzRSxzRUFBdUU7RUFDdkUsOERBQStEO0VBQy9ELHNEQUF1RDtFQUN2RCxzREFBdUQ7RUFDdkQsb0RBQXFEO0VBQ3JELHNEQUF1RDtBQUN6RDs7QUFFQTtFQUVFLDhDQUErQztFQUMvQyw0Q0FBNkM7RUFDN0MsZ0RBQWlEO0VBQ2pELG9FQUFxRTtFQUNyRSxnRUFBaUU7RUFDakUsd0RBQXlEO0VBQ3pELGdEQUFpRDtFQUNqRCxnREFBaUQ7RUFDakQsOENBQStDO0VBQy9DLGdEQUFpRDtBQUNuRDs7QUFFQTtFQUVFLHdDQUF5QztFQUN6Qyw2Q0FBOEM7RUFDOUMsaURBQWtEO0VBQ2xELHFFQUFzRTtFQUN0RSxpRUFBa0U7RUFDbEUseURBQTBEO0VBQzFELGlEQUFrRDtFQUNsRCxpREFBa0Q7QUFDcEQ7O0FBRUE7RUFFRSxtQ0FBb0M7RUFDcEMsd0NBQXlDO0VBQ3pDLDRDQUE2QztFQUM3QyxnRUFBaUU7RUFDakUsNERBQTZEO0VBQzdELG9EQUFxRDtFQUNyRCw0Q0FBNkM7RUFDN0MsNENBQTZDO0FBQy9DOztBQUlBO0VBRUUsYUFBYztFQURkLDJCQUE0QjtFQUU1QixnQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxjQUFlO0FBQ2pC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RSxjQUFlO0VBRGYsbUJBQW9CO0FBRXRCO0FBR0E7RUFFRSxXQUFZO0VBRFosVUFBVztBQUViOztBQUVBO0VBQ0UsYUFBZTtFQUNmLFVBQVc7QUFDYjs7QUFFQTtFQUlFLGtGQUFtRjtFQURuRiw2Q0FBOEM7RUFEOUMsV0FBWTtFQUdaLGtCQUFtQjtFQUpuQixVQUFXO0FBS2I7O0FBRUE7RUFDRSxhQUFjO0FBQ2hCOztBQUVBO0VBQ0U7SUFDRSxvQ0FBcUM7RUFDdkM7RUFDQTtJQUNFLG9DQUFzQztFQUN4QztFQUNBO0lBQ0Usb0NBQXFDO0VBQ3ZDO0FBQ0YiLCJmaWxlIjoiYmFzZS5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOnJvb3Qge1xuICAtLWFscGhhLWJ1dHRvbi1iYWNrZ3JvdW5kOiAxO1xuICAtLWFscGhhLWJ1dHRvbi1ib3JkZXI6IDE7XG4gIC0tYWxwaGEtbGluazogMC44NTtcbiAgLS1hbHBoYS1iYWRnZS1ib3JkZXI6IDAuMTtcbiAgLS1mb2N1c2VkLWJhc2Utb3V0bGluZTogMC4ycmVtIHNvbGlkIHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuNSk7XG4gIC0tZm9jdXNlZC1iYXNlLW91dGxpbmUtb2Zmc2V0OiAwLjNyZW07XG4gIC0tZm9jdXNlZC1iYXNlLWJveC1zaGFkb3c6IDAgMCAwIDAuM3JlbSByZ2IodmFyKC0tY29sb3ItYmFja2dyb3VuZCkpLCAwIDAgMC41cmVtIDAuNHJlbSByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCAwLjMpO1xufVxuXG4ucHJvZHVjdC1jYXJkLXdyYXBwZXIgLmNhcmQsXG4uY29udGFpbnMtY2FyZC0tcHJvZHVjdCB7XG4gIC0tYm9yZGVyLXJhZGl1czogdmFyKC0tcHJvZHVjdC1jYXJkLWNvcm5lci1yYWRpdXMpO1xuICAtLWJvcmRlci13aWR0aDogdmFyKC0tcHJvZHVjdC1jYXJkLWJvcmRlci13aWR0aCk7XG4gIC0tYm9yZGVyLW9wYWNpdHk6IHZhcigtLXByb2R1Y3QtY2FyZC1ib3JkZXItb3BhY2l0eSk7XG4gIC0tc2hhZG93LWhvcml6b250YWwtb2Zmc2V0OiB2YXIoLS1wcm9kdWN0LWNhcmQtc2hhZG93LWhvcml6b250YWwtb2Zmc2V0KTtcbiAgLS1zaGFkb3ctdmVydGljYWwtb2Zmc2V0OiB2YXIoLS1wcm9kdWN0LWNhcmQtc2hhZG93LXZlcnRpY2FsLW9mZnNldCk7XG4gIC0tc2hhZG93LWJsdXItcmFkaXVzOiB2YXIoLS1wcm9kdWN0LWNhcmQtc2hhZG93LWJsdXItcmFkaXVzKTtcbiAgLS1zaGFkb3ctb3BhY2l0eTogdmFyKC0tcHJvZHVjdC1jYXJkLXNoYWRvdy1vcGFjaXR5KTtcbiAgLS1zaGFkb3ctdmlzaWJsZTogdmFyKC0tcHJvZHVjdC1jYXJkLXNoYWRvdy12aXNpYmxlKTtcbiAgLS1pbWFnZS1wYWRkaW5nOiB2YXIoLS1wcm9kdWN0LWNhcmQtaW1hZ2UtcGFkZGluZyk7XG4gIC0tdGV4dC1hbGlnbm1lbnQ6IHZhcigtLXByb2R1Y3QtY2FyZC10ZXh0LWFsaWdubWVudCk7XG59XG5cbi5jb2xsZWN0aW9uLWNhcmQtd3JhcHBlciAuY2FyZCxcbi5jb250YWlucy1jYXJkLS1jb2xsZWN0aW9uIHtcbiAgLS1ib3JkZXItcmFkaXVzOiB2YXIoLS1jb2xsZWN0aW9uLWNhcmQtY29ybmVyLXJhZGl1cyk7XG4gIC0tYm9yZGVyLXdpZHRoOiB2YXIoLS1jb2xsZWN0aW9uLWNhcmQtYm9yZGVyLXdpZHRoKTtcbiAgLS1ib3JkZXItb3BhY2l0eTogdmFyKC0tY29sbGVjdGlvbi1jYXJkLWJvcmRlci1vcGFjaXR5KTtcbiAgLS1zaGFkb3ctaG9yaXpvbnRhbC1vZmZzZXQ6IHZhcigtLWNvbGxlY3Rpb24tY2FyZC1zaGFkb3ctaG9yaXpvbnRhbC1vZmZzZXQpO1xuICAtLXNoYWRvdy12ZXJ0aWNhbC1vZmZzZXQ6IHZhcigtLWNvbGxlY3Rpb24tY2FyZC1zaGFkb3ctdmVydGljYWwtb2Zmc2V0KTtcbiAgLS1zaGFkb3ctYmx1ci1yYWRpdXM6IHZhcigtLWNvbGxlY3Rpb24tY2FyZC1zaGFkb3ctYmx1ci1yYWRpdXMpO1xuICAtLXNoYWRvdy1vcGFjaXR5OiB2YXIoLS1jb2xsZWN0aW9uLWNhcmQtc2hhZG93LW9wYWNpdHkpO1xuICAtLXNoYWRvdy12aXNpYmxlOiB2YXIoLS1jb2xsZWN0aW9uLWNhcmQtc2hhZG93LXZpc2libGUpO1xuICAtLWltYWdlLXBhZGRpbmc6IHZhcigtLWNvbGxlY3Rpb24tY2FyZC1pbWFnZS1wYWRkaW5nKTtcbiAgLS10ZXh0LWFsaWdubWVudDogdmFyKC0tY29sbGVjdGlvbi1jYXJkLXRleHQtYWxpZ25tZW50KTtcbn1cblxuLmFydGljbGUtY2FyZC13cmFwcGVyIC5jYXJkLFxuLmNvbnRhaW5zLWNhcmQtLWFydGljbGUge1xuICAtLWJvcmRlci1yYWRpdXM6IHZhcigtLWJsb2ctY2FyZC1jb3JuZXItcmFkaXVzKTtcbiAgLS1ib3JkZXItd2lkdGg6IHZhcigtLWJsb2ctY2FyZC1ib3JkZXItd2lkdGgpO1xuICAtLWJvcmRlci1vcGFjaXR5OiB2YXIoLS1ibG9nLWNhcmQtYm9yZGVyLW9wYWNpdHkpO1xuICAtLXNoYWRvdy1ob3Jpem9udGFsLW9mZnNldDogdmFyKC0tYmxvZy1jYXJkLXNoYWRvdy1ob3Jpem9udGFsLW9mZnNldCk7XG4gIC0tc2hhZG93LXZlcnRpY2FsLW9mZnNldDogdmFyKC0tYmxvZy1jYXJkLXNoYWRvdy12ZXJ0aWNhbC1vZmZzZXQpO1xuICAtLXNoYWRvdy1ibHVyLXJhZGl1czogdmFyKC0tYmxvZy1jYXJkLXNoYWRvdy1ibHVyLXJhZGl1cyk7XG4gIC0tc2hhZG93LW9wYWNpdHk6IHZhcigtLWJsb2ctY2FyZC1zaGFkb3ctb3BhY2l0eSk7XG4gIC0tc2hhZG93LXZpc2libGU6IHZhcigtLWJsb2ctY2FyZC1zaGFkb3ctdmlzaWJsZSk7XG4gIC0taW1hZ2UtcGFkZGluZzogdmFyKC0tYmxvZy1jYXJkLWltYWdlLXBhZGRpbmcpO1xuICAtLXRleHQtYWxpZ25tZW50OiB2YXIoLS1ibG9nLWNhcmQtdGV4dC1hbGlnbm1lbnQpO1xufVxuXG4uY29udGFpbnMtY29udGVudC1jb250YWluZXIsXG4uY29udGVudC1jb250YWluZXIge1xuICAtLWJvcmRlci1yYWRpdXM6IHZhcigtLXRleHQtYm94ZXMtcmFkaXVzKTtcbiAgLS1ib3JkZXItd2lkdGg6IHZhcigtLXRleHQtYm94ZXMtYm9yZGVyLXdpZHRoKTtcbiAgLS1ib3JkZXItb3BhY2l0eTogdmFyKC0tdGV4dC1ib3hlcy1ib3JkZXItb3BhY2l0eSk7XG4gIC0tc2hhZG93LWhvcml6b250YWwtb2Zmc2V0OiB2YXIoLS10ZXh0LWJveGVzLXNoYWRvdy1ob3Jpem9udGFsLW9mZnNldCk7XG4gIC0tc2hhZG93LXZlcnRpY2FsLW9mZnNldDogdmFyKC0tdGV4dC1ib3hlcy1zaGFkb3ctdmVydGljYWwtb2Zmc2V0KTtcbiAgLS1zaGFkb3ctYmx1ci1yYWRpdXM6IHZhcigtLXRleHQtYm94ZXMtc2hhZG93LWJsdXItcmFkaXVzKTtcbiAgLS1zaGFkb3ctb3BhY2l0eTogdmFyKC0tdGV4dC1ib3hlcy1zaGFkb3ctb3BhY2l0eSk7XG4gIC0tc2hhZG93LXZpc2libGU6IHZhcigtLXRleHQtYm94ZXMtc2hhZG93LXZpc2libGUpO1xufVxuXG4uY29udGFpbnMtbWVkaWEsXG4uZ2xvYmFsLW1lZGlhLXNldHRpbmdzIHtcbiAgLS1ib3JkZXItcmFkaXVzOiB2YXIoLS1tZWRpYS1yYWRpdXMpO1xuICAtLWJvcmRlci13aWR0aDogdmFyKC0tbWVkaWEtYm9yZGVyLXdpZHRoKTtcbiAgLS1ib3JkZXItb3BhY2l0eTogdmFyKC0tbWVkaWEtYm9yZGVyLW9wYWNpdHkpO1xuICAtLXNoYWRvdy1ob3Jpem9udGFsLW9mZnNldDogdmFyKC0tbWVkaWEtc2hhZG93LWhvcml6b250YWwtb2Zmc2V0KTtcbiAgLS1zaGFkb3ctdmVydGljYWwtb2Zmc2V0OiB2YXIoLS1tZWRpYS1zaGFkb3ctdmVydGljYWwtb2Zmc2V0KTtcbiAgLS1zaGFkb3ctYmx1ci1yYWRpdXM6IHZhcigtLW1lZGlhLXNoYWRvdy1ibHVyLXJhZGl1cyk7XG4gIC0tc2hhZG93LW9wYWNpdHk6IHZhcigtLW1lZGlhLXNoYWRvdy1vcGFjaXR5KTtcbiAgLS1zaGFkb3ctdmlzaWJsZTogdmFyKC0tbWVkaWEtc2hhZG93LXZpc2libGUpO1xufVxuXG4vKiBiYXNlICovXG5cbi5wYWdlLXdpZHRoIHtcbiAgbWF4LXdpZHRoOiB2YXIoLS1wYWdlLXdpZHRoKTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDAgMS41cmVtO1xufVxuXG5ib2R5Omhhcyguc2VjdGlvbi1oZWFkZXIgLmRyYXdlci1tZW51KSAuYW5ub3VuY2VtZW50LWJhci1zZWN0aW9uIC5wYWdlLXdpZHRoIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ucGFnZS13aWR0aC5kcmF3ZXItbWVudSB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnBhZ2Utd2lkdGgtZGVza3RvcCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4udXRpbGl0eS1iYXJfX2dyaWQucGFnZS13aWR0aCB7XG4gIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLnBhZ2Utd2lkdGgge1xuICAgIHBhZGRpbmc6IDAgNXJlbTtcbiAgfVxuXG4gIC5oZWFkZXIucGFnZS13aWR0aCxcbiAgLnV0aWxpdHktYmFyX19ncmlkLnBhZ2Utd2lkdGgge1xuICAgIHBhZGRpbmctbGVmdDogMy4ycmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDMuMnJlbTtcbiAgfVxuXG4gIC5wYWdlLXdpZHRoLS1uYXJyb3cge1xuICAgIHBhZGRpbmc6IDAgOXJlbTtcbiAgfVxuXG4gIC5wYWdlLXdpZHRoLWRlc2t0b3Age1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAucGFnZS13aWR0aC10YWJsZXQge1xuICAgIHBhZGRpbmc6IDAgNXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTBweCkge1xuICAuaGVhZGVyOm5vdCguZHJhd2VyLW1lbnUpLnBhZ2Utd2lkdGgge1xuICAgIHBhZGRpbmctbGVmdDogNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cmVtO1xuICB9XG5cbiAgLnBhZ2Utd2lkdGgtLW5hcnJvdyB7XG4gICAgbWF4LXdpZHRoOiA3Mi42cmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAucGFnZS13aWR0aC1kZXNrdG9wIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLXBhZ2Utd2lkdGgpO1xuICAgIHBhZGRpbmc6IDAgNXJlbTtcbiAgfVxufVxuXG4uaXNvbGF0ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbn1cblxuLnNlY3Rpb24gKyAuc2VjdGlvbiB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctc2VjdGlvbnMtbW9iaWxlKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLnNlY3Rpb24gKyAuc2VjdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1zZWN0aW9ucy1kZXNrdG9wKTtcbiAgfVxufVxuXG4uZWxlbWVudC1tYXJnaW4tdG9wIHtcbiAgbWFyZ2luLXRvcDogNXJlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLmVsZW1lbnQtbWFyZ2luIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDVyZW0gKyB2YXIoLS1wYWdlLXdpZHRoLW1hcmdpbikpO1xuICB9XG59XG5cbi5iYWNrZ3JvdW5kLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuMDQpO1xufVxuXG4uZ3JpZC1hdXRvLWZsb3cge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xufVxuXG4ucGFnZS1tYXJnaW4sXG4uc2hvcGlmeS1jaGFsbGVuZ2VfX2NvbnRhaW5lciB7XG4gIG1hcmdpbjogN3JlbSBhdXRvO1xufVxuXG4ucnRlLXdpZHRoIHtcbiAgbWF4LXdpZHRoOiA4MnJlbTtcbiAgbWFyZ2luOiAwIGF1dG8gMnJlbTtcbn1cblxuLmxpc3QtdW5zdHlsZWQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi52aXN1YWxseS1oaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICB3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG4udmlzdWFsbHktaGlkZGVuLS1pbmxpbmUge1xuICBtYXJnaW46IDA7XG4gIGhlaWdodDogMWVtO1xufVxuXG4ub3ZlcmZsb3ctaGlkZGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnNraXAtdG8tY29udGVudC1saW5rOmZvY3VzIHtcbiAgei1pbmRleDogOTk5OTtcbiAgcG9zaXRpb246IGluaGVyaXQ7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBjbGlwOiBhdXRvO1xufVxuXG4uZnVsbC13aWR0aC1saW5rIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDI7XG59XG5cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC4yKTtcbn1cblxuLnRleHQtYm9keSB7XG4gIC8qIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNnJlbTtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoMSArIDAuOCAvIHZhcigtLWZvbnQtYm9keS1zY2FsZSkpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5LWZhbWlseSk7XG4gIGZvbnQtc3R5bGU6IHZhcigtLWZvbnQtYm9keS1zdHlsZSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvZHktd2VpZ2h0KTsgKi9cbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoMSArIDAuOCAvIHZhcigtLWZvbnQtYm9keS1zY2FsZSkpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5LWZhbWlseSk7XG4gIGZvbnQtc3R5bGU6IHZhcigtLWZvbnQtYm9keS1zdHlsZSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvZHktd2VpZ2h0KTtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbi5oMCxcbi5oMSxcbi5oMixcbi5oMyxcbi5oNCxcbi5oNSB7XG4gIC8qIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmctZmFtaWx5KTsgKi9cbiAgLyogZm9udC1zdHlsZTogdmFyKC0tZm9udC1oZWFkaW5nLXN0eWxlKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtaGVhZGluZy13ZWlnaHQpO1xuICBsZXR0ZXItc3BhY2luZzogY2FsYyh2YXIoLS1mb250LWhlYWRpbmctc2NhbGUpICogMC4wNnJlbSk7XG4gIGNvbG9yOiByZ2IodmFyKC0tY29sb3ItZm9yZWdyb3VuZCkpO1xuICBsaW5lLWhlaWdodDogY2FsYygxICsgMC4zIC8gbWF4KDEsIHZhcigtLWZvbnQtaGVhZGluZy1zY2FsZSkpKTtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDsgKi9cbn1cblxuLmh4eGwge1xuICBmb250LXNpemU6IGNsYW1wKGNhbGModmFyKC0tZm9udC1oZWFkaW5nLXNjYWxlKSAqIDUuNnJlbSksIDE0dncsIGNhbGModmFyKC0tZm9udC1oZWFkaW5nLXNjYWxlKSAqIDcuMnJlbSkpO1xuICBsaW5lLWhlaWdodDogMS4xO1xufVxuXG4uaHhsIHtcbiAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZvbnQtaGVhZGluZy1zY2FsZSkgKiA1cmVtKTtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoMSArIDAuMyAvIG1heCgxLCB2YXIoLS1mb250LWhlYWRpbmctc2NhbGUpKSk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLmh4bCB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZvbnQtaGVhZGluZy1zY2FsZSkgKiA2LjJyZW0pO1xuICB9XG59XG5cbi5oMCB7XG4gIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mb250LWhlYWRpbmctc2NhbGUpICogNHJlbSk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLmgwIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZm9udC1oZWFkaW5nLXNjYWxlKSAqIDUuMnJlbSk7XG4gIH1cbn1cblxuaDEsXG4uaDEge1xuICBmb250LXNpemU6IGNhbGModmFyKC0tZm9udC1oZWFkaW5nLXNjYWxlKSAqIDNyZW0pO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIGgxLFxuICAuaDEge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mb250LWhlYWRpbmctc2NhbGUpICogNHJlbSk7XG4gIH1cbn1cblxuaDIsXG4uaDIge1xuICBmb250LXNpemU6IGNhbGModmFyKC0tZm9udC1oZWFkaW5nLXNjYWxlKSAqIDJyZW0pO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIGgyLFxuICAuaDIge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mb250LWhlYWRpbmctc2NhbGUpICogMi40cmVtKTtcbiAgfVxufVxuXG5oMyxcbi5oMyB7XG4gIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mb250LWhlYWRpbmctc2NhbGUpICogMS43cmVtKTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NTBweCkge1xuICBoMyxcbiAgLmgzIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZm9udC1oZWFkaW5nLXNjYWxlKSAqIDEuOHJlbSk7XG4gIH1cbn1cblxuaDQsXG4uaDQge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nLWZhbWlseSk7XG4gIGZvbnQtc3R5bGU6IHZhcigtLWZvbnQtaGVhZGluZy1zdHlsZSk7XG4gIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mb250LWhlYWRpbmctc2NhbGUpICogMS41cmVtKTtcbn1cblxuaDUsXG4uaDUge1xuICBmb250LXNpemU6IGNhbGModmFyKC0tZm9udC1oZWFkaW5nLXNjYWxlKSAqIDEuMnJlbSk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgaDUsXG4gIC5oNSB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZvbnQtaGVhZGluZy1zY2FsZSkgKiAxLjNyZW0pO1xuICB9XG59XG5cbmg2LFxuLmg2IHtcbiAgY29sb3I6IHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuNzUpO1xuICBtYXJnaW4tYmxvY2stc3RhcnQ6IDEuNjdlbTtcbiAgbWFyZ2luLWJsb2NrLWVuZDogMS42N2VtO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC43NSk7XG4gIGJvcmRlci1sZWZ0OiAwLjJyZW0gc29saWQgcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC4yKTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NTBweCkge1xuICBibG9ja3F1b3RlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgfVxufVxuXG4uY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDdyZW07XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDEgKyAwLjcgLyB2YXIoLS1mb250LWJvZHktc2NhbGUpKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLmNhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICB9XG59XG5cbi5jYXB0aW9uLXdpdGgtbGV0dGVyLXNwYWNpbmcge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjEzcmVtO1xuICBsaW5lLWhlaWdodDogY2FsYygxICsgMC4yIC8gdmFyKC0tZm9udC1ib2R5LXNjYWxlKSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5jYXB0aW9uLXdpdGgtbGV0dGVyLXNwYWNpbmctLW1lZGl1bSB7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4xNnJlbTtcbn1cblxuLmNhcHRpb24td2l0aC1sZXR0ZXItc3BhY2luZy0tbGFyZ2Uge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMThyZW07XG59XG5cbi5jYXB0aW9uLWxhcmdlLFxuLmN1c3RvbWVyIC5maWVsZCBpbnB1dCxcbi5jdXN0b21lciBzZWxlY3QsXG4uZmllbGRfX2lucHV0LFxuLmZvcm1fX2xhYmVsLFxuLnNlbGVjdF9fc2VsZWN0IHtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDEgKyAwLjUgLyB2YXIoLS1mb250LWJvZHktc2NhbGUpKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDRyZW07XG59XG5cbi5jb2xvci1mb3JlZ3JvdW5kIHtcbiAgY29sb3I6IHJnYih2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSk7XG59XG5cbnRhYmxlOm5vdChbY2xhc3NdKSB7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBib3JkZXItc3R5bGU6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4xcmVtIHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuMik7XG4gIC8qIGRyYXdzIHRoZSB0YWJsZSBib3JkZXIgICovXG59XG5cbnRhYmxlOm5vdChbY2xhc3NdKSB0ZCxcbnRhYmxlOm5vdChbY2xhc3NdKSB0aCB7XG4gIHBhZGRpbmc6IDFlbTtcbiAgYm9yZGVyOiAwLjFyZW0gc29saWQgcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC4yKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQ5cHgpIHtcbiAgLnNtYWxsLWhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NTBweCkgYW5kIChtYXgtd2lkdGg6IDk4OXB4KSB7XG4gIC5tZWRpdW0taGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MHB4KSB7XG4gIC5sYXJnZS11cC1oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5saWdodCB7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuYTplbXB0eSxcbnVsOmVtcHR5LFxuZGw6ZW1wdHksXG5kaXY6ZW1wdHksXG5zZWN0aW9uOmVtcHR5LFxuYXJ0aWNsZTplbXB0eSxcbnA6ZW1wdHksXG5oMTplbXB0eSxcbmgyOmVtcHR5LFxuaDM6ZW1wdHksXG5oNDplbXB0eSxcbmg1OmVtcHR5LFxuaDY6ZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubGluayxcbi5jdXN0b21lciBhIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4zcmVtO1xuICBjb2xvcjogcmdiKHZhcigtLWNvbG9yLWxpbmspKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cblxuLmxpbmstLXRleHQge1xuICBjb2xvcjogcmdiKHZhcigtLWNvbG9yLWZvcmVncm91bmQpKTtcbn1cblxuLmxpbmstLXRleHQ6aG92ZXIge1xuICBjb2xvcjogcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC43NSk7XG59XG5cbi5saW5rLXdpdGgtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMXJlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiA0LjVyZW07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5saW5rLXdpdGgtaWNvbiAuaWNvbiB7XG4gIHdpZHRoOiAxLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xufVxuXG5hOm5vdChbaHJlZl0pIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmNpcmNsZS1kaXZpZGVyOjphZnRlciB7XG4gIGNvbnRlbnQ6ICdcXDIwMjInO1xuICBtYXJnaW46IDAgMS4zcmVtIDAgMS41cmVtO1xufVxuXG4uY2lyY2xlLWRpdmlkZXI6bGFzdC1vZi10eXBlOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmhyIHtcbiAgYm9yZGVyOiBub25lO1xuICBoZWlnaHQ6IDAuMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC4yKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogNXJlbSAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NTBweCkge1xuICBociB7XG4gICAgbWFyZ2luOiA3cmVtIDA7XG4gIH1cbn1cblxuLmZ1bGwtdW5zdHlsZWQtbGluayB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wbGFjZWhvbGRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuMDQpO1xuICBjb2xvcjogcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC41NSk7XG4gIGZpbGw6IHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuNTUpO1xufVxuXG5kZXRhaWxzID4gKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5icmVhayB7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi52aXNpYmlsaXR5LWhpZGRlbiB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uKSB7XG4gIC5tb3Rpb24tcmVkdWNlIHtcbiAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuOnJvb3Qge1xuICAtLWR1cmF0aW9uLXNob3J0OiAxMDBtcztcbiAgLS1kdXJhdGlvbi1kZWZhdWx0OiAyMDBtcztcbiAgLS1kdXJhdGlvbi1hbm5vdW5jZW1lbnQtYmFyOiAyNTBtcztcbiAgLS1kdXJhdGlvbi1tZWRpdW06IDMwMG1zO1xuICAtLWR1cmF0aW9uLWxvbmc6IDUwMG1zO1xuICAtLWR1cmF0aW9uLWV4dHJhLWxvbmc6IDYwMG1zO1xuICAtLWR1cmF0aW9uLWV4dHJhLWxvbmdlcjogNzUwbXM7XG4gIC0tZHVyYXRpb24tZXh0ZW5kZWQ6IDNzO1xuICAtLWVhc2Utb3V0LXNsb3c6IGN1YmljLWJlemllcigwLCAwLCAwLjMsIDEpO1xuICAtLWFuaW1hdGlvbi1zbGlkZS1pbjogc2xpZGVJbiB2YXIoLS1kdXJhdGlvbi1leHRyYS1sb25nKSB2YXIoLS1lYXNlLW91dC1zbG93KSBmb3J3YXJkcztcbiAgLS1hbmltYXRpb24tZmFkZS1pbjogZmFkZUluIHZhcigtLWR1cmF0aW9uLWV4dHJhLWxvbmcpIHZhcigtLWVhc2Utb3V0LXNsb3cpO1xufVxuXG4udW5kZXJsaW5lZC1saW5rLFxuLmN1c3RvbWVyIGEsXG4uaW5saW5lLXJpY2h0ZXh0IGEge1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuM3JlbTtcbiAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMC4xcmVtO1xuICB0cmFuc2l0aW9uOiB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzIGVhc2UgMTAwbXM7XG59XG5cbi51bmRlcmxpbmVkLWxpbmssXG4uY3VzdG9tZXIgYSB7XG4gIGNvbG9yOiByZ2JhKHZhcigtLWNvbG9yLWxpbmspLCB2YXIoLS1hbHBoYS1saW5rKSk7XG59XG5cbi5pbmxpbmUtcmljaHRleHQgYSxcbi5ydGUuaW5saW5lLXJpY2h0ZXh0IGEge1xuICBjb2xvcjogY3VycmVudENvbG9yO1xufVxuXG4udW5kZXJsaW5lZC1saW5rOmhvdmVyLFxuLmN1c3RvbWVyIGE6aG92ZXIsXG4uaW5saW5lLXJpY2h0ZXh0IGE6aG92ZXIge1xuICBjb2xvcjogcmdiKHZhcigtLWNvbG9yLWxpbmspKTtcbiAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMC4ycmVtO1xufVxuXG4uaWNvbi1hcnJvdyB7XG4gIHdpZHRoOiAxLjVyZW07XG59XG5cbmgzIC5pY29uLWFycm93LFxuLmgzIC5pY29uLWFycm93IHtcbiAgd2lkdGg6IGNhbGModmFyKC0tZm9udC1oZWFkaW5nLXNjYWxlKSAqIDEuNXJlbSk7XG59XG5cbi8qIGFycm93IGFuaW1hdGlvbiAqL1xuLmFuaW1hdGUtYXJyb3cgLmljb24tYXJyb3cgcGF0aCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMC4yNXJlbSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1kdXJhdGlvbi1zaG9ydCkgZWFzZTtcbn1cblxuLmFuaW1hdGUtYXJyb3c6aG92ZXIgLmljb24tYXJyb3cgcGF0aCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMC4wNXJlbSk7XG59XG5cbi5zdmctd3JhcHBlciB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbn1cblxuLnN2Zy13cmFwcGVyID4gc3ZnIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogYmFzZS1kZXRhaWxzLXN1bW1hcnkgKi9cbnN1bW1hcnkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuc3VtbWFyeSAuaWNvbi1jYXJldCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAwLjZyZW07XG4gIHJpZ2h0OiAxLjVyZW07XG4gIHRvcDogY2FsYyg1MCUgLSAwLjJyZW0pO1xufVxuXG5zdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmRpc2Nsb3N1cmUtaGFzLXBvcHVwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZGlzY2xvc3VyZS1oYXMtcG9wdXBbb3Blbl0gPiBzdW1tYXJ5OjpiZWZvcmUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgY29udGVudDogJyAnO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmRpc2Nsb3N1cmUtaGFzLXBvcHVwID4gc3VtbWFyeTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmRpc2Nsb3N1cmUtaGFzLXBvcHVwW29wZW5dID4gc3VtbWFyeSArICoge1xuICB6LWluZGV4OiAxMDA7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC5kaXNjbG9zdXJlLWhhcy1wb3B1cFtvcGVuXSA+IHN1bW1hcnkgKyAqIHtcbiAgICB6LWluZGV4OiA0O1xuICB9XG5cbiAgLmZhY2V0cyAuZGlzY2xvc3VyZS1oYXMtcG9wdXBbb3Blbl0gPiBzdW1tYXJ5ICsgKiB7XG4gICAgei1pbmRleDogMjtcbiAgfVxufVxuXG4ucGxhY2Vob2xkZXItc3ZnIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogYmFzZS1mb2N1cyAqL1xuLypcbiAgRm9jdXMgcmluZyAtIGRlZmF1bHQgKHdpdGggb2Zmc2V0KVxuKi9cblxuKjpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbio6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IHZhcigtLWZvY3VzZWQtYmFzZS1vdXRsaW5lKTtcbiAgb3V0bGluZS1vZmZzZXQ6IHZhcigtLWZvY3VzZWQtYmFzZS1vdXRsaW5lLW9mZnNldCk7XG4gIGJveC1zaGFkb3c6IHZhcigtLWZvY3VzZWQtYmFzZS1ib3gtc2hhZG93KTtcbn1cblxuLyogRmFsbGJhY2sgLSBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IDpmb2N1cy12aXNpYmxlLCBhIGZhbGxiYWNrIGlzIHNldCBmb3IgOmZvY3VzICovXG4uZm9jdXNlZCB7XG4gIG91dGxpbmU6IHZhcigtLWZvY3VzZWQtYmFzZS1vdXRsaW5lKTtcbiAgb3V0bGluZS1vZmZzZXQ6IHZhcigtLWZvY3VzZWQtYmFzZS1vdXRsaW5lLW9mZnNldCk7XG4gIGJveC1zaGFkb3c6IHZhcigtLWZvY3VzZWQtYmFzZS1ib3gtc2hhZG93KTtcbn1cblxuLypcbiAgRm9jdXMgcmluZyAtIGluc2V0XG4qL1xuXG4uZm9jdXMtaW5zZXQ6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDAuMnJlbSBzb2xpZCByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCAwLjUpO1xuICBvdXRsaW5lLW9mZnNldDogLTAuMnJlbTtcbiAgYm94LXNoYWRvdzogMCAwIDAuMnJlbSAwIHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuMyk7XG59XG5cbi5mb2N1c2VkLmZvY3VzLWluc2V0IHtcbiAgb3V0bGluZTogMC4ycmVtIHNvbGlkIHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuNSk7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMC4ycmVtO1xuICBib3gtc2hhZG93OiAwIDAgMC4ycmVtIDAgcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC4zKTtcbn1cblxuLypcbiAgRm9jdXMgcmluZyAtIG5vbmVcbiovXG5cbi8qIERhbmdlcm91cyBmb3IgYTExeSAtIFVzZSB3aXRoIGNhcmUgKi9cbi5mb2N1cy1ub25lIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5mb2N1cy1vZmZzZXQ6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDAuMnJlbSBzb2xpZCByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCAwLjUpO1xuICBvdXRsaW5lLW9mZnNldDogMXJlbTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXJlbSByZ2IodmFyKC0tY29sb3ItYmFja2dyb3VuZCkpLCAwIDAgMC4ycmVtIDEuMnJlbSByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCAwLjMpO1xufVxuXG4uZm9jdXMtb2Zmc2V0LmZvY3VzZWQge1xuICBvdXRsaW5lOiAwLjJyZW0gc29saWQgcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC41KTtcbiAgb3V0bGluZS1vZmZzZXQ6IDFyZW07XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFyZW0gcmdiKHZhcigtLWNvbG9yLWJhY2tncm91bmQpKSwgMCAwIDAuMnJlbSAxLjJyZW0gcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC4zKTtcbn1cblxuLyogY29tcG9uZW50LXRpdGxlICovXG4udGl0bGUsXG4udGl0bGUtd3JhcHBlci13aXRoLWxpbmsge1xuICBtYXJnaW46IDNyZW0gMCAycmVtO1xufVxuXG4udGl0bGUtd3JhcHBlci13aXRoLWxpbmsgLnRpdGxlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4udGl0bGUgLmxpbmsge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG59XG5cbi50aXRsZS13cmFwcGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbn1cblxuLnRpdGxlLXdyYXBwZXItd2l0aC1saW5rIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGdhcDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4udGl0bGUtLXByaW1hcnkge1xuICBtYXJnaW46IDRyZW0gMDtcbn1cblxuLnRpdGxlLXdyYXBwZXItLXNlbGYtcGFkZGVkLXRhYmxldC1kb3duLFxuLnRpdGxlLXdyYXBwZXItLXNlbGYtcGFkZGVkLW1vYmlsZSB7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC50aXRsZS13cmFwcGVyLS1zZWxmLXBhZGRlZC1tb2JpbGUge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MHB4KSB7XG4gIC50aXRsZSxcbiAgLnRpdGxlLXdyYXBwZXItd2l0aC1saW5rIHtcbiAgICBtYXJnaW46IDVyZW0gMCAzcmVtO1xuICB9XG5cbiAgLnRpdGxlLS1wcmltYXJ5IHtcbiAgICBtYXJnaW46IDJyZW0gMDtcbiAgfVxuXG4gIC50aXRsZS13cmFwcGVyLXdpdGgtbGluayB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC50aXRsZS13cmFwcGVyLXdpdGgtbGluayAudGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAudGl0bGUtd3JhcHBlci0tc2VsZi1wYWRkZWQtdGFibGV0LWRvd24ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cbi50aXRsZS13cmFwcGVyLXdpdGgtbGluayAubGluay13aXRoLWljb24ge1xuICBtYXJnaW46IDA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udGl0bGUtd3JhcHBlci13aXRoLWxpbmsgLmxpbmstd2l0aC1pY29uIC5zdmctd3JhcHBlciB7XG4gIHdpZHRoOiAxLjVyZW07XG59XG5cbi50aXRsZS13cmFwcGVyLXdpdGgtbGluayBhIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi50aXRsZS13cmFwcGVyLS1uby10b3AtbWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLnRpdGxlLXdyYXBwZXItLW5vLXRvcC1tYXJnaW4gPiAudGl0bGUge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uc3VidGl0bGUge1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoMSArIDAuOCAvIHZhcigtLWZvbnQtYm9keS1zY2FsZSkpO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNnJlbTtcbiAgY29sb3I6IHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuNyk7XG59XG5cbi5zdWJ0aXRsZS0tc21hbGwge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMXJlbTtcbn1cblxuLnN1YnRpdGxlLS1tZWRpdW0ge1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDhyZW07XG59XG5cbi8qIGNvbXBvbmVudC1ncmlkICovXG4uZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgY29sdW1uLWdhcDogdmFyKC0tZ3JpZC1tb2JpbGUtaG9yaXpvbnRhbC1zcGFjaW5nKTtcbiAgcm93LWdhcDogdmFyKC0tZ3JpZC1tb2JpbGUtdmVydGljYWwtc3BhY2luZyk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC5ncmlkIHtcbiAgICBjb2x1bW4tZ2FwOiB2YXIoLS1ncmlkLWRlc2t0b3AtaG9yaXpvbnRhbC1zcGFjaW5nKTtcbiAgICByb3ctZ2FwOiB2YXIoLS1ncmlkLWRlc2t0b3AtdmVydGljYWwtc3BhY2luZyk7XG4gIH1cbn1cblxuLmdyaWQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5ncmlkX19pdGVtIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gdmFyKC0tZ3JpZC1tb2JpbGUtaG9yaXpvbnRhbC1zcGFjaW5nKSAqIDMgLyA0KTtcbiAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIHZhcigtLWdyaWQtbW9iaWxlLWhvcml6b250YWwtc3BhY2luZykgLyAyKTtcbiAgZmxleC1ncm93OiAxO1xuICBmbGV4LXNocmluazogMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLmdyaWRfX2l0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIHZhcigtLWdyaWQtZGVza3RvcC1ob3Jpem9udGFsLXNwYWNpbmcpICogMyAvIDQpO1xuICAgIG1heC13aWR0aDogY2FsYyg1MCUgLSB2YXIoLS1ncmlkLWRlc2t0b3AtaG9yaXpvbnRhbC1zcGFjaW5nKSAvIDIpO1xuICB9XG59XG5cbi5ncmlkLS1nYXBsZXNzLmdyaWQge1xuICBjb2x1bW4tZ2FwOiAwO1xuICByb3ctZ2FwOiAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NDlweCkge1xuICAuZ3JpZF9faXRlbS5zbGlkZXJfX3NsaWRlLS1mdWxsLXdpZHRoIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cblxuLmdyaWQtLTEtY29sIC5ncmlkX19pdGVtIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmdyaWQtLTMtY29sIC5ncmlkX19pdGVtIHtcbiAgd2lkdGg6IGNhbGMoMzMuMzMlIC0gdmFyKC0tZ3JpZC1tb2JpbGUtaG9yaXpvbnRhbC1zcGFjaW5nKSAqIDIgLyAzKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLmdyaWQtLTMtY29sIC5ncmlkX19pdGVtIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMyUgLSB2YXIoLS1ncmlkLWRlc2t0b3AtaG9yaXpvbnRhbC1zcGFjaW5nKSAqIDIgLyAzKTtcbiAgfVxufVxuXG4uZ3JpZC0tMi1jb2wgLmdyaWRfX2l0ZW0ge1xuICB3aWR0aDogY2FsYyg1MCUgLSB2YXIoLS1ncmlkLW1vYmlsZS1ob3Jpem9udGFsLXNwYWNpbmcpIC8gMik7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC5ncmlkLS0yLWNvbCAuZ3JpZF9faXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gdmFyKC0tZ3JpZC1kZXNrdG9wLWhvcml6b250YWwtc3BhY2luZykgLyAyKTtcbiAgfVxuXG4gIC5ncmlkLS00LWNvbC10YWJsZXQgLmdyaWRfX2l0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIHZhcigtLWdyaWQtZGVza3RvcC1ob3Jpem9udGFsLXNwYWNpbmcpICogMyAvIDQpO1xuICB9XG5cbiAgLmdyaWQtLTMtY29sLXRhYmxldCAuZ3JpZF9faXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMlIC0gdmFyKC0tZ3JpZC1kZXNrdG9wLWhvcml6b250YWwtc3BhY2luZykgKiAyIC8gMyk7XG4gIH1cblxuICAuZ3JpZC0tMi1jb2wtdGFibGV0IC5ncmlkX19pdGVtIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSB2YXIoLS1ncmlkLWRlc2t0b3AtaG9yaXpvbnRhbC1zcGFjaW5nKSAvIDIpO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk4OXB4KSB7XG4gIC5ncmlkLS0xLWNvbC10YWJsZXQtZG93biAuZ3JpZF9faXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnNsaWRlci0tdGFibGV0LmdyaWQtLXBlZWsge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItLXRhYmxldC5ncmlkLS1wZWVrIC5ncmlkX19pdGVtIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuc2xpZGVyLnNsaWRlci0tdGFibGV0IC5zY3JvbGwtdHJpZ2dlci5hbmltYXRlLS1zbGlkZS1pbixcbiAgLnNsaWRlci5zbGlkZXItLW1vYmlsZSAuc2Nyb2xsLXRyaWdnZXIuYW5pbWF0ZS0tc2xpZGUtaW4ge1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogaW5oZXJpdDtcbiAgfVxuXG4gIC5zY3JvbGwtdHJpZ2dlcjpub3QoLnNjcm9sbC10cmlnZ2VyLS1vZmZzY3JlZW4pIC5zbGlkZXItLXRhYmxldCB7XG4gICAgYW5pbWF0aW9uOiB2YXIoLS1hbmltYXRpb24tc2xpZGUtaW4pO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MHB4KSB7XG4gIC5ncmlkLS02LWNvbC1kZXNrdG9wIC5ncmlkX19pdGVtIHtcbiAgICB3aWR0aDogY2FsYygxNi42NiUgLSB2YXIoLS1ncmlkLWRlc2t0b3AtaG9yaXpvbnRhbC1zcGFjaW5nKSAqIDUgLyA2KTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTYuNjYlIC0gdmFyKC0tZ3JpZC1kZXNrdG9wLWhvcml6b250YWwtc3BhY2luZykgKiA1IC8gNik7XG4gIH1cblxuICAuZ3JpZC0tNS1jb2wtZGVza3RvcCAuZ3JpZF9faXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gdmFyKC0tZ3JpZC1kZXNrdG9wLWhvcml6b250YWwtc3BhY2luZykgKiA0IC8gNSk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDIwJSAtIHZhcigtLWdyaWQtZGVza3RvcC1ob3Jpem9udGFsLXNwYWNpbmcpICogNCAvIDUpO1xuICB9XG5cbiAgLmdyaWQtLTQtY29sLWRlc2t0b3AgLmdyaWRfX2l0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIHZhcigtLWdyaWQtZGVza3RvcC1ob3Jpem9udGFsLXNwYWNpbmcpICogMyAvIDQpO1xuICAgIG1heC13aWR0aDogY2FsYygyNSUgLSB2YXIoLS1ncmlkLWRlc2t0b3AtaG9yaXpvbnRhbC1zcGFjaW5nKSAqIDMgLyA0KTtcbiAgfVxuXG4gIC5ncmlkLS0zLWNvbC1kZXNrdG9wIC5ncmlkX19pdGVtIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMyUgLSB2YXIoLS1ncmlkLWRlc2t0b3AtaG9yaXpvbnRhbC1zcGFjaW5nKSAqIDIgLyAzKTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMzMuMzMlIC0gdmFyKC0tZ3JpZC1kZXNrdG9wLWhvcml6b250YWwtc3BhY2luZykgKiAyIC8gMyk7XG4gIH1cblxuICAuZ3JpZC0tMi1jb2wtZGVza3RvcCAuZ3JpZF9faXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gdmFyKC0tZ3JpZC1kZXNrdG9wLWhvcml6b250YWwtc3BhY2luZykgLyAyKTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gdmFyKC0tZ3JpZC1kZXNrdG9wLWhvcml6b250YWwtc3BhY2luZykgLyAyKTtcbiAgfVxuXG4gIC5zbGlkZXIuc2xpZGVyLS1kZXNrdG9wIC5zY3JvbGwtdHJpZ2dlci5hbmltYXRlLS1zbGlkZS1pbiB7XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBpbmhlcml0O1xuICB9XG5cbiAgLnNjcm9sbC10cmlnZ2VyOm5vdCguc2Nyb2xsLXRyaWdnZXItLW9mZnNjcmVlbikgLnNsaWRlci0tZGVza3RvcCB7XG4gICAgYW5pbWF0aW9uOiB2YXIoLS1hbmltYXRpb24tc2xpZGUtaW4pO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MHB4KSB7XG4gIC5ncmlkLS0xLWNvbC1kZXNrdG9wIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZ3JpZC0tMS1jb2wtZGVza3RvcCAuZ3JpZF9faXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0OXB4KSB7XG4gIC5ncmlkLS1wZWVrLnNsaWRlci0tbW9iaWxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZ3JpZC0tcGVlay5zbGlkZXItLW1vYmlsZSAuZ3JpZF9faXRlbSB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmdyaWQtLXBlZWsgLmdyaWRfX2l0ZW0ge1xuICAgIG1pbi13aWR0aDogMzUlO1xuICB9XG5cbiAgLmdyaWQtLXBlZWsuc2xpZGVyIC5ncmlkX19pdGVtOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG4gIH1cblxuICAvKiBGaXggdG8gc2hvdyBzb21lIHNwYWNlIGF0IHRoZSBlbmQgb2Ygb3VyIHNsaWRlcnMgaW4gYWxsIGJyb3dzZXJzICovXG4gIC5ncmlkLS1wZWVrLnNsaWRlcjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1ncmlkLW1vYmlsZS1ob3Jpem9udGFsLXNwYWNpbmcpKTtcbiAgfVxuXG4gIC5ncmlkLS0yLWNvbC10YWJsZXQtZG93biAuZ3JpZF9faXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gdmFyKC0tZ3JpZC1tb2JpbGUtaG9yaXpvbnRhbC1zcGFjaW5nKSAvIDIpO1xuICB9XG5cbiAgLnNsaWRlci0tdGFibGV0LmdyaWQtLXBlZWsuZ3JpZC0tMi1jb2wtdGFibGV0LWRvd24gLmdyaWRfX2l0ZW0sXG4gIC5ncmlkLS1wZWVrIC5ncmlkX19pdGVtIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSB2YXIoLS1ncmlkLW1vYmlsZS1ob3Jpem9udGFsLXNwYWNpbmcpIC0gM3JlbSk7XG4gIH1cblxuICAuc2xpZGVyLS10YWJsZXQuZ3JpZC0tcGVlay5ncmlkLS0xLWNvbC10YWJsZXQtZG93biAuZ3JpZF9faXRlbSxcbiAgLnNsaWRlci0tbW9iaWxlLmdyaWQtLXBlZWsuZ3JpZC0tMS1jb2wtdGFibGV0LWRvd24gLmdyaWRfX2l0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1ncmlkLW1vYmlsZS1ob3Jpem9udGFsLXNwYWNpbmcpIC0gM3JlbSk7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIGFuZCAobWF4LXdpZHRoOiA5ODlweCkge1xuICAuc2xpZGVyLS10YWJsZXQuZ3JpZC0tcGVlayAuZ3JpZF9faXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gdmFyKC0tZ3JpZC1kZXNrdG9wLWhvcml6b250YWwtc3BhY2luZykgLSAzcmVtKTtcbiAgfVxuXG4gIC5zbGlkZXItLXRhYmxldC5ncmlkLS1wZWVrLmdyaWQtLTMtY29sLXRhYmxldCAuZ3JpZF9faXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMlIC0gdmFyKC0tZ3JpZC1kZXNrdG9wLWhvcml6b250YWwtc3BhY2luZykgLSAzcmVtKTtcbiAgfVxuXG4gIC5zbGlkZXItLXRhYmxldC5ncmlkLS1wZWVrLmdyaWQtLTItY29sLXRhYmxldCAuZ3JpZF9faXRlbSxcbiAgLnNsaWRlci0tdGFibGV0LmdyaWQtLXBlZWsuZ3JpZC0tMi1jb2wtdGFibGV0LWRvd24gLmdyaWRfX2l0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIHZhcigtLWdyaWQtZGVza3RvcC1ob3Jpem9udGFsLXNwYWNpbmcpIC0gM3JlbSk7XG4gIH1cblxuICAuc2xpZGVyLS10YWJsZXQuZ3JpZC0tcGVlayAuZ3JpZF9faXRlbTpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtO1xuICB9XG5cbiAgLmdyaWQtLTItY29sLXRhYmxldC1kb3duIC5ncmlkX19pdGVtIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSB2YXIoLS1ncmlkLWRlc2t0b3AtaG9yaXpvbnRhbC1zcGFjaW5nKSAvIDIpO1xuICB9XG5cbiAgLmdyaWQtLTEtY29sLXRhYmxldC1kb3duLmdyaWQtLXBlZWsgLmdyaWRfX2l0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1ncmlkLWRlc2t0b3AtaG9yaXpvbnRhbC1zcGFjaW5nKSAtIDNyZW0pO1xuICB9XG59XG5cbi8qIGNvbXBvbmVudC1tZWRpYSAqL1xuLm1lZGlhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuMSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1lZGlhLS10cmFuc3BhcmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubWVkaWEgPiAqOm5vdCguem9vbSk6bm90KC5kZWZlcnJlZC1tZWRpYV9fcG9zdGVyLWJ1dHRvbiksXG4ubWVkaWEgbW9kZWwtdmlld2VyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5tZWRpYSA+IGltZyB7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG59XG5cbi5tZWRpYS0tc3F1YXJlIHtcbiAgcGFkZGluZy1ib3R0b206IDEwMCU7XG59XG5cbi5tZWRpYS0tcG9ydHJhaXQge1xuICBwYWRkaW5nLWJvdHRvbTogMTI1JTtcbn1cblxuLm1lZGlhLS1sYW5kc2NhcGUge1xuICBwYWRkaW5nLWJvdHRvbTogNjYuNiU7XG59XG5cbi5tZWRpYS0tY3JvcHBlZCB7XG4gIHBhZGRpbmctYm90dG9tOiA1NiU7XG59XG5cbi5tZWRpYS0tMTYtOSB7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG59XG5cbi5tZWRpYS0tY2lyY2xlIHtcbiAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLm1lZGlhLm1lZGlhLS1ob3Zlci1lZmZlY3QgPiBpbWcgKyBpbWcge1xuICBvcGFjaXR5OiAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTBweCkge1xuICAubWVkaWEtLWNyb3BwZWQge1xuICAgIHBhZGRpbmctYm90dG9tOiA2MyU7XG4gIH1cbn1cblxuZGVmZXJyZWQtbWVkaWEge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogY29tcG9uZW50LWJ1dHRvbiAqL1xuLyogQnV0dG9uIC0gZGVmYXVsdCAqL1xuXG4uYnV0dG9uLS1zZWNvbmRhcnksXG4uYnV0dG9uLS10ZXJ0aWFyeSB7XG4gIC0tY29sb3ItYnV0dG9uOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYnV0dG9uKTtcbiAgLS1jb2xvci1idXR0b24tdGV4dDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJ1dHRvbi10ZXh0KTtcbn1cblxuLmJ1dHRvbi0tdGVydGlhcnkge1xuICAtLWFscGhhLWJ1dHRvbi1iYWNrZ3JvdW5kOiAwO1xuICAtLWFscGhhLWJ1dHRvbi1ib3JkZXI6IDAuMjtcbn1cblxuLmJ1dHRvbixcbi5zaG9waWZ5LWNoYWxsZW5nZV9fYnV0dG9uLFxuLmN1c3RvbWVyIGJ1dHRvbixcbmJ1dHRvbi5zaG9waWZ5LXBheW1lbnQtYnV0dG9uX19idXR0b24tLXVuYnJhbmRlZCB7XG4gIC0tc2hhZG93LWhvcml6b250YWwtb2Zmc2V0OiB2YXIoLS1idXR0b25zLXNoYWRvdy1ob3Jpem9udGFsLW9mZnNldCk7XG4gIC0tc2hhZG93LXZlcnRpY2FsLW9mZnNldDogdmFyKC0tYnV0dG9ucy1zaGFkb3ctdmVydGljYWwtb2Zmc2V0KTtcbiAgLS1zaGFkb3ctYmx1ci1yYWRpdXM6IHZhcigtLWJ1dHRvbnMtc2hhZG93LWJsdXItcmFkaXVzKTtcbiAgLS1zaGFkb3ctb3BhY2l0eTogdmFyKC0tYnV0dG9ucy1zaGFkb3ctb3BhY2l0eSk7XG4gIC0tc2hhZG93LXZpc2libGU6IHZhcigtLWJ1dHRvbnMtc2hhZG93LXZpc2libGUpO1xuICAtLWJvcmRlci1vZmZzZXQ6IHZhcigtLWJ1dHRvbnMtYm9yZGVyLW9mZnNldCk7IC8qIHJlZHVjZSByYWRpdXMgZWRnZSBhcnRpZmFjdHMgKi9cbiAgLS1ib3JkZXItb3BhY2l0eTogY2FsYygxIC0gdmFyKC0tYnV0dG9ucy1ib3JkZXItb3BhY2l0eSkpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1idXR0b25zLXJhZGl1cy1vdXRzZXQpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5idXR0b24sXG4uc2hvcGlmeS1jaGFsbGVuZ2VfX2J1dHRvbixcbi5jdXN0b21lciBidXR0b24sXG5idXR0b24uc2hvcGlmeS1wYXltZW50LWJ1dHRvbl9fYnV0dG9uLS11bmJyYW5kZWQge1xuICBtaW4td2lkdGg6IGNhbGMoMTJyZW0gKyB2YXIoLS1idXR0b25zLWJvcmRlci13aWR0aCkgKiAyKTtcbiAgbWluLWhlaWdodDogY2FsYyg0LjVyZW0gKyB2YXIoLS1idXR0b25zLWJvcmRlci13aWR0aCkgKiAyKTtcbn1cblxuLmJ1dHRvbixcbi5zaG9waWZ5LWNoYWxsZW5nZV9fYnV0dG9uLFxuLmN1c3RvbWVyIGJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwIDNyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udDogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IHJnYih2YXIoLS1jb2xvci1idXR0b24tdGV4dCkpO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IHZhcigtLWR1cmF0aW9uLXNob3J0KSBlYXNlO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tY29sb3ItYnV0dG9uKSwgdmFyKC0tYWxwaGEtYnV0dG9uLWJhY2tncm91bmQpKTtcbn1cblxuLmJ1dHRvbjpiZWZvcmUsXG4uc2hvcGlmeS1jaGFsbGVuZ2VfX2J1dHRvbjpiZWZvcmUsXG4uY3VzdG9tZXIgYnV0dG9uOmJlZm9yZSxcbi5zaG9waWZ5LXBheW1lbnQtYnV0dG9uX19idXR0b24tLXVuYnJhbmRlZDpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IC0xO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1idXR0b25zLXJhZGl1cy1vdXRzZXQpO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctaG9yaXpvbnRhbC1vZmZzZXQpIHZhcigtLXNoYWRvdy12ZXJ0aWNhbC1vZmZzZXQpIHZhcigtLXNoYWRvdy1ibHVyLXJhZGl1cylcbiAgICByZ2JhKHZhcigtLWNvbG9yLXNoYWRvdyksIHZhcigtLXNoYWRvdy1vcGFjaXR5KSk7XG59XG5cbi5idXR0b246YWZ0ZXIsXG4uc2hvcGlmeS1jaGFsbGVuZ2VfX2J1dHRvbjphZnRlcixcbi5jdXN0b21lciBidXR0b246YWZ0ZXIsXG4uc2hvcGlmeS1wYXltZW50LWJ1dHRvbl9fYnV0dG9uLS11bmJyYW5kZWQ6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IHZhcigtLWJ1dHRvbnMtYm9yZGVyLXdpZHRoKTtcbiAgcmlnaHQ6IHZhcigtLWJ1dHRvbnMtYm9yZGVyLXdpZHRoKTtcbiAgYm90dG9tOiB2YXIoLS1idXR0b25zLWJvcmRlci13aWR0aCk7XG4gIGxlZnQ6IHZhcigtLWJ1dHRvbnMtYm9yZGVyLXdpZHRoKTtcbiAgei1pbmRleDogMTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnV0dG9ucy1yYWRpdXMpO1xuICBib3gtc2hhZG93OiAwIDAgMCBjYWxjKHZhcigtLWJ1dHRvbnMtYm9yZGVyLXdpZHRoKSArIHZhcigtLWJvcmRlci1vZmZzZXQpKVxuICAgICAgcmdiYSh2YXIoLS1jb2xvci1idXR0b24tdGV4dCksIHZhcigtLWJvcmRlci1vcGFjaXR5KSksXG4gICAgMCAwIDAgdmFyKC0tYnV0dG9ucy1ib3JkZXItd2lkdGgpIHJnYmEodmFyKC0tY29sb3ItYnV0dG9uKSwgdmFyKC0tYWxwaGEtYnV0dG9uLWJhY2tncm91bmQpKTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyB2YXIoLS1kdXJhdGlvbi1zaG9ydCkgZWFzZTtcbn1cblxuLmJ1dHRvbjpub3QoW2Rpc2FibGVkXSk6aG92ZXI6OmFmdGVyLFxuLnNob3BpZnktY2hhbGxlbmdlX19idXR0b246aG92ZXI6OmFmdGVyLFxuLmN1c3RvbWVyIGJ1dHRvbjpob3Zlcjo6YWZ0ZXIsXG4uc2hvcGlmeS1wYXltZW50LWJ1dHRvbl9fYnV0dG9uLS11bmJyYW5kZWQ6aG92ZXI6OmFmdGVyIHtcbiAgLS1ib3JkZXItb2Zmc2V0OiAxLjNweDtcbiAgYm94LXNoYWRvdzogMCAwIDAgY2FsYyh2YXIoLS1idXR0b25zLWJvcmRlci13aWR0aCkgKyB2YXIoLS1ib3JkZXItb2Zmc2V0KSlcbiAgICAgIHJnYmEodmFyKC0tY29sb3ItYnV0dG9uLXRleHQpLCB2YXIoLS1ib3JkZXItb3BhY2l0eSkpLFxuICAgIDAgMCAwIGNhbGModmFyKC0tYnV0dG9ucy1ib3JkZXItd2lkdGgpICsgMXB4KSByZ2JhKHZhcigtLWNvbG9yLWJ1dHRvbiksIHZhcigtLWFscGhhLWJ1dHRvbi1iYWNrZ3JvdW5kKSk7XG59XG5cbi5idXR0b24tLXNlY29uZGFyeTphZnRlciB7XG4gIC0tYm9yZGVyLW9wYWNpdHk6IHZhcigtLWJ1dHRvbnMtYm9yZGVyLW9wYWNpdHkpO1xufVxuXG4uYnV0dG9uOmZvY3VzLXZpc2libGUsXG4uYnV0dG9uOmZvY3VzLFxuLmJ1dHRvbi5mb2N1c2VkLFxuLnNob3BpZnktcGF5bWVudC1idXR0b25fX2J1dHRvbi0tdW5icmFuZGVkOmZvY3VzLXZpc2libGUsXG4uc2hvcGlmeS1wYXltZW50LWJ1dHRvbl9fYnV0dG9uLS11bmJyYW5kZWQ6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjNyZW0gcmdiKHZhcigtLWNvbG9yLWJhY2tncm91bmQpKSwgMCAwIDAgMC41cmVtIHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuNSksXG4gICAgMCAwIDAuNXJlbSAwLjRyZW0gcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC4zKTtcbn1cblxuLmJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOm5vdCguZm9jdXNlZCksXG4uc2hvcGlmeS1wYXltZW50LWJ1dHRvbl9fYnV0dG9uLS11bmJyYW5kZWQ6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTpub3QoLmZvY3VzZWQpIHtcbiAgYm94LXNoYWRvdzogaW5oZXJpdDtcbn1cblxuLmJ1dHRvbjo6c2VsZWN0aW9uLFxuLnNob3BpZnktY2hhbGxlbmdlX19idXR0b246OnNlbGVjdGlvbixcbi5jdXN0b21lciBidXR0b246OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tY29sb3ItYnV0dG9uLXRleHQpLCAwLjMpO1xufVxuXG4uYnV0dG9uLFxuLmJ1dHRvbi1sYWJlbCxcbi5zaG9waWZ5LWNoYWxsZW5nZV9fYnV0dG9uLFxuLmN1c3RvbWVyIGJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4xcmVtO1xuICBsaW5lLWhlaWdodDogY2FsYygxICsgMC4yIC8gdmFyKC0tZm9udC1ib2R5LXNjYWxlKSk7XG59XG5cbi5idXR0b24tLXRlcnRpYXJ5IHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIHBhZGRpbmc6IDFyZW0gMS41cmVtO1xuICBtaW4td2lkdGg6IGNhbGMoOXJlbSArIHZhcigtLWJ1dHRvbnMtYm9yZGVyLXdpZHRoKSAqIDIpO1xuICBtaW4taGVpZ2h0OiBjYWxjKDMuNXJlbSArIHZhcigtLWJ1dHRvbnMtYm9yZGVyLXdpZHRoKSAqIDIpO1xufVxuXG4uYnV0dG9uLS1zbWFsbCB7XG4gIHBhZGRpbmc6IDEuMnJlbSAyLjZyZW07XG59XG5cbi8qIFNob3BpZnkgQWNjZWxlcmF0ZWQgQ2hlY2tvdXQgKi9cblxuc2hvcGlmeS1hY2NlbGVyYXRlZC1jaGVja291dCB7XG4gIC0tc2hvcGlmeS1hY2NlbGVyYXRlZC1jaGVja291dC1idXR0b24tYm9yZGVyLXJhZGl1czogdmFyKC0tYnV0dG9ucy1yYWRpdXMtb3V0c2V0KTtcbiAgLS1zaG9waWZ5LWFjY2VsZXJhdGVkLWNoZWNrb3V0LWJ1dHRvbi1ib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctaG9yaXpvbnRhbC1vZmZzZXQpIHZhcigtLXNoYWRvdy12ZXJ0aWNhbC1vZmZzZXQpIHZhcigtLXNoYWRvdy1ibHVyLXJhZGl1cylcbiAgcmdiYSh2YXIoLS1jb2xvci1zaGFkb3cpLCB2YXIoLS1zaGFkb3ctb3BhY2l0eSkpO1xufVxuc2hvcGlmeS1hY2NlbGVyYXRlZC1jaGVja291dC1jYXJ0IHtcbiAgLS1zaG9waWZ5LWFjY2VsZXJhdGVkLWNoZWNrb3V0LWJ1dHRvbi1ib3JkZXItcmFkaXVzOiB2YXIoLS1idXR0b25zLXJhZGl1cy1vdXRzZXQpO1xuICAtLXNob3BpZnktYWNjZWxlcmF0ZWQtY2hlY2tvdXQtYnV0dG9uLWJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1ob3Jpem9udGFsLW9mZnNldCkgdmFyKC0tc2hhZG93LXZlcnRpY2FsLW9mZnNldCkgdmFyKC0tc2hhZG93LWJsdXItcmFkaXVzKVxuICByZ2JhKHZhcigtLWNvbG9yLXNoYWRvdyksIHZhcigtLXNoYWRvdy1vcGFjaXR5KSk7XG59XG5cblxuLyogQnV0dG9uIC0gb3RoZXIgKi9cblxuLmJ1dHRvbjpkaXNhYmxlZCxcbi5idXR0b25bYXJpYS1kaXNhYmxlZD0ndHJ1ZSddLFxuLmJ1dHRvbi5kaXNhYmxlZCxcbi5jdXN0b21lciBidXR0b246ZGlzYWJsZWQsXG4uY3VzdG9tZXIgYnV0dG9uW2FyaWEtZGlzYWJsZWQ9J3RydWUnXSxcbi5jdXN0b21lciBidXR0b24uZGlzYWJsZWQsXG4ucXVhbnRpdHlfX2J1dHRvbi5kaXNhYmxlZCB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuLmJ1dHRvbi0tZnVsbC13aWR0aCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYnV0dG9uLmxvYWRpbmcge1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAuYnV0dG9uLmxvYWRpbmcge1xuICAgIGNvbG9yOiByZ2IodmFyKC0tY29sb3ItZm9yZWdyb3VuZCkpO1xuICB9XG59XG5cbi5idXR0b24ubG9hZGluZyA+IC5sb2FkaW5nX19zcGlubmVyIHtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYnV0dG9uLmxvYWRpbmcgPiAubG9hZGluZ19fc3Bpbm5lciAuc3Bpbm5lciB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbn1cblxuLmJ1dHRvbi5sb2FkaW5nID4gLmxvYWRpbmdfX3NwaW5uZXIgLnBhdGgge1xuICBzdHJva2U6IHJnYih2YXIoLS1jb2xvci1idXR0b24tdGV4dCkpO1xufVxuXG4vKiBCdXR0b24gLSBzb2NpYWwgc2hhcmUgKi9cblxuLnNoYXJlLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zaGFyZS1idXR0b24gZGV0YWlscyB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbn1cblxuLnNoYXJlLWJ1dHRvbl9fYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiByZ2IodmFyKC0tY29sb3ItbGluaykpO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtaW4taGVpZ2h0OiA0LjRyZW07XG59XG5cbmRldGFpbHNbb3Blbl0gPiAuc2hhcmUtYnV0dG9uX19mYWxsYmFjayB7XG4gIGFuaW1hdGlvbjogYW5pbWF0ZU1lbnVPcGVuIHZhcigtLWR1cmF0aW9uLWRlZmF1bHQpIGVhc2U7XG59XG5cbi5zaGFyZS1idXR0b25fX2J1dHRvbjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuM3JlbTtcbn1cblxuLnNoYXJlLWJ1dHRvbl9fYnV0dG9uLFxuLnNoYXJlLWJ1dHRvbl9fZmFsbGJhY2sgYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4uc2hhcmUtYnV0dG9uX19idXR0b24gLmljb24tc2hhcmUge1xuICBoZWlnaHQ6IDEuMnJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtaW4td2lkdGg6IDEuM3JlbTtcbn1cblxuLnNoYXJlLWJ1dHRvbl9fZmFsbGJhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogM3JlbTtcbiAgbGVmdDogMC4xcmVtO1xuICB6LWluZGV4OiAzO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiBtYXgtY29udGVudDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0taW5wdXRzLXJhZGl1cyk7XG4gIGJvcmRlcjogMDtcbn1cblxuLnNoYXJlLWJ1dHRvbl9fZmFsbGJhY2s6YWZ0ZXIge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiB2YXIoLS1pbnB1dHMtYm9yZGVyLXdpZHRoKTtcbiAgcmlnaHQ6IHZhcigtLWlucHV0cy1ib3JkZXItd2lkdGgpO1xuICBib3R0b206IHZhcigtLWlucHV0cy1ib3JkZXItd2lkdGgpO1xuICBsZWZ0OiB2YXIoLS1pbnB1dHMtYm9yZGVyLXdpZHRoKTtcbiAgYm9yZGVyOiAwLjFyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWlucHV0cy1yYWRpdXMpO1xuICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1pbnB1dHMtYm9yZGVyLXdpZHRoKSByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCB2YXIoLS1pbnB1dHMtYm9yZGVyLW9wYWNpdHkpKTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyB2YXIoLS1kdXJhdGlvbi1zaG9ydCkgZWFzZTtcbiAgei1pbmRleDogMTtcbn1cblxuLnNoYXJlLWJ1dHRvbl9fZmFsbGJhY2s6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogcmdiKHZhcigtLWNvbG9yLWJhY2tncm91bmQpKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0taW5wdXRzLXJhZGl1cy1vdXRzZXQpO1xuICBib3gtc2hhZG93OiB2YXIoLS1pbnB1dHMtc2hhZG93LWhvcml6b250YWwtb2Zmc2V0KSB2YXIoLS1pbnB1dHMtc2hhZG93LXZlcnRpY2FsLW9mZnNldClcbiAgICB2YXIoLS1pbnB1dHMtc2hhZG93LWJsdXItcmFkaXVzKSByZ2JhKHZhcigtLWNvbG9yLXNoYWRvdyksIHZhcigtLWlucHV0cy1zaGFkb3ctb3BhY2l0eSkpO1xuICB6LWluZGV4OiAtMTtcbn1cblxuLnNoYXJlLWJ1dHRvbl9fZmFsbGJhY2sgYnV0dG9uIHtcbiAgd2lkdGg6IDQuNHJlbTtcbiAgaGVpZ2h0OiA0LjRyZW07XG4gIHBhZGRpbmc6IDA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICByaWdodDogdmFyKC0taW5wdXRzLWJvcmRlci13aWR0aCk7XG59XG5cbi5zaGFyZS1idXR0b25fX2ZhbGxiYWNrIGJ1dHRvbjpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCAwLjc1KTtcbn1cblxuLnNoYXJlLWJ1dHRvbl9fZmFsbGJhY2sgYnV0dG9uOmhvdmVyIC5zdmctd3JhcHBlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wNyk7XG59XG5cbi5zaGFyZS1idXR0b25fX2Nsb3NlOm5vdCguaGlkZGVuKSArIC5zaGFyZS1idXR0b25fX2NvcHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2hhcmUtYnV0dG9uX19jbG9zZSxcbi5zaGFyZS1idXR0b25fX2NvcHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHJnYih2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSk7XG59XG5cbi5zaGFyZS1idXR0b25fX2NvcHk6Zm9jdXMtdmlzaWJsZSxcbi5zaGFyZS1idXR0b25fX2Nsb3NlOmZvY3VzLXZpc2libGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tY29sb3ItYmFja2dyb3VuZCkpO1xuICB6LWluZGV4OiAyO1xufVxuXG4uc2hhcmUtYnV0dG9uX19jb3B5OmZvY3VzLFxuLnNoYXJlLWJ1dHRvbl9fY2xvc2U6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tY29sb3ItYmFja2dyb3VuZCkpO1xuICB6LWluZGV4OiAyO1xufVxuXG4uZmllbGQ6bm90KDpmb2N1cy12aXNpYmxlKTpub3QoLmZvY3VzZWQpICsgLnNoYXJlLWJ1dHRvbl9fY29weTpub3QoOmZvY3VzLXZpc2libGUpOm5vdCguZm9jdXNlZCksXG4uZmllbGQ6bm90KDpmb2N1cy12aXNpYmxlKTpub3QoLmZvY3VzZWQpICsgLnNoYXJlLWJ1dHRvbl9fY2xvc2U6bm90KDpmb2N1cy12aXNpYmxlKTpub3QoLmZvY3VzZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbn1cblxuLnNoYXJlLWJ1dHRvbl9fZmFsbGJhY2sgLmZpZWxkOmFmdGVyLFxuLnNoYXJlLWJ1dHRvbl9fZmFsbGJhY2sgLmZpZWxkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5cbi5zaGFyZS1idXR0b25fX2ZhbGxiYWNrIC5maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG1pbi13aWR0aDogYXV0bztcbiAgbWluLWhlaWdodDogYXV0bztcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLnNoYXJlLWJ1dHRvbl9fZmFsbGJhY2sgLmZpZWxkX19pbnB1dDpmb2N1cyxcbi5zaGFyZS1idXR0b25fX2ZhbGxiYWNrIC5maWVsZF9faW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCB7XG4gIG91dGxpbmU6IDAuMnJlbSBzb2xpZCByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCAwLjUpO1xuICBvdXRsaW5lLW9mZnNldDogMC4xcmVtO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjFyZW0gcmdiKHZhcigtLWNvbG9yLWJhY2tncm91bmQpKSwgMCAwIDAuNXJlbSAwLjRyZW0gcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC4zKTtcbn1cblxuLnNoYXJlLWJ1dHRvbl9fZmFsbGJhY2sgLmZpZWxkX19pbnB1dCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmaWx0ZXI6IG5vbmU7XG4gIG1pbi13aWR0aDogYXV0bztcbiAgbWluLWhlaWdodDogYXV0bztcbn1cblxuLnNoYXJlLWJ1dHRvbl9fZmFsbGJhY2sgLmZpZWxkX19pbnB1dDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5zaGFyZS1idXR0b25fX2ZhbGxiYWNrIC5pY29uIHtcbiAgd2lkdGg6IDEuNXJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG59XG5cbi5zaGFyZS1idXR0b25fX21lc3NhZ2U6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4tdG9wOiAwO1xuICBwYWRkaW5nOiAwLjhyZW0gMCAwLjhyZW0gMS41cmVtO1xuICBtYXJnaW46IHZhcigtLWlucHV0cy1ib3JkZXItd2lkdGgpO1xufVxuXG4uc2hhcmUtYnV0dG9uX19tZXNzYWdlOm5vdCg6ZW1wdHkpOm5vdCguaGlkZGVuKSB+ICoge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBjb21wb25lbnQtZm9ybSAqL1xuLmZpZWxkX19pbnB1dCxcbi5zZWxlY3RfX3NlbGVjdCxcbi5jdXN0b21lciAuZmllbGQgaW5wdXQsXG4uY3VzdG9tZXIgc2VsZWN0IHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tY29sb3ItYmFja2dyb3VuZCkpO1xuICBjb2xvcjogcmdiKHZhcigtLWNvbG9yLWZvcmVncm91bmQpKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9keS1mYW1pbHkpO1xuICBmb250LXN0eWxlOiB2YXIoLS1mb250LWJvZHktc3R5bGUpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC1ib2R5LXdlaWdodCk7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyB2YXIoLS1kdXJhdGlvbi1zaG9ydCkgZWFzZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0taW5wdXRzLXJhZGl1cyk7XG4gIGhlaWdodDogNC41cmVtO1xuICBtaW4taGVpZ2h0OiBjYWxjKHZhcigtLWlucHV0cy1ib3JkZXItd2lkdGgpICogMik7XG4gIG1pbi13aWR0aDogY2FsYyg3cmVtICsgKHZhcigtLWlucHV0cy1ib3JkZXItd2lkdGgpICogMikpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogMDtcbn1cblxuLmZpZWxkOmJlZm9yZSxcbi5zZWxlY3Q6YmVmb3JlLFxuLmN1c3RvbWVyIC5maWVsZDpiZWZvcmUsXG4uY3VzdG9tZXIgc2VsZWN0OmJlZm9yZSxcbi5sb2NhbGl6YXRpb24tZm9ybV9fc2VsZWN0OmJlZm9yZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWlucHV0cy1yYWRpdXMtb3V0c2V0KTtcbiAgYm94LXNoYWRvdzogdmFyKC0taW5wdXRzLXNoYWRvdy1ob3Jpem9udGFsLW9mZnNldCkgdmFyKC0taW5wdXRzLXNoYWRvdy12ZXJ0aWNhbC1vZmZzZXQpXG4gICAgdmFyKC0taW5wdXRzLXNoYWRvdy1ibHVyLXJhZGl1cykgcmdiYSh2YXIoLS1jb2xvci1zaGFkb3cpLCB2YXIoLS1pbnB1dHMtc2hhZG93LW9wYWNpdHkpKTtcbiAgei1pbmRleDogLTE7XG59XG5cbi5maWVsZDphZnRlcixcbi5zZWxlY3Q6YWZ0ZXIsXG4uY3VzdG9tZXIgLmZpZWxkOmFmdGVyLFxuLmN1c3RvbWVyIHNlbGVjdDphZnRlcixcbi5sb2NhbGl6YXRpb24tZm9ybV9fc2VsZWN0OmFmdGVyIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogdmFyKC0taW5wdXRzLWJvcmRlci13aWR0aCk7XG4gIHJpZ2h0OiB2YXIoLS1pbnB1dHMtYm9yZGVyLXdpZHRoKTtcbiAgYm90dG9tOiB2YXIoLS1pbnB1dHMtYm9yZGVyLXdpZHRoKTtcbiAgbGVmdDogdmFyKC0taW5wdXRzLWJvcmRlci13aWR0aCk7XG4gIGJvcmRlcjogMC4xcmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1pbnB1dHMtcmFkaXVzKTtcbiAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0taW5wdXRzLWJvcmRlci13aWR0aCkgcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgdmFyKC0taW5wdXRzLWJvcmRlci1vcGFjaXR5KSk7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgdmFyKC0tZHVyYXRpb24tc2hvcnQpIGVhc2U7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5zZWxlY3RfX3NlbGVjdCB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHktZmFtaWx5KTtcbiAgZm9udC1zdHlsZTogdmFyKC0tZm9udC1ib2R5LXN0eWxlKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9keS13ZWlnaHQpO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgY29sb3I6IHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuNzUpO1xufVxuXG4uZmllbGQ6aG92ZXIuZmllbGQ6YWZ0ZXIsXG4uc2VsZWN0OmhvdmVyLnNlbGVjdDphZnRlcixcbi5zZWxlY3RfX3NlbGVjdDpob3Zlci5zZWxlY3RfX3NlbGVjdDphZnRlcixcbi5jdXN0b21lciAuZmllbGQ6aG92ZXIuZmllbGQ6YWZ0ZXIsXG4uY3VzdG9tZXIgc2VsZWN0OmhvdmVyLnNlbGVjdDphZnRlcixcbi5sb2NhbGl6YXRpb24tZm9ybV9fc2VsZWN0OmhvdmVyLmxvY2FsaXphdGlvbi1mb3JtX19zZWxlY3Q6YWZ0ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCBjYWxjKDAuMXJlbSArIHZhcigtLWlucHV0cy1ib3JkZXItd2lkdGgpKVxuICAgIHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIHZhcigtLWlucHV0cy1ib3JkZXItb3BhY2l0eSkpO1xuICBvdXRsaW5lOiAwO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1pbnB1dHMtcmFkaXVzKTtcbn1cblxuLmZpZWxkX19pbnB1dDpmb2N1cy12aXNpYmxlLFxuLnNlbGVjdF9fc2VsZWN0OmZvY3VzLXZpc2libGUsXG4uY3VzdG9tZXIgLmZpZWxkIGlucHV0OmZvY3VzLXZpc2libGUsXG4uY3VzdG9tZXIgc2VsZWN0OmZvY3VzLXZpc2libGUsXG4ubG9jYWxpemF0aW9uLWZvcm1fX3NlbGVjdDpmb2N1cy12aXNpYmxlLmxvY2FsaXphdGlvbi1mb3JtX19zZWxlY3Q6YWZ0ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCBjYWxjKDAuMXJlbSArIHZhcigtLWlucHV0cy1ib3JkZXItd2lkdGgpKSByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpKTtcbiAgb3V0bGluZTogMDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0taW5wdXRzLXJhZGl1cyk7XG59XG5cbi5maWVsZF9faW5wdXQ6Zm9jdXMsXG4uc2VsZWN0X19zZWxlY3Q6Zm9jdXMsXG4uY3VzdG9tZXIgLmZpZWxkIGlucHV0OmZvY3VzLFxuLmN1c3RvbWVyIHNlbGVjdDpmb2N1cyxcbi5sb2NhbGl6YXRpb24tZm9ybV9fc2VsZWN0OmZvY3VzLmxvY2FsaXphdGlvbi1mb3JtX19zZWxlY3Q6YWZ0ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCBjYWxjKDAuMXJlbSArIHZhcigtLWlucHV0cy1ib3JkZXItd2lkdGgpKSByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpKTtcbiAgb3V0bGluZTogMDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0taW5wdXRzLXJhZGl1cyk7XG59XG5cbi5sb2NhbGl6YXRpb24tZm9ybV9fc2VsZWN0OmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLnRleHQtYXJlYSxcbi5zZWxlY3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiBTZWxlY3QgKi9cblxuLnNlbGVjdCAuc3ZnLXdyYXBwZXIsXG4uY3VzdG9tZXIgc2VsZWN0ICsgLnN2Zy13cmFwcGVyIHtcbiAgaGVpZ2h0OiAwLjZyZW07XG4gIHdpZHRoOiAxcmVtO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoNTAlIC0gMC4ycmVtKTtcbiAgcmlnaHQ6IDA7XG59XG5cbi5zZWxlY3RfX3NlbGVjdCxcbi5jdXN0b21lciBzZWxlY3Qge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDEgKyAwLjYgLyB2YXIoLS1mb250LWJvZHktc2NhbGUpKTtcbiAgcGFkZGluZzogMCBjYWxjKHZhcigtLWlucHV0cy1ib3JkZXItd2lkdGgpICsgM3JlbSkgMCAycmVtO1xuICBtYXJnaW46IHZhcigtLWlucHV0cy1ib3JkZXItd2lkdGgpO1xuICBtaW4taGVpZ2h0OiBjYWxjKHZhcigtLWlucHV0cy1ib3JkZXItd2lkdGgpICogMik7XG59XG5cbi8qIEZpZWxkICovXG5cbi5maWVsZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgdmFyKC0tZHVyYXRpb24tc2hvcnQpIGVhc2U7XG59XG5cbi5jdXN0b21lciAuZmllbGQge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uZmllbGQtLXdpdGgtZXJyb3Ige1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5maWVsZF9faW5wdXQsXG4uY3VzdG9tZXIgLmZpZWxkIGlucHV0IHtcbiAgZmxleC1ncm93OiAxO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nOiAxLjVyZW07XG4gIG1hcmdpbjogdmFyKC0taW5wdXRzLWJvcmRlci13aWR0aCk7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgdmFyKC0tZHVyYXRpb24tc2hvcnQpIGVhc2U7XG59XG5cbi5maWVsZF9fbGFiZWwsXG4uY3VzdG9tZXIgLmZpZWxkIGxhYmVsIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxlZnQ6IGNhbGModmFyKC0taW5wdXRzLWJvcmRlci13aWR0aCkgKyAycmVtKTtcbiAgdG9wOiBjYWxjKDFyZW0gKyB2YXIoLS1pbnB1dHMtYm9yZGVyLXdpZHRoKSk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zaXRpb246IHRvcCB2YXIoLS1kdXJhdGlvbi1zaG9ydCkgZWFzZSwgZm9udC1zaXplIHZhcigtLWR1cmF0aW9uLXNob3J0KSBlYXNlO1xuICBjb2xvcjogcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC43NSk7XG4gIGxldHRlci1zcGFjaW5nOiAwLjFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5maWVsZF9faW5wdXQ6Zm9jdXMgfiAuZmllbGRfX2xhYmVsLFxuLmZpZWxkX19pbnB1dDpub3QoOnBsYWNlaG9sZGVyLXNob3duKSB+IC5maWVsZF9fbGFiZWwsXG4uZmllbGRfX2lucHV0Oi13ZWJraXQtYXV0b2ZpbGwgfiAuZmllbGRfX2xhYmVsLFxuLmN1c3RvbWVyIC5maWVsZCBpbnB1dDpmb2N1cyB+IGxhYmVsLFxuLmN1c3RvbWVyIC5maWVsZCBpbnB1dDpub3QoOnBsYWNlaG9sZGVyLXNob3duKSB+IGxhYmVsLFxuLmN1c3RvbWVyIC5maWVsZCBpbnB1dDotd2Via2l0LWF1dG9maWxsIH4gbGFiZWwge1xuICBmb250LXNpemU6IDFyZW07XG4gIHRvcDogY2FsYyh2YXIoLS1pbnB1dHMtYm9yZGVyLXdpZHRoKSArIDAuNXJlbSk7XG4gIGxlZnQ6IGNhbGModmFyKC0taW5wdXRzLWJvcmRlci13aWR0aCkgKyAycmVtKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDRyZW07XG59XG5cbi5maWVsZF9faW5wdXQ6Zm9jdXMsXG4uZmllbGRfX2lucHV0Om5vdCg6cGxhY2Vob2xkZXItc2hvd24pLFxuLmZpZWxkX19pbnB1dDotd2Via2l0LWF1dG9maWxsLFxuLmN1c3RvbWVyIC5maWVsZCBpbnB1dDpmb2N1cyxcbi5jdXN0b21lciAuZmllbGQgaW5wdXQ6bm90KDpwbGFjZWhvbGRlci1zaG93biksXG4uY3VzdG9tZXIgLmZpZWxkIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGwge1xuICBwYWRkaW5nOiAyLjJyZW0gMS41cmVtIDAuOHJlbSAycmVtO1xuICBtYXJnaW46IHZhcigtLWlucHV0cy1ib3JkZXItd2lkdGgpO1xufVxuXG4uZmllbGRfX2lucHV0Ojotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuLmN1c3RvbWVyIC5maWVsZCBpbnB1dDo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5maWVsZF9faW5wdXQ6OnBsYWNlaG9sZGVyLFxuLmN1c3RvbWVyIC5maWVsZCBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICBvcGFjaXR5OiAwO1xufVxuXG4uZmllbGRfX2J1dHRvbiB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiA0LjRyZW07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiA0LjRyZW07XG59XG5cbi5maWVsZF9fYnV0dG9uID4gLnN2Zy13cmFwcGVyIHtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIHdpZHRoOiAyLjVyZW07XG59XG5cbi5maWVsZF9faW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCB+IC5maWVsZF9fYnV0dG9uLFxuLmZpZWxkX19pbnB1dDotd2Via2l0LWF1dG9maWxsIH4gLmZpZWxkX19sYWJlbCxcbi5jdXN0b21lciAuZmllbGQgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCB+IGxhYmVsIHtcbiAgY29sb3I6IHJnYigwLCAwLCAwKTtcbn1cblxuLyogVGV4dCBhcmVhICovXG5cbi50ZXh0LWFyZWEge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5LWZhbWlseSk7XG4gIGZvbnQtc3R5bGU6IHZhcigtLWZvbnQtYm9keS1zdHlsZSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvZHktd2VpZ2h0KTtcbiAgbWluLWhlaWdodDogMTByZW07XG4gIHJlc2l6ZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xufVxuXG4vKiBGb3JtIGdsb2JhbCAqL1xuXG4uZm9ybV9fbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMC42cmVtO1xufVxuXG4uZm9ybV9fbWVzc2FnZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLmZvcm1fX21lc3NhZ2UtLWxhcmdlIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG59XG5cbi5jdXN0b21lciAuZmllbGQgLmZvcm1fX21lc3NhZ2Uge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmZvcm1fX21lc3NhZ2UgLmljb24sXG4uY3VzdG9tZXIgLmZvcm1fX21lc3NhZ2UgLnN2Zy13cmFwcGVyIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGhlaWdodDogMS4zcmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgd2lkdGg6IDEuM3JlbTtcbn1cblxuLmZvcm1fX21lc3NhZ2UtLWxhcmdlIC5pY29uLFxuLmN1c3RvbWVyIC5mb3JtX19tZXNzYWdlIC5zdmctd3JhcHBlciB7XG4gIGhlaWdodDogMS41cmVtO1xuICB3aWR0aDogMS41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG59XG5cbi5jdXN0b21lciAuZmllbGQgLmZvcm1fX21lc3NhZ2UgLnN2Zy13cmFwcGVyIHtcbiAgYWxpZ24tc2VsZjogc3RhcnQ7XG59XG5cbi5mb3JtLXN0YXR1cyB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG59XG5cbi5mb3JtLXN0YXR1cy1saXN0IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAycmVtIDAgNHJlbTtcbn1cblxuLmZvcm0tc3RhdHVzLWxpc3QgbGkge1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG59XG5cbi5mb3JtLXN0YXR1cy1saXN0IC5saW5rOjpmaXJzdC1sZXR0ZXIge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cblxuLyogY29tcG9uZW50LXF1YW50aXR5ICovXG4ucXVhbnRpdHkge1xuICBjb2xvcjogcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGNhbGMoMTRyZW0gLyB2YXIoLS1mb250LWJvZHktc2NhbGUpICsgdmFyKC0taW5wdXRzLWJvcmRlci13aWR0aCkgKiAyKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0taW5wdXRzLXJhZGl1cyk7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoKHZhcigtLWlucHV0cy1ib3JkZXItd2lkdGgpICogMikgKyA0LjVyZW0pO1xufVxuXG4ucXVhbnRpdHk6YWZ0ZXIge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiB2YXIoLS1pbnB1dHMtYm9yZGVyLXdpZHRoKTtcbiAgcmlnaHQ6IHZhcigtLWlucHV0cy1ib3JkZXItd2lkdGgpO1xuICBib3R0b206IHZhcigtLWlucHV0cy1ib3JkZXItd2lkdGgpO1xuICBsZWZ0OiB2YXIoLS1pbnB1dHMtYm9yZGVyLXdpZHRoKTtcbiAgYm9yZGVyOiAwLjFyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWlucHV0cy1yYWRpdXMpO1xuICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1pbnB1dHMtYm9yZGVyLXdpZHRoKSByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCB2YXIoLS1pbnB1dHMtYm9yZGVyLW9wYWNpdHkpKTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyB2YXIoLS1kdXJhdGlvbi1zaG9ydCkgZWFzZTtcbiAgei1pbmRleDogMTtcbn1cblxuLnF1YW50aXR5OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IHJnYih2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWlucHV0cy1yYWRpdXMtb3V0c2V0KTtcbiAgYm94LXNoYWRvdzogdmFyKC0taW5wdXRzLXNoYWRvdy1ob3Jpem9udGFsLW9mZnNldCkgdmFyKC0taW5wdXRzLXNoYWRvdy12ZXJ0aWNhbC1vZmZzZXQpXG4gICAgdmFyKC0taW5wdXRzLXNoYWRvdy1ibHVyLXJhZGl1cykgcmdiYSh2YXIoLS1jb2xvci1zaGFkb3cpLCB2YXIoLS1pbnB1dHMtc2hhZG93LW9wYWNpdHkpKTtcbiAgei1pbmRleDogLTE7XG59XG5cbi5xdWFudGl0eV9faW5wdXQge1xuICBjb2xvcjogY3VycmVudENvbG9yO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5LWZhbWlseSk7XG4gIGZvbnQtc3R5bGU6IHZhcigtLWZvbnQtYm9keS1zdHlsZSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvZHktd2VpZ2h0KTtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG9wYWNpdHk6IDAuODU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMCAwLjVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBmbGV4LWdyb3c6IDE7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLnF1YW50aXR5X19idXR0b24ge1xuICB3aWR0aDogY2FsYyg0LjVyZW0gLyB2YXIoLS1mb250LWJvZHktc2NhbGUpKTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2xvcjogcmdiKHZhcigtLWNvbG9yLWZvcmVncm91bmQpKTtcbiAgcGFkZGluZzogMDtcbn1cblxuLnF1YW50aXR5X19idXR0b246Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1pbnB1dHMtYm9yZGVyLXdpZHRoKSk7XG59XG5cbi5xdWFudGl0eV9fYnV0dG9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0taW5wdXRzLWJvcmRlci13aWR0aCkpO1xufVxuXG4vKiAucXVhbnRpdHlfX2J1dHRvbiAuc3ZnLXdyYXBwZXIge1xuICB3aWR0aDogMXJlbTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59ICovXG4ucXVhbnRpdHlfX2J1dHRvbiBzdmcge1xuICB3aWR0aDogMXJlbTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ucXVhbnRpdHlfX2J1dHRvbjpmb2N1cy12aXNpYmxlLFxuLnF1YW50aXR5X19pbnB1dDpmb2N1cy12aXNpYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKHZhcigtLWNvbG9yLWJhY2tncm91bmQpKTtcbiAgei1pbmRleDogMjtcbn1cblxuLnF1YW50aXR5X19idXR0b246Zm9jdXMsXG4ucXVhbnRpdHlfX2lucHV0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKHZhcigtLWNvbG9yLWJhY2tncm91bmQpKTtcbiAgei1pbmRleDogMjtcbn1cblxuLnF1YW50aXR5X19idXR0b246bm90KDpmb2N1cy12aXNpYmxlKTpub3QoLmZvY3VzZWQpLFxuLnF1YW50aXR5X19pbnB1dDpub3QoOmZvY3VzLXZpc2libGUpOm5vdCguZm9jdXNlZCkge1xuICBib3gtc2hhZG93OiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xufVxuXG4ucXVhbnRpdHlfX2lucHV0Oi13ZWJraXQtYXV0b2ZpbGwsXG4ucXVhbnRpdHlfX2lucHV0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXG4ucXVhbnRpdHlfX2lucHV0Oi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMTByZW0gcmdiKHZhcigtLWNvbG9yLWJhY2tncm91bmQpKSBpbnNldCAhaW1wb3J0YW50O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDEwcmVtIHJnYih2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKSkgaW5zZXQgIWltcG9ydGFudDtcbn1cblxuLnF1YW50aXR5X19pbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbi5xdWFudGl0eV9faW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cblxuLnF1YW50aXR5X19pbnB1dFt0eXBlPSdudW1iZXInXSB7XG4gIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xufVxuXG4ucXVhbnRpdHlfX3J1bGVzIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuXG4ucXVhbnRpdHlfX3J1bGVzIC5jYXB0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucXVhbnRpdHlfX3J1bGVzIC5kaXZpZGVyICsgLmRpdmlkZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXDIwMjInO1xuICBtYXJnaW46IDAgMC41cmVtO1xufVxuXG4ucXVhbnRpdHlfX3J1bGVzLWNhcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wcm9kdWN0X19pbmZvLWNvbnRhaW5lciAubG9hZGluZ19fc3Bpbm5lcjpub3QoLmhpZGRlbikgfiAqLFxuLnF1YW50aXR5X19ydWxlcy1jYXJ0IC5sb2FkaW5nX19zcGlubmVyOm5vdCguaGlkZGVuKSB+ICoge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qIGNvbXBvbmVudC1tb2RhbCAqL1xuLm1vZGFsX190b2dnbGUge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi5tb2RhbF9fdG9nZ2xlLWNsb3NlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1vZGFsX190b2dnbGUtb3BlbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5tb2RhbF9fY2xvc2UtYnV0dG9uLmxpbmsge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMHJlbTtcbiAgaGVpZ2h0OiA0LjRyZW07XG4gIHdpZHRoOiA0LjRyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubW9kYWxfX2Nsb3NlLWJ1dHRvbiAuaWNvbiB7XG4gIHdpZHRoOiAxLjdyZW07XG4gIGhlaWdodDogMS43cmVtO1xufVxuXG4ubW9kYWxfX2NvbnRlbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZDogcmdiKHZhcigtLWNvbG9yLWJhY2tncm91bmQpKTtcbiAgei1pbmRleDogNDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5tZWRpYS1tb2RhbCB7XG4gIGN1cnNvcjogem9vbS1vdXQ7XG59XG5cbi5tZWRpYS1tb2RhbCAuZGVmZXJyZWQtbWVkaWEge1xuICBjdXJzb3I6IGluaXRpYWw7XG59XG5cbi8qIGNvbXBvbmVudC1jYXJ0LWNvdW50LWJ1YmJsZSAqL1xuLmNhcnQtY291bnQtYnViYmxlOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNhcnQtY291bnQtYnViYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tY29sb3ItYnV0dG9uKSk7XG4gIGNvbG9yOiByZ2IodmFyKC0tY29sb3ItYnV0dG9uLXRleHQpKTtcbiAgaGVpZ2h0OiAxLjdyZW07XG4gIHdpZHRoOiAxLjdyZW07XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgYm90dG9tOiAwLjhyZW07XG4gIGxlZnQ6IDIuMnJlbTtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoMSArIDAuMSAvIHZhcigtLWZvbnQtYm9keS1zY2FsZSkpO1xufVxuXG4vKiB1dGlsaXR5LWJhciAqL1xuLnV0aWxpdHktYmFyIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4udXRpbGl0eS1iYXItLWJvdHRvbS1ib3JkZXIge1xuICBib3JkZXItYm90dG9tOiAwLjFyZW0gc29saWQgcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC4wOCk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MHB4KSB7XG4gIC51dGlsaXR5LWJhci0tYm90dG9tLWJvcmRlci1zb2NpYWwtb25seSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMC4xcmVtIHNvbGlkIHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuMDgpO1xuICB9XG59XG5cbi51dGlsaXR5LWJhcl9fZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICBncmlkLXRlbXBsYXRlLWFyZWFzOiAnYW5ub3VuY2VtZW50cyc7XG59XG5cbi51dGlsaXR5LWJhcl9fZ3JpZCAubGlzdC1zb2NpYWwge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IC0xLjJyZW07XG4gIGdyaWQtYXJlYTogc29jaWFsLWljb25zO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5ODlweCkge1xuICAudXRpbGl0eS1iYXIgLnV0aWxpdHktYmFyX19ncmlkIC5saXN0LXNvY2lhbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udXRpbGl0eS1iYXIgLmxpc3Qtc29jaWFsX19pdGVtIC5pY29uIHtcbiAgc2NhbGU6IDAuOTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkwcHgpIHtcbiAgLnV0aWxpdHktYmFyX19ncmlkLS0zLWNvbCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzZnIgNGZyIDNmcjtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiAnc29jaWFsLWljb25zIGFubm91bmNlbWVudHMgbGFuZ3VhZ2UtY3VycmVuY3knO1xuICB9XG5cbiAgLnV0aWxpdHktYmFyX19ncmlkLS0yLWNvbCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6ICdzb2NpYWwtaWNvbnMgbGFuZ3VhZ2UtY3VycmVuY3knO1xuICB9XG5cbiAgLmFubm91bmNlbWVudC1iYXIuYW5ub3VuY2VtZW50LWJhci0tb25lLWFubm91bmNlbWVudCxcbiAgLmFubm91bmNlbWVudC1iYXItLW9uZS1hbm5vdW5jZW1lbnQgLmFubm91bmNlbWVudC1iYXJfX2xpbmsge1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbn1cblxuLmFubm91bmNlbWVudC1iYXIsXG4uYW5ub3VuY2VtZW50LWJhcl9fYW5ub3VuY2VtZW50IHtcbiAgY29sb3I6IHJnYih2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ3JpZC1hcmVhOiBhbm5vdW5jZW1lbnRzO1xufVxuXG4uYW5ub3VuY2VtZW50LWJhciAuc2xpZGVyLS1ldmVyeXdoZXJlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBhdXRvO1xufVxuXG4udXRpbGl0eS1iYXJfX2dyaWQgLmFubm91bmNlbWVudC1iYXItc2xpZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi51dGlsaXR5LWJhcl9fZ3JpZCAuYW5ub3VuY2VtZW50LWJhci1zbGlkZXIge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFubm91bmNlbWVudC1iYXItc2xpZGVyLFxuLmFubm91bmNlbWVudC1iYXItc2xpZGVyIC5zbGlkZXIge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFubm91bmNlbWVudC1iYXIgLnNsaWRlci1idXR0b24tLW5leHQge1xuICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW07XG4gIG1pbi13aWR0aDogNDRweDtcbn1cblxuLmFubm91bmNlbWVudC1iYXIgLnNsaWRlci1idXR0b24tLXByZXYge1xuICBtYXJnaW4tbGVmdDogLTEuNXJlbTtcbiAgbWluLXdpZHRoOiA0NHB4O1xufVxuXG4uYW5ub3VuY2VtZW50LWJhciAuc2xpZGVyLWJ1dHRvbi0tbmV4dDpmb2N1cy12aXNpYmxlLFxuLmFubm91bmNlbWVudC1iYXIgLnNsaWRlci1idXR0b24tLXByZXY6Zm9jdXMtdmlzaWJsZSxcbi51dGlsaXR5LWJhciAubGlzdC1zb2NpYWxfX2xpbms6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMC4zcmVtO1xuICBib3gtc2hhZG93OiAwIDAgMCAtMC4ycmVtIHJnYih2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSk7XG59XG5cbi5sb2NhbGl6YXRpb24td3JhcHBlciB7XG4gIGdyaWQtYXJlYTogbGFuZ3VhZ2UtY3VycmVuY3k7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmxvY2FsaXphdGlvbi13cmFwcGVyIC5sb2NhbGl6YXRpb24tc2VsZWN0b3IgKyAuZGlzY2xvc3VyZV9fbGlzdC13cmFwcGVyIHtcbiAgYW5pbWF0aW9uOiBhbmltYXRlTWVudU9wZW4gdmFyKC0tZHVyYXRpb24tZGVmYXVsdCkgZWFzZTtcbn1cblxuLnV0aWxpdHktYmFyIC5sb2NhbGl6YXRpb24td3JhcHBlciAuZGlzY2xvc3VyZSAubG9jYWxpemF0aW9uLWZvcm1fX3NlbGVjdCxcbi51dGlsaXR5LWJhciAubG9jYWxpemF0aW9uLXdyYXBwZXIgLmRpc2Nsb3N1cmVfX2xpbmsge1xuICBmb250LXNpemU6IGNhbGModmFyKC0tZm9udC1oZWFkaW5nLXNjYWxlKSAqIDEuM3JlbSk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MHB4KSB7XG4gIGJvZHk6aGFzKC5zZWN0aW9uLWhlYWRlciAuaGVhZGVyOm5vdCguZHJhd2VyLW1lbnUpKSAudXRpbGl0eS1iYXIgLnBhZ2Utd2lkdGgge1xuICAgIHBhZGRpbmctbGVmdDogNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cmVtO1xuICB9XG5cbiAgLmFubm91bmNlbWVudC1iYXItc2xpZGVyIHtcbiAgICB3aWR0aDogNjAlO1xuICB9XG5cbiAgLmFubm91bmNlbWVudC1iYXIgLnNsaWRlci1idXR0b24ge1xuICAgIGhlaWdodDogMy44cmVtO1xuICB9XG59XG5cbi5hbm5vdW5jZW1lbnQtYmFyX19saW5rIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmFubm91bmNlbWVudC1iYXJfX2xpbms6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmFubm91bmNlbWVudC1iYXJfX2xpbmsgLmljb24tYXJyb3cge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBtYXJnaW4tbGVmdDogMC44cmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tYm90dG9tOiAwLjJyZW07XG59XG5cbi5hbm5vdW5jZW1lbnQtYmFyX19tZXNzYWdlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAxcmVtIDA7XG4gIG1hcmdpbjogMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMXJlbTtcbiAgbWluLWhlaWdodDogMy44cmVtO1xufVxuXG4uYW5ub3VuY2VtZW50LWJhci1zbGlkZXItLWZhZGUtaW4tbmV4dCAuYW5ub3VuY2VtZW50LWJhcl9fbWVzc2FnZSxcbi5hbm5vdW5jZW1lbnQtYmFyLXNsaWRlci0tZmFkZS1pbi1wcmV2aW91cyAuYW5ub3VuY2VtZW50LWJhcl9fbWVzc2FnZSxcbi5hbm5vdW5jZW1lbnQtYmFyLXNsaWRlci0tZmFkZS1vdXQtbmV4dCAuYW5ub3VuY2VtZW50LWJhcl9fbWVzc2FnZSxcbi5hbm5vdW5jZW1lbnQtYmFyLXNsaWRlci0tZmFkZS1vdXQtcHJldmlvdXMgLmFubm91bmNlbWVudC1iYXJfX21lc3NhZ2Uge1xuICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWR1cmF0aW9uLWFubm91bmNlbWVudC1iYXIpO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG59XG5cbi5hbm5vdW5jZW1lbnQtYmFyLXNsaWRlci0tZmFkZS1pbi1uZXh0IC5hbm5vdW5jZW1lbnQtYmFyX19tZXNzYWdlIHtcbiAgLS1hbm5vdW5jZW1lbnQtdHJhbnNsYXRlLWZyb206IC0xLjVyZW07XG4gIC8qIFByZXZlbnQgZmxpY2tlciAqL1xuICBvcGFjaXR5OiAwO1xuICBhbmltYXRpb24tbmFtZTogdHJhbnNsYXRlQW5ub3VuY2VtZW50U2xpZGVJbjtcbiAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1kdXJhdGlvbi1hbm5vdW5jZW1lbnQtYmFyKTtcbn1cblxuLmFubm91bmNlbWVudC1iYXItc2xpZGVyLS1mYWRlLWluLXByZXZpb3VzIC5hbm5vdW5jZW1lbnQtYmFyX19tZXNzYWdlIHtcbiAgLS1hbm5vdW5jZW1lbnQtdHJhbnNsYXRlLWZyb206IDEuNXJlbTtcbiAgLyogUHJldmVudCBmbGlja2VyICovXG4gIG9wYWNpdHk6IDA7XG4gIGFuaW1hdGlvbi1uYW1lOiB0cmFuc2xhdGVBbm5vdW5jZW1lbnRTbGlkZUluO1xuICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWR1cmF0aW9uLWFubm91bmNlbWVudC1iYXIpO1xufVxuXG4uYW5ub3VuY2VtZW50LWJhci1zbGlkZXItLWZhZGUtb3V0LW5leHQgLmFubm91bmNlbWVudC1iYXJfX21lc3NhZ2Uge1xuICAtLWFubm91bmNlbWVudC10cmFuc2xhdGUtdG86IDEuNXJlbTtcbiAgYW5pbWF0aW9uLW5hbWU6IHRyYW5zbGF0ZUFubm91bmNlbWVudFNsaWRlT3V0O1xufVxuXG4uYW5ub3VuY2VtZW50LWJhci1zbGlkZXItLWZhZGUtb3V0LXByZXZpb3VzIC5hbm5vdW5jZW1lbnQtYmFyX19tZXNzYWdlIHtcbiAgLS1hbm5vdW5jZW1lbnQtdHJhbnNsYXRlLXRvOiAtMS41cmVtO1xuICBhbmltYXRpb24tbmFtZTogdHJhbnNsYXRlQW5ub3VuY2VtZW50U2xpZGVPdXQ7XG59XG5cbkBrZXlmcmFtZXMgdHJhbnNsYXRlQW5ub3VuY2VtZW50U2xpZGVJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCh2YXIoLS1hbm5vdW5jZW1lbnQtdHJhbnNsYXRlLWZyb20pKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHRyYW5zbGF0ZUFubm91bmNlbWVudFNsaWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLWFubm91bmNlbWVudC10cmFuc2xhdGUtdG8pKTtcbiAgfVxufVxuXG4vKiBzZWN0aW9uLWhlYWRlciAqL1xuLnNlY3Rpb24taGVhZGVyLnNob3BpZnktc2VjdGlvbi1ncm91cC1oZWFkZXItZ3JvdXAge1xuICB6LWluZGV4OiAzO1xufVxuXG4uc2hvcGlmeS1zZWN0aW9uLWhlYWRlci1zdGlja3kge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG59XG5cbi5zaG9waWZ5LXNlY3Rpb24taGVhZGVyLWhpZGRlbiB7XG4gIHRvcDogY2FsYygtMSAqIHZhcigtLWhlYWRlci1oZWlnaHQpKTtcbn1cblxuLnNob3BpZnktc2VjdGlvbi1oZWFkZXItaGlkZGVuLm1lbnUtb3BlbiB7XG4gIHRvcDogMDtcbn1cblxuLnNlY3Rpb24taGVhZGVyLmFuaW1hdGUge1xuICB0cmFuc2l0aW9uOiB0b3AgMC4xNXMgZWFzZS1vdXQ7XG59XG5cbi5zaG9waWZ5LXNlY3Rpb24tZ3JvdXAtaGVhZGVyLWdyb3VwIHtcbiAgei1pbmRleDogNDtcbn1cblxuLnNlY3Rpb24taGVhZGVyIH4gLnNob3BpZnktc2VjdGlvbi1ncm91cC1oZWFkZXItZ3JvdXAge1xuICB6LWluZGV4OiBpbml0aWFsO1xufVxuXG4vKiBNYWluIEhlYWRlciBMYXlvdXQgKi9cbi5oZWFkZXItd3JhcHBlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYih2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKSk7XG59XG5cbi5oZWFkZXItd3JhcHBlci0tYm9yZGVyLWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b206IDAuMXJlbSBzb2xpZCByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCAwLjA4KTtcbn1cblxuLmhlYWRlciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6ICdsZWZ0LWljb25zIGhlYWRpbmcgaWNvbnMnO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAyZnIgMWZyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NDlweCkge1xuICAuaGVhZGVyLS1oYXMtYXBwIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyIGF1dG87XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkwcHgpIHtcbiAgLmhlYWRlciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0byAxZnI7XG4gIH1cblxuICAuaGVhZGVyLS10b3AtbGVmdCxcbiAgLmhlYWRlci0tbWlkZGxlLWxlZnQ6bm90KC5oZWFkZXItLWhhcy1tZW51KSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgICdoZWFkaW5nIGljb25zJ1xuICAgICAgJ25hdmlnYXRpb24gbmF2aWdhdGlvbic7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgfVxuXG4gIC5oZWFkZXItLXRvcC1sZWZ0LmRyYXdlci1tZW51LFxuICAuaGVhZGVyLS1taWRkbGUtbGVmdC5kcmF3ZXItbWVudSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogJ25hdmlnYXRpb24gaGVhZGluZyBpY29ucyc7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmciBhdXRvO1xuICAgIGNvbHVtbi1nYXA6IDFyZW07XG4gIH1cblxuICAuaGVhZGVyLS1taWRkbGUtbGVmdCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogJ2hlYWRpbmcgbmF2aWdhdGlvbiBpY29ucyc7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG8gMWZyO1xuICAgIGNvbHVtbi1nYXA6IDJyZW07XG4gIH1cblxuICAuaGVhZGVyLS1taWRkbGUtY2VudGVyOm5vdCguZHJhd2VyLW1lbnUpIHtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiAnbmF2aWdhdGlvbiBoZWFkaW5nIGljb25zJztcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvIDFmcjtcbiAgICBjb2x1bW4tZ2FwOiAycmVtO1xuICB9XG5cbiAgLmhlYWRlci0tbWlkZGxlLWNlbnRlciBhLmhlYWRlcl9faGVhZGluZy1saW5rIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuaGVhZGVyLS10b3AtY2VudGVyIHtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgJ2xlZnQtaWNvbnMgaGVhZGluZyBpY29ucydcbiAgICAgICduYXZpZ2F0aW9uIG5hdmlnYXRpb24gbmF2aWdhdGlvbic7XG4gIH1cblxuICAuaGVhZGVyLS10b3AtY2VudGVyLmRyYXdlci1tZW51IHtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiAnbGVmdC1pY29ucyBoZWFkaW5nIGljb25zJztcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvIDFmcjtcbiAgfVxuXG4gIC5oZWFkZXI6bm90KC5oZWFkZXItLW1pZGRsZS1sZWZ0LCAuaGVhZGVyLS1taWRkbGUtY2VudGVyKSAuaGVhZGVyX19pbmxpbmUtbWVudSB7XG4gICAgbWFyZ2luLXRvcDogMS4wNXJlbTtcbiAgfVxufVxuXG4uaGVhZGVyICpbdGFiaW5kZXg9Jy0xJ106Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uaGVhZGVyX19oZWFkaW5nIHtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogMDtcbn1cblxuLmhlYWRlciA+IC5oZWFkZXJfX2hlYWRpbmctbGluayB7XG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG4uaGVhZGVyX19oZWFkaW5nLFxuLmhlYWRlcl9faGVhZGluZy1saW5rIHtcbiAgZ3JpZC1hcmVhOiBoZWFkaW5nO1xuICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbn1cblxuLmhlYWRlcl9faGVhZGluZy1saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi5oZWFkZXJfX2hlYWRpbmctbGluazpob3ZlciAuaDIge1xuICBjb2xvcjogcmdiKHZhcigtLWNvbG9yLWZvcmVncm91bmQpKTtcbn1cblxuLmhlYWRlcl9faGVhZGluZy1saW5rIC5oMiB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC43NSk7XG59XG5cbi5oZWFkZXJfX2hlYWRpbmctbG9nbyB7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uaGVhZGVyX19oZWFkaW5nLWxvZ28td3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuM3MgY3ViaWMtYmV6aWVyKDAuNTIsIDAsIDAuNjEsIDAuOTkpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5ODlweCkge1xuICAuaGVhZGVyX19oZWFkaW5nLFxuICAuaGVhZGVyX19oZWFkaW5nLWxpbmsge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5oZWFkZXItLW1vYmlsZS1sZWZ0IC5oZWFkZXJfX2hlYWRpbmcsXG4gIC5oZWFkZXItLW1vYmlsZS1sZWZ0IC5oZWFkZXJfX2hlYWRpbmctbGluayB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICB9XG5cbiAgLmhlYWRlci0tbW9iaWxlLWxlZnQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAyZnIgMWZyO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MHB4KSB7XG4gIC5oZWFkZXItLW1pZGRsZS1sZWZ0IC5oZWFkZXJfX2hlYWRpbmctbGluayxcbiAgLmhlYWRlci0tdG9wLWxlZnQgLmhlYWRlcl9faGVhZGluZy1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuNzVyZW07XG4gIH1cblxuICAuaGVhZGVyX19oZWFkaW5nLFxuICAuaGVhZGVyX19oZWFkaW5nLWxpbmsge1xuICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gIH1cblxuICAuaGVhZGVyLS1taWRkbGUtY2VudGVyIC5oZWFkZXJfX2hlYWRpbmctbGluayxcbiAgLmhlYWRlci0tbWlkZGxlLWNlbnRlciAuaGVhZGVyX19oZWFkaW5nIHtcbiAgICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuaGVhZGVyLS10b3AtY2VudGVyIC5oZWFkZXJfX2hlYWRpbmctbGluayxcbiAgLmhlYWRlci0tdG9wLWNlbnRlciAuaGVhZGVyX19oZWFkaW5nIHtcbiAgICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLyogSGVhZGVyIGljb25zICovXG4uaGVhZGVyX19pY29ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdyaWQtYXJlYTogaWNvbnM7XG4gIGp1c3RpZnktc2VsZjogZW5kO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjhyZW07XG59XG5cbi5oZWFkZXJfX2ljb25zIC5zaG9waWZ5LWFwcC1ibG9jayB7XG4gIG1heC13aWR0aDogNC40cmVtO1xuICBtYXgtaGVpZ2h0OiA0LjRyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5oZWFkZXJfX2ljb246bm90KC5oZWFkZXJfX2ljb24tLXN1bW1hcnkpLFxuLmhlYWRlcl9faWNvbiBzcGFuIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5oZWFkZXJfX2ljb24ge1xuICBjb2xvcjogcmdiKHZhcigtLWNvbG9yLWZvcmVncm91bmQpKTtcbn1cblxuLmhlYWRlcl9faWNvbiBzcGFuIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uaGVhZGVyX19pY29uIC5zdmctd3JhcHBlciB7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG59XG5cbi5oZWFkZXJfX2ljb246OmFmdGVyIHtcbiAgY29udGVudDogbm9uZTtcbn1cblxuLmhlYWRlcl9faWNvbjpob3ZlciAuaWNvbixcbi5tb2RhbF9fY2xvc2UtYnV0dG9uOmhvdmVyIC5pY29uIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA3KTtcbn1cblxuLmhlYWRlcl9faWNvbiAuaWNvbiB7XG4gIGhlaWdodDogMnJlbTtcbiAgd2lkdGg6IDJyZW07XG4gIGZpbGw6IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5oZWFkZXJfX2ljb24sXG4uaGVhZGVyX19pY29uLS1jYXJ0IC5pY29uIHtcbiAgaGVpZ2h0OiA0LjRyZW07XG4gIHdpZHRoOiA0LjRyZW07XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5oZWFkZXJfX2ljb24tLWNhcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1yaWdodDogLTEuMnJlbTtcbn1cblxuLmhlYWRlcl9faWNvbi0tbWVudVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogY2FsYyh2YXIoLS12aWV3cG9ydC1oZWlnaHQsIDEwMHZoKSAtICh2YXIoLS1oZWFkZXItYm90dG9tLXBvc2l0aW9uLCAxMDAlKSkpO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC41KTtcbn1cblxuLmhlYWRlcl9faWNvbi0tYWNjb3VudCBzaG9wLXVzZXItYXZhdGFyIHtcbiAgLS1zaG9wLWF2YXRhci1zaXplOiAyLjhyZW07XG59XG5cbmRldGFpbHMgLmhlYWRlcl9faWNvbi1jbG9zZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmRldGFpbHNbb3Blbl0gLmhlYWRlcl9faWNvbi1jbG9zZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuYWNjb3VudC1pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLyogU2VhcmNoICovXG5tZW51LWRyYXdlciArIC5oZWFkZXJfX3NlYXJjaCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5oZWFkZXIgPiAuaGVhZGVyX19zZWFyY2gge1xuICBncmlkLWFyZWE6IGxlZnQtaWNvbnM7XG4gIGp1c3RpZnktc2VsZjogc3RhcnQ7XG59XG5cbi5oZWFkZXItLXRvcC1jZW50ZXIuZHJhd2VyLW1lbnUgPiAuaGVhZGVyX19zZWFyY2gge1xuICBtYXJnaW4tbGVmdDogMy4ycmVtO1xufVxuXG4uaGVhZGVyLS10b3AtY2VudGVyIGhlYWRlci1kcmF3ZXIge1xuICBncmlkLWFyZWE6IGxlZnQtaWNvbnM7XG59XG5cbi5oZWFkZXI6bm90KC5oZWFkZXItLWhhcy1tZW51KSAqID4gLmhlYWRlcl9fc2VhcmNoIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhlYWRlcl9fc2VhcmNoIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG4uaGVhZGVyLS10b3AtY2VudGVyID4gLmhlYWRlcl9fc2VhcmNoIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhlYWRlci0tdG9wLWNlbnRlciAqID4gLmhlYWRlcl9fc2VhcmNoIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MHB4KSB7XG4gIC5oZWFkZXI6bm90KC5oZWFkZXItLXRvcC1jZW50ZXIpICogPiAuaGVhZGVyX19zZWFyY2gsXG4gIC5oZWFkZXItLXRvcC1jZW50ZXIgPiAuaGVhZGVyX19zZWFyY2gge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB9XG5cbiAgLmhlYWRlcjpub3QoLmhlYWRlci0tdG9wLWNlbnRlcikgPiAuaGVhZGVyX19zZWFyY2gsXG4gIC5oZWFkZXItLXRvcC1jZW50ZXIgKiA+IC5oZWFkZXJfX3NlYXJjaCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5kZXRhaWxzW29wZW5dID4gLnNlYXJjaC1tb2RhbCB7XG4gIG9wYWNpdHk6IDE7XG4gIGFuaW1hdGlvbjogYW5pbWF0ZU1lbnVPcGVuIHZhcigtLWR1cmF0aW9uLWRlZmF1bHQpIGVhc2U7XG59XG5cbmRldGFpbHNbb3Blbl0gLm1vZGFsLW92ZXJsYXkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuZGV0YWlsc1tvcGVuXSAubW9kYWwtb3ZlcmxheTo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuNSk7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMTAwdmg7XG59XG5cbi5zZWFyY2gtbW9kYWwge1xuICBvcGFjaXR5OiAwO1xuICBib3JkZXItYm90dG9tOiAwLjFyZW0gc29saWQgcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC4wOCk7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSArIHZhcigtLWlucHV0cy1tYXJnaW4tb2Zmc2V0KSArICgyICogdmFyKC0taW5wdXRzLWJvcmRlci13aWR0aCkpKTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uc2VhcmNoLW1vZGFsX19jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDAgNXJlbSAwIDFyZW07XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDEgKyAwLjggLyB2YXIoLS1mb250LWJvZHktc2NhbGUpKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc2VhcmNoLW1vZGFsX19jb250ZW50LWJvdHRvbSB7XG4gIGJvdHRvbTogY2FsYygodmFyKC0taW5wdXRzLW1hcmdpbi1vZmZzZXQpIC8gMikpO1xufVxuXG4uc2VhcmNoLW1vZGFsX19jb250ZW50LXRvcCB7XG4gIHRvcDogY2FsYygodmFyKC0taW5wdXRzLW1hcmdpbi1vZmZzZXQpIC8gMikpO1xufVxuXG4uc2VhcmNoLW1vZGFsX19mb3JtIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zZWFyY2gtbW9kYWxfX2Nsb3NlLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDAuM3JlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLnNlYXJjaC1tb2RhbF9fY2xvc2UtYnV0dG9uIHtcbiAgICByaWdodDogMXJlbTtcbiAgfVxuXG4gIC5zZWFyY2gtbW9kYWxfX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAgNnJlbTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTBweCkge1xuICAuc2VhcmNoLW1vZGFsX19mb3JtIHtcbiAgICBtYXgtd2lkdGg6IDc0LjJyZW07XG4gIH1cblxuICAuc2VhcmNoLW1vZGFsX19jbG9zZS1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIH1cbn1cblxuLyogSGVhZGVyIG1lbnUgZHJhd2VyICovXG4uaGVhZGVyX19pY29uLS1tZW51IC5pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MG1zIGVhc2UsIG9wYWNpdHkgMTUwbXMgZWFzZTtcbn1cblxuZGV0YWlsczpub3QoW29wZW5dKSA+IC5oZWFkZXJfX2ljb24tLW1lbnUgLmljb24tY2xvc2UsXG5kZXRhaWxzW29wZW5dID4gLmhlYWRlcl9faWNvbi0tbWVudSAuaWNvbi1oYW1idXJnZXIge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbn1cblxuLmpzIGRldGFpbHNbb3Blbl06bm90KC5tZW51LW9wZW5pbmcpID4gLmhlYWRlcl9faWNvbi0tbWVudSAuaWNvbi1jbG9zZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmpzIGRldGFpbHNbb3Blbl06bm90KC5tZW51LW9wZW5pbmcpID4gLmhlYWRlcl9faWNvbi0tbWVudSAuaWNvbi1oYW1idXJnZXIge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDcpO1xufVxuXG4uanMgZGV0YWlscyA+IC5oZWFkZXJfX3N1Ym1lbnUge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEuNXJlbSk7XG59XG5cbmRldGFpbHNbb3Blbl0gPiAuaGVhZGVyX19zdWJtZW51IHtcbiAgYW5pbWF0aW9uOiBhbmltYXRlTWVudU9wZW4gdmFyKC0tZHVyYXRpb24tZGVmYXVsdCkgZWFzZTtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gIHotaW5kZXg6IDE7XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbikge1xuICBkZXRhaWxzW29wZW5dID4gLmhlYWRlcl9fc3VibWVudSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLyogSGVhZGVyIG1lbnUgKi9cbi5oZWFkZXJfX2lubGluZS1tZW51IHtcbiAgbWFyZ2luLWxlZnQ6IC0xLjJyZW07XG4gIGdyaWQtYXJlYTogbmF2aWdhdGlvbjtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhlYWRlci0tdG9wLWNlbnRlciAuaGVhZGVyX19pbmxpbmUtbWVudSxcbi5oZWFkZXItLXRvcC1jZW50ZXIgLmhlYWRlcl9faGVhZGluZy1saW5rIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MHB4KSB7XG4gIC5oZWFkZXJfX2lubGluZS1tZW51IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5oZWFkZXItLXRvcC1jZW50ZXIgLmhlYWRlcl9faW5saW5lLW1lbnUge1xuICAgIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICB9XG5cbiAgLmhlYWRlci0tdG9wLWNlbnRlciAuaGVhZGVyX19pbmxpbmUtbWVudSA+IC5saXN0LW1lbnUtLWlubGluZSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAuaGVhZGVyLS1taWRkbGUtbGVmdCAuaGVhZGVyX19pbmxpbmUtbWVudSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmhlYWRlcl9fbWVudSB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbn1cblxuLmhlYWRlcl9fbWVudS1pdGVtIHtcbiAgcGFkZGluZzogMS4ycmVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCAwLjc1KTtcbn1cblxuLmhlYWRlcl9fbWVudS1pdGVtOmhvdmVyIHtcbiAgY29sb3I6IHJnYih2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSk7XG59XG5cbi5oZWFkZXJfX21lbnUtaXRlbSBzcGFuIHtcbiAgdHJhbnNpdGlvbjogdGV4dC1kZWNvcmF0aW9uIHZhcigtLWR1cmF0aW9uLXNob3J0KSBlYXNlO1xufVxuXG4uaGVhZGVyX19tZW51LWl0ZW06aG92ZXIgc3BhbiB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuM3JlbTtcbn1cblxuZGV0YWlsc1tvcGVuXSA+IC5oZWFkZXJfX21lbnUtaXRlbSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5kZXRhaWxzW29wZW5dOmhvdmVyID4gLmhlYWRlcl9fbWVudS1pdGVtIHtcbiAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMC4ycmVtO1xufVxuXG5kZXRhaWxzW29wZW5dID4gLmhlYWRlcl9fbWVudS1pdGVtIC5pY29uLWNhcmV0IHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuLmhlYWRlcl9fYWN0aXZlLW1lbnUtaXRlbSB7XG4gIHRyYW5zaXRpb246IHRleHQtZGVjb3JhdGlvbi10aGlja25lc3MgdmFyKC0tZHVyYXRpb24tc2hvcnQpIGVhc2U7XG4gIGNvbG9yOiByZ2IodmFyKC0tY29sb3ItZm9yZWdyb3VuZCkpO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjNyZW07XG59XG5cbi5oZWFkZXJfX21lbnUtaXRlbTpob3ZlciAuaGVhZGVyX19hY3RpdmUtbWVudS1pdGVtIHtcbiAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMC4ycmVtO1xufVxuXG4uaGVhZGVyX19zdWJtZW51IHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1kdXJhdGlvbi1kZWZhdWx0KSBlYXNlLCB0cmFuc2Zvcm0gdmFyKC0tZHVyYXRpb24tZGVmYXVsdCkgZWFzZTtcbn1cblxuLmdsb2JhbC1zZXR0aW5ncy1wb3B1cCxcbi5oZWFkZXJfX3N1Ym1lbnUuZ2xvYmFsLXNldHRpbmdzLXBvcHVwIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcG9wdXAtY29ybmVyLXJhZGl1cyk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgdmFyKC0tcG9wdXAtYm9yZGVyLW9wYWNpdHkpKTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiB2YXIoLS1wb3B1cC1ib3JkZXItd2lkdGgpO1xuICBib3gtc2hhZG93OiB2YXIoLS1wb3B1cC1zaGFkb3ctaG9yaXpvbnRhbC1vZmZzZXQpIHZhcigtLXBvcHVwLXNoYWRvdy12ZXJ0aWNhbC1vZmZzZXQpIHZhcigtLXBvcHVwLXNoYWRvdy1ibHVyLXJhZGl1cylcbiAgICByZ2JhKHZhcigtLWNvbG9yLXNoYWRvdyksIHZhcigtLXBvcHVwLXNoYWRvdy1vcGFjaXR5KSk7XG4gIHotaW5kZXg6IC0xO1xufVxuXG4uaGVhZGVyX19zdWJtZW51Lmxpc3QtbWVudSB7XG4gIHBhZGRpbmc6IDFyZW0gMDtcbn1cblxuLmhlYWRlcl9fc3VibWVudSAuaGVhZGVyX19zdWJtZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC4wMyk7XG4gIHBhZGRpbmc6IDFyZW0gMDtcbiAgbWFyZ2luOiAxcmVtIDA7XG59XG5cbi5oZWFkZXJfX3N1Ym1lbnUgLmhlYWRlcl9fbWVudS1pdGVtOmFmdGVyIHtcbiAgcmlnaHQ6IDJyZW07XG59XG5cbi5oZWFkZXJfX3N1Ym1lbnUgLmhlYWRlcl9fbWVudS1pdGVtIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwLjhyZW0gMnJlbTtcbn1cblxuLmhlYWRlcl9fc3VibWVudSAuaGVhZGVyX19tZW51LWl0ZW06aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xufVxuXG4uaGVhZGVyX19tZW51LWl0ZW0gLmljb24tY2FyZXQge1xuICByaWdodDogMC44cmVtO1xufVxuXG4uaGVhZGVyX19zdWJtZW51IC5pY29uLWNhcmV0IHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICBwb3NpdGlvbjogc3RhdGljO1xufVxuXG5oZWFkZXItbWVudSA+IGRldGFpbHMsXG5kZXRhaWxzLWRpc2Nsb3N1cmUgPiBkZXRhaWxzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGVNZW51T3BlbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMS41cmVtKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi5vdmVyZmxvdy1oaWRkZW4tbW9iaWxlLFxuLm92ZXJmbG93LWhpZGRlbi10YWJsZXQsXG4ub3ZlcmZsb3ctaGlkZGVuLWRlc2t0b3Age1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NTBweCkge1xuICAub3ZlcmZsb3ctaGlkZGVuLW1vYmlsZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkwcHgpIHtcbiAgLm92ZXJmbG93LWhpZGRlbi10YWJsZXQge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG59XG5cbi5iYWRnZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1iYWRnZS1jb3JuZXItcmFkaXVzKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmc6IDAuNXJlbSAxLjNyZW0gMC42cmVtIDEuM3JlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tY29sb3ItYmFkZ2UtYmFja2dyb3VuZCkpO1xuICBib3JkZXItY29sb3I6IHJnYmEodmFyKC0tY29sb3ItYmFkZ2UtYm9yZGVyKSwgdmFyKC0tYWxwaGEtYmFkZ2UtYm9yZGVyKSk7XG4gIGNvbG9yOiByZ2IodmFyKC0tY29sb3ItYmFkZ2UtZm9yZWdyb3VuZCkpO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4uZ3JhZGllbnQge1xuICBiYWNrZ3JvdW5kOiByZ2IodmFyKC0tY29sb3ItYmFja2dyb3VuZCkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmFkaWVudC1iYWNrZ3JvdW5kKTtcbiAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAuaWNvbiB7XG4gICAgY29sb3I6IENhbnZhc1RleHQ7XG4gICAgZmlsbDogQ2FudmFzVGV4dCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmljb24tY2xvc2Utc21hbGwgcGF0aCB7XG4gICAgc3Ryb2tlOiBDYW52YXNUZXh0O1xuICB9XG59XG5cbi5yYXRpbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG5cbi5yYXRpbzo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1yYXRpby1wZXJjZW50KTtcbn1cblxuLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tdGV4dC1ib3hlcy1yYWRpdXMpO1xuICBib3JkZXI6IHZhcigtLXRleHQtYm94ZXMtYm9yZGVyLXdpZHRoKSBzb2xpZCByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCB2YXIoLS10ZXh0LWJveGVzLWJvcmRlci1vcGFjaXR5KSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNvbnRlbnQtY29udGFpbmVyOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKHZhcigtLXRleHQtYm94ZXMtYm9yZGVyLXdpZHRoKSAqIC0xKTtcbiAgcmlnaHQ6IGNhbGModmFyKC0tdGV4dC1ib3hlcy1ib3JkZXItd2lkdGgpICogLTEpO1xuICBib3R0b206IGNhbGModmFyKC0tdGV4dC1ib3hlcy1ib3JkZXItd2lkdGgpICogLTEpO1xuICBsZWZ0OiBjYWxjKHZhcigtLXRleHQtYm94ZXMtYm9yZGVyLXdpZHRoKSAqIC0xKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tdGV4dC1ib3hlcy1yYWRpdXMpO1xuICBib3gtc2hhZG93OiB2YXIoLS10ZXh0LWJveGVzLXNoYWRvdy1ob3Jpem9udGFsLW9mZnNldCkgdmFyKC0tdGV4dC1ib3hlcy1zaGFkb3ctdmVydGljYWwtb2Zmc2V0KVxuICAgIHZhcigtLXRleHQtYm94ZXMtc2hhZG93LWJsdXItcmFkaXVzKSByZ2JhKHZhcigtLWNvbG9yLXNoYWRvdyksIHZhcigtLXRleHQtYm94ZXMtc2hhZG93LW9wYWNpdHkpKTtcbiAgei1pbmRleDogLTE7XG59XG5cbi5jb250ZW50LWNvbnRhaW5lci0tZnVsbC13aWR0aDphZnRlciB7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NDlweCkge1xuICAuY29udGVudC1jb250YWluZXItLWZ1bGwtd2lkdGgtbW9iaWxlIHtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICAuY29udGVudC1jb250YWluZXItLWZ1bGwtd2lkdGgtbW9iaWxlOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5nbG9iYWwtbWVkaWEtc2V0dGluZ3Mge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogdmFyKC0tbWVkaWEtYm9yZGVyLXdpZHRoKSBzb2xpZCByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCB2YXIoLS1tZWRpYS1ib3JkZXItb3BhY2l0eSkpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1tZWRpYS1yYWRpdXMpO1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tY29sb3ItYmFja2dyb3VuZCkpO1xufVxuXG4uZ2xvYmFsLW1lZGlhLXNldHRpbmdzOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKHZhcigtLW1lZGlhLWJvcmRlci13aWR0aCkgKiAtMSk7XG4gIHJpZ2h0OiBjYWxjKHZhcigtLW1lZGlhLWJvcmRlci13aWR0aCkgKiAtMSk7XG4gIGJvdHRvbTogY2FsYyh2YXIoLS1tZWRpYS1ib3JkZXItd2lkdGgpICogLTEpO1xuICBsZWZ0OiBjYWxjKHZhcigtLW1lZGlhLWJvcmRlci13aWR0aCkgKiAtMSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLW1lZGlhLXJhZGl1cyk7XG4gIGJveC1zaGFkb3c6IHZhcigtLW1lZGlhLXNoYWRvdy1ob3Jpem9udGFsLW9mZnNldCkgdmFyKC0tbWVkaWEtc2hhZG93LXZlcnRpY2FsLW9mZnNldCkgdmFyKC0tbWVkaWEtc2hhZG93LWJsdXItcmFkaXVzKVxuICAgIHJnYmEodmFyKC0tY29sb3Itc2hhZG93KSwgdmFyKC0tbWVkaWEtc2hhZG93LW9wYWNpdHkpKTtcbiAgei1pbmRleDogLTE7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uZ2xvYmFsLW1lZGlhLXNldHRpbmdzLS1uby1zaGFkb3cge1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5nbG9iYWwtbWVkaWEtc2V0dGluZ3MtLW5vLXNoYWRvdzphZnRlciB7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5cbi5nbG9iYWwtbWVkaWEtc2V0dGluZ3MgaW1nLFxuLmdsb2JhbC1tZWRpYS1zZXR0aW5ncyBpZnJhbWUsXG4uZ2xvYmFsLW1lZGlhLXNldHRpbmdzIG1vZGVsLXZpZXdlcixcbi5nbG9iYWwtbWVkaWEtc2V0dGluZ3MgdmlkZW8sXG4uZ2xvYmFsLW1lZGlhLXNldHRpbmdzIC5wbGFjZWhvbGRlci1zdmcge1xuICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLW1lZGlhLXJhZGl1cykgLSB2YXIoLS1tZWRpYS1ib3JkZXItd2lkdGgpKTtcbn1cblxuLmNvbnRlbnQtY29udGFpbmVyLS1mdWxsLXdpZHRoLFxuLmdsb2JhbC1tZWRpYS1zZXR0aW5ncy0tZnVsbC13aWR0aCxcbi5nbG9iYWwtbWVkaWEtc2V0dGluZ3MtLWZ1bGwtd2lkdGggaW1nLFxuLmdsb2JhbC1tZWRpYS1zZXR0aW5ncy0tZnVsbC13aWR0aCB2aWRlbyxcbi5nbG9iYWwtbWVkaWEtc2V0dGluZ3MtLWZ1bGwtd2lkdGggaWZyYW1lLFxuLmdsb2JhbC1tZWRpYS1zZXR0aW5ncy0tZnVsbC13aWR0aCAucGxhY2Vob2xkZXItc3ZnIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxuLyogY2hlY2sgZm9yIGZsZXhib3ggZ2FwIGluIG9sZGVyIFNhZmFyaSB2ZXJzaW9ucyAqL1xuQHN1cHBvcnRzIG5vdCAoaW5zZXQ6IDEwcHgpIHtcbiAgLmdyaWQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tZ3JpZC1tb2JpbGUtaG9yaXpvbnRhbC1zcGFjaW5nKSk7XG4gIH1cblxuICAuZ3JpZF9faXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1ncmlkLW1vYmlsZS1ob3Jpem9udGFsLXNwYWNpbmcpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1ncmlkLW1vYmlsZS12ZXJ0aWNhbC1zcGFjaW5nKTtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gICAgLmdyaWQge1xuICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1ncmlkLWRlc2t0b3AtaG9yaXpvbnRhbC1zcGFjaW5nKSk7XG4gICAgfVxuXG4gICAgLmdyaWRfX2l0ZW0ge1xuICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1ncmlkLWRlc2t0b3AtaG9yaXpvbnRhbC1zcGFjaW5nKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1ncmlkLWRlc2t0b3AtdmVydGljYWwtc3BhY2luZyk7XG4gICAgfVxuICB9XG5cbiAgLmdyaWQtLWdhcGxlc3MgLmdyaWRfX2l0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc0OXB4KSB7XG4gICAgLmdyaWQtLXBlZWsgLmdyaWRfX2l0ZW0ge1xuICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1ncmlkLW1vYmlsZS1ob3Jpem9udGFsLXNwYWNpbmcpO1xuICAgIH1cbiAgfVxuXG4gIC5wcm9kdWN0LWdyaWQgLmdyaWRfX2l0ZW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1ncmlkLW1vYmlsZS12ZXJ0aWNhbC1zcGFjaW5nKTtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gICAgLnByb2R1Y3QtZ3JpZCAuZ3JpZF9faXRlbSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ3JpZC1kZXNrdG9wLXZlcnRpY2FsLXNwYWNpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4uZm9udC1ib2R5LWJvbGQge1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC1ib2R5LXdlaWdodC1ib2xkKTtcbn1cblxuLyogb3V0bGluZSBhbmQgYm9yZGVyIHN0eWxpbmcgZm9yIFdpbmRvd3MgSGlnaCBDb250cmFzdCBNb2RlICovXG5AbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAuYnV0dG9uLFxuICAuc2hvcGlmeS1jaGFsbGVuZ2VfX2J1dHRvbixcbiAgLmN1c3RvbWVyIGJ1dHRvbiB7XG4gICAgYm9yZGVyOiB0cmFuc3BhcmVudCBzb2xpZCAxcHg7XG4gIH1cblxuICAuYnV0dG9uOmZvY3VzLXZpc2libGUsXG4gIC5idXR0b246Zm9jdXMsXG4gIC5idXR0b24uZm9jdXNlZCxcbiAgLnNob3BpZnktcGF5bWVudC1idXR0b25fX2J1dHRvbi0tdW5icmFuZGVkOmZvY3VzLXZpc2libGUsXG4gIC5zaG9waWZ5LXBheW1lbnQtYnV0dG9uIFtyb2xlPSdidXR0b24nXTpmb2N1cy12aXNpYmxlLFxuICAuc2hvcGlmeS1wYXltZW50LWJ1dHRvbl9fYnV0dG9uLS11bmJyYW5kZWQ6Zm9jdXMsXG4gIC5zaG9waWZ5LXBheW1lbnQtYnV0dG9uIFtyb2xlPSdidXR0b24nXTpmb2N1cyB7XG4gICAgb3V0bGluZTogc29saWQgdHJhbnNwYXJlbnQgMXB4O1xuICB9XG5cbiAgLmZpZWxkX19pbnB1dDpmb2N1cyxcbiAgLnNlbGVjdF9fc2VsZWN0OmZvY3VzLFxuICAuY3VzdG9tZXIgLmZpZWxkIGlucHV0OmZvY3VzLFxuICAuY3VzdG9tZXIgc2VsZWN0OmZvY3VzLFxuICAubG9jYWxpemF0aW9uLWZvcm1fX3NlbGVjdDpmb2N1cy5sb2NhbGl6YXRpb24tZm9ybV9fc2VsZWN0OmFmdGVyIHtcbiAgICBvdXRsaW5lOiB0cmFuc3BhcmVudCBzb2xpZCAxcHg7XG4gIH1cblxuICAubG9jYWxpemF0aW9uLWZvcm1fX3NlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogdHJhbnNwYXJlbnQgc29saWQgMXB4O1xuICB9XG59XG5cbi5ydGU6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucnRlID4gKjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5ydGUgPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucnRlIHRhYmxlIHtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLnJ0ZSB0YWJsZSB0ZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjJyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS4ycmVtO1xuICB9XG59XG5cbi5ydGUgaW1nIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogdmFyKC0tbWVkaWEtYm9yZGVyLXdpZHRoKSBzb2xpZCByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCB2YXIoLS1tZWRpYS1ib3JkZXItb3BhY2l0eSkpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1tZWRpYS1yYWRpdXMpO1xuICBib3gtc2hhZG93OiB2YXIoLS1tZWRpYS1zaGFkb3ctaG9yaXpvbnRhbC1vZmZzZXQpIHZhcigtLW1lZGlhLXNoYWRvdy12ZXJ0aWNhbC1vZmZzZXQpIHZhcigtLW1lZGlhLXNoYWRvdy1ibHVyLXJhZGl1cylcbiAgICByZ2JhKHZhcigtLWNvbG9yLXNoYWRvdyksIHZhcigtLW1lZGlhLXNoYWRvdy1vcGFjaXR5KSk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLW1lZGlhLXNoYWRvdy12ZXJ0aWNhbC1vZmZzZXQpO1xufVxuXG4ucnRlIHVsLFxuLnJ0ZSBvbCB7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbiAgcGFkZGluZy1sZWZ0OiAycmVtO1xufVxuXG4ucnRlIGxpIHtcbiAgbGlzdC1zdHlsZTogaW5oZXJpdDtcbn1cblxuLnJ0ZSBsaTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnJ0ZSBhIHtcbiAgY29sb3I6IHJnYmEodmFyKC0tY29sb3ItbGluayksIHZhcigtLWFscGhhLWxpbmspKTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjNyZW07XG4gIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDAuMXJlbTtcbiAgdHJhbnNpdGlvbjogdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzcyB2YXIoLS1kdXJhdGlvbi1zaG9ydCkgZWFzZTtcbn1cblxuLnJ0ZSBhOmhvdmVyIHtcbiAgY29sb3I6IHJnYih2YXIoLS1jb2xvci1saW5rKSk7XG4gIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDAuMnJlbTtcbn1cblxuLnJ0ZSBibG9ja3F1b3RlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG59XG5cbi5ydGUgYmxvY2txdW90ZSA+ICoge1xuICBtYXJnaW46IC0wLjVyZW0gMCAtMC41cmVtIDA7XG59XG5cbi8qIEltYWdlIG1hc2sgZ2xvYmFsIHN0eWxlcyAqL1xuXG4uc2hhcGUtLW1hc2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbn1cblxuLnNoYXBlLS1hcmNoIHtcbiAgY2xpcC1wYXRoOiB1cmwoJyNTaGFwZS1BcmNoJyk7XG59XG5cbi5zaGFwZS0tYmxvYiB7XG4gIGNsaXAtcGF0aDogcG9seWdvbih2YXIoLS1zaGFwZS0tYmxvYi0xKSk7XG59XG5cbi5zaGFwZS0tY2hldnJvbmxlZnQge1xuICBjbGlwLXBhdGg6IHBvbHlnb24oMTAwJSAwJSwgODUlIDUwJSwgMTAwJSAxMDAlLCAxNSUgMTAwJSwgMCUgNTAlLCAxNSUgMCUpO1xufVxuXG4uc2hhcGUtLWNoZXZyb25yaWdodCB7XG4gIGNsaXAtcGF0aDogcG9seWdvbig4NSUgMCUsIDEwMCUgNTAlLCA4NSUgMTAwJSwgMCUgMTAwJSwgMTUlIDUwJSwgMCUgMCUpO1xufVxuXG4uc2hhcGUtLWNpcmNsZSB7XG4gIGNsaXAtcGF0aDogY2lyY2xlKGNsb3Nlc3Qtc2lkZSk7XG59XG5cbi5zaGFwZS0tZGlhbW9uZCB7XG4gIGNsaXAtcGF0aDogcG9seWdvbig1MCUgMCUsIDEwMCUgNTAlLCA1MCUgMTAwJSwgMCUgNTAlKTtcbn1cblxuLnNoYXBlLS1wYXJhbGxlbG9ncmFtIHtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDE1JSAwLCAxMDAlIDAlLCA4NSUgMTAwJSwgMCUgMTAwJSk7XG59XG5cbi5zaGFwZS0tcm91bmQge1xuICBjbGlwLXBhdGg6IGVsbGlwc2UoNDUlIDQ1JSBhdCA1MCUgNTAlKTtcbn1cblxuLyogRml4ZWQgYmFja2dyb3VuZCAqL1xuLmFuaW1hdGUtLWZpeGVkIHtcbiAgY2xpcC1wYXRoOiBpbnNldCgwKTtcbn1cblxuLmFuaW1hdGUtLWZpeGVkID4gaW1nOm5vdCguem9vbSk6bm90KC5kZWZlcnJlZC1tZWRpYV9fcG9zdGVyLWJ1dHRvbiksXG4uYW5pbWF0ZS0tZml4ZWQgPiBzdmc6bm90KC56b29tKTpub3QoLmRlZmVycmVkLW1lZGlhX19wb3N0ZXItYnV0dG9uKSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaGVpZ2h0OiAxMDB2aDtcbn1cblxuLyogWm9vbSBpbiBpbWFnZSBvbiBzY3JvbGwgKi9cbi5hbmltYXRlLS16b29tLWluIHtcbiAgLS16b29tLWluLXJhdGlvOiAxO1xufVxuXG4uYW5pbWF0ZS0tem9vbS1pbiA+IGltZyxcbi5hbmltYXRlLS16b29tLWluID4gLnN2Zy13cmFwcGVyIHtcbiAgdHJhbnNpdGlvbjogc2NhbGUgdmFyKC0tZHVyYXRpb24tc2hvcnQpIGxpbmVhcjtcbiAgc2NhbGU6IHZhcigtLXpvb20taW4tcmF0aW8pO1xufVxuXG4vKiBBbmltYXRpb25zICovXG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAuYW5pbWF0ZS0tYW1iaWVudCA+IGltZyxcbiAgLmFuaW1hdGUtLWFtYmllbnQgPiAuc3ZnLXdyYXBwZXIge1xuICAgIGFuaW1hdGlvbjogYW5pbWF0ZUFtYmllbnQgMzBzIGxpbmVhciBpbmZpbml0ZTtcbiAgfVxuXG4gIEBrZXlmcmFtZXMgYW5pbWF0ZUFtYmllbnQge1xuICAgIDAlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHRyYW5zbGF0ZVgoMWVtKSByb3RhdGUoMGRlZykgc2NhbGUoMS4yKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpIHRyYW5zbGF0ZVgoMWVtKSByb3RhdGUoLTM2MGRlZykgc2NhbGUoMS4yKTtcbiAgICB9XG4gIH1cblxuICAuc2Nyb2xsLXRyaWdnZXIuYW5pbWF0ZS0tZmFkZS1pbixcbiAgLnNjcm9sbC10cmlnZ2VyLmFuaW1hdGUtLXNsaWRlLWluIHtcbiAgICBvcGFjaXR5OiAwLjAxO1xuICB9XG5cbiAgLnNjcm9sbC10cmlnZ2VyLmFuaW1hdGUtLXNsaWRlLWluIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnJlbSk7XG4gIH1cblxuICAuc2Nyb2xsLXRyaWdnZXI6bm90KC5zY3JvbGwtdHJpZ2dlci0tb2Zmc2NyZWVuKS5hbmltYXRlLS1mYWRlLWluIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGFuaW1hdGlvbjogdmFyKC0tYW5pbWF0aW9uLWZhZGUtaW4pO1xuICB9XG5cbiAgLnNjcm9sbC10cmlnZ2VyOm5vdCguc2Nyb2xsLXRyaWdnZXItLW9mZnNjcmVlbikuYW5pbWF0ZS0tc2xpZGUtaW4ge1xuICAgIGFuaW1hdGlvbjogdmFyKC0tYW5pbWF0aW9uLXNsaWRlLWluKTtcbiAgICBhbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0aW9uLW9yZGVyKSAqIDc1bXMpO1xuICB9XG5cbiAgLnNjcm9sbC10cmlnZ2VyLnNjcm9sbC10cmlnZ2VyLS1kZXNpZ24tbW9kZS5hbmltYXRlLS1mYWRlLWluLFxuICAuc2Nyb2xsLXRyaWdnZXIuc2Nyb2xsLXRyaWdnZXItLWRlc2lnbi1tb2RlLmFuaW1hdGUtLXNsaWRlLWluLFxuICAuc2Nyb2xsLXRyaWdnZXIuc2Nyb2xsLXRyaWdnZXItLWRlc2lnbi1tb2RlIC5zbGlkZXIsXG4gIC5zY3JvbGwtdHJpZ2dlcjpub3QoLnNjcm9sbC10cmlnZ2VyLS1vZmZzY3JlZW4pLnNjcm9sbC10cmlnZ2VyLS1jYW5jZWwge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLnNjcm9sbC10cmlnZ2VyLnNjcm9sbC10cmlnZ2VyLS1kZXNpZ24tbW9kZS5hbmltYXRlLS1zbGlkZS1pbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cbiAgQGtleWZyYW1lcyBzbGlkZUluIHtcbiAgICBmcm9tIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycmVtKTtcbiAgICAgIG9wYWNpdHk6IDAuMDE7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBmYWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgb3BhY2l0eTogMC4wMTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn1cblxuLyogRWxlbWVudCBIb3ZlcnM6IFZlcnRpY2FsIExpZnQsIDNkIExpZnQgKi9cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSBhbmQgKGhvdmVyOiBob3Zlcikge1xuICAuYW5pbWF0ZS0taG92ZXItM2QtbGlmdCAuY2FyZC13cmFwcGVyIC5jYXJkLS1jYXJkLFxuICAuYW5pbWF0ZS0taG92ZXItM2QtbGlmdCAuY2FyZC13cmFwcGVyIC5jYXJkLS1zdGFuZGFyZCAuY2FyZF9faW5uZXIsXG4gIC5hbmltYXRlLS1ob3Zlci0zZC1saWZ0IC5idXR0b246bm90KC5idXR0b24tLXRlcnRpYXJ5KSxcbiAgLmFuaW1hdGUtLWhvdmVyLTNkLWxpZnQgLnNob3BpZnktY2hhbGxlbmdlX19idXR0b24sXG4gIC5hbmltYXRlLS1ob3Zlci0zZC1saWZ0IC5jdXN0b21lciBidXR0b24sXG4gIC5hbmltYXRlLS1ob3Zlci0zZC1saWZ0IC5zaG9waWZ5LXBheW1lbnQtYnV0dG9uX19idXR0b24sXG4gIC5hbmltYXRlLS1ob3Zlci0zZC1saWZ0IC5kZWZlcnJlZC1tZWRpYSAuZGVmZXJyZWQtbWVkaWFfX3Bvc3Rlci1idXR0b24ge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1kdXJhdGlvbi1sb25nKSBlYXNlLCBib3gtc2hhZG93IHZhcigtLWR1cmF0aW9uLWxvbmcpIGVhc2U7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB9XG5cbiAgLmFuaW1hdGUtLWhvdmVyLTNkLWxpZnQgLmNhcmQtd3JhcHBlcjpob3ZlciAuY2FyZC0tY2FyZCxcbiAgLmFuaW1hdGUtLWhvdmVyLTNkLWxpZnQgLmNhcmQtd3JhcHBlcjpob3ZlciAuY2FyZC0tc3RhbmRhcmQgLmNhcmRfX2lubmVyLFxuICAuYW5pbWF0ZS0taG92ZXItM2QtbGlmdCAuYnV0dG9uOm5vdCguYnV0dG9uLS10ZXJ0aWFyeSk6bm90KFtkaXNhYmxlZF0pOmhvdmVyLFxuICAuYW5pbWF0ZS0taG92ZXItM2QtbGlmdCAuc2hvcGlmeS1jaGFsbGVuZ2VfX2J1dHRvbjpub3QoW2Rpc2FibGVkXSk6aG92ZXIsXG4gIC5hbmltYXRlLS1ob3Zlci0zZC1saWZ0IC5jdXN0b21lciBidXR0b246bm90KFtkaXNhYmxlZF0pOmhvdmVyLFxuICAuYW5pbWF0ZS0taG92ZXItM2QtbGlmdCAuc2hvcGlmeS1wYXltZW50LWJ1dHRvbl9fYnV0dG9uOmhvdmVyLFxuICAuYW5pbWF0ZS0taG92ZXItM2QtbGlmdCAuZGVmZXJyZWQtbWVkaWE6aG92ZXIgLmRlZmVycmVkLW1lZGlhX19wb3N0ZXItYnV0dG9uIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tZHVyYXRpb24tZXh0ZW5kZWQpIGVhc2UsIGJveC1zaGFkb3cgdmFyKC0tZHVyYXRpb24tbG9uZykgZWFzZTsgLyogU2xvdyB0aGUgY2FyZCB0cmFuc2l0aW9uIHNwZWVkIHdoaWxlIGhvdmVyIGlzIGFjdGl2ZS4gKi9cbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxZGVnKTtcbiAgICBib3gtc2hhZG93OiAtMXJlbSAtMXJlbSAxcmVtIC0xcmVtIHJnYmEoMCwgMCwgMCwgMC4wNSksIDFyZW0gMXJlbSAxcmVtIC0xcmVtIHJnYmEoMCwgMCwgMCwgMC4wNSksXG4gICAgICAwIDAgMC41cmVtIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSwgMCAycmVtIDMuNXJlbSAtMnJlbSByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIH1cblxuICAuYW5pbWF0ZS0taG92ZXItM2QtbGlmdCAuZGVmZXJyZWQtbWVkaWE6aG92ZXIgLmRlZmVycmVkLW1lZGlhX19wb3N0ZXItYnV0dG9uIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLjA1KTsgLyogQXBwbHkgYSBzcGVjaWFsaXplZCB0cmFuc2Zvcm0gdG8gdGhlIHZpZGVvIHBsYXkgYnV0dG9uLiAqL1xuICB9XG5cbiAgLmFuaW1hdGUtLWhvdmVyLTNkLWxpZnQgLmNvbGxhZ2VfX2l0ZW0gLmNhcmQtd3JhcHBlcjpob3ZlciAuY2FyZC0tY2FyZCxcbiAgLmFuaW1hdGUtLWhvdmVyLTNkLWxpZnQgLmNvbGxhZ2VfX2l0ZW0gLmNhcmQtd3JhcHBlcjpob3ZlciAuY2FyZC0tc3RhbmRhcmQgLmNhcmRfX2lubmVyIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjVkZWcpOyAvKiBMZXNzIGludGVuc2Ugcm90YXRpb24gZm9yIGNvbGxhZ2UgaXRlbXMuICovXG4gIH1cblxuICAuYW5pbWF0ZS0taG92ZXItM2QtbGlmdCAucHJvZHVjdC1ncmlkIC5ncmlkX19pdGVtOmhvdmVyLFxuICAuYW5pbWF0ZS0taG92ZXItM2QtbGlmdCAuY29sbGVjdGlvbi1saXN0IC5ncmlkX19pdGVtOmhvdmVyLFxuICAuYW5pbWF0ZS0taG92ZXItM2QtbGlmdCAuY29sbGFnZV9faXRlbTpob3ZlcixcbiAgLmFuaW1hdGUtLWhvdmVyLTNkLWxpZnQgLmJsb2ctYXJ0aWNsZXMgLmFydGljbGU6aG92ZXIsXG4gIC5hbmltYXRlLS1ob3Zlci0zZC1saWZ0IC5jb21wbGVtZW50YXJ5LXNsaWRlIGxpOmhvdmVyIHtcbiAgICB6LWluZGV4OiAyOyAvKiBNYWtlIHN1cmUgdGhlIGhvdmVyZWQgY2FyZCBpcyB0aGUgdG9wbW9zdCBjYXJkLiAqL1xuICB9XG5cbiAgLmFuaW1hdGUtLWhvdmVyLTNkLWxpZnQgLnByb2R1Y3QtZ3JpZCB7XG4gICAgaXNvbGF0aW9uOiBpc29sYXRlOyAvKiBFbnN1cmUgei1pbmRleCBjaGFuZ2VzIGhlcmUgZG9uJ3QgbmVnYXRpdmVseSBlZmZlY3Qgb3RoZXIgVUkgc3RhY2tpbmcuICovXG4gIH1cblxuICAuYW5pbWF0ZS0taG92ZXItM2QtbGlmdCAuY2FyZC13cmFwcGVyIC5jYXJkLS1zaGFwZS5jYXJkLS1zdGFuZGFyZDpub3QoLmNhcmQtLXRleHQpIC5jYXJkX19pbm5lciB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tZHVyYXRpb24tbG9uZykgZWFzZSwgZmlsdGVyIHZhcigtLWR1cmF0aW9uLWxvbmcpIGVhc2U7XG4gIH1cblxuICAuYW5pbWF0ZS0taG92ZXItM2QtbGlmdCAuY2FyZC13cmFwcGVyOmhvdmVyIC5jYXJkLS1zaGFwZS5jYXJkLS1zdGFuZGFyZDpub3QoLmNhcmQtLXRleHQpIC5jYXJkX19pbm5lciB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIGNhbGMoMiAqIHZhcigtLWR1cmF0aW9uLWV4dGVuZGVkKSkgZWFzZSwgZmlsdGVyIHZhcigtLWR1cmF0aW9uLWxvbmcpIGVhc2U7IC8qIFNsb3cgdGhlIGNhcmQgdHJhbnNpdGlvbiBzcGVlZCB3aGlsZSBob3ZlciBpcyBhY3RpdmUuICovXG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwcmVtIDJyZW0gMnJlbSByZ2JhKDAsIDAsIDAsIDAuMTUpKSBkcm9wLXNoYWRvdygwcmVtIDFyZW0gMXJlbSByZ2JhKDAsIDAsIDAsIDAuMTUpKTtcbiAgfVxuXG4gIC5hbmltYXRlLS1ob3Zlci0zZC1saWZ0IC5jYXJkLXdyYXBwZXI6aG92ZXIgLmNhcmQtLWNhcmQ6YWZ0ZXIsXG4gIC5hbmltYXRlLS1ob3Zlci0zZC1saWZ0IC5jYXJkLXdyYXBwZXI6aG92ZXIgLmNhcmQtLXN0YW5kYXJkIC5jYXJkX19pbm5lcjphZnRlcixcbiAgLmFuaW1hdGUtLWhvdmVyLTNkLWxpZnRcbiAgICAuY2FyZC13cmFwcGVyOmhvdmVyXG4gICAgLmNhcmQtLXNoYXBlLmNhcmQtLXN0YW5kYXJkOm5vdCguY2FyZC0tdGV4dClcbiAgICAuY2FyZF9faW5uZXJcbiAgICAuY2FyZF9fbWVkaWE6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1lYXN0ZXItZWdnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDI1MHB4IDI1MHB4O1xuICAgIG1peC1ibGVuZC1tb2RlOiBjb2xvci1kb2RnZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cbiAgLmFuaW1hdGUtLWhvdmVyLTNkLWxpZnRcbiAgICAuY2FyZC13cmFwcGVyOmhvdmVyXG4gICAgLmNhcmQtLXNoYXBlLmNhcmQtLXN0YW5kYXJkOm5vdCguY2FyZC0tdGV4dClcbiAgICAuY2FyZF9faW5uZXJcbiAgICAuY2FyZF9fbWVkaWE6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICB9XG5cbiAgLmFuaW1hdGUtLWhvdmVyLTNkLWxpZnQgLmNhcmQtd3JhcHBlciAuY2FyZC0tY2FyZDpiZWZvcmUsXG4gIC5hbmltYXRlLS1ob3Zlci0zZC1saWZ0IC5jYXJkLXdyYXBwZXIgLmNhcmQtLXN0YW5kYXJkIC5jYXJkX19tZWRpYTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gY2FsYygyICogdmFyKC0tZHVyYXRpb24tZXh0ZW5kZWQpKSBlYXNlLCBvcGFjaXR5IHZhcigtLWR1cmF0aW9uLWRlZmF1bHQpIGVhc2U7XG4gICAgbWl4LWJsZW5kLW1vZGU6IG92ZXJsYXk7XG4gICAgYmFja2dyb3VuZC1zaXplOiA0MDAlIDEwMCU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTAlIDA7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAxMzVkZWcsXG4gICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDQ1JSxcbiAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgNTAlLFxuICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA1NSVcbiAgICApO1xuICB9XG5cbiAgLmFuaW1hdGUtLWhvdmVyLTNkLWxpZnQgLmNhcmQtd3JhcHBlcjpob3ZlciAuY2FyZC0tY2FyZDpiZWZvcmUsXG4gIC5hbmltYXRlLS1ob3Zlci0zZC1saWZ0IC5jYXJkLXdyYXBwZXI6aG92ZXIgLmNhcmQtLXN0YW5kYXJkIC5jYXJkX19tZWRpYTphZnRlciB7XG4gICAgb3BhY2l0eTogMC4yO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gNnMgZWFzZSwgb3BhY2l0eSB2YXIoLS1kdXJhdGlvbi1sb25nKSBlYXNlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQ7XG4gICAgei1pbmRleDogMjtcbiAgfVxuXG4gIDpyb290IHtcbiAgICAtLWVhc3Rlci1lZ2c6IG5vbmU7XG4gICAgLS1zcGFya2xlOiB1cmwoJy4vc3BhcmtsZS5naWYnKTtcbiAgfVxuXG4gIC5hbmltYXRlLS1ob3Zlci12ZXJ0aWNhbC1saWZ0IC5idXR0b246bm90KC5idXR0b24tLXRlcnRpYXJ5KSxcbiAgLmFuaW1hdGUtLWhvdmVyLXZlcnRpY2FsLWxpZnQgLnNob3BpZnktY2hhbGxlbmdlX19idXR0b24sXG4gIC5hbmltYXRlLS1ob3Zlci12ZXJ0aWNhbC1saWZ0IC5jdXN0b21lciBidXR0b24sXG4gIC5hbmltYXRlLS1ob3Zlci12ZXJ0aWNhbC1saWZ0IC5zaG9waWZ5LXBheW1lbnQtYnV0dG9uX19idXR0b24ge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1kdXJhdGlvbi1kZWZhdWx0KSB2YXIoLS1lYXNlLW91dC1zbG93KTtcbiAgfVxuXG4gIC5hbmltYXRlLS1ob3Zlci12ZXJ0aWNhbC1saWZ0IC5jYXJkLXdyYXBwZXIgLmNhcmQtLWNhcmQsXG4gIC5hbmltYXRlLS1ob3Zlci12ZXJ0aWNhbC1saWZ0IC5jYXJkLXdyYXBwZXIgLmNhcmQtLXN0YW5kYXJkIC5jYXJkX19pbm5lciB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWR1cmF0aW9uLW1lZGl1bSkgdmFyKC0tZWFzZS1vdXQtc2xvdyk7XG4gIH1cblxuICAuYW5pbWF0ZS0taG92ZXItdmVydGljYWwtbGlmdCAuY2FyZC13cmFwcGVyOmhvdmVyIC5jYXJkLS1jYXJkLFxuICAuYW5pbWF0ZS0taG92ZXItdmVydGljYWwtbGlmdCAuY2FyZC13cmFwcGVyOmhvdmVyIC5jYXJkLS1zdGFuZGFyZCAuY2FyZF9faW5uZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC43NXJlbSk7XG4gIH1cblxuICAuYW5pbWF0ZS0taG92ZXItdmVydGljYWwtbGlmdCAuY2FyZC13cmFwcGVyOmFjdGl2ZSAuY2FyZC0tY2FyZCxcbiAgLmFuaW1hdGUtLWhvdmVyLXZlcnRpY2FsLWxpZnQgLmNhcmQtd3JhcHBlcjphY3RpdmUgLmNhcmQtLXN0YW5kYXJkIC5jYXJkX19pbm5lciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjVyZW0pO1xuICB9XG5cbiAgLmFuaW1hdGUtLWhvdmVyLXZlcnRpY2FsLWxpZnQgLmJ1dHRvbjpub3QoLmJ1dHRvbi0tdGVydGlhcnkpOm5vdChbZGlzYWJsZWRdKTpob3ZlcixcbiAgLmFuaW1hdGUtLWhvdmVyLXZlcnRpY2FsLWxpZnQgLnNob3BpZnktY2hhbGxlbmdlX19idXR0b246bm90KFtkaXNhYmxlZF0pOmhvdmVyLFxuICAuYW5pbWF0ZS0taG92ZXItdmVydGljYWwtbGlmdCAuY3VzdG9tZXIgYnV0dG9uOm5vdChbZGlzYWJsZWRdKTpob3ZlcixcbiAgLmFuaW1hdGUtLWhvdmVyLXZlcnRpY2FsLWxpZnQgLnNob3BpZnktcGF5bWVudC1idXR0b25fX2J1dHRvbjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjI1cmVtKTtcbiAgfVxuXG4gIC5hbmltYXRlLS1ob3Zlci12ZXJ0aWNhbC1saWZ0IC5idXR0b246bm90KC5idXR0b24tLXRlcnRpYXJ5KTpub3QoW2Rpc2FibGVkXSk6YWN0aXZlLFxuICAuYW5pbWF0ZS0taG92ZXItdmVydGljYWwtbGlmdCAuc2hvcGlmeS1jaGFsbGVuZ2VfX2J1dHRvbjpub3QoW2Rpc2FibGVkXSk6YWN0aXZlLFxuICAuYW5pbWF0ZS0taG92ZXItdmVydGljYWwtbGlmdCAuY3VzdG9tZXIgYnV0dG9uOm5vdChbZGlzYWJsZWRdKTphY3RpdmUsXG4gIC5hbmltYXRlLS1ob3Zlci12ZXJ0aWNhbC1saWZ0IC5zaG9waWZ5LXBheW1lbnQtYnV0dG9uX19idXR0b246YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICAuYW5pbWF0ZS0taG92ZXItdmVydGljYWwtbGlmdCAuYnV0dG9uOm5vdChbZGlzYWJsZWRdKTpob3ZlcjphZnRlcixcbiAgLmFuaW1hdGUtLWhvdmVyLXZlcnRpY2FsLWxpZnQgLmN1c3RvbWVyIGJ1dHRvbjpub3QoW2Rpc2FibGVkXSk6aG92ZXI6YWZ0ZXIsXG4gIC5hbmltYXRlLS1ob3Zlci12ZXJ0aWNhbC1saWZ0IC5zaG9waWZ5LXBheW1lbnQtYnV0dG9uX19idXR0b246bm90KFtkaXNhYmxlZF0pOmhvdmVyOmFmdGVyIHtcbiAgICAtLWJvcmRlci1vZmZzZXQ6IDAuM3B4OyAvKiBEZWZhdWx0IGlzIDEuM3B4IGFzIGRlZmluZWQgYWJvdmUgaW4gdGhpcyBmaWxlLiBUaGlzIHJlbW92ZXMgMXB4IHRvIHByZXZlbnQgdGhlIGJvcmRlciBmcm9tIGdyb3dpbmcgb24gYnV0dG9ucyB3aGVuIHRoaXMgZWZmZWN0IGlzIG9uLiAgKi9cbiAgICBib3gtc2hhZG93OiAwIDAgMCBjYWxjKHZhcigtLWJ1dHRvbnMtYm9yZGVyLXdpZHRoKSArIHZhcigtLWJvcmRlci1vZmZzZXQpKVxuICAgICAgICByZ2JhKHZhcigtLWNvbG9yLWJ1dHRvbi10ZXh0KSwgdmFyKC0tYm9yZGVyLW9wYWNpdHkpKSxcbiAgICAgIDAgMCAwIHZhcigtLWJ1dHRvbnMtYm9yZGVyLXdpZHRoKSByZ2JhKHZhcigtLWNvbG9yLWJ1dHRvbiksIHZhcigtLWFscGhhLWJ1dHRvbi1iYWNrZ3JvdW5kKSk7XG4gIH1cblxuICAuYW5pbWF0ZS0taG92ZXItdmVydGljYWwtbGlmdCAuYnV0dG9uOm5vdChbZGlzYWJsZWRdKS5idXR0b24tLXNlY29uZGFyeTpob3ZlcjphZnRlciB7XG4gICAgLS1ib3JkZXItb2Zmc2V0OiAwcHg7IC8qIFByZXZlbnQgdGhlIGJvcmRlciBmcm9tIGdyb3dpbmcgb24gYnV0dG9ucyB3aGVuIHRoaXMgZWZmZWN0IGlzIG9uLiAqL1xuICB9XG59XG5cbi8qIExvYWRpbmcgc3Bpbm5lciAqL1xuLmxvYWRpbmdfX3NwaW5uZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIHdpZHRoOiAxLjhyZW07XG59XG5cbi5sb2FkaW5nX19zcGlubmVyIHtcbiAgd2lkdGg6IDEuOHJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uc3Bpbm5lciB7XG4gIGFuaW1hdGlvbjogcm90YXRvciAxLjRzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyByb3RhdG9yIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gIH1cbn1cblxuLnBhdGgge1xuICBzdHJva2UtZGFzaGFycmF5OiAyODA7XG4gIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHN0cm9rZTogcmdiKHZhcigtLWNvbG9yLWZvcmVncm91bmQpKTtcbiAgYW5pbWF0aW9uOiBkYXNoIDEuNHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgLnBhdGgge1xuICAgIHN0cm9rZTogQ2FudmFzVGV4dDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGRhc2gge1xuICAwJSB7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDI4MDtcbiAgfVxuICA1MCUge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiA3NTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAyODA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDUwZGVnKTtcbiAgfVxufVxuXG4ubG9hZGluZ19fc3Bpbm5lcjpub3QoLmhpZGRlbikgKyAuY2FydC1pdGVtX19wcmljZS13cmFwcGVyLFxuLmxvYWRpbmdfX3NwaW5uZXI6bm90KC5oaWRkZW4pIH4gY2FydC1yZW1vdmUtYnV0dG9uIHtcbiAgb3BhY2l0eTogNTAlO1xufVxuXG4ubG9hZGluZ19fc3Bpbm5lcjpub3QoLmhpZGRlbikgfiBjYXJ0LXJlbW92ZS1idXR0b24ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKiBQcm9ncmVzcyBiYXIgKi9cbi5wcm9ncmVzcy1iYXItY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuLnByb2dyZXNzLWJhciB7XG4gIGhlaWdodDogMC4xM3JlbTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5wcm9ncmVzcy1iYXItdmFsdWUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tY29sb3ItZm9yZWdyb3VuZCkpO1xuICBhbmltYXRpb246IGluZGV0ZXJtaW5hdGVBbmltYXRpb24gdmFyKC0tZHVyYXRpb24tZXh0cmEtbG9uZ2VyKSBpbmZpbml0ZSBlYXNlLWluLW91dDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMDtcbn1cblxuLnByb2dyZXNzLWJhciAucHJvZ3Jlc3MtYmFyLXZhbHVlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBrZXlmcmFtZXMgaW5kZXRlcm1pbmF0ZUFuaW1hdGlvbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwJSkgc2NhbGVYKDApO1xuICB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwJSkgc2NhbGVYKDAuNyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNjYWxlWCgwKTtcbiAgfVxufVxuIl19 */