/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/**
 * Fade animations:
 * fade
 * fade-up, fade-down, fade-left, fade-right
 * fade-up-right, fade-up-left, fade-down-right, fade-down-left
 */
[data-aos^='fade'][data-aos^='fade'] {
  opacity: 0;
  transition-property: opacity, transform;
}

[data-aos^='fade'][data-aos^='fade'].aos-animate {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

[data-aos='fade-up'] {
  transform: translate3d(0, 100px, 0);
}

[data-aos='fade-down'] {
  transform: translate3d(0, -100px, 0);
}

[data-aos='fade-right'] {
  transform: translate3d(-100px, 0, 0);
}

[data-aos='fade-left'] {
  transform: translate3d(100px, 0, 0);
}

[data-aos='fade-up-right'] {
  transform: translate3d(-100px, 100px, 0);
}

[data-aos='fade-up-left'] {
  transform: translate3d(100px, 100px, 0);
}

[data-aos='fade-down-right'] {
  transform: translate3d(-100px, -100px, 0);
}

[data-aos='fade-down-left'] {
  transform: translate3d(100px, -100px, 0);
}

/**
 * Zoom animations:
 * zoom-in, zoom-in-up, zoom-in-down, zoom-in-left, zoom-in-right
 * zoom-out, zoom-out-up, zoom-out-down, zoom-out-left, zoom-out-right
 */
[data-aos^='zoom'][data-aos^='zoom'] {
  opacity: 0;
  transition-property: opacity, transform;
}

[data-aos^='zoom'][data-aos^='zoom'].aos-animate {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

[data-aos='zoom-in'] {
  transform: scale(0.6);
}

[data-aos='zoom-in-up'] {
  transform: translate3d(0, 100px, 0) scale(0.6);
}

[data-aos='zoom-in-down'] {
  transform: translate3d(0, -100px, 0) scale(0.6);
}

[data-aos='zoom-in-right'] {
  transform: translate3d(-100px, 0, 0) scale(0.6);
}

[data-aos='zoom-in-left'] {
  transform: translate3d(100px, 0, 0) scale(0.6);
}

[data-aos='zoom-out'] {
  transform: scale(1.2);
}

[data-aos='zoom-out-up'] {
  transform: translate3d(0, 100px, 0) scale(1.2);
}

[data-aos='zoom-out-down'] {
  transform: translate3d(0, -100px, 0) scale(1.2);
}

[data-aos='zoom-out-right'] {
  transform: translate3d(-100px, 0, 0) scale(1.2);
}

[data-aos='zoom-out-left'] {
  transform: translate3d(100px, 0, 0) scale(1.2);
}

/**
 * Slide animations
 */
[data-aos^='slide'][data-aos^='slide'] {
  transition-property: transform;
}

[data-aos^='slide'][data-aos^='slide'].aos-animate {
  transform: translate3d(0, 0, 0);
}

[data-aos='slide-up'] {
  transform: translate3d(0, 100%, 0);
}

[data-aos='slide-down'] {
  transform: translate3d(0, -100%, 0);
}

[data-aos='slide-right'] {
  transform: translate3d(-100%, 0, 0);
}

[data-aos='slide-left'] {
  transform: translate3d(100%, 0, 0);
}

/**
 * Flip animations:
 * flip-left, flip-right, flip-up, flip-down
 */
[data-aos^='flip'][data-aos^='flip'] {
  backface-visibility: hidden;
  transition-property: transform;
}

[data-aos='flip-left'] {
  transform: perspective(2500px) rotateY(-100deg);
}

[data-aos='flip-left'].aos-animate {
  transform: perspective(2500px) rotateY(0);
}

[data-aos='flip-right'] {
  transform: perspective(2500px) rotateY(100deg);
}

[data-aos='flip-right'].aos-animate {
  transform: perspective(2500px) rotateY(0);
}

[data-aos='flip-up'] {
  transform: perspective(2500px) rotateX(-100deg);
}

[data-aos='flip-up'].aos-animate {
  transform: perspective(2500px) rotateX(0);
}

[data-aos='flip-down'] {
  transform: perspective(2500px) rotateX(100deg);
}

[data-aos='flip-down'].aos-animate {
  transform: perspective(2500px) rotateX(0);
}

body[data-aos-duration='50'] [data-aos], [data-aos][data-aos][data-aos-duration='50'] {
  transition-duration: 50ms;
}

body[data-aos-delay='50'] [data-aos], [data-aos][data-aos][data-aos-delay='50'] {
  transition-delay: 0;
}

body[data-aos-delay='50'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='50'].aos-animate {
  transition-delay: 50ms;
}

body[data-aos-duration='100'] [data-aos], [data-aos][data-aos][data-aos-duration='100'] {
  transition-duration: 100ms;
}

body[data-aos-delay='100'] [data-aos], [data-aos][data-aos][data-aos-delay='100'] {
  transition-delay: 0;
}

body[data-aos-delay='100'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='100'].aos-animate {
  transition-delay: 100ms;
}

body[data-aos-duration='150'] [data-aos], [data-aos][data-aos][data-aos-duration='150'] {
  transition-duration: 150ms;
}

body[data-aos-delay='150'] [data-aos], [data-aos][data-aos][data-aos-delay='150'] {
  transition-delay: 0;
}

body[data-aos-delay='150'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='150'].aos-animate {
  transition-delay: 150ms;
}

body[data-aos-duration='200'] [data-aos], [data-aos][data-aos][data-aos-duration='200'] {
  transition-duration: 200ms;
}

body[data-aos-delay='200'] [data-aos], [data-aos][data-aos][data-aos-delay='200'] {
  transition-delay: 0;
}

body[data-aos-delay='200'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='200'].aos-animate {
  transition-delay: 200ms;
}

body[data-aos-duration='250'] [data-aos], [data-aos][data-aos][data-aos-duration='250'] {
  transition-duration: 250ms;
}

body[data-aos-delay='250'] [data-aos], [data-aos][data-aos][data-aos-delay='250'] {
  transition-delay: 0;
}

body[data-aos-delay='250'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='250'].aos-animate {
  transition-delay: 250ms;
}

body[data-aos-duration='300'] [data-aos], [data-aos][data-aos][data-aos-duration='300'] {
  transition-duration: 300ms;
}

body[data-aos-delay='300'] [data-aos], [data-aos][data-aos][data-aos-delay='300'] {
  transition-delay: 0;
}

body[data-aos-delay='300'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='300'].aos-animate {
  transition-delay: 300ms;
}

body[data-aos-duration='350'] [data-aos], [data-aos][data-aos][data-aos-duration='350'] {
  transition-duration: 350ms;
}

body[data-aos-delay='350'] [data-aos], [data-aos][data-aos][data-aos-delay='350'] {
  transition-delay: 0;
}

body[data-aos-delay='350'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='350'].aos-animate {
  transition-delay: 350ms;
}

body[data-aos-duration='400'] [data-aos], [data-aos][data-aos][data-aos-duration='400'] {
  transition-duration: 400ms;
}

body[data-aos-delay='400'] [data-aos], [data-aos][data-aos][data-aos-delay='400'] {
  transition-delay: 0;
}

body[data-aos-delay='400'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='400'].aos-animate {
  transition-delay: 400ms;
}

body[data-aos-duration='450'] [data-aos], [data-aos][data-aos][data-aos-duration='450'] {
  transition-duration: 450ms;
}

body[data-aos-delay='450'] [data-aos], [data-aos][data-aos][data-aos-delay='450'] {
  transition-delay: 0;
}

body[data-aos-delay='450'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='450'].aos-animate {
  transition-delay: 450ms;
}

body[data-aos-duration='500'] [data-aos], [data-aos][data-aos][data-aos-duration='500'] {
  transition-duration: 500ms;
}

body[data-aos-delay='500'] [data-aos], [data-aos][data-aos][data-aos-delay='500'] {
  transition-delay: 0;
}

body[data-aos-delay='500'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='500'].aos-animate {
  transition-delay: 500ms;
}

body[data-aos-duration='550'] [data-aos], [data-aos][data-aos][data-aos-duration='550'] {
  transition-duration: 550ms;
}

body[data-aos-delay='550'] [data-aos], [data-aos][data-aos][data-aos-delay='550'] {
  transition-delay: 0;
}

body[data-aos-delay='550'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='550'].aos-animate {
  transition-delay: 550ms;
}

body[data-aos-duration='600'] [data-aos], [data-aos][data-aos][data-aos-duration='600'] {
  transition-duration: 600ms;
}

body[data-aos-delay='600'] [data-aos], [data-aos][data-aos][data-aos-delay='600'] {
  transition-delay: 0;
}

body[data-aos-delay='600'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='600'].aos-animate {
  transition-delay: 600ms;
}

body[data-aos-duration='650'] [data-aos], [data-aos][data-aos][data-aos-duration='650'] {
  transition-duration: 650ms;
}

body[data-aos-delay='650'] [data-aos], [data-aos][data-aos][data-aos-delay='650'] {
  transition-delay: 0;
}

body[data-aos-delay='650'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='650'].aos-animate {
  transition-delay: 650ms;
}

body[data-aos-duration='700'] [data-aos], [data-aos][data-aos][data-aos-duration='700'] {
  transition-duration: 700ms;
}

body[data-aos-delay='700'] [data-aos], [data-aos][data-aos][data-aos-delay='700'] {
  transition-delay: 0;
}

body[data-aos-delay='700'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='700'].aos-animate {
  transition-delay: 700ms;
}

body[data-aos-duration='750'] [data-aos], [data-aos][data-aos][data-aos-duration='750'] {
  transition-duration: 750ms;
}

body[data-aos-delay='750'] [data-aos], [data-aos][data-aos][data-aos-delay='750'] {
  transition-delay: 0;
}

body[data-aos-delay='750'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='750'].aos-animate {
  transition-delay: 750ms;
}

body[data-aos-duration='800'] [data-aos], [data-aos][data-aos][data-aos-duration='800'] {
  transition-duration: 800ms;
}

body[data-aos-delay='800'] [data-aos], [data-aos][data-aos][data-aos-delay='800'] {
  transition-delay: 0;
}

body[data-aos-delay='800'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='800'].aos-animate {
  transition-delay: 800ms;
}

body[data-aos-duration='850'] [data-aos], [data-aos][data-aos][data-aos-duration='850'] {
  transition-duration: 850ms;
}

body[data-aos-delay='850'] [data-aos], [data-aos][data-aos][data-aos-delay='850'] {
  transition-delay: 0;
}

body[data-aos-delay='850'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='850'].aos-animate {
  transition-delay: 850ms;
}

body[data-aos-duration='900'] [data-aos], [data-aos][data-aos][data-aos-duration='900'] {
  transition-duration: 900ms;
}

body[data-aos-delay='900'] [data-aos], [data-aos][data-aos][data-aos-delay='900'] {
  transition-delay: 0;
}

body[data-aos-delay='900'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='900'].aos-animate {
  transition-delay: 900ms;
}

body[data-aos-duration='950'] [data-aos], [data-aos][data-aos][data-aos-duration='950'] {
  transition-duration: 950ms;
}

body[data-aos-delay='950'] [data-aos], [data-aos][data-aos][data-aos-delay='950'] {
  transition-delay: 0;
}

body[data-aos-delay='950'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='950'].aos-animate {
  transition-delay: 950ms;
}

body[data-aos-duration='1000'] [data-aos], [data-aos][data-aos][data-aos-duration='1000'] {
  transition-duration: 1000ms;
}

body[data-aos-delay='1000'] [data-aos], [data-aos][data-aos][data-aos-delay='1000'] {
  transition-delay: 0;
}

body[data-aos-delay='1000'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1000'].aos-animate {
  transition-delay: 1000ms;
}

body[data-aos-duration='1050'] [data-aos], [data-aos][data-aos][data-aos-duration='1050'] {
  transition-duration: 1050ms;
}

body[data-aos-delay='1050'] [data-aos], [data-aos][data-aos][data-aos-delay='1050'] {
  transition-delay: 0;
}

body[data-aos-delay='1050'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1050'].aos-animate {
  transition-delay: 1050ms;
}

body[data-aos-duration='1100'] [data-aos], [data-aos][data-aos][data-aos-duration='1100'] {
  transition-duration: 1100ms;
}

body[data-aos-delay='1100'] [data-aos], [data-aos][data-aos][data-aos-delay='1100'] {
  transition-delay: 0;
}

body[data-aos-delay='1100'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1100'].aos-animate {
  transition-delay: 1100ms;
}

body[data-aos-duration='1150'] [data-aos], [data-aos][data-aos][data-aos-duration='1150'] {
  transition-duration: 1150ms;
}

body[data-aos-delay='1150'] [data-aos], [data-aos][data-aos][data-aos-delay='1150'] {
  transition-delay: 0;
}

body[data-aos-delay='1150'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1150'].aos-animate {
  transition-delay: 1150ms;
}

body[data-aos-duration='1200'] [data-aos], [data-aos][data-aos][data-aos-duration='1200'] {
  transition-duration: 1200ms;
}

body[data-aos-delay='1200'] [data-aos], [data-aos][data-aos][data-aos-delay='1200'] {
  transition-delay: 0;
}

body[data-aos-delay='1200'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1200'].aos-animate {
  transition-delay: 1200ms;
}

body[data-aos-duration='1250'] [data-aos], [data-aos][data-aos][data-aos-duration='1250'] {
  transition-duration: 1250ms;
}

body[data-aos-delay='1250'] [data-aos], [data-aos][data-aos][data-aos-delay='1250'] {
  transition-delay: 0;
}

body[data-aos-delay='1250'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1250'].aos-animate {
  transition-delay: 1250ms;
}

body[data-aos-duration='1300'] [data-aos], [data-aos][data-aos][data-aos-duration='1300'] {
  transition-duration: 1300ms;
}

body[data-aos-delay='1300'] [data-aos], [data-aos][data-aos][data-aos-delay='1300'] {
  transition-delay: 0;
}

body[data-aos-delay='1300'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1300'].aos-animate {
  transition-delay: 1300ms;
}

body[data-aos-duration='1350'] [data-aos], [data-aos][data-aos][data-aos-duration='1350'] {
  transition-duration: 1350ms;
}

body[data-aos-delay='1350'] [data-aos], [data-aos][data-aos][data-aos-delay='1350'] {
  transition-delay: 0;
}

body[data-aos-delay='1350'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1350'].aos-animate {
  transition-delay: 1350ms;
}

body[data-aos-duration='1400'] [data-aos], [data-aos][data-aos][data-aos-duration='1400'] {
  transition-duration: 1400ms;
}

body[data-aos-delay='1400'] [data-aos], [data-aos][data-aos][data-aos-delay='1400'] {
  transition-delay: 0;
}

body[data-aos-delay='1400'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1400'].aos-animate {
  transition-delay: 1400ms;
}

body[data-aos-duration='1450'] [data-aos], [data-aos][data-aos][data-aos-duration='1450'] {
  transition-duration: 1450ms;
}

body[data-aos-delay='1450'] [data-aos], [data-aos][data-aos][data-aos-delay='1450'] {
  transition-delay: 0;
}

body[data-aos-delay='1450'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1450'].aos-animate {
  transition-delay: 1450ms;
}

body[data-aos-duration='1500'] [data-aos], [data-aos][data-aos][data-aos-duration='1500'] {
  transition-duration: 1500ms;
}

body[data-aos-delay='1500'] [data-aos], [data-aos][data-aos][data-aos-delay='1500'] {
  transition-delay: 0;
}

body[data-aos-delay='1500'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1500'].aos-animate {
  transition-delay: 1500ms;
}

body[data-aos-duration='1550'] [data-aos], [data-aos][data-aos][data-aos-duration='1550'] {
  transition-duration: 1550ms;
}

body[data-aos-delay='1550'] [data-aos], [data-aos][data-aos][data-aos-delay='1550'] {
  transition-delay: 0;
}

body[data-aos-delay='1550'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1550'].aos-animate {
  transition-delay: 1550ms;
}

body[data-aos-duration='1600'] [data-aos], [data-aos][data-aos][data-aos-duration='1600'] {
  transition-duration: 1600ms;
}

body[data-aos-delay='1600'] [data-aos], [data-aos][data-aos][data-aos-delay='1600'] {
  transition-delay: 0;
}

body[data-aos-delay='1600'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1600'].aos-animate {
  transition-delay: 1600ms;
}

body[data-aos-duration='1650'] [data-aos], [data-aos][data-aos][data-aos-duration='1650'] {
  transition-duration: 1650ms;
}

body[data-aos-delay='1650'] [data-aos], [data-aos][data-aos][data-aos-delay='1650'] {
  transition-delay: 0;
}

body[data-aos-delay='1650'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1650'].aos-animate {
  transition-delay: 1650ms;
}

body[data-aos-duration='1700'] [data-aos], [data-aos][data-aos][data-aos-duration='1700'] {
  transition-duration: 1700ms;
}

body[data-aos-delay='1700'] [data-aos], [data-aos][data-aos][data-aos-delay='1700'] {
  transition-delay: 0;
}

body[data-aos-delay='1700'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1700'].aos-animate {
  transition-delay: 1700ms;
}

body[data-aos-duration='1750'] [data-aos], [data-aos][data-aos][data-aos-duration='1750'] {
  transition-duration: 1750ms;
}

body[data-aos-delay='1750'] [data-aos], [data-aos][data-aos][data-aos-delay='1750'] {
  transition-delay: 0;
}

body[data-aos-delay='1750'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1750'].aos-animate {
  transition-delay: 1750ms;
}

body[data-aos-duration='1800'] [data-aos], [data-aos][data-aos][data-aos-duration='1800'] {
  transition-duration: 1800ms;
}

body[data-aos-delay='1800'] [data-aos], [data-aos][data-aos][data-aos-delay='1800'] {
  transition-delay: 0;
}

body[data-aos-delay='1800'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1800'].aos-animate {
  transition-delay: 1800ms;
}

body[data-aos-duration='1850'] [data-aos], [data-aos][data-aos][data-aos-duration='1850'] {
  transition-duration: 1850ms;
}

body[data-aos-delay='1850'] [data-aos], [data-aos][data-aos][data-aos-delay='1850'] {
  transition-delay: 0;
}

body[data-aos-delay='1850'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1850'].aos-animate {
  transition-delay: 1850ms;
}

body[data-aos-duration='1900'] [data-aos], [data-aos][data-aos][data-aos-duration='1900'] {
  transition-duration: 1900ms;
}

body[data-aos-delay='1900'] [data-aos], [data-aos][data-aos][data-aos-delay='1900'] {
  transition-delay: 0;
}

body[data-aos-delay='1900'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1900'].aos-animate {
  transition-delay: 1900ms;
}

body[data-aos-duration='1950'] [data-aos], [data-aos][data-aos][data-aos-duration='1950'] {
  transition-duration: 1950ms;
}

body[data-aos-delay='1950'] [data-aos], [data-aos][data-aos][data-aos-delay='1950'] {
  transition-delay: 0;
}

body[data-aos-delay='1950'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1950'].aos-animate {
  transition-delay: 1950ms;
}

body[data-aos-duration='2000'] [data-aos], [data-aos][data-aos][data-aos-duration='2000'] {
  transition-duration: 2000ms;
}

body[data-aos-delay='2000'] [data-aos], [data-aos][data-aos][data-aos-delay='2000'] {
  transition-delay: 0;
}

body[data-aos-delay='2000'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2000'].aos-animate {
  transition-delay: 2000ms;
}

body[data-aos-duration='2050'] [data-aos], [data-aos][data-aos][data-aos-duration='2050'] {
  transition-duration: 2050ms;
}

body[data-aos-delay='2050'] [data-aos], [data-aos][data-aos][data-aos-delay='2050'] {
  transition-delay: 0;
}

body[data-aos-delay='2050'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2050'].aos-animate {
  transition-delay: 2050ms;
}

body[data-aos-duration='2100'] [data-aos], [data-aos][data-aos][data-aos-duration='2100'] {
  transition-duration: 2100ms;
}

body[data-aos-delay='2100'] [data-aos], [data-aos][data-aos][data-aos-delay='2100'] {
  transition-delay: 0;
}

body[data-aos-delay='2100'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2100'].aos-animate {
  transition-delay: 2100ms;
}

body[data-aos-duration='2150'] [data-aos], [data-aos][data-aos][data-aos-duration='2150'] {
  transition-duration: 2150ms;
}

body[data-aos-delay='2150'] [data-aos], [data-aos][data-aos][data-aos-delay='2150'] {
  transition-delay: 0;
}

body[data-aos-delay='2150'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2150'].aos-animate {
  transition-delay: 2150ms;
}

body[data-aos-duration='2200'] [data-aos], [data-aos][data-aos][data-aos-duration='2200'] {
  transition-duration: 2200ms;
}

body[data-aos-delay='2200'] [data-aos], [data-aos][data-aos][data-aos-delay='2200'] {
  transition-delay: 0;
}

body[data-aos-delay='2200'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2200'].aos-animate {
  transition-delay: 2200ms;
}

body[data-aos-duration='2250'] [data-aos], [data-aos][data-aos][data-aos-duration='2250'] {
  transition-duration: 2250ms;
}

body[data-aos-delay='2250'] [data-aos], [data-aos][data-aos][data-aos-delay='2250'] {
  transition-delay: 0;
}

body[data-aos-delay='2250'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2250'].aos-animate {
  transition-delay: 2250ms;
}

body[data-aos-duration='2300'] [data-aos], [data-aos][data-aos][data-aos-duration='2300'] {
  transition-duration: 2300ms;
}

body[data-aos-delay='2300'] [data-aos], [data-aos][data-aos][data-aos-delay='2300'] {
  transition-delay: 0;
}

body[data-aos-delay='2300'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2300'].aos-animate {
  transition-delay: 2300ms;
}

body[data-aos-duration='2350'] [data-aos], [data-aos][data-aos][data-aos-duration='2350'] {
  transition-duration: 2350ms;
}

body[data-aos-delay='2350'] [data-aos], [data-aos][data-aos][data-aos-delay='2350'] {
  transition-delay: 0;
}

body[data-aos-delay='2350'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2350'].aos-animate {
  transition-delay: 2350ms;
}

body[data-aos-duration='2400'] [data-aos], [data-aos][data-aos][data-aos-duration='2400'] {
  transition-duration: 2400ms;
}

body[data-aos-delay='2400'] [data-aos], [data-aos][data-aos][data-aos-delay='2400'] {
  transition-delay: 0;
}

body[data-aos-delay='2400'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2400'].aos-animate {
  transition-delay: 2400ms;
}

body[data-aos-duration='2450'] [data-aos], [data-aos][data-aos][data-aos-duration='2450'] {
  transition-duration: 2450ms;
}

body[data-aos-delay='2450'] [data-aos], [data-aos][data-aos][data-aos-delay='2450'] {
  transition-delay: 0;
}

body[data-aos-delay='2450'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2450'].aos-animate {
  transition-delay: 2450ms;
}

body[data-aos-duration='2500'] [data-aos], [data-aos][data-aos][data-aos-duration='2500'] {
  transition-duration: 2500ms;
}

body[data-aos-delay='2500'] [data-aos], [data-aos][data-aos][data-aos-delay='2500'] {
  transition-delay: 0;
}

body[data-aos-delay='2500'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2500'].aos-animate {
  transition-delay: 2500ms;
}

body[data-aos-duration='2550'] [data-aos], [data-aos][data-aos][data-aos-duration='2550'] {
  transition-duration: 2550ms;
}

body[data-aos-delay='2550'] [data-aos], [data-aos][data-aos][data-aos-delay='2550'] {
  transition-delay: 0;
}

body[data-aos-delay='2550'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2550'].aos-animate {
  transition-delay: 2550ms;
}

body[data-aos-duration='2600'] [data-aos], [data-aos][data-aos][data-aos-duration='2600'] {
  transition-duration: 2600ms;
}

body[data-aos-delay='2600'] [data-aos], [data-aos][data-aos][data-aos-delay='2600'] {
  transition-delay: 0;
}

body[data-aos-delay='2600'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2600'].aos-animate {
  transition-delay: 2600ms;
}

body[data-aos-duration='2650'] [data-aos], [data-aos][data-aos][data-aos-duration='2650'] {
  transition-duration: 2650ms;
}

body[data-aos-delay='2650'] [data-aos], [data-aos][data-aos][data-aos-delay='2650'] {
  transition-delay: 0;
}

body[data-aos-delay='2650'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2650'].aos-animate {
  transition-delay: 2650ms;
}

body[data-aos-duration='2700'] [data-aos], [data-aos][data-aos][data-aos-duration='2700'] {
  transition-duration: 2700ms;
}

body[data-aos-delay='2700'] [data-aos], [data-aos][data-aos][data-aos-delay='2700'] {
  transition-delay: 0;
}

body[data-aos-delay='2700'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2700'].aos-animate {
  transition-delay: 2700ms;
}

body[data-aos-duration='2750'] [data-aos], [data-aos][data-aos][data-aos-duration='2750'] {
  transition-duration: 2750ms;
}

body[data-aos-delay='2750'] [data-aos], [data-aos][data-aos][data-aos-delay='2750'] {
  transition-delay: 0;
}

body[data-aos-delay='2750'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2750'].aos-animate {
  transition-delay: 2750ms;
}

body[data-aos-duration='2800'] [data-aos], [data-aos][data-aos][data-aos-duration='2800'] {
  transition-duration: 2800ms;
}

body[data-aos-delay='2800'] [data-aos], [data-aos][data-aos][data-aos-delay='2800'] {
  transition-delay: 0;
}

body[data-aos-delay='2800'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2800'].aos-animate {
  transition-delay: 2800ms;
}

body[data-aos-duration='2850'] [data-aos], [data-aos][data-aos][data-aos-duration='2850'] {
  transition-duration: 2850ms;
}

body[data-aos-delay='2850'] [data-aos], [data-aos][data-aos][data-aos-delay='2850'] {
  transition-delay: 0;
}

body[data-aos-delay='2850'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2850'].aos-animate {
  transition-delay: 2850ms;
}

body[data-aos-duration='2900'] [data-aos], [data-aos][data-aos][data-aos-duration='2900'] {
  transition-duration: 2900ms;
}

body[data-aos-delay='2900'] [data-aos], [data-aos][data-aos][data-aos-delay='2900'] {
  transition-delay: 0;
}

body[data-aos-delay='2900'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2900'].aos-animate {
  transition-delay: 2900ms;
}

body[data-aos-duration='2950'] [data-aos], [data-aos][data-aos][data-aos-duration='2950'] {
  transition-duration: 2950ms;
}

body[data-aos-delay='2950'] [data-aos], [data-aos][data-aos][data-aos-delay='2950'] {
  transition-delay: 0;
}

body[data-aos-delay='2950'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2950'].aos-animate {
  transition-delay: 2950ms;
}

body[data-aos-duration='3000'] [data-aos], [data-aos][data-aos][data-aos-duration='3000'] {
  transition-duration: 3000ms;
}

body[data-aos-delay='3000'] [data-aos], [data-aos][data-aos][data-aos-delay='3000'] {
  transition-delay: 0;
}

body[data-aos-delay='3000'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='3000'].aos-animate {
  transition-delay: 3000ms;
}

body[data-aos-easing="linear"] [data-aos], [data-aos][data-aos][data-aos-easing="linear"] {
  transition-timing-function: cubic-bezier(0.25, 0.25, 0.75, 0.75);
}

body[data-aos-easing="ease"] [data-aos], [data-aos][data-aos][data-aos-easing="ease"] {
  transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
}

body[data-aos-easing="ease-in"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in"] {
  transition-timing-function: cubic-bezier(0.42, 0, 1, 1);
}

body[data-aos-easing="ease-out"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out"] {
  transition-timing-function: cubic-bezier(0, 0, 0.58, 1);
}

body[data-aos-easing="ease-in-out"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out"] {
  transition-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
}

body[data-aos-easing="ease-in-back"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-back"] {
  transition-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045);
}

body[data-aos-easing="ease-out-back"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-back"] {
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

body[data-aos-easing="ease-in-out-back"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-back"] {
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

body[data-aos-easing="ease-in-sine"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-sine"] {
  transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
}

body[data-aos-easing="ease-out-sine"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-sine"] {
  transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
}

body[data-aos-easing="ease-in-out-sine"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-sine"] {
  transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

body[data-aos-easing="ease-in-quad"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-quad"] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

body[data-aos-easing="ease-out-quad"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-quad"] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

body[data-aos-easing="ease-in-out-quad"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-quad"] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

body[data-aos-easing="ease-in-cubic"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-cubic"] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

body[data-aos-easing="ease-out-cubic"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-cubic"] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

body[data-aos-easing="ease-in-out-cubic"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-cubic"] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

body[data-aos-easing="ease-in-quart"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-quart"] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

body[data-aos-easing="ease-out-quart"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-quart"] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

body[data-aos-easing="ease-in-out-quart"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-quart"] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

body[data-aos-duration='50'] [data-aos], [data-aos][data-aos][data-aos-duration='50'] {
  transition-duration: 50ms;
}

body[data-aos-delay='50'] [data-aos], [data-aos][data-aos][data-aos-delay='50'] {
  transition-delay: 0;
}

body[data-aos-delay='50'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='50'].aos-animate {
  transition-delay: 50ms;
}

body[data-aos-duration='100'] [data-aos], [data-aos][data-aos][data-aos-duration='100'] {
  transition-duration: 100ms;
}

body[data-aos-delay='100'] [data-aos], [data-aos][data-aos][data-aos-delay='100'] {
  transition-delay: 0;
}

body[data-aos-delay='100'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='100'].aos-animate {
  transition-delay: 100ms;
}

body[data-aos-duration='150'] [data-aos], [data-aos][data-aos][data-aos-duration='150'] {
  transition-duration: 150ms;
}

body[data-aos-delay='150'] [data-aos], [data-aos][data-aos][data-aos-delay='150'] {
  transition-delay: 0;
}

body[data-aos-delay='150'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='150'].aos-animate {
  transition-delay: 150ms;
}

body[data-aos-duration='200'] [data-aos], [data-aos][data-aos][data-aos-duration='200'] {
  transition-duration: 200ms;
}

body[data-aos-delay='200'] [data-aos], [data-aos][data-aos][data-aos-delay='200'] {
  transition-delay: 0;
}

body[data-aos-delay='200'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='200'].aos-animate {
  transition-delay: 200ms;
}

body[data-aos-duration='250'] [data-aos], [data-aos][data-aos][data-aos-duration='250'] {
  transition-duration: 250ms;
}

body[data-aos-delay='250'] [data-aos], [data-aos][data-aos][data-aos-delay='250'] {
  transition-delay: 0;
}

body[data-aos-delay='250'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='250'].aos-animate {
  transition-delay: 250ms;
}

body[data-aos-duration='300'] [data-aos], [data-aos][data-aos][data-aos-duration='300'] {
  transition-duration: 300ms;
}

body[data-aos-delay='300'] [data-aos], [data-aos][data-aos][data-aos-delay='300'] {
  transition-delay: 0;
}

body[data-aos-delay='300'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='300'].aos-animate {
  transition-delay: 300ms;
}

body[data-aos-duration='350'] [data-aos], [data-aos][data-aos][data-aos-duration='350'] {
  transition-duration: 350ms;
}

body[data-aos-delay='350'] [data-aos], [data-aos][data-aos][data-aos-delay='350'] {
  transition-delay: 0;
}

body[data-aos-delay='350'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='350'].aos-animate {
  transition-delay: 350ms;
}

body[data-aos-duration='400'] [data-aos], [data-aos][data-aos][data-aos-duration='400'] {
  transition-duration: 400ms;
}

body[data-aos-delay='400'] [data-aos], [data-aos][data-aos][data-aos-delay='400'] {
  transition-delay: 0;
}

body[data-aos-delay='400'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='400'].aos-animate {
  transition-delay: 400ms;
}

body[data-aos-duration='450'] [data-aos], [data-aos][data-aos][data-aos-duration='450'] {
  transition-duration: 450ms;
}

body[data-aos-delay='450'] [data-aos], [data-aos][data-aos][data-aos-delay='450'] {
  transition-delay: 0;
}

body[data-aos-delay='450'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='450'].aos-animate {
  transition-delay: 450ms;
}

body[data-aos-duration='500'] [data-aos], [data-aos][data-aos][data-aos-duration='500'] {
  transition-duration: 500ms;
}

body[data-aos-delay='500'] [data-aos], [data-aos][data-aos][data-aos-delay='500'] {
  transition-delay: 0;
}

body[data-aos-delay='500'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='500'].aos-animate {
  transition-delay: 500ms;
}

body[data-aos-duration='550'] [data-aos], [data-aos][data-aos][data-aos-duration='550'] {
  transition-duration: 550ms;
}

body[data-aos-delay='550'] [data-aos], [data-aos][data-aos][data-aos-delay='550'] {
  transition-delay: 0;
}

body[data-aos-delay='550'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='550'].aos-animate {
  transition-delay: 550ms;
}

body[data-aos-duration='600'] [data-aos], [data-aos][data-aos][data-aos-duration='600'] {
  transition-duration: 600ms;
}

body[data-aos-delay='600'] [data-aos], [data-aos][data-aos][data-aos-delay='600'] {
  transition-delay: 0;
}

body[data-aos-delay='600'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='600'].aos-animate {
  transition-delay: 600ms;
}

body[data-aos-duration='650'] [data-aos], [data-aos][data-aos][data-aos-duration='650'] {
  transition-duration: 650ms;
}

body[data-aos-delay='650'] [data-aos], [data-aos][data-aos][data-aos-delay='650'] {
  transition-delay: 0;
}

body[data-aos-delay='650'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='650'].aos-animate {
  transition-delay: 650ms;
}

body[data-aos-duration='700'] [data-aos], [data-aos][data-aos][data-aos-duration='700'] {
  transition-duration: 700ms;
}

body[data-aos-delay='700'] [data-aos], [data-aos][data-aos][data-aos-delay='700'] {
  transition-delay: 0;
}

body[data-aos-delay='700'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='700'].aos-animate {
  transition-delay: 700ms;
}

body[data-aos-duration='750'] [data-aos], [data-aos][data-aos][data-aos-duration='750'] {
  transition-duration: 750ms;
}

body[data-aos-delay='750'] [data-aos], [data-aos][data-aos][data-aos-delay='750'] {
  transition-delay: 0;
}

body[data-aos-delay='750'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='750'].aos-animate {
  transition-delay: 750ms;
}

body[data-aos-duration='800'] [data-aos], [data-aos][data-aos][data-aos-duration='800'] {
  transition-duration: 800ms;
}

body[data-aos-delay='800'] [data-aos], [data-aos][data-aos][data-aos-delay='800'] {
  transition-delay: 0;
}

body[data-aos-delay='800'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='800'].aos-animate {
  transition-delay: 800ms;
}

body[data-aos-duration='850'] [data-aos], [data-aos][data-aos][data-aos-duration='850'] {
  transition-duration: 850ms;
}

body[data-aos-delay='850'] [data-aos], [data-aos][data-aos][data-aos-delay='850'] {
  transition-delay: 0;
}

body[data-aos-delay='850'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='850'].aos-animate {
  transition-delay: 850ms;
}

body[data-aos-duration='900'] [data-aos], [data-aos][data-aos][data-aos-duration='900'] {
  transition-duration: 900ms;
}

body[data-aos-delay='900'] [data-aos], [data-aos][data-aos][data-aos-delay='900'] {
  transition-delay: 0;
}

body[data-aos-delay='900'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='900'].aos-animate {
  transition-delay: 900ms;
}

body[data-aos-duration='950'] [data-aos], [data-aos][data-aos][data-aos-duration='950'] {
  transition-duration: 950ms;
}

body[data-aos-delay='950'] [data-aos], [data-aos][data-aos][data-aos-delay='950'] {
  transition-delay: 0;
}

body[data-aos-delay='950'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='950'].aos-animate {
  transition-delay: 950ms;
}

body[data-aos-duration='1000'] [data-aos], [data-aos][data-aos][data-aos-duration='1000'] {
  transition-duration: 1000ms;
}

body[data-aos-delay='1000'] [data-aos], [data-aos][data-aos][data-aos-delay='1000'] {
  transition-delay: 0;
}

body[data-aos-delay='1000'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1000'].aos-animate {
  transition-delay: 1000ms;
}

body[data-aos-duration='1050'] [data-aos], [data-aos][data-aos][data-aos-duration='1050'] {
  transition-duration: 1050ms;
}

body[data-aos-delay='1050'] [data-aos], [data-aos][data-aos][data-aos-delay='1050'] {
  transition-delay: 0;
}

body[data-aos-delay='1050'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1050'].aos-animate {
  transition-delay: 1050ms;
}

body[data-aos-duration='1100'] [data-aos], [data-aos][data-aos][data-aos-duration='1100'] {
  transition-duration: 1100ms;
}

body[data-aos-delay='1100'] [data-aos], [data-aos][data-aos][data-aos-delay='1100'] {
  transition-delay: 0;
}

body[data-aos-delay='1100'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1100'].aos-animate {
  transition-delay: 1100ms;
}

body[data-aos-duration='1150'] [data-aos], [data-aos][data-aos][data-aos-duration='1150'] {
  transition-duration: 1150ms;
}

body[data-aos-delay='1150'] [data-aos], [data-aos][data-aos][data-aos-delay='1150'] {
  transition-delay: 0;
}

body[data-aos-delay='1150'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1150'].aos-animate {
  transition-delay: 1150ms;
}

body[data-aos-duration='1200'] [data-aos], [data-aos][data-aos][data-aos-duration='1200'] {
  transition-duration: 1200ms;
}

body[data-aos-delay='1200'] [data-aos], [data-aos][data-aos][data-aos-delay='1200'] {
  transition-delay: 0;
}

body[data-aos-delay='1200'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1200'].aos-animate {
  transition-delay: 1200ms;
}

body[data-aos-duration='1250'] [data-aos], [data-aos][data-aos][data-aos-duration='1250'] {
  transition-duration: 1250ms;
}

body[data-aos-delay='1250'] [data-aos], [data-aos][data-aos][data-aos-delay='1250'] {
  transition-delay: 0;
}

body[data-aos-delay='1250'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1250'].aos-animate {
  transition-delay: 1250ms;
}

body[data-aos-duration='1300'] [data-aos], [data-aos][data-aos][data-aos-duration='1300'] {
  transition-duration: 1300ms;
}

body[data-aos-delay='1300'] [data-aos], [data-aos][data-aos][data-aos-delay='1300'] {
  transition-delay: 0;
}

body[data-aos-delay='1300'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1300'].aos-animate {
  transition-delay: 1300ms;
}

body[data-aos-duration='1350'] [data-aos], [data-aos][data-aos][data-aos-duration='1350'] {
  transition-duration: 1350ms;
}

body[data-aos-delay='1350'] [data-aos], [data-aos][data-aos][data-aos-delay='1350'] {
  transition-delay: 0;
}

body[data-aos-delay='1350'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1350'].aos-animate {
  transition-delay: 1350ms;
}

body[data-aos-duration='1400'] [data-aos], [data-aos][data-aos][data-aos-duration='1400'] {
  transition-duration: 1400ms;
}

body[data-aos-delay='1400'] [data-aos], [data-aos][data-aos][data-aos-delay='1400'] {
  transition-delay: 0;
}

body[data-aos-delay='1400'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1400'].aos-animate {
  transition-delay: 1400ms;
}

body[data-aos-duration='1450'] [data-aos], [data-aos][data-aos][data-aos-duration='1450'] {
  transition-duration: 1450ms;
}

body[data-aos-delay='1450'] [data-aos], [data-aos][data-aos][data-aos-delay='1450'] {
  transition-delay: 0;
}

body[data-aos-delay='1450'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1450'].aos-animate {
  transition-delay: 1450ms;
}

body[data-aos-duration='1500'] [data-aos], [data-aos][data-aos][data-aos-duration='1500'] {
  transition-duration: 1500ms;
}

body[data-aos-delay='1500'] [data-aos], [data-aos][data-aos][data-aos-delay='1500'] {
  transition-delay: 0;
}

body[data-aos-delay='1500'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1500'].aos-animate {
  transition-delay: 1500ms;
}

body[data-aos-duration='1550'] [data-aos], [data-aos][data-aos][data-aos-duration='1550'] {
  transition-duration: 1550ms;
}

body[data-aos-delay='1550'] [data-aos], [data-aos][data-aos][data-aos-delay='1550'] {
  transition-delay: 0;
}

body[data-aos-delay='1550'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1550'].aos-animate {
  transition-delay: 1550ms;
}

body[data-aos-duration='1600'] [data-aos], [data-aos][data-aos][data-aos-duration='1600'] {
  transition-duration: 1600ms;
}

body[data-aos-delay='1600'] [data-aos], [data-aos][data-aos][data-aos-delay='1600'] {
  transition-delay: 0;
}

body[data-aos-delay='1600'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1600'].aos-animate {
  transition-delay: 1600ms;
}

body[data-aos-duration='1650'] [data-aos], [data-aos][data-aos][data-aos-duration='1650'] {
  transition-duration: 1650ms;
}

body[data-aos-delay='1650'] [data-aos], [data-aos][data-aos][data-aos-delay='1650'] {
  transition-delay: 0;
}

body[data-aos-delay='1650'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1650'].aos-animate {
  transition-delay: 1650ms;
}

body[data-aos-duration='1700'] [data-aos], [data-aos][data-aos][data-aos-duration='1700'] {
  transition-duration: 1700ms;
}

body[data-aos-delay='1700'] [data-aos], [data-aos][data-aos][data-aos-delay='1700'] {
  transition-delay: 0;
}

body[data-aos-delay='1700'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1700'].aos-animate {
  transition-delay: 1700ms;
}

body[data-aos-duration='1750'] [data-aos], [data-aos][data-aos][data-aos-duration='1750'] {
  transition-duration: 1750ms;
}

body[data-aos-delay='1750'] [data-aos], [data-aos][data-aos][data-aos-delay='1750'] {
  transition-delay: 0;
}

body[data-aos-delay='1750'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1750'].aos-animate {
  transition-delay: 1750ms;
}

body[data-aos-duration='1800'] [data-aos], [data-aos][data-aos][data-aos-duration='1800'] {
  transition-duration: 1800ms;
}

body[data-aos-delay='1800'] [data-aos], [data-aos][data-aos][data-aos-delay='1800'] {
  transition-delay: 0;
}

body[data-aos-delay='1800'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1800'].aos-animate {
  transition-delay: 1800ms;
}

body[data-aos-duration='1850'] [data-aos], [data-aos][data-aos][data-aos-duration='1850'] {
  transition-duration: 1850ms;
}

body[data-aos-delay='1850'] [data-aos], [data-aos][data-aos][data-aos-delay='1850'] {
  transition-delay: 0;
}

body[data-aos-delay='1850'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1850'].aos-animate {
  transition-delay: 1850ms;
}

body[data-aos-duration='1900'] [data-aos], [data-aos][data-aos][data-aos-duration='1900'] {
  transition-duration: 1900ms;
}

body[data-aos-delay='1900'] [data-aos], [data-aos][data-aos][data-aos-delay='1900'] {
  transition-delay: 0;
}

body[data-aos-delay='1900'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1900'].aos-animate {
  transition-delay: 1900ms;
}

body[data-aos-duration='1950'] [data-aos], [data-aos][data-aos][data-aos-duration='1950'] {
  transition-duration: 1950ms;
}

body[data-aos-delay='1950'] [data-aos], [data-aos][data-aos][data-aos-delay='1950'] {
  transition-delay: 0;
}

body[data-aos-delay='1950'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1950'].aos-animate {
  transition-delay: 1950ms;
}

body[data-aos-duration='2000'] [data-aos], [data-aos][data-aos][data-aos-duration='2000'] {
  transition-duration: 2000ms;
}

body[data-aos-delay='2000'] [data-aos], [data-aos][data-aos][data-aos-delay='2000'] {
  transition-delay: 0;
}

body[data-aos-delay='2000'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2000'].aos-animate {
  transition-delay: 2000ms;
}

body[data-aos-duration='2050'] [data-aos], [data-aos][data-aos][data-aos-duration='2050'] {
  transition-duration: 2050ms;
}

body[data-aos-delay='2050'] [data-aos], [data-aos][data-aos][data-aos-delay='2050'] {
  transition-delay: 0;
}

body[data-aos-delay='2050'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2050'].aos-animate {
  transition-delay: 2050ms;
}

body[data-aos-duration='2100'] [data-aos], [data-aos][data-aos][data-aos-duration='2100'] {
  transition-duration: 2100ms;
}

body[data-aos-delay='2100'] [data-aos], [data-aos][data-aos][data-aos-delay='2100'] {
  transition-delay: 0;
}

body[data-aos-delay='2100'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2100'].aos-animate {
  transition-delay: 2100ms;
}

body[data-aos-duration='2150'] [data-aos], [data-aos][data-aos][data-aos-duration='2150'] {
  transition-duration: 2150ms;
}

body[data-aos-delay='2150'] [data-aos], [data-aos][data-aos][data-aos-delay='2150'] {
  transition-delay: 0;
}

body[data-aos-delay='2150'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2150'].aos-animate {
  transition-delay: 2150ms;
}

body[data-aos-duration='2200'] [data-aos], [data-aos][data-aos][data-aos-duration='2200'] {
  transition-duration: 2200ms;
}

body[data-aos-delay='2200'] [data-aos], [data-aos][data-aos][data-aos-delay='2200'] {
  transition-delay: 0;
}

body[data-aos-delay='2200'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2200'].aos-animate {
  transition-delay: 2200ms;
}

body[data-aos-duration='2250'] [data-aos], [data-aos][data-aos][data-aos-duration='2250'] {
  transition-duration: 2250ms;
}

body[data-aos-delay='2250'] [data-aos], [data-aos][data-aos][data-aos-delay='2250'] {
  transition-delay: 0;
}

body[data-aos-delay='2250'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2250'].aos-animate {
  transition-delay: 2250ms;
}

body[data-aos-duration='2300'] [data-aos], [data-aos][data-aos][data-aos-duration='2300'] {
  transition-duration: 2300ms;
}

body[data-aos-delay='2300'] [data-aos], [data-aos][data-aos][data-aos-delay='2300'] {
  transition-delay: 0;
}

body[data-aos-delay='2300'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2300'].aos-animate {
  transition-delay: 2300ms;
}

body[data-aos-duration='2350'] [data-aos], [data-aos][data-aos][data-aos-duration='2350'] {
  transition-duration: 2350ms;
}

body[data-aos-delay='2350'] [data-aos], [data-aos][data-aos][data-aos-delay='2350'] {
  transition-delay: 0;
}

body[data-aos-delay='2350'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2350'].aos-animate {
  transition-delay: 2350ms;
}

body[data-aos-duration='2400'] [data-aos], [data-aos][data-aos][data-aos-duration='2400'] {
  transition-duration: 2400ms;
}

body[data-aos-delay='2400'] [data-aos], [data-aos][data-aos][data-aos-delay='2400'] {
  transition-delay: 0;
}

body[data-aos-delay='2400'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2400'].aos-animate {
  transition-delay: 2400ms;
}

body[data-aos-duration='2450'] [data-aos], [data-aos][data-aos][data-aos-duration='2450'] {
  transition-duration: 2450ms;
}

body[data-aos-delay='2450'] [data-aos], [data-aos][data-aos][data-aos-delay='2450'] {
  transition-delay: 0;
}

body[data-aos-delay='2450'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2450'].aos-animate {
  transition-delay: 2450ms;
}

body[data-aos-duration='2500'] [data-aos], [data-aos][data-aos][data-aos-duration='2500'] {
  transition-duration: 2500ms;
}

body[data-aos-delay='2500'] [data-aos], [data-aos][data-aos][data-aos-delay='2500'] {
  transition-delay: 0;
}

body[data-aos-delay='2500'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2500'].aos-animate {
  transition-delay: 2500ms;
}

body[data-aos-duration='2550'] [data-aos], [data-aos][data-aos][data-aos-duration='2550'] {
  transition-duration: 2550ms;
}

body[data-aos-delay='2550'] [data-aos], [data-aos][data-aos][data-aos-delay='2550'] {
  transition-delay: 0;
}

body[data-aos-delay='2550'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2550'].aos-animate {
  transition-delay: 2550ms;
}

body[data-aos-duration='2600'] [data-aos], [data-aos][data-aos][data-aos-duration='2600'] {
  transition-duration: 2600ms;
}

body[data-aos-delay='2600'] [data-aos], [data-aos][data-aos][data-aos-delay='2600'] {
  transition-delay: 0;
}

body[data-aos-delay='2600'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2600'].aos-animate {
  transition-delay: 2600ms;
}

body[data-aos-duration='2650'] [data-aos], [data-aos][data-aos][data-aos-duration='2650'] {
  transition-duration: 2650ms;
}

body[data-aos-delay='2650'] [data-aos], [data-aos][data-aos][data-aos-delay='2650'] {
  transition-delay: 0;
}

body[data-aos-delay='2650'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2650'].aos-animate {
  transition-delay: 2650ms;
}

body[data-aos-duration='2700'] [data-aos], [data-aos][data-aos][data-aos-duration='2700'] {
  transition-duration: 2700ms;
}

body[data-aos-delay='2700'] [data-aos], [data-aos][data-aos][data-aos-delay='2700'] {
  transition-delay: 0;
}

body[data-aos-delay='2700'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2700'].aos-animate {
  transition-delay: 2700ms;
}

body[data-aos-duration='2750'] [data-aos], [data-aos][data-aos][data-aos-duration='2750'] {
  transition-duration: 2750ms;
}

body[data-aos-delay='2750'] [data-aos], [data-aos][data-aos][data-aos-delay='2750'] {
  transition-delay: 0;
}

body[data-aos-delay='2750'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2750'].aos-animate {
  transition-delay: 2750ms;
}

body[data-aos-duration='2800'] [data-aos], [data-aos][data-aos][data-aos-duration='2800'] {
  transition-duration: 2800ms;
}

body[data-aos-delay='2800'] [data-aos], [data-aos][data-aos][data-aos-delay='2800'] {
  transition-delay: 0;
}

body[data-aos-delay='2800'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2800'].aos-animate {
  transition-delay: 2800ms;
}

body[data-aos-duration='2850'] [data-aos], [data-aos][data-aos][data-aos-duration='2850'] {
  transition-duration: 2850ms;
}

body[data-aos-delay='2850'] [data-aos], [data-aos][data-aos][data-aos-delay='2850'] {
  transition-delay: 0;
}

body[data-aos-delay='2850'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2850'].aos-animate {
  transition-delay: 2850ms;
}

body[data-aos-duration='2900'] [data-aos], [data-aos][data-aos][data-aos-duration='2900'] {
  transition-duration: 2900ms;
}

body[data-aos-delay='2900'] [data-aos], [data-aos][data-aos][data-aos-delay='2900'] {
  transition-delay: 0;
}

body[data-aos-delay='2900'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2900'].aos-animate {
  transition-delay: 2900ms;
}

body[data-aos-duration='2950'] [data-aos], [data-aos][data-aos][data-aos-duration='2950'] {
  transition-duration: 2950ms;
}

body[data-aos-delay='2950'] [data-aos], [data-aos][data-aos][data-aos-delay='2950'] {
  transition-delay: 0;
}

body[data-aos-delay='2950'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2950'].aos-animate {
  transition-delay: 2950ms;
}

body[data-aos-duration='3000'] [data-aos], [data-aos][data-aos][data-aos-duration='3000'] {
  transition-duration: 3000ms;
}

body[data-aos-delay='3000'] [data-aos], [data-aos][data-aos][data-aos-delay='3000'] {
  transition-delay: 0;
}

body[data-aos-delay='3000'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='3000'].aos-animate {
  transition-delay: 3000ms;
}

body[data-aos-easing="linear"] [data-aos], [data-aos][data-aos][data-aos-easing="linear"] {
  transition-timing-function: cubic-bezier(0.25, 0.25, 0.75, 0.75);
}

body[data-aos-easing="ease"] [data-aos], [data-aos][data-aos][data-aos-easing="ease"] {
  transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
}

body[data-aos-easing="ease-in"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in"] {
  transition-timing-function: cubic-bezier(0.42, 0, 1, 1);
}

body[data-aos-easing="ease-out"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out"] {
  transition-timing-function: cubic-bezier(0, 0, 0.58, 1);
}

body[data-aos-easing="ease-in-out"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out"] {
  transition-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
}

body[data-aos-easing="ease-in-back"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-back"] {
  transition-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045);
}

body[data-aos-easing="ease-out-back"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-back"] {
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

body[data-aos-easing="ease-in-out-back"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-back"] {
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

body[data-aos-easing="ease-in-sine"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-sine"] {
  transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
}

body[data-aos-easing="ease-out-sine"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-sine"] {
  transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
}

body[data-aos-easing="ease-in-out-sine"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-sine"] {
  transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

body[data-aos-easing="ease-in-quad"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-quad"] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

body[data-aos-easing="ease-out-quad"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-quad"] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

body[data-aos-easing="ease-in-out-quad"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-quad"] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

body[data-aos-easing="ease-in-cubic"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-cubic"] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

body[data-aos-easing="ease-out-cubic"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-cubic"] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

body[data-aos-easing="ease-in-out-cubic"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-cubic"] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

body[data-aos-easing="ease-in-quart"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-quart"] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

body[data-aos-easing="ease-out-quart"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-quart"] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

body[data-aos-easing="ease-in-out-quart"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-quart"] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

/**
 * Fade animations:
 * fade
 * fade-up, fade-down, fade-left, fade-right
 * fade-up-right, fade-up-left, fade-down-right, fade-down-left
 */
[data-aos^='fade'][data-aos^='fade'] {
  opacity: 0;
  transition-property: opacity, transform;
}

[data-aos^='fade'][data-aos^='fade'].aos-animate {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

[data-aos='fade-up'] {
  transform: translate3d(0, 100px, 0);
}

[data-aos='fade-down'] {
  transform: translate3d(0, -100px, 0);
}

[data-aos='fade-right'] {
  transform: translate3d(-100px, 0, 0);
}

[data-aos='fade-left'] {
  transform: translate3d(100px, 0, 0);
}

[data-aos='fade-up-right'] {
  transform: translate3d(-100px, 100px, 0);
}

[data-aos='fade-up-left'] {
  transform: translate3d(100px, 100px, 0);
}

[data-aos='fade-down-right'] {
  transform: translate3d(-100px, -100px, 0);
}

[data-aos='fade-down-left'] {
  transform: translate3d(100px, -100px, 0);
}

/**
 * Zoom animations:
 * zoom-in, zoom-in-up, zoom-in-down, zoom-in-left, zoom-in-right
 * zoom-out, zoom-out-up, zoom-out-down, zoom-out-left, zoom-out-right
 */
[data-aos^='zoom'][data-aos^='zoom'] {
  opacity: 0;
  transition-property: opacity, transform;
}

[data-aos^='zoom'][data-aos^='zoom'].aos-animate {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

[data-aos='zoom-in'] {
  transform: scale(0.6);
}

[data-aos='zoom-in-up'] {
  transform: translate3d(0, 100px, 0) scale(0.6);
}

[data-aos='zoom-in-down'] {
  transform: translate3d(0, -100px, 0) scale(0.6);
}

[data-aos='zoom-in-right'] {
  transform: translate3d(-100px, 0, 0) scale(0.6);
}

[data-aos='zoom-in-left'] {
  transform: translate3d(100px, 0, 0) scale(0.6);
}

[data-aos='zoom-out'] {
  transform: scale(1.2);
}

[data-aos='zoom-out-up'] {
  transform: translate3d(0, 100px, 0) scale(1.2);
}

[data-aos='zoom-out-down'] {
  transform: translate3d(0, -100px, 0) scale(1.2);
}

[data-aos='zoom-out-right'] {
  transform: translate3d(-100px, 0, 0) scale(1.2);
}

[data-aos='zoom-out-left'] {
  transform: translate3d(100px, 0, 0) scale(1.2);
}

/**
 * Slide animations
 */
[data-aos^='slide'][data-aos^='slide'] {
  transition-property: transform;
}

[data-aos^='slide'][data-aos^='slide'].aos-animate {
  transform: translate3d(0, 0, 0);
}

[data-aos='slide-up'] {
  transform: translate3d(0, 100%, 0);
}

[data-aos='slide-down'] {
  transform: translate3d(0, -100%, 0);
}

[data-aos='slide-right'] {
  transform: translate3d(-100%, 0, 0);
}

[data-aos='slide-left'] {
  transform: translate3d(100%, 0, 0);
}

/**
 * Flip animations:
 * flip-left, flip-right, flip-up, flip-down
 */
[data-aos^='flip'][data-aos^='flip'] {
  backface-visibility: hidden;
  transition-property: transform;
}

[data-aos='flip-left'] {
  transform: perspective(2500px) rotateY(-100deg);
}

[data-aos='flip-left'].aos-animate {
  transform: perspective(2500px) rotateY(0);
}

[data-aos='flip-right'] {
  transform: perspective(2500px) rotateY(100deg);
}

[data-aos='flip-right'].aos-animate {
  transform: perspective(2500px) rotateY(0);
}

[data-aos='flip-up'] {
  transform: perspective(2500px) rotateX(-100deg);
}

[data-aos='flip-up'].aos-animate {
  transform: perspective(2500px) rotateX(0);
}

[data-aos='flip-down'] {
  transform: perspective(2500px) rotateX(100deg);
}

[data-aos='flip-down'].aos-animate {
  transform: perspective(2500px) rotateX(0);
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVuZG9yLmNzcyIsInNvdXJjZXMiOlsidmVuZG9yLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3V0aWwuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3ZhbHVlLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19kaXJlY3Rpb24uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19zZWxlY3Rvci5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL190eXBvZ3JhcGh5LnNjc3MiLCJ2ZW5kb3IvX2ZvdW5kYXRpb24uc2NzcyIsInZlbmRvci9fc2xpY2suc2NzcyIsInZlbmRvci9hb3MvX2FuaW1hdGlvbnMuc2NzcyIsInZlbmRvci9hb3MvX2NvcmUuc2NzcyIsInZlbmRvci9hb3MvX2Vhc2luZy5zY3NzIiwidmVuZG9yL2Fvcy9hb3Muc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwic2V0dGluZ3NcIjtcclxuXHJcbkBpbXBvcnQgXCJ2ZW5kb3IvX2ZvdW5kYXRpb24uc2Nzc1wiO1xuQGltcG9ydCBcInZlbmRvci9fc2xpY2suc2Nzc1wiO1xuQGltcG9ydCBcInZlbmRvci9hb3MvX2FuaW1hdGlvbnMuc2Nzc1wiO1xuQGltcG9ydCBcInZlbmRvci9hb3MvX2NvcmUuc2Nzc1wiO1xuQGltcG9ydCBcInZlbmRvci9hb3MvX2Vhc2luZy5zY3NzXCI7XG5AaW1wb3J0IFwidmVuZG9yL2Fvcy9hb3Muc2Nzc1wiO1xyXG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3NcclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vXHJcbi8vICBUYWJsZSBvZiBDb250ZW50czpcclxuLy9cclxuLy8gICAxLiBHbG9iYWxcclxuLy8gICAyLiBCcmVha3BvaW50c1xyXG4vLyAgIDMuIFRoZSBHcmlkXHJcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vICAgNi4gQWJpZGVcclxuLy8gICA3LiBBY2NvcmRpb25cclxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAgIDkuIEJhZGdlXHJcbi8vICAxMC4gQnJlYWRjcnVtYnNcclxuLy8gIDExLiBCdXR0b25cclxuLy8gIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gIDEzLiBDYWxsb3V0XHJcbi8vICAxNC4gQ2FyZFxyXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxyXG4vLyAgMTYuIERyaWxsZG93blxyXG4vLyAgMTcuIERyb3Bkb3duXHJcbi8vICAxOC4gRHJvcGRvd24gTWVudVxyXG4vLyAgMTkuIEZvcm1zXHJcbi8vICAyMC4gTGFiZWxcclxuLy8gIDIxLiBNZWRpYSBPYmplY3RcclxuLy8gIDIyLiBNZW51XHJcbi8vICAyMy4gTWV0ZXJcclxuLy8gIDI0LiBPZmYtY2FudmFzXHJcbi8vICAyNS4gT3JiaXRcclxuLy8gIDI2LiBQYWdpbmF0aW9uXHJcbi8vICAyNy4gUHJvZ3Jlc3MgQmFyXHJcbi8vICAyOC4gUmVzcG9uc2l2ZSBFbWJlZFxyXG4vLyAgMjkuIFJldmVhbFxyXG4vLyAgMzAuIFNsaWRlclxyXG4vLyAgMzEuIFN3aXRjaFxyXG4vLyAgMzIuIFRhYmxlXHJcbi8vICAzMy4gVGFic1xyXG4vLyAgMzQuIFRodW1ibmFpbFxyXG4vLyAgMzUuIFRpdGxlIEJhclxyXG4vLyAgMzYuIFRvb2x0aXBcclxuLy8gIDM3LiBUb3AgQmFyXHJcblxyXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xyXG5cclxuLy8gMS4gR2xvYmFsXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJGdsb2JhbC1mb250LXNpemU6IDYyLjUlO1xyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxNDQwKTtcclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjI1O1xyXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXHJcbiAgICAgICAgcHJpbWFyeTogIzE3NzliYSxcclxuICAgICAgICBzZWNvbmRhcnk6ICM3Njc2NzYsXHJcbiAgICAgICAgc3VjY2VzczogIzNhZGI3NixcclxuICAgICAgICB3YXJuaW5nOiAjZmZhZTAwLFxyXG4gICAgICAgIGFsZXJ0OiAjY2M0YjM3LFxyXG4pO1xyXG5cclxuJGNvbG9yOiAoXHJcbiAgICAgICAgcHJpbWFyeTogIzJlMmU0NCxcclxuICAgICAgICByZWQ6ICNjYzMzMzMsXHJcbiAgICAgICAgYmx1ZTogIzNhNDE4NSxcclxuICAgICAgICBncmVlbjogIzM2Y2M2MCxcclxuICAgICAgICB0ZXh0OiAjMzYzNjM2LFxyXG4gICAgICAgIGJvcmRlcjojZTdlN2U3XHJcbik7XHJcbiRzaGFkb3c6IChcclxuICAgICAgICB0ZXh0OiAwcHggMXB4IDNweCByZ2JhKDkxLCA5MSwgOTEsIDEpLFxyXG4gICAgICAgIGJveDogMHB4IDFweCAzcHggMC4wNnB4IHJnYmEoOTEsIDkxLCA5MSwgMSlcclxuKTtcclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XHJcbiRtZWRpdW0tZ3JheTogI2NhY2FjYTtcclxuJGRhcmstZ3JheTogIzhhOGE4YTtcclxuJGJsYWNrOiAjMGEwYTBhO1xyXG4kd2hpdGU6ICNmZWZlZmU7XHJcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xyXG4kYm9keS1mb250LWZhbWlseTogJ1JvYm90bycsIHNhbnMtc2VyaWY7XHJcbiRib2R5LWZvbnQtZmFtaWx5MjogJ1JvYm90bycsJ1BhbnRvbicsIHNhbnMtc2VyaWY7XHJcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IDMwMDtcclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcclxuJGdsb2JhbC1yYWRpdXM6IDA7XHJcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcclxuJGdsb2JhbC1mbGV4Ym94OiBmYWxzZTtcclxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xyXG5cclxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xyXG5cclxuLy8gMi4gQnJlYWtwb2ludHNcclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiAxMjtcclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgICAgICAgc21hbGw6IDAsXHJcbiAgICAgICAgbWVkaXVtOiA2NDBweCxcclxuICAgICAgICB0YWJsZXQ6IDc2OHB4LFxyXG4gICAgICAgIGxhcmdlOiAxMDI0cHgsXHJcbiAgICAgICAgd2xhcmdlOiAxMjAwcHgsXHJcbiAgICAgICAgeGxhcmdlOiAxNDQwcHgsXHJcbiAgICAgICAgeHhsYXJnZTogMTkyMHB4LFxyXG4pO1xyXG4kcHJpbnQtYnJlYWtwb2ludDogdGFibGV0O1xyXG4kcHJpbnQtYnJlYWtwb2ludDogd2xhcmdlO1xyXG4kcHJpbnQtYnJlYWtwb2ludDogeGxhcmdlO1xyXG4kcHJpbnQtYnJlYWtwb2ludDogeHhsYXJnZTtcclxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSB0YWJsZXQgbGFyZ2Ugd2xhcmdlIHhsYXJnZSB4eGxhcmdlKTtcclxuXHJcbi8vIDMuIFRoZSBHcmlkTlxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xyXG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXHJcbiAgICAgICAgc21hbGw6IDMwcHgsXHJcbiAgICAgICAgbWVkaXVtOiAzMHB4LFxyXG4pO1xyXG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcclxuJGJsb2NrLWdyaWQtbWF4OiA4O1xyXG5cclxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XHJcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xyXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiRoZWFkZXItc3R5bGVzOiAoXHJcbiAgICAgICAgc21hbGw6IChcclxuICAgICAgICAgICAgICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxyXG4gICAgICAgICAgICAgICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXHJcbiAgICAgICAgICAgICAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcclxuICAgICAgICAgICAgICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxyXG4gICAgICAgICAgICAgICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXHJcbiAgICAgICAgICAgICAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcclxuICAgICAgICApLFxyXG4gICAgICAgIG1lZGl1bTogKFxyXG4gICAgICAgICAgICAgICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXHJcbiAgICAgICAgICAgICAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcclxuICAgICAgICAgICAgICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxyXG4gICAgICAgICAgICAgICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXHJcbiAgICAgICAgICAgICAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcclxuICAgICAgICAgICAgICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxyXG4gICAgICAgICksXHJcbik7XHJcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xyXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XHJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4kY29kZS1jb2xvcjogJGJsYWNrO1xyXG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xyXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XHJcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XHJcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XHJcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xyXG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcclxuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcclxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xyXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XHJcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xyXG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XHJcblxyXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcclxuJGxlYWQtbGluZWhlaWdodDogMS42O1xyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcclxuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xyXG5cclxuLy8gNi4gQWJpZGVcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRhYmlkZS1pbnB1dHM6IHRydWU7XHJcbiRhYmlkZS1sYWJlbHM6IHRydWU7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XHJcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XHJcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcblxyXG4vLyA3LiBBY2NvcmRpb25cclxuLy8gLS0tLS0tLS0tLS0tXHJcblxyXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XHJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcclxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xyXG5cclxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XHJcblxyXG4vLyA5LiBCYWRnZVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XHJcblxyXG4vLyAxMC4gQnJlYWRjcnVtYnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XHJcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g6IHRydWU7XHJcblxyXG4vLyAxMS4gQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbTtcclxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xyXG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xyXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XHJcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcclxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kYnV0dG9uLXNpemVzOiAoXHJcbiAgICAgICAgdGlueTogMC42cmVtLFxyXG4gICAgICAgIHNtYWxsOiAwLjc1cmVtLFxyXG4gICAgICAgIGRlZmF1bHQ6IDAuOXJlbSxcclxuICAgICAgICBsYXJnZTogMS4yNXJlbSxcclxuKTtcclxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xyXG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XHJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XHJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcclxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcclxuXHJcbi8vIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcclxuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XHJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xyXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XHJcblxyXG4vLyAxMy4gQ2FsbG91dFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcclxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XHJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XHJcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xyXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcclxuXHJcbi8vIDE0LiBDYXJkXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG4kY2FyZC1zaGFkb3c6IG5vbmU7XHJcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRjYXJkLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XHJcblxyXG4vLyAxNS4gQ2xvc2UgQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xyXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcclxuICAgICAgICBzbWFsbDogMC42NnJlbSxcclxuICAgICAgICBtZWRpdW06IDFyZW0sXHJcbik7XHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcclxuICAgICAgICBzbWFsbDogMC4zM2VtLFxyXG4gICAgICAgIG1lZGl1bTogMC41cmVtLFxyXG4pO1xyXG4kY2xvc2VidXR0b24tc2l6ZTogKFxyXG4gICAgICAgIHNtYWxsOiAxLjVlbSxcclxuICAgICAgICBtZWRpdW06IDJlbSxcclxuKTtcclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XHJcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XHJcblxyXG4vLyAxNi4gRHJpbGxkb3duXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcclxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XHJcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcblxyXG4vLyAxNy4gRHJvcGRvd25cclxuLy8gLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XHJcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XHJcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XHJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kZHJvcGRvd24tc2l6ZXM6IChcclxuICAgICAgICB0aW55OiAxMDBweCxcclxuICAgICAgICBzbWFsbDogMjAwcHgsXHJcbiAgICAgICAgbGFyZ2U6IDQwMHB4LFxyXG4pO1xyXG5cclxuLy8gMTguIERyb3Bkb3duIE1lbnVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xyXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xyXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcclxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xyXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcblxyXG4vLyAxOS4gRm9ybXNcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xyXG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XHJcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XHJcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XHJcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XHJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xyXG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XHJcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcclxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xyXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyMC4gTGFiZWxcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xyXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2s7XHJcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XHJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyMS4gTWVkaWEgT2JqZWN0XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcclxuXHJcbi8vIDIyLiBNZW51XHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kbWVudS1tYXJnaW46IDA7XHJcbiRtZW51LW1hcmdpbi1uZXN0ZWQ6IDFyZW07XHJcbiRtZW51LWl0ZW0tcGFkZGluZzogMC43cmVtIDFyZW07XHJcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XHJcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xyXG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xyXG4kbWVudS1ib3JkZXI6ICRsaWdodC1ncmF5O1xyXG5cclxuLy8gMjMuIE1ldGVyXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJG1ldGVyLWhlaWdodDogMXJlbTtcclxuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcclxuXHJcbi8vIDI0LiBPZmYtY2FudmFzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kb2ZmY2FudmFzLXNpemU6IDI1MHB4O1xyXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemU6IDI1MHB4O1xyXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XHJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDE7XHJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEwO1xyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDE7XHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XHJcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xyXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xyXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xyXG5cclxuLy8gMjUuIE9yYml0XHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XHJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xyXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XHJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XHJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XHJcblxyXG4vLyAyNi4gUGFnaW5hdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XHJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcclxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcclxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XHJcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcclxuXHJcbi8vIDI3LiBQcm9ncmVzcyBCYXJcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcclxuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMjguIFJlc3BvbnNpdmUgRW1iZWRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDApO1xyXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcclxuICAgICAgICBkZWZhdWx0OiA0IGJ5IDMsXHJcbiAgICAgICAgcG9ydHJhaXQ6IDMgYnkgNC41LFxyXG4gICAgICAgIHNxdWFyZTogMSBieSAwLjg4LFxyXG4gICAgICAgIGV2ZW50OiAxIGJ5IDAuNzIsXHJcbiAgICAgICAgbWVkaWEtc3F1YXJlOiAxIGJ5IDEsXHJcbiAgICAgICAgbWVkaWEtcG9ydHJhaXQ6IDEgYnkgMS4yLFxyXG4gICAgICAgIGNpcmNsZTogMSBieSAxLFxyXG4gICAgICAgIHdpZGU6IDEgYnkgMC42NCxcclxuICAgICAgICB2aWRlbzogMSBieSAwLjU2MjUsXHJcbiAgICAgICAgYmxvZzogMSBieSAwLjY4NzUsXHJcbiAgICAgICAgd2lkZXNjcmVlbjogMTYgYnkgOSxcclxuICAgICAgICBjaW5lbWE6IDIxIGJ5IDksXHJcbiAgICAgICAgcGFub3JhbWE6IDM1IGJ5IDksXHJcbik7XHJcblxyXG4vLyAyOS4gUmV2ZWFsXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kcmV2ZWFsLXppbmRleDogMTAwNTtcclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQpO1xyXG5cclxuLy8gMzAuIFNsaWRlclxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XHJcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XHJcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XHJcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xyXG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xyXG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAzMS4gU3dpdGNoXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XHJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xyXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xyXG5cclxuLy8gMzIuIFRhYmxlXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcclxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XHJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XHJcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XHJcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtc3RyaXBlOiBldmVuO1xyXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XHJcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xyXG5cclxuLy8gMzMuIFRhYnNcclxuLy8gLS0tLS0tLS1cclxuXHJcbiR0YWItbWFyZ2luOiAwO1xyXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xyXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xyXG4kdGFiLWV4cGFuZC1tYXg6IDY7XHJcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xyXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xyXG5cclxuLy8gMzQuIFRodW1ibmFpbFxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZTtcclxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcclxuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XHJcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMzUuIFRpdGxlIEJhclxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xyXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcclxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcclxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XHJcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XHJcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XHJcblxyXG4vLyAzNi4gVG9vbHRpcFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XHJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XHJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAzNy4gVG9wIEJhclxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XHJcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XHJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XHJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xyXG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xyXG5cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcbkBpbXBvcnQgJ3VuaXQnO1xuQGltcG9ydCAndmFsdWUnO1xuQGltcG9ydCAnZGlyZWN0aW9uJztcbkBpbXBvcnQgJ2NvbG9yJztcbkBpbXBvcnQgJ3NlbGVjdG9yJztcbkBpbXBvcnQgJ2ZsZXgnO1xuQGltcG9ydCAnYnJlYWtwb2ludCc7XG5AaW1wb3J0ICdtaXhpbnMnO1xuQGltcG9ydCAndHlwb2dyYXBoeSc7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG5cbi8vLyBQYXJzZSB0aGUgZ2l2ZW4gYCRmcmFjdGlvbmAgdG8gbnVtZXJhdG9ycyBhbmQgZGVudW1lcmF0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkZnJhY3Rpb24gLSBWYWx1ZSByZXByZXNlbnRpbmcgYSBmcmFjdGlvbiB0byBwYXJzZS4gSXQgY2FuIGJlIGZvcm1hdHRlZCBhcyBgNTAlYCwgYDEgb2YgMmAsIGAxLzJgIG9yIGA1MGAgKG5vIGRlbm9taW5hdG9yIHdvdWxkIGJlIHJldHVybmVkKS5cbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IExpc3Qgb2YgcGFyc2VkIHZhbHVlcyB3aXRoIG51bWVyYXRvciBhdCBmaXJzdCBwb3NpdGlvbiBhbmQgZGVudW1lcmF0b3IgYXMgc2Vjb25kLiBUaGVzZSB2YWx1ZXMgbWF5IGJlIG51bGwuXG5AZnVuY3Rpb24gemYtcGFyc2UtZnJhY3Rpb24oJGZyYWN0aW9uKSB7XG5cbiAgQGlmIHR5cGUtb2YoJGZyYWN0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gXCI1MCVcIlxuICAgIEBpZiB1bml0KCRmcmFjdGlvbikgPT0gJyUnIHtcbiAgICAgIEByZXR1cm4gKHN0cmlwLXVuaXQoJGZyYWN0aW9uKSwgMTAwKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKHVuaXQoJGZyYWN0aW9uKSA9PSAnJykge1xuICAgICAgLy8gXCIwLjVcIlxuICAgICAgQGlmICRmcmFjdGlvbiA8IDEge1xuICAgICAgICBAcmV0dXJuICgkZnJhY3Rpb24gKiAxMDAsIDEwMCk7XG4gICAgICB9XG4gICAgICAvLyBcIjUwXCJcbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiAoJGZyYWN0aW9uLCBudWxsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiB0eXBlLW9mKCRmcmFjdGlvbikgPT0gJ2xpc3QnIHtcbiAgICAvLyBcIjUwIG9mIDEwMFwiLCBcIjUwLzEwMFwiLi4uXG4gICAgQGlmIGxlbmd0aCgkZnJhY3Rpb24pID09IDNcbiAgICAgIGFuZCB0eXBlLW9mKG50aCgkZnJhY3Rpb24sIDEpID09ICdudW1iZXInKVxuICAgICAgYW5kIHR5cGUtb2YobnRoKCRmcmFjdGlvbiwgMykgPT0gJ251bWJlcicpIHtcbiAgICAgIEByZXR1cm4gKG50aCgkZnJhY3Rpb24sIDEpLCBudGgoJGZyYWN0aW9uLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAobnVsbCwgbnVsbCk7XG59XG5cbi8vLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGdpdmVuIGAkdmFsdWVgIHJlcHJlc2VudHMgYSBmcmFjdGlvbi4gU3VwcG9ydHMgZm9ybWF0cyBsaWtlIGA1MCVgLCBgMSBvZiAyYCwgYDEgcGVyIDJgIG9yIGAxLzJgLlxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWUgLSBWYWx1ZSB0byB0ZXN0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGFsbG93LW5vLWRlbm9taW5hdG9yIFtmYWxzZV0gLSBJZiBgdHJ1ZWAsIHNpbXBsZSBudW1iZXJzIHdpdGhvdXQgZGVub21pbmF0b3JzIGxpa2UgYDUwYCBhcmUgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gYHRydWVgIGlmIGAkdmFsdWVgIHJlcHJlc2VudHMgYSBmcmFjdGlvbiwgYGZhbHNlYCBvdGhlcndpc2UuXG5AZnVuY3Rpb24gemYtaXMtZnJhY3Rpb24oJHZhbHVlLCAkYWxsb3ctbm8tZGVub21pbmF0b3I6IGZhbHNlKSB7XG4gICRwYXJzZWQ6IHpmLXBhcnNlLWZyYWN0aW9uKCR2YWx1ZSk7XG4gIEByZXR1cm4gbm90KG50aCgkcGFyc2VkLCAxKSA9PSBudWxsXG4gICAgb3IgKG50aCgkcGFyc2VkLCAyKSA9PSBudWxsIGFuZCAkYWxsb3ctbm8tZGVub21pbmF0b3IgPT0gZmFsc2UpKTtcbn1cblxuLy8vIENhbGN1bGF0ZSBhIHBlcmNlbnRhZ2UgZnJvbSBhIGdpdmVuIGZyYWN0aW9uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGZyYWN0aW9uIC0gVmFsdWUgcmVwcmVzZW50aW5nIGEgZnJhY3Rpb24gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSwgZm9ybWF0dGVkIGFzIGA1MGAgKHJlbGF0aXZlIHRvIGAkZGVub21pbmF0b3JgKSwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRkZW5vbWluYXRvciAtIERlZmF1bHQgdmFsdWUgdG8gdXNlIGFzIGRlbm9taW5hdG9yIHdoZW4gYCRmcmFjdGlvbmAgcmVwcmVzZW50cyBhbiBhYnNvbHV0ZSB2YWx1ZS5cbkBmdW5jdGlvbiBmcmFjdGlvbi10by1wZXJjZW50YWdlKFxuICAkZnJhY3Rpb24sXG4gICRkZW5vbWluYXRvcjogbnVsbFxuKSB7XG4gICRwYXJzZWQ6IHpmLXBhcnNlLWZyYWN0aW9uKCRmcmFjdGlvbik7XG4gICRwYXJzZWQtbm9taW5hdG9yOiBudGgoJHBhcnNlZCwgMSk7XG4gICRwYXJzZWQtZGVub21pbmF0b3I6IG50aCgkcGFyc2VkLCAyKTtcblxuICBAaWYgJHBhcnNlZC1ub21pbmF0b3IgPT0gbnVsbCB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIFwiZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgpXCIuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIiAvIFwibi9uXCIuJztcbiAgfVxuICBAaWYgJHBhcnNlZC1kZW5vbWluYXRvciA9PSBudWxsIHtcbiAgICBAaWYgdHlwZS1vZigkZGVub21pbmF0b3IpID09ICdudW1iZXInIHtcbiAgICAgICRwYXJzZWQtZGVub21pbmF0b3I6ICRkZW5vbWluYXRvcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGVycm9yICdFcnJvciB3aXRoIFwiZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgpXCIuIEEgZGVmYXVsdCBcIiRkZW5vbWluYXRvclwiIGlzIHJlcXVpcmVkIHRvIHN1cHBvcnQgYWJzb2x1dGUgdmFsdWVzJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHBhcnNlZC1ub21pbmF0b3IgLyAkcGFyc2VkLWRlbm9taW5hdG9yKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXQncyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXIgdGhhbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgbm90IGZhbHNleSwgaW4gQ1NTIHRlcm1zLiBGYWxzZXkgdmFsdWVzIGFyZSBgbnVsbGAsIGBub25lYCwgYDBgIHdpdGggYW55IHVuaXQsIG9yIGFuIGVtcHR5IGxpc3QuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkdmFsIC0gVmFsdWUgdG8gY2hlY2suXG4vLy9cbi8vLyBAcmV0dXJucyB7Qm9vbGVhbn0gYHRydWVgIGlmIGAkdmFsYCBpcyBub3QgZmFsc2V5LlxuQGZ1bmN0aW9uIGhhcy12YWx1ZSgkdmFsKSB7XG4gIEBpZiAkdmFsID09IG51bGwgb3IgJHZhbCA9PSBub25lIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG4gIEBpZiB0eXBlLW9mKCR2YWwpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCR2YWwpID09IDAge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbiAgQGlmIHR5cGUtb2YoJHZhbCkgPT0gJ2xpc3QnIGFuZCBsZW5ndGgoJHZhbCkgPT0gMCB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLyBEZXRlcm1pbmUgYSB0b3AvcmlnaHQvYm90dG9tL3JpZ2h0IHZhbHVlIG9uIGEgcGFkZGluZywgbWFyZ2luLCBldGMuIHByb3BlcnR5LCBubyBtYXR0ZXIgaG93IG1hbnkgdmFsdWVzIHdlcmUgcGFzc2VkIGluLiBVc2UgdGhpcyBmdW5jdGlvbiBpZiB5b3UgbmVlZCB0byBrbm93IHRoZSBzcGVjaWZpYyBzaWRlIG9mIGEgdmFsdWUsIGJ1dCBkb24ndCBrbm93IGlmIHRoZSB2YWx1ZSBpcyB1c2luZyBhIHNob3J0aGFuZCBmb3JtYXQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R8TnVtYmVyfSAkdmFsIC0gVmFsdWUgdG8gYW5hbHl6ZS4gU2hvdWxkIGJlIGEgc2hvcnRoYW5kIHNpemluZyBwcm9wZXJ0eSwgZS5nLiBcIjFlbSAyZW0gMWVtXCJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0byByZXR1cm4uIFNob3VsZCBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgc2luZ2xlIHZhbHVlIGJhc2VkIG9uIGAkdmFsYCBhbmQgYCRzaWRlYC5cbkBmdW5jdGlvbiBnZXQtc2lkZSgkdmFsLCAkc2lkZSkge1xuICAkbGVuZ3RoOiBsZW5ndGgoJHZhbCk7XG5cbiAgQGlmICRsZW5ndGggPT0gMSB7XG4gICAgQHJldHVybiAkdmFsO1xuICB9XG4gIEBpZiAkbGVuZ3RoID09IDIge1xuICAgIEByZXR1cm4gbWFwLWdldCgoXG4gICAgICB0b3A6IG50aCgkdmFsLCAxKSxcbiAgICAgIGJvdHRvbTogbnRoKCR2YWwsIDEpLFxuICAgICAgbGVmdDogbnRoKCR2YWwsIDIpLFxuICAgICAgcmlnaHQ6IG50aCgkdmFsLCAyKSxcbiAgICApLCAkc2lkZSk7XG4gIH1cbiAgQGlmICRsZW5ndGggPT0gMyB7XG4gICAgQHJldHVybiBtYXAtZ2V0KChcbiAgICAgIHRvcDogbnRoKCR2YWwsIDEpLFxuICAgICAgbGVmdDogbnRoKCR2YWwsIDIpLFxuICAgICAgcmlnaHQ6IG50aCgkdmFsLCAyKSxcbiAgICAgIGJvdHRvbTogbnRoKCR2YWwsIDMpLFxuICAgICksICRzaWRlKTtcbiAgfVxuICBAaWYgJGxlbmd0aCA9PSA0IHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoKFxuICAgICAgdG9wOiBudGgoJHZhbCwgMSksXG4gICAgICByaWdodDogbnRoKCR2YWwsIDIpLFxuICAgICAgYm90dG9tOiBudGgoJHZhbCwgMyksXG4gICAgICBsZWZ0OiBudGgoJHZhbCwgNCksXG4gICAgKSwgJHNpZGUpO1xuICB9XG59XG5cbi8vLyBHaXZlbiBib3JkZXIgJHZhbCwgZmluZCBhIHNwZWNpZmljIGVsZW1lbnQgb2YgdGhlIGJvcmRlciwgd2hpY2ggaXMgJGVsZW0uIFRoZSBwb3NzaWJsZSB2YWx1ZXMgZm9yICRlbGVtIGFyZSB3aWR0aCwgc3R5bGUsIGFuZCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbCAtIEJvcmRlciB2YWx1ZSB0byBmaW5kIGEgdmFsdWUgaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSAtIEJvcmRlciBjb21wb25lbnQgdG8gZXh0cmFjdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gSWYgdGhlIHZhbHVlIGV4aXN0cywgcmV0dXJucyB0aGUgdmFsdWUuIElmIHRoZSB2YWx1ZSBpcyBub3QgaW4gdGhlIGJvcmRlciBkZWZpbml0aW9uLCB0aGUgZnVuY3Rpb24gd2lsbCByZXR1cm4gYSAwcHggd2lkdGgsIHNvbGlkIHN0eWxlLCBvciBibGFjayBib3JkZXIuXG5AZnVuY3Rpb24gZ2V0LWJvcmRlci12YWx1ZSgkdmFsLCAkZWxlbSkge1xuICAvLyBGaW5kIHRoZSB3aWR0aCwgc3R5bGUsIG9yIGNvbG9yIGFuZCByZXR1cm4gaXRcbiAgQGVhY2ggJHYgaW4gJHZhbCB7XG4gICAgJHR5cGU6IHR5cGUtb2YoJHYpO1xuICAgIEBpZiAkZWxlbSA9PSB3aWR0aCBhbmQgJHR5cGUgPT0gJ251bWJlcicge1xuICAgICAgQHJldHVybiAkdjtcbiAgICB9XG4gICAgQGlmICRlbGVtID09IHN0eWxlIGFuZCAkdHlwZSA9PSAnc3RyaW5nJyB7XG4gICAgICBAcmV0dXJuICR2O1xuICAgIH1cbiAgICBAaWYgJGVsZW0gPT0gY29sb3IgYW5kICR0eXBlID09ICdjb2xvcicge1xuICAgICAgQHJldHVybiAkdjtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZhdWx0c1xuICAkZGVmYXVsdHM6IChcbiAgICB3aWR0aDogMCxcbiAgICBzdHlsZTogc29saWQsXG4gICAgY29sb3I6ICMwMDAsXG4gICk7XG5cbiAgQHJldHVybiBtYXAtZ2V0KCRkZWZhdWx0cywgJGVsZW0pO1xufVxuXG4vLy8gRmluZHMgYSB2YWx1ZSBpbiBhIG5lc3RlZCBtYXAuXG4vLy8gQGxpbmsgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9zbmlwcGV0cy9zYXNzL2RlZXAtZ2V0c2V0LW1hcHMvIERlZXAgR2V0L1NldCBpbiBNYXBzXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBwdWxsIGEgdmFsdWUgZnJvbS5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleXMuLi4gLSBLZXlzIHRvIHVzZSB3aGVuIGxvb2tpbmcgZm9yIGEgdmFsdWUuXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiBtYXAtZGVlcC1nZXQoJG1hcCwgJGtleXMuLi4pIHtcbiAgQGVhY2ggJGtleSBpbiAka2V5cyB7XG4gICAgJG1hcDogbWFwLWdldCgkbWFwLCAka2V5KTtcbiAgfVxuICBAcmV0dXJuICRtYXA7XG59XG5cbi8vLyBDYXN0cyBhIG1hcCBpbnRvIGEgbGlzdC5cbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE0LzA0LzI4L2Nhc3RpbmctbWFwLWludG8tbGlzdC9cbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHB1bGwgYSB2YWx1ZSBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IERlcGVuZGluZyBvbiB0aGUgZmxhZywgcmV0dXJucyBlaXRoZXIgJGtleXMgb3IgJHZhbHVlcyBvciBib3RoLlxuQGZ1bmN0aW9uIG1hcC10by1saXN0KCRtYXAsICRrZWVwOiAnYm90aCcpIHtcbiAgJGtlZXA6IGlmKGluZGV4KCdrZXlzJyAndmFsdWVzJywgJGtlZXApLCAka2VlcCwgJ2JvdGgnKTtcblxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgJGtleXM6ICgpO1xuICAgICR2YWx1ZXM6ICgpO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkbWFwIHtcbiAgICAgICRrZXlzOiBhcHBlbmQoJGtleXMsICRrZXkpO1xuICAgICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsICR2YWwpO1xuICAgIH1cblxuICAgIEBpZiAka2VlcCA9PSAna2V5cycge1xuICAgICAgQHJldHVybiAka2V5cztcbiAgICB9XG4gICAgQGVsc2UgaWYgJGtlZXAgPT0gJ3ZhbHVlcycge1xuICAgICAgQHJldHVybiAkdmFsdWVzO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAcmV0dXJuIHppcCgka2V5cywgJHZhbHVlcyk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZih0eXBlLW9mKCRtYXApICE9ICdsaXN0JywgKCR2YWx1ZSwpLCAkbWFwKTtcblxufVxuXG4vLy8gUmV0dXJuIGEgam9pbiBvZiB0aGUgdHdvIGdpdmVuIHN0cmluZ3MgYCRzdHIxYCBhbmQgYCRzdHIyYC5cbi8vLyBJZiB0aGUgdHdvIHN0cmluZ3MgYXJlIG5vdCBlbXB0eSwgdGhleSBhcmUgc2VwYXJhdGVkIGJ5IGAkZGVsaW1pdGVyYC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyMSBbbnVsbF0gLSBGaXJzdCBzdHJpbmcgdG8gam9pbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0cjEgW251bGxdIC0gU2Vjb25kIHN0cmluZyB0byBqb2luLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGVsaW1pdGVyIFtudWxsXSAtIERlbGltaWV0ZXIgYmV0d2VlbiBgJHN0cjFgIGFuZCBgJHN0cjJgLlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gSm9pbiBvZiBgJHN0cjFgLCBgJGRlbGltaXRlcmAgYW5kIGAkc3RyMmAuXG5AZnVuY3Rpb24gemYtc3RyLWpvaW4oXG4gICRzdHIxOiBudWxsLFxuICAkc3RyMjogbnVsbCxcbiAgJGRlbGltaXRlcjogbnVsbFxuKSB7XG4gICRyZXQ6ICcnO1xuXG4gIEBpZiAkc3RyMSBhbmQgc3RyLWxlbmd0aCgkc3RyMSkgPiAwIHtcbiAgICAkcmV0OiAkcmV0ICsgJHN0cjE7XG5cbiAgICBAaWYgJGRlbGltaXRlciBhbmQgc3RyLWxlbmd0aCgkZGVsaW1pdGVyKSA+IDAgYW5kICRzdHIyIGFuZCBzdHItbGVuZ3RoKCRzdHIyKSA+IDAge1xuICAgICAgJHJldDogJHJldCArICRkZWxpbWl0ZXI7XG4gICAgfVxuICB9XG4gIEBpZiAkc3RyMiBhbmQgc3RyLWxlbmd0aCgkc3RyMikgPiAwIHtcbiAgICAkcmV0OiAkcmV0ICsgJHN0cjI7XG4gIH1cblxuICBAcmV0dXJuICRyZXQ7XG59XG5cbi8vLyBTYWZlbHkgcmV0dXJuIGEgdmFsdWUgZnJvbSBhIG1hcC5cbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHJldHJpZXZlIGEgdmFsdWUgZnJvbS5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIE5hbWUgb2YgdGhlIG1hcCBrZXkuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gRm91bmQgdmFsdWUuXG5AZnVuY3Rpb24gbWFwLXNhZmUtZ2V0KCRtYXAsICRrZXkpIHtcbiAgQGlmICh0eXBlLW9mKCRtYXApID09ICdtYXAnIG9yICh0eXBlLW9mKCRtYXApID09ICdsaXN0JyBhbmQgbGVuZ3RoKCRtYXApID09IDApKSB7XG4gICAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAZXJyb3IgJ0tleTogYCN7JGtleX1gIGlzIG5vdCBhdmFpbGFibGUgaW4gYCN7JG1hcH1gJztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnYCN7JG1hcH1gIGlzIG5vdCBhIHZhbGlkIG1hcCc7XG4gIH1cbn1cblxuLy8vIENvbnZlcnQgdGhlIGdpdmVuIGAkdmFsYCB0byBhIEJvb2xlYW4uIEVtcHR5IHZhbHVlcyBhcmUgY29uc2lkZXJlZCBhcyBmYWxzZS5cbi8vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbCAtIFZhbHVlIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7Qm9vbGVhbn0gQ29udmVydGVkIEJvb2xlYW4gdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWJvb2woJHZhbCkge1xuICBAcmV0dXJuICR2YWwgIT0gZmFsc2UgYW5kIGhhcy12YWx1ZSgkdmFsKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIFJldHVybnMgdGhlIG9wcG9zaXRlIGRpcmVjdGlvbiBvZiAkZGlyXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBVc2VkIGRpcmVjdGlvbiBiZXR3ZWVuIFwidG9wXCIsIFwicmlnaHRcIiwgXCJib3R0b21cIiBhbmQgXCJsZWZ0XCIuXG4vLy8gQHJldHVybiB7S2V5d29yZH0gT3Bwb3NpdGUgZGlyZWN0aW9uIG9mICRkaXJcbkBmdW5jdGlvbiBkaXJlY3Rpb24tb3Bwb3NpdGUoXG4gICRkaXJcbikge1xuICAkZGlyczogKHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCk7XG4gICRwbGFjZTogaW5kZXgoJGRpcnMsICRkaXIpO1xuXG4gIEBpZiAkcGxhY2UgPT0gbnVsbCB7XG4gICAgQGVycm9yICdkaXJlY3Rpb24tb3Bwb3NpdGU6IEludmFsaWQgJGRpciBwYXJhbWV0ZXIsIGV4cGVjdGVkIGEgdmFsdWUgZnJvbSBcIiN7JGRpcnN9XCIsIGZvdW5kIFwiI3skZGlyfVwiLic7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBvcHBvc2l0ZSBwbGFjZSBpbiBhIGNpcmNsZSwgd2l0aCBhIHN0YXJ0aW5nIGluZGV4IG9mIDFcbiAgJGxlbmd0aDogbGVuZ3RoKCRkaXJzKTtcbiAgJGRlbWk6ICRsZW5ndGggLyAyO1xuICAkb3Bwb3NpdGUtcGxhY2U6ICgoJHBsYWNlICsgJGRlbWkgLSAxKSAlICRsZW5ndGgpICsgMTtcblxuICBAcmV0dXJuIG50aCgkZGlycywgJG9wcG9zaXRlLXBsYWNlKTtcbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWAgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogIzE3NzliYSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogIzc2NzY3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6ICMzYWRiNzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICR3YXJuaW5nLWNvbG9yOiAjZmZhZTAwICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkYWxlcnQtY29sb3I6ICNjYzRiMzcgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gR2VuZXJhdGVzIGEgc2VsZWN0b3Igd2l0aCBldmVyeSB0ZXh0IGlucHV0IHR5cGUuIFlvdSBjYW4gYWxzbyBmaWx0ZXIgdGhlIGxpc3QgdG8gb25seSBvdXRwdXQgYSBzdWJzZXQgb2YgdGhvc2Ugc2VsZWN0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fEtleXdvcmR9ICR0eXBlcyBbKCldIC0gQSBsaXN0IG9mIHRleHQgaW5wdXQgdHlwZXMgdG8gdXNlLiBMZWF2ZSBibGFuayB0byB1c2UgYWxsIG9mIHRoZW0uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbW9kaWZpZXIgWycnXSAtIEEgbW9kaWZpZXIgdG8gYmUgYXBwbGllZCB0byBlYWNoIHRleHQgaW5wdXQgdHlwZSAoZS5nLiBhIGNsYXNzIG9yIGEgcHNldWRvLWNsYXNzKS4gTGVhdmUgYmxhbmsgdG8gaWdub3JlLlxuQGZ1bmN0aW9uIHRleHQtaW5wdXRzKCR0eXBlczogKCksICRtb2RpZmllcjogJycpIHtcbiAgJHJldHVybjogKCk7XG5cbiAgJGFsbC10eXBlczpcbiAgICB0ZXh0XG4gICAgcGFzc3dvcmRcbiAgICBkYXRlXG4gICAgZGF0ZXRpbWVcbiAgICBkYXRldGltZS1sb2NhbFxuICAgIG1vbnRoXG4gICAgd2Vla1xuICAgIGVtYWlsXG4gICAgbnVtYmVyXG4gICAgc2VhcmNoXG4gICAgdGVsXG4gICAgdGltZVxuICAgIHVybFxuICAgIGNvbG9yO1xuXG4gIEBpZiBub3QgaGFzLXZhbHVlKCR0eXBlcykge1xuICAgICR0eXBlczogJGFsbC10eXBlcztcbiAgfVxuXG4gIEBlYWNoICR0eXBlIGluICR0eXBlcyB7XG4gICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIHVucXVvdGUoJ1t0eXBlPVxcJyN7JHR5cGV9XFwnXSN7JG1vZGlmaWVyfScpLCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXR1cm47XG59XG4iLCJAZnVuY3Rpb24gLXpmLWZsZXgtanVzdGlmeSgkdGV4dC1kaXJlY3Rpb24pe1xuICAkLXpmLWZsZXgtanVzdGlmeTogKFxuICAgICdsZWZ0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1lbmQsIGZsZXgtc3RhcnQpLFxuICAgICdyaWdodCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtc3RhcnQsIGZsZXgtZW5kKSxcbiAgICAnY2VudGVyJzogY2VudGVyLFxuICAgICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuICApO1xuXG4gIEByZXR1cm4gJC16Zi1mbGV4LWp1c3RpZnk7XG59XG5cblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbiQtemYtZmxleC1kaXJlY3Rpb246IChcbiAgJ3Jvdyc6IHJvdyxcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXG4gICdjb2x1bW4nOiBjb2x1bW4sXG4gICdjb2x1bW4tcmV2ZXJzZSc6IGNvbHVtbi1yZXZlcnNlLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbi8vLyBDaGFuZ2UgZmxleC1kaXJlY3Rpb25cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxuLy8vICAgLSByb3cgKGRlZmF1bHQpOiBzYW1lIGFzIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIHJvdy1yZXZlcnNlOiBvcHBvc2l0ZSB0byB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXG4vLy8gICAtIGNvbHVtbi1yZXZlcnNlOiBzYW1lIGFzIHJvdy1yZXZlcnNlIHRvcCB0byBib3R0b21cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgSGlEUEkgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMgZm9yIHJlc29sdXRpb25zLlxuLy8vIFZhbHVlcyBtdXN0IHJlcHJlc2VudCB0aGUgZGV2aWNlIHBpeGVscyAvIHdlYiBwaXhlbHMgcmF0aW9uIGFuZCBiZSB1bml0bGVzcyBvciBpbiBEUFBYLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzLWhpZHBpOiAoXG4gIGhpZHBpLTE6IDEsXG4gIGhpZHBpLTEtNTogMS41LFxuICBoaWRwaS0yOiAyLFxuICByZXRpbmE6IDIsXG4gIGhpZHBpLTM6IDNcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnVGhlIGZpcnN0IGtleSBpbiB0aGUgJGJyZWFrcG9pbnRzIG1hcCBtdXN0IGhhdmUgYSB2YWx1ZSBvZiBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gV2ViIHN0YW5kYXJkIFBpeGVscyBwZXIgaW5jaC4gKDFkZHB4IC8gJHN0ZC13ZWItZHBpKSA9IDFkcGlcbiAgLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdmFsdWVzLTMvI2Fic29sdXRlLWxlbmd0aHNcbiAgJHN0ZC13ZWItZHBpOiA5NjtcblxuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIG9mIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludFxuICAkYnAtbmV4dDogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1taW46IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtaW4td2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiBudWxsO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gSWYgbmFtZWQsIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbiAgJG5hbWU6IG51bGw7XG4gIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgSGlEUEkgYnJlYWtwb2ludFxuICAkaGlkcGk6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuXG4gIC8vIElmIGEgYnJlYWtwb2ludCBuYW1lIGlzIGdpdmVuLCBnZXQgaXRzIHZhbHVlIGZyb20gdGhlICRicmVha3BvaW50cy8kYnJlYWtwb2ludHMtaGlkcGkgbWFwLlxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH1cbiAgICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMtaGlkcGksICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMtaGlkcGksICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQtbnVtYmVyKCRicmVha3BvaW50cy1oaWRwaSwgJGJwKTtcbiAgICAgICRoaWRwaTogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciBgJGJyZWFrcG9pbnRzYCBvciBgJGJyZWFrcG9pbnRzLWhpZHBpYCBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgQGlmIG5vdCAkbmFtZSBhbmQgJGRpciA9PSAnb25seScge1xuICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ3VwJyBoYXZlIGEgbWluIGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAndXAnIHtcbiAgICAkYnAtbWluOiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICB9XG4gIC8vIE9ubHkgJ29ubHknIGFuZCAnZG93bicgaGF2ZSBhIG1heCBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIHZhbHVlLCB1c2UgaXQgYXMgbWF4IGxpbWl0LlxuICAgIEBpZiBub3QgJG5hbWUge1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgICB9XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgbmFtZWQsIHRoZSBtYXggbGltaXQgaXMgdGhlIGZvbGxvd2luZyBicmVha3BvaW50IC0gMXB4LlxuICAgIEBlbHNlIGlmICRicC1uZXh0IHtcbiAgICAgIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgICAgIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksICRicC1uZXh0IC0gKDEvJHN0ZC13ZWItZHBpKSwgLXpmLWJwLXRvLWVtKCRicC1uZXh0KSAtIDAuMDAxMjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyYXRlIHRoZSBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSBtaW4gYW5kIG1heCBsaW1pdHMuXG4gIEBpZiAkaGlkcGkge1xuICAgIC8vIEdlbmVyYXRlIHZhbHVlcyBpbiBEUEkgaW5zdGVhZCBvZiBEUFBYIGZvciBhbiBJRTktMTEvT3BlcmEgbWluaSBjb21wYXRpYmlsaXR5LlxuICAgIC8vIFNlZSBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXG4gICAgJGJwLW1pbi1kcGk6IGlmKCRicC1taW4sICRicC1taW4gKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWluKTtcbiAgICAkYnAtbWF4LWRwaTogaWYoJGJwLW1heCwgJGJwLW1heCAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1tYXgpO1xuICAgIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4LCAnLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvJywgJy13ZWJraXQtbWF4LWRldmljZS1waXhlbC1yYXRpbycpLFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbi1kcGksICRicC1tYXgtZHBpLCAnbWluLXJlc29sdXRpb24nLCAnbWF4LXJlc29sdXRpb24nKSxcbiAgICAgICcsICcpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgpO1xuICB9XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgYW5kIGAkYnJlYWtwb2ludHMtaGlkcGlgIG1hcHMsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBJZiBtdWx0aXBsZSB2YWx1ZXMgYXJlIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgZ2VuZXJhdGUgYSBtZWRpYSBxdWVyeSBmb3IgZWFjaCBvZiB0aGVtIGFzIGRlc2NyaWJlZCBhYm92ZS5cbi8vLyBTaW5jZSB0aGUgY29udGVudCBpcyBkdXBsaWNhdGVkIGZvciBlYWNoIGJyZWFrcG9pbnQsIHRoaXMgbWl4aW4gc2hvdWxkIG9ubHkgYmUgdXNlZCB3aXRoIHByb3BlcnRpZXMgdGhhdFxuLy8vIGNoYW5nZSBhY3Jvc3MgYnJlYWtwb2ludHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWVzLi4uIC0gQnJlYWtwb2ludCBuYW1lIG9yIHB4L3JlbS9lbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWVzLi4uKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZXMpIHtcbiAgICAkdmFsdWU6IG50aCgkdmFsdWVzLCAkaSk7XG4gICAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCBudGgoJHZhbHVlLCAxKSk7XG4gICAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG4gICAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgICAkZGlyOiBpZihsZW5ndGgoJHZhbHVlKSA+IDEsIG50aCgkdmFsdWUsIDIpLCB1cCk7XG5cbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gICAgQGlmICRzdHIgPT0gJycge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgICBAZWxzZSB7XG4gICAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgICAvLyBnZW5lcmF0ZSBwcmludCBpZiB0aGUgYnJlYWtwb2ludCBhZmZlY3RzIHRoZSBwcmludC1icmVha3BvaW50IChvciBzbWFsbGVyKS5cbiAgICAgIC8vIFRoaXMgbWVhbnMgdGhlIGN1cnJlbnQgY29uZGl0aW9uIG9ubHkgbmVlZHMgdG8gYmUgZXh0ZW5kZWQgc28gJ2Rvd24nIGFsd2F5cyBnZW5lcmF0ZXMgcHJpbnQuXG4gICAgICBAaWYgJGJwICE9IG51bGwgYW5kICgkYnAgPD0gJHBicCBvciAkZGlyID09IGRvd24pIHtcbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gQ29udmVydHMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIEZpbmQgdGhlIG5leHQgbnVtYmVyIGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJG51bWJlciAtIE51bWJlciB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIG51bWJlciBmb2xsb3dpbmcgYCRudW1iZXJgLCBpZiBgJG51bWJlcmAgd2FzIGZvdW5kLiBJZiBgJG51bWJlcmAgd2FzIG5vdCBmb3VuZCwgb3IgYCRudW1iZXJgIHdhcyB0aGUgYmlnZ2VzdCBudW1iZXIgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0LW51bWJlcigkbWFwLCAkbnVtYmVyKSB7XG5cbiAgJG5leHRfbnVtYmVyOiBudWxsO1xuXG4gIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICBAaWYgdHlwZS1vZigkdikgPT0gJ251bWJlcicgYW5kICR2ID4gJG51bWJlciBhbmQgKCRuZXh0X251bWJlciA9PSBudWxsIG9yICR2IDwgJG5leHRfbnVtYmVyKSB7XG4gICAgICAkbmV4dF9udW1iZXI6ICR2O1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5leHRfbnVtYmVyO1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbi8vLyBSZXR1cm4gdGhlIGJlc3QgYnJlYWtwb2ludCB0byB1c2UgYWNjb3JkaW5nIHRvIHRoZSBjYWxsaW5nIGNvbnRleHQuIEl0IHJldHVybnMgaW4gb3JkZXI6XG4vLy8gMS4gdGhlIGdpdmVuIGAkdmFsdWVgIGFyZ3VtZW50IGlmIGl0IGlzIG5vdCBudWxsLlxuLy8vIDIuIHRoZSBnbG9iYWwgYnJlYWtwb2ludCBjb250ZXh0IGAkLXpmLXNpemVgIGlmIGl0IGlzIG5vdCBudWxsIChsaWtlIGlmIGNhbGxlZCBpbnNpZGUgdGhlbiBgYnJlYWtwb2ludCgpYCBtaXhpbilcbi8vLyAzLiB0aGUgZ2l2ZW4gYCRkZWZhdWx0YCBhcmd1bWVudC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGluIHByaW9yaXR5IGlmIG5vbi1udWxsLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRlZmF1bHQgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgYnkgZGVmYXVsdCBpZiBubyBvdGhlciB2YWx1ZSBjYW4gYmUgdXNlZC5cbi8vL1xuLy8vIEByZXR1cm4ge0tleXdvcmR9IFRoZSByZXNvbHZlZCBicmVha3BvaW50LlxuQGZ1bmN0aW9uIC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJHZhbHVlOiBudWxsLCAkZGVmYXVsdDogbnVsbCkge1xuICBAaWYgKCR2YWx1ZSAhPSBudWxsKSB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbiAgQGVsc2UgaWYgKHZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkgYW5kIHR5cGUtb2YoJC16Zi1zaXplKSAhPSAnbnVtYmVyJykgYW5kICQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICBAcmV0dXJuICQtemYtc2l6ZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkZGVmYXVsdDtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIHRoZSBnaXZlbiBtaW4gYW5kL29yIG1heCBsaW1pdHMuXG4vLy8gSWYgYSBsaW1pdCBpcyBlcXVhbCB0byBgbnVsbGAgb3IgYDBgLCBpdCBpcyBpZ25vcmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtaW4gWzBdIC0gTWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IFswXSAtIE1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1pbi1uYW1lIFsnbWluLXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkZWxpbWl0ZXIgWydtYXgtd2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IE1lZGlhIFF1ZXJ5IHN0cmluZy5cbkBmdW5jdGlvbiAtemYtYnAtam9pbihcbiAgJG1pbjogMCxcbiAgJG1heDogMCxcbiAgJG1pbi1uYW1lOiAnbWluLXdpZHRoJyxcbiAgJG1heC1uYW1lOiAnbWF4LXdpZHRoJ1xuKSB7XG4gIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgaWYoJG1pbiBhbmQgJG1pbiA+IDAsICcoI3skbWluLW5hbWV9OiAjeyRtaW59KScsIG51bGwpLFxuICAgIGlmKCRtYXggYW5kICRtYXggPiAwLCAnKCN7JG1heC1uYW1lfTogI3skbWF4fSknLCBudWxsKSxcbiAgICAnIGFuZCAnKTtcbn1cblxuJHNtYWxsLXVwOiAnJztcbiRzbWFsbC1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuJG1lZGl1bS11cDogJyc7XG4kbWVkaXVtLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbiRsYXJnZS11cDogJyc7XG4kbGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4bGFyZ2UtdXA6ICcnO1xuJHhsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG4keHhsYXJnZS11cDogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogMXB4ICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogMXB4ICN7JGltcG9ydGFudH07XG4gIHBhZGRpbmc6IDAgI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiByZWN0KDAsMCwwLDApICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgI3skaW1wb3J0YW50fTtcbiAgYm9yZGVyOiAwICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IHN0YXRpYyAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IHZpc2libGUgI3skaW1wb3J0YW50fTtcbiAgY2xpcDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoXG4gICRzbWFsbDogdHJ1ZSxcbiAgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbihhdXRvLCAtemYtYm9vbCgkc21hbGwpLCAtemYtYm9vbCgkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMpKSB7XG4gICAgQGNvbnRlbnRcbiAgfTtcbn1cblxuLy8vIEl0ZXJhdGVzIHdpdGggYEBjb250ZW50YCB0aHJvdWdoIHRoZSBnaXZlbiBsaXN0IG9mIGJyZWFrcG9pbnRzIGAkYnJlYWtwb2ludHNgLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJyZWFrcG9pbnRzIFthdXRvXSAtIEJyZWFrcG9pbnRzIHRvIGl0ZXJhdGVzIG9uLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufE51bGx9ICR6ZXJvLWJyZWFrcG9pbnQgW251bGxdIC0gV2hldGhlciB0aGUgemVyby1icmVha3BvaW50IChvZnRlbiBgc21hbGxgKSBtdXN0IGJlIGluY2x1ZGVkLiBJZiBgdHJ1ZWAsIGl0IHdpbGwgYWx3YXlzIGJlIGFkZGVkIHRvIHRoZSBsaXN0IGlmIG5vdCBhbHJlYWR5IHRoZXJlLiBJZiBgZmFsc2VgLCBpdCB3aWxsIGFsd2F5cyBiZSByZW1vdmVkLiBEb2VzIG5vdGhpbmcgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58S2V5d29yZH0gJG1lZGlhLXF1ZXJpZXMgW3RydWVdIC0gV2hldGhlciBtZWRpYS1xdWVyaWVzIG11c3QgYmUgZ2VuZXJhdGVkLiBJZiBgZm9yLWxpc3RzYCwgb25seSBnZW5lcmF0ZSBtZWRpYS1xdWVyaWVzIHdoZW4gYCRicmVha3BvaW50c2AgaXMgYSBsaXN0LlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oXG4gICRicmVha3BvaW50czogYXV0byxcbiAgJHplcm8tYnJlYWtwb2ludDogbnVsbCxcbiAgJG1lZGlhLXF1ZXJpZXM6IHRydWVcbikge1xuICAkLWxpc3Q6ICgpO1xuICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogdHJ1ZTtcblxuICAvLyBSZXRyaWV2ZSB0aGUgbGlzdCBvZiBicmVha3BvaW50KHMpIHRvIGl0ZXJhdGUgb24uXG4gIEBpZiAkYnJlYWtwb2ludHMgPT0gYXV0byB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnbGlzdCcge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnRzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnc3RyaW5nJyB7XG4gICAgJC1saXN0OiAoJGJyZWFrcG9pbnRzKTtcbiAgICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogZmFsc2U7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcIiRicmVha3BvaW50c1wiIGluIFwiLXpmLWVhY2gtYnJlYWtwb2ludC1pbigpXCIuIEdvdCBcIiN7JGJyZWFrcG9pbnRzfVwiICgje3R5cGUtb2YoJGJyZWFrcG9pbnRzKX0pLiBFeHBlY3RlZCBhIGJyZWFrcG9pbnQgbmFtZSwgYSBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIFwiYXV0b1wiJztcbiAgfVxuXG4gIC8vIEFkZCBvciByZW1vdmUgdGhlIHplcm8gYnJlYWtwb2ludCBhY2NvcmRpbmcgdG8gYCR6ZXJvLWJyZWFrcG9pbnRgXG4gIEBpZiAkemVyby1icmVha3BvaW50ID09IHRydWUge1xuICAgICQtbGlzdDogam9pbigoJC16Zi16ZXJvLWJyZWFrcG9pbnQpLCBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCkpO1xuICB9XG4gIEBlbHNlIGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gZmFsc2Uge1xuICAgICQtbGlzdDogc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gSXRlcmF0ZSBvbiBicmVha3BvaW50KHMpXG4gIEBlYWNoICRicCBpbiAkLWxpc3Qge1xuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogJGJwICFnbG9iYWw7XG5cbiAgICBAaWYgKCRtZWRpYS1xdWVyaWVzID09IHRydWVcbiAgICAgIG9yICgkbWVkaWEtcXVlcmllcyA9PSAnZm9yLWxpc3RzJyBhbmQgJC1icmVha3BvaW50cy1pcy1hLWxpc3QpKSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkYnAtdmFsdWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICAgIEBpZiAkYnAtdmFsdWUgIT0gbnVsbCB7XG4gICAgICAgICRuYW1lOiAkYnAtdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJC16Zi1mb250LXN0YWNrOiAoXG4gICdnZW9yZ2lhJzogKEdlb3JnaWEsIFwiVVJXIEJvb2ttYW4gTFwiLCBzZXJpZiksXG4gICdoZWx2ZXRpY2EnOiAoSGVsdmV0aWNhLCBBcmlhbCwgXCJOaW1idXMgU2FucyBMXCIsIHNhbnMtc2VyaWYpLFxuICAnbHVjaWRhLWdyYW5kZSc6IChcIkx1Y2lkYSBHcmFuZGVcIiwgXCJMdWNpZGEgU2FucyBVbmljb2RlXCIsIFwiQml0c3RyZWFtIFZlcmEgU2Fuc1wiLCBzYW5zLXNlcmlmKSxcbiAgJ21vbm9zcGFjZSc6IChcIkNvdXJpZXIgTmV3XCIsIENvdXJpZXIsIFwiTmltYnVzIFNhbnMgTFwiLCBtb25vc3BhY2UpLFxuICAnc3lzdGVtJzogKC1hcHBsZS1zeXN0ZW0sIHN5c3RlbS11aSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiksXG4gICd2ZXJkYW5hJzogKFZlcmRhbmEsIEdlbmV2YSwgXCJEZWphVnUgU2Fuc1wiLCBzYW5zLXNlcmlmKSxcbik7XG5cbi8vLyBSZXR1cm4gYSBmb250IHN0YWNrIGxpc3QgZnJvbSBhIG1hcC4gRXF1aXZhbGVudCB0byBgbWFwLXNhZmUtZ2V0KCRuYW1lLCAkLXpmLWZvbnQtc3RhY2spYC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RhY2sgLSBOYW1lIG9mIHRoZSBmb250IHN0YWNrLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIFskLXpmLWZvbnQtc3RhY2tdIC0gTWFwIG9mIGZvbnQgc3RhY2tzIHRvIHJldHJpZXZlIGEgbGlzdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEZvdW5kIGZvbnQgc3RhY2suXG5AZnVuY3Rpb24gZm9udC1zdGFjaygkc3RhY2ssICRtYXA6ICQtemYtZm9udC1zdGFjaykge1xuICBAcmV0dXJuIG1hcC1zYWZlLWdldCgkbWFwLCAkc3RhY2spO1xufVxuIiwiIiwiLyogU2xpZGVyICovXHJcblxyXG4uc2xpY2stc2xpZGVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XHJcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcclxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcbi5zbGljay1saXN0IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gIH1cclxuXHJcbiAgJi5kcmFnZ2luZyB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBjdXJzb3I6IGhhbmQ7XHJcbiAgfVxyXG59XHJcbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxyXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxufVxyXG5cclxuLnNsaWNrLXRyYWNrIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG5cclxuICAmOmJlZm9yZSxcclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICB9XHJcblxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgfVxyXG5cclxuICAuc2xpY2stbG9hZGluZyAmIHtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICB9XHJcbn1cclxuLnNsaWNrLXNsaWRlIHtcclxuICBmbG9hdDogbGVmdDtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgbWluLWhlaWdodDogMXB4O1xyXG4gIFtkaXI9XCJydGxcIl0gJiB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgfVxyXG4gIGltZyB7XHJcblxyXG4gIH1cclxuICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAmLmRyYWdnaW5nIGltZyB7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICB9XHJcblxyXG4gIC5zbGljay1pbml0aWFsaXplZCAmIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuXHJcbiAgLnNsaWNrLWxvYWRpbmcgJiB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgfVxyXG5cclxuICAuc2xpY2stdmVydGljYWwgJiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIH1cclxufVxyXG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcbiIsIi8vIEFuaW1hdGlvbnMgdmFyaWFibGVzXHJcbiRhb3MtZGlzdGFuY2U6IDEwMHB4ICFkZWZhdWx0O1xyXG5cclxuXHJcblxyXG5cclxuLyoqXHJcbiAqIEZhZGUgYW5pbWF0aW9uczpcclxuICogZmFkZVxyXG4gKiBmYWRlLXVwLCBmYWRlLWRvd24sIGZhZGUtbGVmdCwgZmFkZS1yaWdodFxyXG4gKiBmYWRlLXVwLXJpZ2h0LCBmYWRlLXVwLWxlZnQsIGZhZGUtZG93bi1yaWdodCwgZmFkZS1kb3duLWxlZnRcclxuICovXHJcblxyXG5bZGF0YS1hb3NePSdmYWRlJ11bZGF0YS1hb3NePSdmYWRlJ10ge1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xyXG5cclxuICAmLmFvcy1hbmltYXRlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuW2RhdGEtYW9zPSdmYWRlLXVwJ10ge1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJGFvcy1kaXN0YW5jZSwgMCk7XHJcbn1cclxuXHJcbltkYXRhLWFvcz0nZmFkZS1kb3duJ10ge1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLSRhb3MtZGlzdGFuY2UsIDApO1xyXG59XHJcblxyXG5bZGF0YS1hb3M9J2ZhZGUtcmlnaHQnXSB7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtJGFvcy1kaXN0YW5jZSwgMCwgMCk7XHJcbn1cclxuXHJcbltkYXRhLWFvcz0nZmFkZS1sZWZ0J10ge1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGFvcy1kaXN0YW5jZSwgMCwgMCk7XHJcbn1cclxuXHJcbltkYXRhLWFvcz0nZmFkZS11cC1yaWdodCddIHtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0kYW9zLWRpc3RhbmNlLCAkYW9zLWRpc3RhbmNlLCAwKTtcclxufVxyXG5cclxuW2RhdGEtYW9zPSdmYWRlLXVwLWxlZnQnXSB7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkYW9zLWRpc3RhbmNlLCAkYW9zLWRpc3RhbmNlLCAwKTtcclxufVxyXG5cclxuW2RhdGEtYW9zPSdmYWRlLWRvd24tcmlnaHQnXSB7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtJGFvcy1kaXN0YW5jZSwgLSRhb3MtZGlzdGFuY2UsIDApO1xyXG59XHJcblxyXG5bZGF0YS1hb3M9J2ZhZGUtZG93bi1sZWZ0J10ge1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGFvcy1kaXN0YW5jZSwgLSRhb3MtZGlzdGFuY2UsIDApO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG4vKipcclxuICogWm9vbSBhbmltYXRpb25zOlxyXG4gKiB6b29tLWluLCB6b29tLWluLXVwLCB6b29tLWluLWRvd24sIHpvb20taW4tbGVmdCwgem9vbS1pbi1yaWdodFxyXG4gKiB6b29tLW91dCwgem9vbS1vdXQtdXAsIHpvb20tb3V0LWRvd24sIHpvb20tb3V0LWxlZnQsIHpvb20tb3V0LXJpZ2h0XHJcbiAqL1xyXG5cclxuW2RhdGEtYW9zXj0nem9vbSddW2RhdGEtYW9zXj0nem9vbSddIHtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcclxuXHJcbiAgJi5hb3MtYW5pbWF0ZSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZSgxKTtcclxuICB9XHJcbn1cclxuXHJcbltkYXRhLWFvcz0nem9vbS1pbiddIHtcclxuICB0cmFuc2Zvcm06IHNjYWxlKC42KTtcclxufVxyXG5cclxuW2RhdGEtYW9zPSd6b29tLWluLXVwJ10ge1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJGFvcy1kaXN0YW5jZSwgMCkgc2NhbGUoLjYpO1xyXG59XHJcblxyXG5bZGF0YS1hb3M9J3pvb20taW4tZG93biddIHtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0kYW9zLWRpc3RhbmNlLCAwKSBzY2FsZSguNik7XHJcbn1cclxuXHJcbltkYXRhLWFvcz0nem9vbS1pbi1yaWdodCddIHtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0kYW9zLWRpc3RhbmNlLCAwLCAwKSBzY2FsZSguNik7XHJcbn1cclxuXHJcbltkYXRhLWFvcz0nem9vbS1pbi1sZWZ0J10ge1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGFvcy1kaXN0YW5jZSwgMCwgMCkgc2NhbGUoLjYpO1xyXG59XHJcblxyXG5bZGF0YS1hb3M9J3pvb20tb3V0J10ge1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcclxufVxyXG5cclxuW2RhdGEtYW9zPSd6b29tLW91dC11cCddIHtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRhb3MtZGlzdGFuY2UsIDApIHNjYWxlKDEuMik7XHJcbn1cclxuXHJcbltkYXRhLWFvcz0nem9vbS1vdXQtZG93biddIHtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0kYW9zLWRpc3RhbmNlLCAwKSBzY2FsZSgxLjIpO1xyXG59XHJcblxyXG5bZGF0YS1hb3M9J3pvb20tb3V0LXJpZ2h0J10ge1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLSRhb3MtZGlzdGFuY2UsIDAsIDApIHNjYWxlKDEuMik7XHJcbn1cclxuXHJcbltkYXRhLWFvcz0nem9vbS1vdXQtbGVmdCddIHtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRhb3MtZGlzdGFuY2UsIDAsIDApIHNjYWxlKDEuMik7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8qKlxyXG4gKiBTbGlkZSBhbmltYXRpb25zXHJcbiAqL1xyXG5cclxuW2RhdGEtYW9zXj0nc2xpZGUnXVtkYXRhLWFvc149J3NsaWRlJ10ge1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuXHJcbiAgJi5hb3MtYW5pbWF0ZSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuW2RhdGEtYW9zPSdzbGlkZS11cCddIHtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG59XHJcblxyXG5bZGF0YS1hb3M9J3NsaWRlLWRvd24nXSB7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XHJcbn1cclxuXHJcbltkYXRhLWFvcz0nc2xpZGUtcmlnaHQnXSB7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbn1cclxuXHJcbltkYXRhLWFvcz0nc2xpZGUtbGVmdCddIHtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG4vKipcclxuICogRmxpcCBhbmltYXRpb25zOlxyXG4gKiBmbGlwLWxlZnQsIGZsaXAtcmlnaHQsIGZsaXAtdXAsIGZsaXAtZG93blxyXG4gKi9cclxuXHJcbltkYXRhLWFvc149J2ZsaXAnXVtkYXRhLWFvc149J2ZsaXAnXSB7XHJcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxufVxyXG5cclxuW2RhdGEtYW9zPSdmbGlwLWxlZnQnXSB7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVkoLTEwMGRlZyk7XHJcbiAgJi5hb3MtYW5pbWF0ZSB7dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVkoMCk7fVxyXG59XHJcblxyXG5bZGF0YS1hb3M9J2ZsaXAtcmlnaHQnXSB7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVkoMTAwZGVnKTtcclxuICAmLmFvcy1hbmltYXRlIHt0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWSgwKTt9XHJcbn1cclxuXHJcbltkYXRhLWFvcz0nZmxpcC11cCddIHtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWCgtMTAwZGVnKTtcclxuICAmLmFvcy1hbmltYXRlIHt0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWCgwKTt9XHJcbn1cclxuXHJcbltkYXRhLWFvcz0nZmxpcC1kb3duJ10ge1xyXG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVYKDEwMGRlZyk7XHJcbiAgJi5hb3MtYW5pbWF0ZSB7dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVgoMCk7fVxyXG59XHJcbiIsIi8vIEdlbmVyYXRlIER1cmF0aW9uICYmIERlbGF5XHJcbltkYXRhLWFvc10ge1xyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggNjAge1xyXG4gICAgYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nI3skaSAqIDUwfSddICYsXHJcbiAgICAmW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nI3skaSAqIDUwfSddIHtcclxuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogI3skaSAqIDUwfW1zO1xyXG4gICAgfVxyXG5cclxuICAgIGJvZHlbZGF0YS1hb3MtZGVsYXk9JyN7JGkgKiA1MH0nXSAmLFxyXG4gICAgJltkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JyN7JGkgKiA1MH0nXSB7XHJcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDA7XHJcblxyXG4gICAgICAmLmFvcy1hbmltYXRlIHtcclxuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAjeyRpICogNTB9bXM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiJGFvcy1lYXNpbmc6IChcclxuICBsaW5lYXI6IGN1YmljLWJlemllciguMjUwLCAuMjUwLCAuNzUwLCAuNzUwKSxcclxuXHJcbiAgZWFzZTogY3ViaWMtYmV6aWVyKC4yNTAsIC4xMDAsIC4yNTAsIDEpLFxyXG4gIGVhc2UtaW46IGN1YmljLWJlemllciguNDIwLCAwLCAxLCAxKSxcclxuICBlYXNlLW91dDogY3ViaWMtYmV6aWVyKC4wMDAsIDAsIC41ODAsIDEpLFxyXG4gIGVhc2UtaW4tb3V0OiBjdWJpYy1iZXppZXIoLjQyMCwgMCwgLjU4MCwgMSksXHJcblxyXG4gIGVhc2UtaW4tYmFjazogY3ViaWMtYmV6aWVyKC42LCAtLjI4LCAuNzM1LCAuMDQ1KSxcclxuICBlYXNlLW91dC1iYWNrOiBjdWJpYy1iZXppZXIoLjE3NSwgLjg4NSwgLjMyLCAxLjI3NSksXHJcbiAgZWFzZS1pbi1vdXQtYmFjazogY3ViaWMtYmV6aWVyKC42OCwgLS41NSwgLjI2NSwgMS41NSksXHJcblxyXG4gIGVhc2UtaW4tc2luZTogY3ViaWMtYmV6aWVyKC40NywgMCwgLjc0NSwgLjcxNSksXHJcbiAgZWFzZS1vdXQtc2luZTogY3ViaWMtYmV6aWVyKC4zOSwgLjU3NSwgLjU2NSwgMSksXHJcbiAgZWFzZS1pbi1vdXQtc2luZTogY3ViaWMtYmV6aWVyKC40NDUsIC4wNSwgLjU1LCAuOTUpLFxyXG5cclxuICBlYXNlLWluLXF1YWQ6IGN1YmljLWJlemllciguNTUsIC4wODUsIC42OCwgLjUzKSxcclxuICBlYXNlLW91dC1xdWFkOiBjdWJpYy1iZXppZXIoLjI1LCAuNDYsIC40NSwgLjk0KSxcclxuICBlYXNlLWluLW91dC1xdWFkOiBjdWJpYy1iZXppZXIoLjQ1NSwgLjAzLCAuNTE1LCAuOTU1KSxcclxuXHJcbiAgZWFzZS1pbi1jdWJpYzogY3ViaWMtYmV6aWVyKC41NSwgLjA4NSwgLjY4LCAuNTMpLFxyXG4gIGVhc2Utb3V0LWN1YmljOiBjdWJpYy1iZXppZXIoLjI1LCAuNDYsIC40NSwgLjk0KSxcclxuICBlYXNlLWluLW91dC1jdWJpYzogY3ViaWMtYmV6aWVyKC40NTUsIC4wMywgLjUxNSwgLjk1NSksXHJcblxyXG4gIGVhc2UtaW4tcXVhcnQ6IGN1YmljLWJlemllciguNTUsIC4wODUsIC42OCwgLjUzKSxcclxuICBlYXNlLW91dC1xdWFydDogY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCksXHJcbiAgZWFzZS1pbi1vdXQtcXVhcnQ6IGN1YmljLWJlemllciguNDU1LCAuMDMsIC41MTUsIC45NTUpXHJcbik7XHJcblxyXG4vLyBFYXNpbmdzIGltcGxlbWVudGF0aW9uc1xyXG4vLyBEZWZhdWx0IHRpbWluZyBmdW5jdGlvbjogJ2Vhc2UnXHJcblxyXG5bZGF0YS1hb3NdIHtcclxuICBAZWFjaCAka2V5LCAkdmFsIGluICRhb3MtZWFzaW5nIHtcclxuICAgIGJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiI3ska2V5fVwiXSAmLFxyXG4gICAgJltkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPVwiI3ska2V5fVwiXSB7XHJcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0ICdjb3JlJztcclxuQGltcG9ydCAnZWFzaW5nJztcclxuQGltcG9ydCAnYW5pbWF0aW9ucyc7XHJcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQWNBQSxZQUFZO0FBRVosQUFBQSxhQUFhLENBQUM7RUFDWixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsS0FBSztFQUNkLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLHFCQUFxQixFQUFFLElBQUk7RUFDM0IsbUJBQW1CLEVBQUUsSUFBSTtFQUN6QixrQkFBa0IsRUFBRSxJQUFJO0VBQ3hCLGdCQUFnQixFQUFFLElBQUk7RUFDdEIsZUFBZSxFQUFFLElBQUk7RUFDckIsV0FBVyxFQUFFLElBQUk7RUFDakIsZ0JBQWdCLEVBQUUsS0FBSztFQUN2QixZQUFZLEVBQUUsS0FBSztFQUNuQiwyQkFBMkIsRUFBRSxXQUFXO0NBQ3pDOztBQUNELEFBQUEsV0FBVyxDQUFDO0VBQ1YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsUUFBUSxFQUFFLE1BQU07RUFDaEIs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 */
