/*
Theme Name: SOGO Child
Theme URI: http://sogo.co.il/
Template:   sogo
Author: Oren Havshush
Author URI: https://sogo.co.il/
Description: SOGO child theme
Version: 1.3333
License: Commercial Use only
License URI: Commercial Use only
Text Domain: sogo
*/
/**********
style.less
***********/
/* animate.less */
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  animation-delay: 2s;
}
.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}
.animated.bounceIn,
.animated.bounceOut {
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
}
.animated.flipOutX,
.animated.flipOutY {
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
}
@-webkit-keyframes bounce {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}
@keyframes bounce {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}
@-webkit-keyframes bounce_small {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}
@keyframes bounce_small {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}
.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
}
@-webkit-keyframes flash {
  from,
  50%,
  to {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}
@keyframes flash {
  from,
  50%,
  to {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}
.flash {
  -webkit-animation-name: flash;
  animation-name: flash;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse;
}
@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand;
}
@-webkit-keyframes shake {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}
@keyframes shake {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}
.shake {
  -webkit-animation-name: shake;
  animation-name: shake;
}
@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
.swing {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing;
}
@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.tada {
  -webkit-animation-name: tada;
  animation-name: tada;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none;
  }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none;
  }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
}
.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble;
}
@-webkit-keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: none;
    transform: none;
  }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
@keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: none;
    transform: none;
  }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
.jello {
  -webkit-animation-name: jello;
  animation-name: jello;
  -webkit-transform-origin: center;
  transform-origin: center;
}
@-webkit-keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn;
}
@-webkit-keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
}
.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown;
}
@-webkit-keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
}
.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft;
}
@-webkit-keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }
  to {
    -webkit-transform: none;
    transform: none;
  }
}
.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight;
}
@-webkit-keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp;
}
@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
.bounceOut {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut;
}
@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown;
}
@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft;
}
@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight;
}
@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp;
}
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}
@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}
@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
}
@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}
@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}
@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}
@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}
@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes sogoPopInUp {
  from {
    bottom: -100%;
  }
  to {
    bottom: 0;
  }
}
.sogoPopInUp {
  -webkit-animation-name: sogoPopInUp;
  animation-name: sogoPopInUp;
  animation-delay: 1s;
}
@keyframes sogoPopInDown {
  from {
    top: -100%;
  }
  to {
    top: 0;
  }
}
.sogoPopInDown {
  -webkit-animation-name: sogoPopInDown;
  animation-name: sogoPopInDown;
  animation-delay: 1s;
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}
@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}
@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
}
@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig;
}
@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft;
}
@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig;
}
@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight;
}
@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig;
}
@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
}
@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig;
}
@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}
@keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}
.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip;
}
@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX;
}
@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY;
}
@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
.flipOutX {
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
}
@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
.flipOutY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY;
}
@-webkit-keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1;
  }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1;
  }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}
@-webkit-keyframes lightSpeedOut {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
@keyframes lightSpeedOut {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}
@-webkit-keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn;
}
@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft;
}
@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight;
}
@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft;
}
@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight;
}
@-webkit-keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
@keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut;
}
@-webkit-keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft;
}
@-webkit-keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight;
}
@-webkit-keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft;
}
@-webkit-keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight;
}
@-webkit-keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
@keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
.hinge {
  -webkit-animation-name: hinge;
  animation-name: hinge;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
@keyframes rollOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut;
}
@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn;
}
@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown;
}
@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft;
}
@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight;
}
@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp;
}
@-webkit-keyframes zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
@keyframes zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
.zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut;
}
@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown;
}
@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}
@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}
.zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft;
}
@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}
@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}
.zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight;
}
@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp;
}
@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown;
}
@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft;
}
@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight;
}
@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp;
}
@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
.slideOutDown {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown;
}
@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-500%, 0, 0);
    transform: translate3d(-500%, 0, 0);
  }
}
@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-500%, 0, 0);
  }
}
.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft;
}
@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
.slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight;
}
@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
.slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp;
}
@keyframes cloudsAnimate {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-2500px, 0, 0);
    -ms-transform: translate3d(-2500px, 0, 0);
    transform: translate3d(-2500px, 0, 0);
    -moz-transform: translate3d(-2500px, 0, 0);
    -o-transform: translate3d(-2500px, 0, 0);
  }
}
.cloudsAnimate {
  -webkit-animation-name: cloudsAnimate;
  animation-name: cloudsAnimate;
  -ms-animation-name: cloudsAnimate;
  -moz-animation-name: cloudsAnimate;
  -o-animation-name: cloudsAnimate;
}
@keyframes cloudsAnimate-left {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-700px, 0, 0);
    -ms-transform: translate3d(-700px, 0, 0);
    transform: translate3d(-700px, 0, 0);
    -moz-transform: translate3d(-700px, 0, 0);
    -o-transform: translate3d(-700px, 0, 0);
  }
}
.cloudsAnimate-left {
  -webkit-animation-name: cloudsAnimate-left;
  animation-name: cloudsAnimate-left;
  -ms-animation-name: cloudsAnimate-left;
  -moz-animation-name: cloudsAnimate-left;
  -o-animation-name: cloudsAnimate-left;
}
@keyframes carsAnimate {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(3000px, 0, 0);
    -ms-transform: translate3d(3000px, 0, 0);
    -moz-transform: translate3d(3000px, 0, 0);
    -o-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }
}
.carsAnimate {
  -webkit-animation-name: carsAnimate;
  animation-name: carsAnimate;
  -ms-animation-name: carsAnimate;
  -moz-animation-name: carsAnimate;
  -o-animation-name: carsAnimate;
}
@keyframes carsAnimate-right {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-3000px, 0, 0);
    -ms-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
    -moz-transform: translate3d(-3000px, 0, 0);
    -o-transform: translate3d(-3000px, 0, 0);
  }
}
.carsAnimate-right {
  -webkit-animation-name: carsAnimate-right;
  animation-name: carsAnimate-right;
  -ms-animation-name: carsAnimate-right;
  -moz-animation-name: carsAnimate-right;
  -o-animation-name: carsAnimate-right;
}
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
}
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}
.infinite {
  animation-iteration-count: infinite;
  -webkit-animation-iteration-count: infinite;
}
@-webkit-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-1000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}
@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    transform: translateX(-1000px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.active .fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}
@-webkit-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(1000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}
@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    transform: translateX(1000px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.active .fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}
@-webkit-keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    -webkit-transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-30px);
  }
  60% {
    -webkit-transform: translateY(-15px);
  }
}
@keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-30px);
  }
  60% {
    transform: translateY(-15px);
  }
}
@-webkit-keyframes bounce_small {
  0%,
  20%,
  50%,
  80%,
  100% {
    -webkit-transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-10px);
  }
  60% {
    -webkit-transform: translateY(-5px);
  }
}
@keyframes bounce_small {
  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-10px);
  }
  60% {
    transform: translateY(-5px);
  }
}
.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
}
.active .grow {
  -webkit-animation-name: grow;
  animation-name: grow;
}
@-webkit-keyframes grow {
  0% {
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes grow {
  0% {
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
}
@-webkit-keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    transform: translateY(2000px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.active .fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}
@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
  }
}
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown;
}
@-webkit-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
  }
  80% {
    -webkit-transform: translateY(-10px);
  }
  100% {
    -webkit-transform: translateY(0);
  }
}
@keyframes bounceInDown {
  0% {
    opacity: 0;
    transform: translateY(-2000px);
  }
  60% {
    opacity: 1;
    transform: translateY(30px);
  }
  80% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}
@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@-webkit-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    transform: translateY(-2000px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.active .fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
  -webkit-animation-duration: 1.2s;
  animation-duration: 1.2s;
}
@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
}
@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.active .slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft;
}
@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.active .fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}
@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.active .fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}
.hvr-icon-forward {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  padding-right: 2.2em;
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
}
.hvr-icon-forward:before {
  content: "\f138";
  position: absolute;
  right: 1em;
  padding: 0 1px;
  font-family: FontAwesome;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-icon-forward:hover:before,
.hvr-icon-forward:focus:before,
.hvr-icon-forward:active:before {
  -webkit-transform: translateX(4px);
  -moz-transform: translateX(4px);
  -ms-transform: translateX(4px);
  -o-transform: translateX(4px);
  transform: translateX(4px);
}
.hvr-grow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hvr-grow:hover,
.hvr-grow:focus,
.hvr-grow:active {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
  text-decoration: none;
}
[class^="hvr-"] {
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
@media (min-width: 992px) {
  [class^="hvr-"] {
    padding: 1em;
  }
}
/* end animate.less */
/* back-to-top.less */
.back-to-top {
  background-image: url("images/top-btn.png");
  background-repeat: no-repeat;
  background-size: contain;
  width: 3.5rem;
  height: 7.73rem;
  z-index: 10000;
  cursor: pointer;
  right: 2.5rem;
  position: fixed;
  bottom: 8vh;
  opacity: 1;
  -webkit-transition: 1s;
  -moz-transition: 1s;
  -ms-transition: 1s;
  -o-transition: 1s;
  transition: 1s;
}
.back-to-top:hover {
  background-image: url("images/top-btn-hoover.png");
}
.back-to-top.drive {
  bottom: 100vh;
}
.back-to-top.hide-car {
  -webkit-transform: translateY(100%) !important;
  -moz-transform: translateY(100%) !important;
  -ms-transform: translateY(100%) !important;
  -o-transform: translateY(100%) !important;
  transform: translateY(100%) !important;
}
/* breadcrumbs.less */
.breadcrumbs {
  color: #a7a4a3;
  font-size: 0.5rem;
}
.breadcrumbs .breadcrumb_last {
  color: #625f60;
  font-weight: 500;
}
.breadcrumbs a {
  color: #a7a4a3;
}
/* button.less */
[class^="s-button"] {
  font-family: 'Assistant', sans-serif;
  display: inline-block;
  position: relative;
  border: none;
  outline: none;
  border-radius: 0;
  cursor: pointer;
  text-align: center;
  font-size: 0.73rem;
  max-width: 198px;
  min-width: 130px;
  width: 100%;
  overflow: hidden;
  line-height: 1rem;
  height: 32px;
}
@media (min-width: 922px) {
  [class^="s-button"] {
    font-size: 0.83rem;
    line-height: 1.35rem;
    height: 45px;
  }
}
.btn-header {
  font-weight: 600 !important;
  font-size: 0.53rem;
  min-width: 100px;
  max-width: 174px;
  height: 30px;
  line-height: 0.9rem;
}
.btn-sale {
  font-weight: 600 !important;
  font-size: 0.53rem;
  max-width: 174px;
  height: 30px;
  line-height: 0.9rem;
}
.s-button-1 {
  color: white;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, white), color-stop(50%, #c8102b));
  background-image: -webkit-linear-gradient(top, white 50%, #c8102b 50%);
  background-image: -o-linear-gradient(top, white 50%, #c8102b 50%);
  background-image: linear-gradient(to bottom, white 50%, #c8102b 50%);
  background-size: 100% 200%;
  background-position-y: 100%;
  -webkit-transition: background-position 0.2s;
  -moz-transition: background-position 0.2s;
  -ms-transition: background-position 0.2s;
  -o-transition: background-position 0.2s;
  transition: background-position 0.2s;
}
.s-button-1:hover,
.s-button-1:focus {
  background-position-y: 0;
  color: #c8102b;
  box-shadow: inset 0 0 0 1px #c8102b;
}
.s-button-sm {
  color: #c8102b;
  -webkit-box-shadow: inset 0px 0px 0px 1px #c8102b;
  -moz-box-shadow: inset 0px 0px 0px 1px #c8102b;
  box-shadow: inset 0px 0px 0px 1px #c8102b;
  background-size: 100% 200%;
  background-position-y: 100%;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #c8102b), color-stop(50%, white));
  background-image: -webkit-linear-gradient(top, #c8102b 50%, white 50%);
  background-image: -o-linear-gradient(top, #c8102b 50%, white 50%);
  background-image: linear-gradient(to bottom, #c8102b 50%, white 50%);
  -webkit-transition: background-position 0.2s;
  -moz-transition: background-position 0.2s;
  -ms-transition: background-position 0.2s;
  -o-transition: background-position 0.2s;
  transition: background-position 0.2s;
}
.s-button-sm:hover,
.s-button-sm:focus {
  color: white;
  background-position-y: 0;
}
.s-btn-1 {
  position: absolute;
  left: 0;
  height: 100%;
  background-color: #c8102b;
  border: none;
  color: white;
  font-family: 'Assistant', sans-serif;
}
/* classes.less */
body.desktop .desktop-p-absolute {
  position: absolute !important;
}
body.desktop .desktop-custom-pt {
  padding-top: 4rem !important;
}
body.mobile .mobile-bg-transparent {
  background-color: transparent !important;
}
body.mobile .mobile-pb-2 {
  padding-bottom: 0.5rem !important;
}
body.mobile .mobile-pt-3 {
  padding-top: 1rem !important;
}
body.mobile .mobile-col-12 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
}
body.mobile .mobile-border-bottom {
  border-bottom: 1px solid;
}
body.mobile .mobile-mb-0 {
  margin-bottom: 0 !important;
}
body.mobile .mobile-mb-2 {
  margin-bottom: 0.5rem !important;
}
body.mobile .mobile-mb-3 {
  margin-bottom: 1rem !important;
}
body.mobile .mobile-pb-3 {
  padding-bottom: 1rem !important;
}
body.mobile .mobile-pb-4 {
  padding-bottom: 1.5rem !important;
}
@media (min-width: 992px) {
  body.mobile .mobile-col-lg-10 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.333333%;
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
}
.cursor-pointer {
  cursor: pointer;
}
.pointer-none {
  pointer-events: none !important;
}
.d-ltr {
  direction: ltr;
}
.list-decimals {
  list-style: decimal;
}
.list-inside {
  list-style-position: inside;
}
.box-shadow-1 {
  -webkit-box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, 0.15);
  -moz-box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, 0.15);
  box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, 0.15);
}
.box-shadow-3 {
  box-shadow: 0 0 7.3px 2.7px #dfdfdf;
}
@media (min-width: 992px) {
  .custom-mr-1 {
    margin-right: 1.75rem;
  }
}
.mx-15 {
  margin-left: 15px;
  margin-right: 15px;
}
.ml-minus-100 {
  margin-left: -100%;
}
.mr-minus-100 {
  margin-right: -100% !important;
}
.mt-6 {
  margin-top: 5rem;
}
.icon-extra-small {
  font-size: 0.2rem;
}
.icon-xs {
  font-size: 0.53rem;
}
.icon-s {
  font-size: 0.8rem;
}
.icon-m {
  font-size: 1.06rem;
}
.icon-l {
  font-size: 1.6rem;
}
.icon-xl {
  font-size: 2.13rem;
}
.icon-xxl {
  font-size: 4rem;
}
.icon-small {
  font-size: 0.3rem;
}
.icon-x1 {
  font-size: 0.6rem;
}
.icon-x2 {
  font-size: 0.75rem;
}
.icon-x3 {
  font-size: 1rem;
}
.icon-x4 {
  font-size: 1.25rem;
}
.icon-x5 {
  font-size: 0.6rem;
}
@media (min-width: 992px) {
  .icon-x5 {
    font-size: 1.5rem;
  }
}
.icon-x6 {
  font-size: 3rem;
}
.pt-2rem {
  padding-top: 2rem !important;
}
.pr-15 {
  padding-right: 15px;
}
.pl-15 {
  padding-left: 15px;
}
@media (min-width: 992px) {
  .pl-lg-15 {
    padding-left: 15px !important;
  }
}
@media (min-width: 992px) {
  .pr-lg-15 {
    padding-right: 15px !important;
  }
}
.px-15 {
  padding-left: 15px;
  padding-right: 15px;
}
@media (min-width: 992px) {
  .px-lg-15 {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}
.pt-7 {
  padding-top: 2.7rem;
}
.pb-2rem {
  padding-bottom: 2rem !important;
}
@media (min-width: 992px) {
  .pb-lg-2rem {
    padding-bottom: 2rem !important;
  }
}
.pt-2rem {
  padding-top: 2rem !important;
}
@media (min-width: 992px) {
  .pt-lg-2rem {
    padding-top: 2rem !important;
  }
}
.extra-bold {
  font-weight: 800 !important;
}
.bold {
  font-weight: 700 !important;
}
.semi-bold {
  font-weight: 600 !important;
}
.medium {
  font-weight: 500;
}
.normal {
  font-weight: 400 !important;
}
.regular {
  font-weight: 300 !important;
}
.font-0 {
  font-size: 0;
}
.z-index-1 {
  z-index: 1;
}
.z-index-2 {
  z-index: 2;
}
.z-index-3 {
  z-index: 3;
}
.z-index-4 {
  z-index: 4;
}
.z-index-5 {
  z-index: 5;
}
.z-index-7 {
  z-index: 7;
}
.no-wrap {
  white-space: nowrap;
}
.underline {
  text-decoration: underline;
}
.l-h-0 {
  line-height: 0;
}
.l-h-1 {
  line-height: 0.7rem;
}
.l-h-2 {
  line-height: 1.1rem;
}
.ltr {
  direction: ltr;
}
.p-static {
  position: static !important;
}
.t-0 {
  top: 0;
}
.l-0 {
  left: 0;
}
.l-15 {
  left: 15px;
}
.l-1 {
  left: 0.25rem;
}
.l-2 {
  left: 0.5rem;
}
.l-3 {
  left: 1rem;
}
.l-4 {
  left: 1.5rem;
}
.l-5 {
  left: 3rem;
}
.r-0 {
  right: 0;
}
.r-1 {
  right: 0.25rem;
}
.r-2 {
  right: 0.5rem;
}
.r-3 {
  right: 1rem;
}
.r-4 {
  right: 1.5rem;
}
.r-5 {
  right: 3rem;
}
.t-1 {
  top: 0.25rem;
}
.t-2 {
  top: 0.5rem;
}
.t-3 {
  top: 1rem;
}
.t-4 {
  top: 1.5rem;
}
.t-5 {
  top: 3rem;
}
.b-0 {
  bottom: 0;
}
.b-1 {
  bottom: 0.25rem;
}
.b-2 {
  bottom: 0.5rem;
}
.b-3 {
  bottom: 1rem;
}
.b-4 {
  bottom: 1.5rem;
}
.b-5 {
  bottom: 3rem;
}
.b-minus-1 {
  bottom: -0.25rem;
}
.l-minus-3 {
  left: -1rem;
}
.r-minus-3 {
  right: -1rem;
}
.x-align-absolute {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
}
.x-align {
  position: absolute;
  left: 0;
  right: 0;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 768px) {
  .x-align-md {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -o-transform: translateX(-50%);
  }
}
.y-align {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
}
.xy-align {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  margin-right: auto;
  margin-left: auto;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  text-align: center;
}
.p-absolute {
  position: absolute !important;
}
@media (min-width: 992px) {
  .p-lg-absolute {
    position: absolute !important;
  }
}
.p-relative {
  position: relative !important;
}
.p-fixed {
  position: fixed !important;
}
.mirror-flip {
  -webkit-transform: scalex(-1);
  -moz-transform: scalex(-1);
  -ms-transform: scalex(-1);
  -o-transform: scalex(-1);
  transform: scalex(-1);
}
.h-100 {
  height: 100% !important;
}
.bg-1 {
  background-color: #f2f2f2 !important;
}
.bg-2 {
  background-color: #dfdfdf !important;
}
.bg-3 {
  background-color: #a7a4a3 !important;
}
.bg-4 {
  background-color: #625f60 !important;
}
.bg-5 {
  background-color: #0f0f0f !important;
}
.bg-6 {
  background-color: #dadad2 !important;
}
.bg-7 {
  background-color: #fafafa !important;
}
.bg-red {
  background-color: #c8102b !important;
}
.bg-custom {
  background-color: #FAFAF9 !important;
}
.bg-white {
  background-color: white;
}
.bg-transparent {
  background-color: transparent !important;
}
.b-radius-1 {
  border-radius: 25px;
}
.b-radius-0 {
  border-radius: 0px;
}
.b-radius-1-tr-br {
  border-radius: 0 25px 25px 0;
}
.b-radius-1-tl-bl {
  border-radius: 25px 0 0 25px;
}
.b-radius-1-tl-tr {
  border-radius: 25px 25px 0 0;
}
.b-radius-50 {
  border-radius: 50%;
}
.border-color-transperent {
  border-color: transparent;
}
.border-bottom-2 {
  border-bottom: 2px solid;
}
.border {
  border: 1px solid;
}
.border-solid {
  border-style: solid;
}
.border-right {
  border-right: 1px solid;
}
.border-left {
  border-left: 1px solid;
}
.border-bottom {
  border-bottom: 1px solid;
}
.border-top {
  border-top: 1px solid;
}
.border-top-4 {
  border-top: 4px solid;
}
.border-color-1 {
  border-color: #f2f2f2;
}
.border-color-2 {
  border-color: #dfdfdf;
}
.border-color-3 {
  border-color: #a7a4a3;
}
.border-color-4 {
  border-color: #625f60;
}
.border-color-5 {
  border-color: #0f0f0f;
}
.border-color-6 {
  border-color: #dadad2;
}
.border-color-red {
  border-color: #c8102b;
}
.border-width-x1 {
  border-width: 1px;
}
.border-width-x2 {
  border-width: 2px;
}
.border-width-x4 {
  border-width: 4px;
}
.border-none {
  border: none !important;
}
.color-1 {
  color: #f2f2f2 !important;
}
.color-2 {
  color: #dfdfdf !important;
}
.color-3 {
  color: #a7a4a3 !important;
}
.color-4 {
  color: #625f60 !important;
}
.color-5 {
  color: #0f0f0f !important;
}
.color-6 {
  color: #dadad2 !important;
}
.color-7 {
  color: #fafafa !important;
}
.color-white {
  color: white !important;
}
.color-black {
  color: black !important;
}
.color-red {
  color: #c8102b !important;
}
.color-green {
  color: green !important;
}
.custom-color {
  color: #FAFAF9 !important;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-visible {
  overflow: visible;
}
.overflow-x-hidden {
  overflow-x: hidden;
}
.bg-none {
  background: none;
}
.bg-no-repeat {
  background-repeat: no-repeat !important;
}
.bg-size-cover {
  background-size: cover !important;
}
.bg-size-contain {
  background-size: contain;
}
.bg-position-center {
  background-position: center !important;
}
.opacity-0 {
  opacity: 0;
}
.transform-up {
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
}
.custom-roll-down {
  border-top: 7px solid #c8102b;
  overflow: hidden;
  position: relative;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  z-index: 0;
}
.custom-roll-down .icon {
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
.custom-roll-down:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 0;
  width: 100%;
  background-color: #c8102b;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  z-index: -1;
}
.custom-roll-down:hover {
  color: white;
}
.custom-roll-down:hover p {
  color: white !important;
}
.custom-roll-down:hover .icon {
  color: white !important;
}
.custom-roll-down:hover:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: #c8102b;
}
.font-size-icon-small {
  font-size: 0.2rem !important;
}
.font-size-icon {
  font-size: 1.2rem;
}
.font-size-icon-2 {
  font-size: 0.5rem !important;
  font-weight: 500 !important;
}
.font-size-icon-3 {
  font-size: 0.8rem !important;
  font-weight: 500 !important;
}
.opacity-gray:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: #f2f2f2;
  opacity: 0.8;
}
.opacity-black:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: #0f0f0f;
  opacity: 0.6;
}
.image-rotate-1 {
  transform: rotate(60deg);
}
.image-rotate-2 {
  transform: rotate(100deg);
}
.image-rotate-3 {
  transform: rotate(-60deg);
}
.image-rotate-4 {
  transform: rotate(-100deg);
}
.transition {
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
.transition-6 {
  -webkit-transition: 0.6s;
  -moz-transition: 0.6s;
  -ms-transition: 0.6s;
  -o-transition: 0.6s;
  transition: 0.6s;
}
.custom-title-height {
  height: 6.1vh;
}
.line-height {
  line-height: 1.3;
}
.custom-line-height {
  line-height: 0.3rem !important;
}
.custom-line-height-2 {
  line-height: 0.4rem !important;
}
.custom-line-height-3 {
  line-height: 0.6rem !important;
}
.black-line {
  height: 4px;
  background-color: black;
  width: 100%;
}
.line-through {
  text-decoration: line-through;
}
.max-width-100 {
  max-width: 100%;
}
.product-btn-position {
  position: relative;
  top: -0.6rem;
}
.product-wish-list-position {
  top: 0;
  position: absolute;
  right: 25px;
  line-height: 0.8;
  z-index: 1;
}
.custom-gradient-1 {
  position: absolute;
  top: 0;
  left: 2%;
  width: 95%;
  height: 1rem;
  background: linear-gradient(white, transparent);
}
.custom-gradient-2 {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  height: 33px;
  line-height: 33px;
  background-color: rgba(0, 0, 0, 0.7);
}
.v-align-top {
  vertical-align: top;
}
.width-4px {
  width: 4px;
}
.width-3-5-rem {
  width: 131px ;
}
.width-1-6-rem {
  width: 1.6rem !important;
}
.custom-m-0 .woocommerce-result-count {
  margin: 0 !important;
}
.custom-box-shadow {
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
.custom-box-shadow:hover {
  box-shadow: 0 0 10px 0 #c8102b;
}
.custom-m-t {
  margin-top: -2rem;
}
.on-focus-red:focus {
  color: #c8102b;
}
.on-hover-red:hover {
  color: #c8102b;
}
.on-hover-border-red:hover {
  border-color: #c8102b;
}
.on-hover-5:hover * {
  color: #0f0f0f !important;
}
.rotate-180-1 {
  transform: rotate(180deg);
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
@media (min-width: 1800px) {
  .d-xxl-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 1800px) {
  .d-xxl-flex {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}
.text-decoration-none {
  text-decoration: none !important;
}
.l-height-40 {
  line-height: 40px !important;
}
.custom-max-height {
  max-height: 1.9rem;
  overflow: hidden;
}
.custom-max-height-1 {
  max-height: 240px;
}
@media (min-width: 1500px) {
  .col-xxl-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.666667%;
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
    padding-right: 15px;
    padding-left: 15px;
  }
}
@media (min-width: 1500px) {
  .col-xxl-10 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.333333%;
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
}
.custom-button-font-size {
  font-size: 0.6rem;
}
.button-none {
  background-color: transparent;
  border: none;
}
.button-none:focus {
  outline: none;
}
.flex-basis-50 {
  flex-basis: 50%;
}
.custom-min-height {
  max-height: 1.83333333rem;
  overflow: hidden;
  line-height: 1.1;
}
.t-50 {
  top: 50px;
}
.t-minus-15 {
  top: -15px;
}
.t-0 {
  top: 0;
}
.t-minus-1 {
  top: -1rem;
}
.custom-striped-table tbody tr:nth-of-type(odd) {
  background-color: #dfdfdf;
}
.font-family {
  font-family: 'Assistant', sans-serif !important;
}
.justify-content-evenly {
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -webkit-box-pack: space-evenly !important;
  -ms-flex-pack: space-evenly !important;
  justify-content: space-evenly !important;
}
.my-0-1 {
  margin-top: 0.1rem;
  margin-bottom: 0.1rem;
}
.translatex-50 {
  -webkit-transform: translateX(50%);
  -moz-transform: translateX(50%);
  -ms-transform: translateX(50%);
  -o-transform: translateX(50%);
  transform: translateX(50%);
}
.px-custom-1 {
  padding-left: 4.6rem;
  padding-right: 4.6rem;
}
.before-min-width-1:before {
  min-width: 12px;
}
.dir-ltr {
  direction: ltr;
}
label.error {
  font-weight: 400;
  font-size: 0.5rem;
  line-height: 1.3;
  color: #c8102b !important;
  position: absolute;
  bottom: -20px;
  right: 15px;
}
@media (min-width: 992px) {
  label.error {
    font-size: 0.53rem;
  }
}
.page-loader {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 9999;
  background: rgba(255, 255, 255, 0.9);
}
.height-1 {
  height: 0.85rem;
}
.height-0 {
  height: 0;
}
.width-0 {
  width: 0;
}
.file-name {
  height: 100%;
  position: relative;
  right: 0;
  width: 100%;
  display: block;
  align-items: center;
  padding-right: 10px;
  overflow: hidden;
}
.tri-header {
  position: relative;
  overflow: hidden;
  padding-bottom: 20px;
}
.tri-header div:before {
  right: 50%;
  border-right: 1000px solid transparent;
  border-left: 1000px solid;
}
.tri-header div:after {
  left: 50%;
  border-left: 1000px solid transparent;
  border-right: 1000px solid;
}
.tri-header div:after,
.tri-header div:before {
  content: '';
  position: absolute;
  bottom: 0;
  width: 50%;
  z-index: 100;
  /*  change the hieght and the color below */
  border-bottom: 100px solid white;
  -moz-transform: rotate(0.000001deg);
  -webkit-transform: rotate(0.000001deg);
  -o-transform: rotate(0.000001deg);
  -ms-transform: rotate(0.000001deg);
  transform: rotate(0.000001deg);
}
.border-left-1 {
  border-left: 1px solid #dfdfdf;
}
/* entry-content.less */
.entry-content {
  color: #a7a4a3;
  line-height: 1.2;
}
.entry-content strong {
  font-weight: 700;
}
.entry-content p {
  color: #0f0f0f;
  line-height: 0.76666667rem;
  font-weight: 400;
  font-size: 0.5rem;
}
@media (min-width: 992px) {
  .entry-content p {
    font-size: 0.53333333rem;
  }
}
.entry-content a {
  color: #c8102b;
  text-decoration: underline;
}
.entry-content h1 {
  font-size: 0.83333333rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
}
@media (min-width: 992px) {
  .entry-content h1 {
    font-size: 1.16666667rem;
  }
}
.entry-content h2 {
  margin-bottom: 0.25rem;
  color: #c8102b;
  font-size: 0.73333333rem;
  font-weight: 500;
}
@media (min-width: 992px) {
  .entry-content h2 {
    font-size: 0.83333333rem;
  }
}
.entry-content h3 {
  margin-bottom: 0.25rem;
  color: #c8102b;
  font-size: 0.7rem;
  font-weight: 700;
}
@media (min-width: 992px) {
  .entry-content h3 {
    font-size: 0.76666667rem;
  }
}
.entry-content h4 {
  color: #0f0f0f;
  margin-bottom: 0.25rem;
  font-size: 0.5rem;
  font-weight: 700;
}
@media (min-width: 992px) {
  .entry-content h4 {
    font-size: 0.6rem;
  }
}
.entry-content h5 {
  color: #c8102b;
  font-size: 0.53333333rem;
  font-weight: 400;
}
@media (min-width: 992px) {
  .entry-content h5 {
    font-size: 0.6rem;
  }
}
.entry-content h6 {
  margin-bottom: 0.25rem;
  color: #c8102b;
  font-size: 0.5rem;
  font-weight: 700;
}
@media (min-width: 992px) {
  .entry-content h6 {
    font-size: 0.53333333rem;
  }
}
.entry-content ol {
  padding-right: 0.5rem;
}
.entry-content ol li {
  color: #0f0f0f;
  font-weight: 300;
  font-size: 0.5rem;
  margin-bottom: 0.5rem;
  list-style-position: outside;
}
.entry-content ul {
  padding-right: 0.5rem;
}
.entry-content ul li {
  color: #0f0f0f;
  font-weight: 300;
  font-size: 0.5rem;
  margin-bottom: 0.5rem;
  list-style: disc;
  list-style-position: outside;
}
.entry-content blockquote {
  text-align: center;
  margin-bottom: 1.5rem;
}
.entry-content blockquote p {
  margin-bottom: 0;
  font-size: 0.9rem;
  line-height: 1.166667rem;
  font-weight: 300;
  font-style: italic;
}
.entry-content figure {
  margin: 0 0 1.5rem 0;
  padding: 0;
}
.entry-content figcaption {
  color: #0f0f0f;
  font-weight: 400;
  font-size: 0.5rem;
  margin-top: 0.25rem;
}
.entry-content img {
  max-width: 100%;
  height: auto;
}
/* mixin.less */
/* end mixin.less */
.page-navigation .wp-pagenavi {
  direction: ltr;
}
.page-navigation .page {
  vertical-align: middle;
  display: inline-block;
  color: #c8102b;
  border: none;
  font-size: 0.6rem;
  font-weight: 700 !important;
  height: 1.3rem;
  border-radius: 50%;
  line-height: 1.1rem;
  -webkit-transition: 0.2s;
  -moz-transition: 0.2s;
  -ms-transition: 0.2s;
  -o-transition: 0.2s;
  transition: 0.2s;
}
.page-navigation .page:hover,
.page-navigation .page:focus {
  color: black;
  background-position-y: 0;
}
@media (min-width: 992px) {
  .page-navigation .page {
    font-size: 0.75rem;
  }
}
.page-navigation .current {
  vertical-align: middle;
  display: inline-block;
  border: none;
  font-size: 0.6rem;
  font-weight: 700 !important;
  color: black;
  border-radius: 50%;
  height: 1.3rem;
  line-height: 1.1rem;
  text-align: center;
}
@media (min-width: 992px) {
  .page-navigation .current {
    font-size: 0.75rem;
  }
}
.page-navigation .nextpostslink {
  border: 0;
  vertical-align: middle;
  color: transparent;
  display: inline-block;
  width: 17px;
  height: 17px;
  position: relative;
}
.page-navigation .nextpostslink:after {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  font-family: icomoon;
  content: '\e92a';
  color: #c8102b;
  right: -5px;
  position: absolute;
  font-size: 0.4rem;
  font-weight: bold;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
.page-navigation .nextpostslink:hover:after {
  color: black;
}
.page-navigation .previouspostslink {
  vertical-align: middle;
  color: transparent;
  display: inline-block;
  width: 17px;
  height: 17px;
  position: relative;
  border: 0;
}
.page-navigation .previouspostslink:after {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  left: -5px;
  font-family: icomoon;
  content: '\e91c';
  color: #c8102b;
  position: absolute;
  font-size: 0.4rem;
  font-weight: bold;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
.page-navigation .previouspostslink:hover:after {
  color: black;
}
.page-navigation .first,
.page-navigation .last {
  display: none;
  font-size: 0.6rem;
}
@media (min-width: 992px) {
  .page-navigation .first,
  .page-navigation .last {
    font-size: 0.75rem;
  }
}
/* reset.less */
/*
html5doctor.com Reset Stylesheet
v1.4
2009-07-27
Author: Richard Clark - http://richclarkdesign.com
*/
html,
body,
div,
span,
object,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
abbr,
address,
cite,
code,
del,
em,
img,
ins,
small,
strong,
sub,
sup,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
caption,
article,
aside,
dialog,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
body {
  line-height: 1;
}
a:hover {
  text-decoration: none;
  color: inherit;
}
a:focus {
  text-decoration: none;
  outline: none;
  color: inherit;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  color: inherit;
  margin: 0;
}
article,
aside,
dialog,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block;
}
blockquote {
  quotes: none;
}
blockquote:before,
blockquote:after {
  content: '';
  content: none;
}
a {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  color: black;
}
del {
  text-decoration: line-through;
}
abbr[title],
dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help;
}
table {
  border-collapse: inherit;
}
td {
  font-size: 0.53rem;
  font-weight: 400;
  padding: 0.25rem;
}
@media (min-width: 992px) {
  td {
    font-size: 0.6rem;
  }
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}
input,
select {
  vertical-align: middle;
}
ul {
  list-style: none;
}
p {
  line-height: 0.7rem;
}
/* share-bar.less */
.a2a_svg {
  opacity: 1 !important;
}
a[class^="a2a_button"] path {
  fill: #c8102b;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
a[class^="a2a_button"] > span {
  background-color: transparent !important;
  display: block !important;
  border-radius: 50% !important;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
a[class^="a2a_button"]:hover path {
  fill: #0f0f0f;
}
/* typography.less */
html.mobile {
  font-size: 30px;
}
@media (min-width: 992px) {
  html.mobile {
    font-size: 26.25px;
  }
}
@media (min-width: 1170px) {
  html.mobile {
    font-size: 2.8125vh;
  }
}
html {
  font-size: 30px;
}
@media (min-width: 992px) {
  html {
    font-size: 22.5px;
  }
}
@media (min-width: 1200px) {
  html {
    font-size: 30px;
  }
}
@media (min-width: 1441px) {
  html {
    font-size: 3.25789375vh;
  }
}
body {
  font-family: 'Assistant', sans-serif !important;
  direction: rtl;
}
.text-small {
  font-size: 11px !important;
  line-height: 1.3 !important;
}
.text-1 {
  font-size: 0.83rem;
  font-weight: 600;
}
@media (min-width: 992px) {
  .text-1 {
    font-size: 1.16666667rem;
  }
}
.text-2 {
  font-size: 0.73rem;
  font-weight: 500;
}
@media (min-width: 992px) {
  .text-2 {
    font-size: 0.79rem;
  }
}
.text-3 {
  font-size: 0.7rem;
  font-weight: 700;
}
@media (min-width: 992px) {
  .text-3 {
    font-size: 0.76rem;
  }
}
.text-4 {
  font-size: 0.5rem;
  font-weight: 700;
}
@media (min-width: 992px) {
  .text-4 {
    font-size: 0.6rem;
  }
}
.text-5 {
  font-size: 0.53rem;
  font-weight: 400;
}
@media (min-width: 992px) {
  .text-5 {
    font-size: 0.6rem;
  }
}
.text-6 {
  font-size: 0.5rem;
  font-weight: 700;
}
@media (min-width: 992px) {
  .text-6 {
    font-size: 0.53rem;
  }
}
.text-p {
  font-weight: 400;
  font-size: 0.5rem;
  line-height: 1.3;
}
@media (min-width: 992px) {
  .text-p {
    font-size: 0.53rem;
  }
}
.text-q {
  margin-bottom: 0;
  font-size: 0.9rem;
  line-height: 1.166667rem;
  font-weight: 300;
  font-style: italic;
}
.text-q:before {
  content: '"';
}
.text-q:after {
  content: '"';
}
.text-legal {
  font-weight: 400;
  font-size: 11px;
  line-height: 1.3;
}
.text-label {
  font-family: 'Assistant', sans-serif !important;
  font-size: 13px !important;
  font-weight: 300;
  line-height: 0.2rem;
  letter-spacing: 0.6px;
}
.slider-title {
  font-weight: 800;
  font-size: 1.13rem;
  text-shadow: 0 0 24px rgba(98, 95, 96, 0.82);
}
@media (min-width: 992px) {
  .slider-title {
    font-size: 2.166667rem;
  }
}
.slider-sub-title {
  font-weight: 400;
  font-size: 0.83rem;
}
@media (min-width: 992px) {
  .slider-sub-title {
    font-size: 1.33rem;
  }
}
.capture-text {
  font-weight: 400;
  font-size: 0.5rem;
}
.breadcrumbs-text {
  font-weight: 500;
  font-size: 0.43rem;
}
@media (min-width: 992px) {
  .breadcrumbs-text {
    font-size: 0.5rem;
  }
}
.placeholder-text {
  font-weight: 400;
  font-size: 0.53rem;
}
@media (min-width: 992px) {
  .placeholder-text {
    font-size: 0.6rem;
  }
}
.copyright-text {
  font-weight: 500;
  font-size: 0.46rem;
}
.title-underline {
  position: relative;
  display: inline-block;
}
.title-underline:before {
  content: '';
  position: absolute;
  bottom: -11px;
  right: 0;
  width: 0;
  height: 1px;
  background-color: #c8102b;
  transition: 0.6s;
}
.title-underline:after {
  content: '';
  position: absolute;
  bottom: -16px;
  right: 60px;
  width: 0;
  height: 1px;
  background-color: #c8102b;
  transition: 0.6s;
  transform-origin: right;
  transform: rotate(180deg);
}
.title-underline-active:before {
  width: 60px;
}
.title-underline-active:after {
  width: 60px;
}
.excerpt p {
  font-size: 0.53333333rem;
  font-weight: 400;
}
@media (min-width: 992px) {
  .excerpt p {
    font-size: 0.6rem;
  }
}
/*  variables.less  */
/* wordpress.less */
.alignnone {
  margin: 5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
  display: block;
  margin: 5px auto 5px auto;
}
.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}
.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}
a img.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}
a img.alignnone {
  margin: 5px 20px 20px 0;
}
a img.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}
a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.wp-caption {
  max-width: 96%;
  /* Image does not overflow the content area */
  padding: 5px 0 10px;
  text-align: center;
}
.wp-caption.alignnone {
  margin: 5px 20px 20px 0;
}
.wp-caption.alignleft {
  margin: 5px 20px 20px 0;
}
.wp-caption.alignright {
  margin: 5px 0 20px 20px;
}
.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto;
}
.wp-caption p.wp-caption-text {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px;
}
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}
.screen-reader-text:focus {
  background-color: #eee;
  clip: auto !important;
  clip-path: none;
  color: #444;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}
/**************
main-slider-1.less
***************/
body.mobile .main-slider,
body.mobile-resized .main-slider {
  height: calc(100vh - 2.4rem);
}
body.mobile .main-slider .slick-track,
body.mobile-resized .main-slider .slick-track,
body.mobile .main-slider .slick-list,
body.mobile-resized .main-slider .slick-list {
  height: 100%;
}
body.mobile .main-slider .slick-arrow,
body.mobile-resized .main-slider .slick-arrow {
  display: none !important;
}
body.mobile .scrolldown,
body.mobile-resized .scrolldown {
  bottom: 100px;
}
.main-slider .slick-dots {
  list-style-type: none;
  text-align: center;
  margin-top: -5px;
  margin-bottom: 25px;
  width: 100%;
  padding: 0;
  position: absolute;
  bottom: 0;
}
.main-slider .slick-dots li {
  vertical-align: middle;
  display: inline-block;
}
.main-slider .slick-dots li:before {
  cursor: pointer;
  content: "";
  border: 2px solid white;
  width: 15px;
  height: 15px;
  display: block;
  border-radius: 100%;
  margin: 0 4px;
}
.main-slider .slick-dots li button {
  display: none;
}
.main-slider .slick-dots li.slick-active:before {
  width: 15px;
  height: 15px;
  background-color: white;
}
@media screen and (min-width: 1350px) and (max-width: 1380px) {
  .main-slider .section-slider {
    height: 110vh !important;
  }
}
.main-slider .section-slider:not(:first-child) {
  display: none;
}
@media (min-width: 992px) {
  .main-slider .section-slider .main-slider-text {
    padding-top: 28vh;
  }
}
.main-slider .section-slider video {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}
.main-slider .section-slider .btn-mute {
  position: absolute;
  right: 1rem;
  bottom: 0.5rem;
  z-index: 1;
  text-align: center;
}
.main-slider .section-slider .btn-mute .icon {
  font-size: 1.4rem;
  display: block;
}
.main-slider .section-slider .btn-mute:hover {
  cursor: pointer;
}
.main-slider .slick-arrow {
  z-index: 2;
  font-size: 0.8rem;
  color: white;
}
.main-slider .slick-arrow:hover {
  cursor: pointer;
}
/*******************
symbol-gallery-1.less
******************/
@font-face {
  font-family: 'icomoon';
  src: url('fonts/icomoon.eot?4jlpx3');
  src: url('fonts/icomoon.eot?4jlpx3#iefix') format('embedded-opentype'), url('fonts/icomoon.ttf?4jlpx3') format('truetype'), url('fonts/icomoon.woff?4jlpx3') format('woff'), url('fonts/icomoon.svg?4jlpx3#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}
[class^="icon-"],
[class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon-all-services-01-01:before {
  content: "\e900";
}
.icon-back-01-01:before {
  content: "\e901";
}
.icon-car-egents-01-01:before {
  content: "\e902";
}
.icon-car-responsibility-01-01:before {
  content: "\e903";
}
.icon-cars-year-01-01:before {
  content: "\e904";
}
.icon-car-test-01-01:before {
  content: "\e905";
}
.icon-close-01-01:before {
  content: "\e906";
}
.icon-compact-car-01-01:before {
  content: "\e907";
}
.icon-compare-01-01:before {
  content: "\e908";
}
.icon-conculator-01-01:before {
  content: "\e909";
}
.icon-cupon-01-01:before {
  content: "\e90a";
}
.icon-display-gallery-01-01:before {
  content: "\e90b";
}
.icon-display-table-01-01:before {
  content: "\e90c";
}
.icon-down-errow-01-01:before {
  content: "\e90d";
}
.icon-extras-01-01:before {
  content: "\e90e";
}
.icon-facebook-01-01:before {
  content: "\e90f";
}
.icon-fast-pay-01-01:before {
  content: "\e910";
}
.icon-fift-01:before {
  content: "\e911";
}
.icon-find-my-car-01-01:before {
  content: "\e912";
}
.icon-first-hand-01:before {
  content: "\e913";
}
.icon-fit-a-car-01-01:before {
  content: "\e914";
}
.icon-gear-01-01:before {
  content: "\e915";
}
.icon-general-details-01-01:before {
  content: "\e916";
}
.icon-gift-01:before {
  content: "\e917";
}
.icon-hamburger-01-01:before {
  content: "\e918";
}
.icon-instagram-01:before {
  content: "\e919";
}
.icon-jeep-car-01-01:before {
  content: "\e91a";
}
.icon-kilometer-01-01:before {
  content: "\e91b";
}
.icon-left-errow-01-01:before {
  content: "\e91c";
}
.icon-location-01-01:before {
  content: "\e91d";
}
.icon-luxery-car-01-01:before {
  content: "\e91e";
}
.icon-mail-01-01:before {
  content: "\e91f";
}
.icon-manager-car-01-01:before {
  content: "\e920";
}
.icon-mini-van-car-01-01:before {
  content: "\e921";
}
.icon-minus-01-01:before {
  content: "\e922";
}
.icon-minus-01-01-01:before {
  content: "\e923";
}
.icon-moovit-01-01:before {
  content: "\e924";
}
.icon-more-details-01-01:before {
  content: "\e925";
}
.icon-phone-01-01:before {
  content: "\e926";
}
.icon-plus-01-01:before {
  content: "\e927";
}
.icon-prices-01-01:before {
  content: "\e928";
}
.icon-privet-lissing-01:before {
  content: "\e929";
}
.icon-right-errow:before {
  content: "\e92a";
}
.icon-safe-buy-01-01:before {
  content: "\e92b";
}
.icon-search-01-01:before {
  content: "\e92c";
}
.icon-service-time-01-01:before {
  content: "\e92d";
}
.icon-shekel-01-01:before {
  content: "\e92e";
}
.icon-sponser-01-01:before {
  content: "\e92f";
}
.icon-sports-car-01-01:before {
  content: "\e930";
}
.icon-support-01-01:before {
  content: "\e931";
}
.icon-time-01-01:before {
  content: "\e932";
}
.icon-tiny-car-01-01:before {
  content: "\e933";
}
.icon-top-errow-01-01:before {
  content: "\e934";
}
.icon-trade-in-01-01:before {
  content: "\e935";
}
.icon-usa-standarts-01-01:before {
  content: "\e936";
}
.icon-van-car-01-01:before {
  content: "\e937";
}
.icon-vi-mark-01-01:before {
  content: "\e938";
}
.icon-waze-01-01:before {
  content: "\e939";
}
.icon-wishlist_selected-01:before {
  content: "\e93a";
}
.icon-wishlits-01-01:before {
  content: "\e93b";
}
.icon-yad2-01-01:before {
  content: "\e93c";
}
.icon-you-tube-01-01:before {
  content: "\e93d";
}
.icon-zero-km-01:before {
  content: "\e93e";
}
.icon-zfamily:before {
  content: "\e93f";
}
/*************
slick-slider.less
***********/
body.mobile .slick-dots {
  display: -webkit-box;
  /* OLD - iOS 6-, Safari 3.1-6 */
  display: -moz-box;
  /* OLD - Firefox 19- (buggy but mostly works) */
  display: -ms-flexbox;
  /* TWEENER - IE 10 */
  display: -webkit-flex;
  /* NEW - Chrome */
  display: flex;
  /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
body.mobile .slick-dots li button {
  display: block;
}
body.mobile .arrows-gray .slick-arrow {
  font-size: 0.4rem;
  width: 1rem;
  height: 1rem;
}
body.mobile .arrows-gray .slick-prev {
  left: 0.5rem;
  z-index: 1;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
body.mobile .arrows-gray .slick-next {
  right: 0.5rem;
  z-index: 1;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
body.mobile .most-viewed-products-slider .slick-track,
body.mobile .visited-product .slick-track {
  padding-bottom: 0.25rem;
}
.most-viewed-products-slider .slick-track,
.visited-product .slick-track {
  padding-top: 0.5rem;
  padding-bottom: 1rem;
}
.arrows-gray .slick-arrow {
  width: 2rem;
  height: 2rem;
  font-size: 0.8rem;
}
.arrows-gray .slick-arrow:before {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 1;
  color: white;
}
.arrows-gray .slick-arrow:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  z-index: -1;
  background-color: #a7a4a3;
  opacity: 0.25;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
.arrows-gray .slick-arrow:hover {
  cursor: pointer;
}
.arrows-gray .slick-arrow:hover:after {
  opacity: 0.6;
}
.arrows-gray .slick-prev {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  left: 0.3rem;
}
@media (min-width: 1500px) {
  .arrows-gray .slick-prev {
    left: 0.7rem;
  }
}
.arrows-gray .slick-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  right: 0.3rem;
}
@media (min-width: 1500px) {
  .arrows-gray .slick-next {
    right: 0.7rem;
  }
}
.arrows-red .slick-arrow {
  color: white;
  background-color: #c8102b;
  border-radius: 50%;
  width: 1.2rem;
  height: 1.2rem;
  font-size: 0.6rem;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
.arrows-red .slick-arrow:before {
  position: absolute;
  color: white;
  left: 0;
  right: 0;
  text-align: center;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
.arrows-red .slick-arrow:hover {
  background-color: black;
}
.arrows-red .slick-prev {
  position: absolute;
  top: 50%;
  left: -1.2rem;
}
.arrows-red .slick-next {
  position: absolute;
  top: 50%;
  right: -1.2rem;
}
.slick-dots {
  text-align: center;
  margin: 0.5rem 0;
}
.slick-dots li {
  display: inline-block;
  margin: 0 0.2rem;
}
.slick-dots li.slick-active button {
  background-color: #c8102b;
  border: 2px solid transparent;
  padding: 2px;
}
.slick-dots li button {
  font-size: 0;
}
.slick-dots li button {
  content: '';
  background-color: #ffffff;
  border: 2px solid #c8102b;
  height: 7px !important;
  border-radius: 50%;
  width: 2px !important;
  padding: 2px;
}
/****************
section-ad-1.less
***************/
.section-ad-1 {
  min-height: 44vh;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
/****************
section-spinning-img-1.less
****************/
.section-spinning-img-1 .spin-cube {
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
.section-spinning-img-1 .spin-cube:hover .color-red {
  color: black !important;
}
/**************
sidebar.less
*************/
.widget .textwidget p {
  font-size: 0.53rem;
  font-weight: 400;
  line-height: 22px;
}
@media (min-width: 992px) {
  .widget .textwidget p {
    font-size: 0.6rem;
  }
}
.widget .searchform input {
  max-width: 100%;
  font-size: 0.6rem;
  padding: 0 0.6rem;
}
.widget ul.menu li:not:last-child {
  margin-bottom: 0.5rem;
}
.widget ul.menu li a {
  font-size: 0.53rem;
  font-weight: 400;
}
@media (min-width: 992px) {
  .widget ul.menu li a {
    font-size: 0.6rem;
  }
}
/* search.less */
.sidebar-1 > div {
  position: relative;
}
.sidebar-1 label {
  font-size: 0.6rem;
  color: #c8102b;
  white-space: nowrap;
}
.sidebar-1 input {
  font-family: 'Assistant', sans-serif;
  border: none;
  border-bottom: 1px solid #c8102b;
  width: 100%;
}
.sidebar-1 input::placeholder {
  font-size: 1.25rem;
  font-weight: 500;
  color: #a7a4a3;
}
.sidebar-1 button {
  padding: 0;
  position: absolute;
  left: 15px;
  z-index: 3;
  background: none;
  border: none;
  cursor: pointer;
}
.sidebar-1 button:after {
  font-family: icomoon;
  content: '\e92c';
  font-size: 0.6rem;
  color: #c8102b;
}
.sidebar-1 svg {
  width: 1.5rem;
  height: 1.5rem;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
}
.sidebar-1 svg path {
  fill: #c8102b;
}
.sidebar-1 .widget_search,
.sidebar-1 .widget_sogo_search {
  border-bottom: 1px solid #a7a4a3;
  padding-bottom: 1.8rem;
  margin-bottom: 1.6rem;
}
.sidebar-1 .widget-title {
  font-size: 0.7rem;
  font-weight: 700;
  color: #c8102b;
  margin-bottom: 0.6rem;
}
.sidebar-1 .cat-item:before {
  font-family: 'icomoon';
  content: '\e91c';
  position: relative;
  display: inline-block;
  vertical-align: middle;
  font-size: 11px;
  color: #c8102b;
  font-weight: bold;
  margin-left: 5px;
  top: 1px;
}
.sidebar-1 .cat-item:hover a {
  color: #c8102b;
}
.sidebar-1 .cat-item a {
  font-size: 0.6rem;
  vertical-align: middle;
  font-weight: 500;
  color: #625f60;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
/***************
single.less
*************/
.page-single .post-categories li a {
  color: #625f60;
}
.page-single table {
  width: 100%;
}
.page-single .addtoany_shortcode {
  overflow: hidden;
  position: relative;
}
/****************
car-search.less
***************/
.sidebar-search .s-select-wrapper label,
.car-search .s-select-wrapper label,
.search-modal .s-select-wrapper label {
  position: absolute;
  bottom: 4px;
  right: 5px;
  font-weight: 700;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  z-index: 0;
}
.sidebar-search .label-focus,
.car-search .label-focus,
.search-modal .label-focus {
  bottom: 20px !important;
  right: 0 !important;
  font-weight: 400;
  font-size: 0.5rem;
  line-height: 1.3;
}
@media (min-width: 992px) {
  .sidebar-search .label-focus,
  .car-search .label-focus,
  .search-modal .label-focus {
    font-size: 0.53rem;
  }
}
.car-search {
  position: absolute;
  bottom: -30px;
  width: 85%;
  z-index: 1;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
}
@media (min-width: 1500px) {
  .car-search {
    width: 65.15%;
  }
}
.car-search .car-search-inner {
  margin: 0 auto;
  background: white;
  padding: 0.25rem 0.5rem 0;
}
.car-search .car-search-inner .nav-tabs {
  border: none;
}
.car-search .car-search-inner .nav-tabs .special-tab {
  display: flex;
  align-items: center;
  bottom: -1rem;
}
@media (min-width: 992px) {
  .car-search .car-search-inner .nav-tabs .special-tab {
    margin-right: 4.5rem;
    bottom: 0;
  }
}
.car-search .car-search-inner .nav-tabs .special-tab a {
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
.car-search .car-search-inner .nav-tabs .special-tab a:focus {
  color: #c8102b;
}
.car-search .car-search-inner .nav-tabs .special-tab a i {
  font-size: 0.5rem;
}
.car-search .car-search-inner .nav-tabs .nav-item {
  z-index: 1;
  display: flex;
  align-items: center;
  width: 7.5rem;
  text-align: center;
}
.car-search .car-search-inner .nav-tabs .nav-item:hover a {
  color: #0f0f0f !important;
  border-color: #0f0f0f !important;
}
.car-search .car-search-inner .nav-tabs .nav-item:hover a:after {
  background-color: #0f0f0f !important;
}
.car-search .car-search-inner .nav-tabs .nav-item:not(:last-child) .nav-link {
  border-bottom: 4px solid #a7a4a3;
  width: 100%;
}
.car-search .car-search-inner .nav-tabs .nav-item .nav-link {
  position: relative;
  border-top: none;
  border-left: none;
  border-right: none;
  color: #a7a4a3;
  height: 100%;
}
.car-search .car-search-inner .nav-tabs .nav-item .nav-link span[class="icon"] {
  font-size: 0.9rem;
}
.car-search .car-search-inner .nav-tabs .nav-item .nav-link:hover {
  border-top: none;
  border-left: none;
  border-right: none;
}
.car-search .car-search-inner .nav-tabs .nav-item .nav-link.active {
  border: none;
  border-bottom: 4px solid #c8102b;
  color: #c8102b;
}
.car-search .car-search-inner .nav-tabs .nav-item .nav-link.active:after {
  content: '';
  position: absolute;
  bottom: -11px;
  width: 15px;
  height: 15px;
  left: 45%;
  background-color: #c8102b;
  transform: rotate(45deg);
  z-index: -1;
}
.car-search .btn {
  padding: 0.1rem 0.3rem;
  font-size: 0.6rem;
}
.car-search .btn.active {
  background-color: #c8102b;
  color: white;
}
.advanced-search-field {
  height: 100%;
}
.advanced-search-field-hidden {
  height: 0;
  overflow: hidden;
}
.sidebar-search .nav-tabs {
  border: none;
}
.sidebar-search .nav-tabs .special-tab {
  display: flex;
  align-items: center;
}
@media (min-width: 992px) {
  .sidebar-search .nav-tabs .special-tab {
    margin-right: 4.5rem;
  }
}
.sidebar-search .nav-tabs .special-tab a {
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
.sidebar-search .nav-tabs .special-tab a:focus {
  color: #c8102b;
}
.sidebar-search .nav-tabs .special-tab a i {
  font-size: 0.5rem;
}
.sidebar-search .nav-tabs .nav-item {
  z-index: 1;
  display: flex;
  align-items: center;
  width: 7.5rem;
  text-align: center;
}
.sidebar-search .nav-tabs .nav-item .nav-link {
  border-bottom: 4px solid #a7a4a3;
  width: 100%;
}
.sidebar-search .nav-tabs .nav-item .nav-link {
  position: relative;
  border-top: none;
  border-left: none;
  border-right: none;
  color: #a7a4a3;
}
.sidebar-search .nav-tabs .nav-item .nav-link i {
  font-size: 0.9rem;
}
.sidebar-search .nav-tabs .nav-item .nav-link:hover {
  border-top: none;
  border-left: none;
  border-right: none;
}
.sidebar-search .nav-tabs .nav-item .nav-link.active {
  border: none;
  border-bottom: 4px solid #c8102b;
  color: #c8102b;
}
.sidebar-search .nav-tabs .nav-item .nav-link.active:after {
  content: '';
  position: absolute;
  bottom: -11px;
  width: 15px;
  height: 15px;
  left: 45%;
  background-color: #c8102b;
  transform: rotate(45deg);
  z-index: -1;
}
#scrollmagic {
  position: fixed;
  margin: auto;
  bottom: 0;
  right: auto;
  box-sizing: border-box;
  width: auto;
  z-index: 9999;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
.custom-select-colors {
  position: relative;
}
.custom-select-colors select {
  display: none;
}
.custom-select-colors .select-selected {
  background-color: white;
}
.custom-select-colors .select-selected:after {
  font-family: icomoon;
  position: absolute;
  content: '\e90d';
  font-size: 5px;
  font-weight: bold;
  left: 14px;
  width: 0;
  height: 0;
}
.custom-select-colors .select-selected .select-arrow-active:after {
  border-color: transparent transparent #fff transparent;
  top: 7px;
}
.custom-select-colors .select-items div,
.custom-select-colors .select-selected {
  color: #a7a4a3;
  font-size: 0.6rem;
  padding: 4px 6px;
  border: 1px solid transparent;
  border-color: transparent transparent #a7a4a3 transparent;
  cursor: pointer;
  user-select: none;
}
.custom-select-colors .select-items {
  position: absolute;
  background-color: white;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 99;
}
.custom-select-colors .select-items div {
  position: relative;
  border-color: transparent transparent #f2f2f2 transparent;
}
.custom-select-colors .select-items div:hover,
.custom-select-colors .select-items div .same-as-selected {
  background-color: rgba(0, 0, 0, 0.1);
}
.custom-select-colors .select-items .square-box {
  height: 18px;
  width: 18px;
  position: absolute;
  right: 170px;
  top: 0;
}
.custom-select-colors .select-hide {
  display: none;
}
.custom-select-colors .select-selected div {
  position: relative;
}
.custom-select-colors .select-selected .square-box {
  height: 18px;
  width: 18px;
  right: 170px;
  position: absolute;
}
/****************
search-form.less
***************/
@media (min-width: 992px) {
  .sale-form {
    position: absolute;
    top: 4.2rem;
    width: 75%;
    z-index: 1;
    left: 17.4%;
    border-top: 7px solid #c8102b;
  }
}
@media (min-width: 1200px) {
  .sale-form {
    width: 9.1rem;
  }
}
.sale-form .sale-form-inner {
  margin: 0 auto;
  background: white;
  padding: 0.25rem 0.5rem 0.5rem;
}
@media (min-width: 1500px) {
  .sale-form .sale-form-inner {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}
.sale-form .sale-form-inner .nav-tabs {
  border: none;
}
.sale-form .sale-form-inner .nav-tabs .special-tab {
  display: flex;
  align-items: center;
}
@media (min-width: 992px) {
  .sale-form .sale-form-inner .nav-tabs .special-tab {
    margin-right: 4.5rem;
  }
}
.sale-form .sale-form-inner .nav-tabs .special-tab a {
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
.sale-form .sale-form-inner .nav-tabs .special-tab a:focus {
  color: #c8102b;
}
.sale-form .sale-form-inner .nav-tabs .special-tab a i {
  font-size: 0.5rem;
}
.sale-form .sale-form-inner .nav-tabs .nav-item {
  z-index: 1;
  display: flex;
  align-items: center;
  width: 7.5rem;
  text-align: center;
}
.sale-form .sale-form-inner .nav-tabs .nav-item:hover a {
  color: #0f0f0f !important;
  border-color: #0f0f0f !important;
}
.sale-form .sale-form-inner .nav-tabs .nav-item:hover a:after {
  background-color: #0f0f0f !important;
}
.sale-form .sale-form-inner .nav-tabs .nav-item:not(:last-child) .nav-link {
  border-bottom: 4px solid #a7a4a3;
  width: 100%;
}
.sale-form .sale-form-inner .nav-tabs .nav-item .nav-link {
  position: relative;
  border-top: none;
  border-left: none;
  border-right: none;
  color: #a7a4a3;
}
.sale-form .sale-form-inner .nav-tabs .nav-item .nav-link span[class="icon"] {
  font-size: 0.9rem;
}
.sale-form .sale-form-inner .nav-tabs .nav-item .nav-link:hover {
  border-top: none;
  border-left: none;
  border-right: none;
}
.sale-form .sale-form-inner .nav-tabs .nav-item .nav-link.active {
  border: none;
  border-bottom: 4px solid #c8102b;
  color: #c8102b;
}
.sale-form .sale-form-inner .nav-tabs .nav-item .nav-link.active:after {
  content: '';
  position: absolute;
  bottom: -11px;
  width: 15px;
  height: 15px;
  left: 45%;
  background-color: #c8102b;
  transform: rotate(45deg);
  z-index: -1;
}
.sale-form .sale-form-inner .advanced-search-field {
  height: 100%;
}
.sale-form .sale-form-inner .advanced-search-field-hidden {
  height: 0;
  overflow: hidden;
}
.custom_height_row {
  height: auto;
  overflow-y: unset;
}
@media only screen and (min-width: 500px) {
  .custom_height_row {
    height: 90vh;
    overflow-y: scroll;
    background: white;
  }
}
.custom_height_row .wpcf7-not-valid-tip {
  width: 150px;
  top: 45px !important;
}
.custom_height_row .files_upload .wpcf7-not-valid-tip {
  top: 0 !important;
}
/***************
form.less
***************/
.s-select-wrapper {
  position: relative;
  display: inline-block;
  width: 100%;
}
.s-select-wrapper textarea:focus,
.s-select-wrapper input:focus,
.s-select-wrapper select:focus {
  outline: none;
}
.s-select-wrapper select {
  z-index: 1;
  position: relative;
  background: transparent;
  color: #625f60;
  line-height: 1.3;
  -webkit-appearance: none;
  -moz-appearance: none;
  font-family: 'Assistant', sans-serif !important;
  border: none;
  border-bottom: 1px solid #a7a4a3;
  font-size: 0.6rem;
  font-weight: 700 !important;
  padding: 0 0 0 0.5rem;
  height: 36px;
  width: 100%;
}
.s-select-wrapper select option {
  color: #625f60;
}
.s-select-wrapper select::-ms-expand {
  display: none;
}
@media (min-width: 992px) {
  .s-select-wrapper select {
    font-size: 0.6rem;
  }
}
.s-select-wrapper:after {
  font-family: icomoon;
  content: '\e90d';
  display: block;
  position: absolute;
  left: 0.3rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  pointer-events: none;
  font-size: 0.2rem;
  font-weight: bold;
}
.s-select-wrapper-2 {
  position: relative;
  display: inline-block;
}
.s-select-wrapper-2 .woocommerce-ordering {
  margin: 0 !important;
}
.s-select-wrapper-2 .woocommerce-result-count {
  margin: 0 !important;
}
.s-select-wrapper-2 select {
  border: none;
  background-color: #FAFAF9;
  -webkit-appearance: none;
  -moz-appearance: none;
  font-family: 'Assistant', sans-serif !important;
  font-size: 0.5rem;
  font-weight: 300 !important;
  color: #c8102b;
  padding-right: 0.5rem;
  height: 40px;
  width: 100%;
}
.s-select-wrapper-2 select::-ms-expand {
  display: none;
}
@media (min-width: 992px) {
  .s-select-wrapper-2 select {
    font-size: 0.6rem;
  }
}
.s-select-wrapper-2 select:focus {
  outline: none;
}
.s-select-wrapper-2:after {
  font-family: icomoon;
  content: '\e90d';
  display: block;
  position: absolute;
  left: 0.1rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  pointer-events: none;
  font-size: 5px;
  font-weight: bold;
  color: #c8102b;
}
.s-select-wrapper-3 {
  position: relative;
  display: inline-block;
  width: 100%;
}
.s-select-wrapper-3 select {
  -webkit-appearance: none;
  -moz-appearance: none;
  font-family: 'Assistant', sans-serif !important;
  border: none;
  background-color: #f2f2f2;
  font-size: 0.53333333rem;
  font-weight: 300 !important;
  color: #0f0f0f;
  padding-right: 0.5rem;
  line-height: 0.93333333rem;
  width: 100%;
}
.s-select-wrapper-3 select::-ms-expand {
  display: none;
}
.s-select-wrapper-3 select:focus {
  outline: none;
}
.s-select-wrapper-3:after {
  font-family: icomoon;
  content: '\e90d';
  display: block;
  position: absolute;
  left: 0.3rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  pointer-events: none;
  font-size: 5px;
  font-weight: bold;
}
.s-select-wrapper-3 .error {
  right: 0;
}
.s-calculator-wrapper input[type="text"].input {
  font-family: 'Assistant', sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  color: #c8102b;
  width: 100%;
  text-align: center;
  border: none;
  background-color: #f2f2f2;
  height: 1.58rem;
}
@media (min-width: 992px) {
  .s-calculator-wrapper input[type="text"].input {
    font-size: 0.76rem;
  }
}
.s-calculator-wrapper input[type="text"].input:focus {
  outline: none;
}
.s-calculator-wrapper input[type="text"].range {
  font-family: 'Assistant', sans-serif;
  font-size: 0.5rem;
  font-weight: 700;
  color: #0f0f0f;
  width: 100%;
  border: none;
}
@media (min-width: 992px) {
  .s-calculator-wrapper input[type="text"].range {
    font-size: 0.53rem;
  }
}
.s-checkbox-wrapper span.wpcf7-list-item {
  margin: 0;
}
.s-checkbox-wrapper input[type="checkbox"] {
  opacity: 0;
  position: absolute;
  width: 0;
}
.s-checkbox-wrapper input[type="checkbox"][disabled="disabled"] + label::before,
.s-checkbox-wrapper input[type="checkbox"][disabled="disabled"] + span::before {
  cursor: no-drop;
}
.s-checkbox-wrapper input[type="checkbox"] + label,
.s-checkbox-wrapper input[type="checkbox"] + span {
  font-size: 0.53rem;
  line-height: 1.3;
  display: inline-block;
  position: relative;
  padding-right: 25px;
}
.s-checkbox-wrapper input[type="checkbox"] + label:hover,
.s-checkbox-wrapper input[type="checkbox"] + span:hover {
  cursor: pointer;
}
.s-checkbox-wrapper input[type="checkbox"] + label:before,
.s-checkbox-wrapper input[type="checkbox"] + span:before {
  content: "";
  height: 16px;
  width: 16px;
  border: 1px solid #a7a4a3;
  display: inline-block;
  text-align: center;
  padding-top: 2px;
  background-color: #ffffff;
  color: #c8102b;
  font-size: 13px;
  margin-left: 5px;
  flex: none;
  position: absolute;
  right: 0;
  top: 0;
}
.s-checkbox-wrapper input[type="checkbox"]:checked + label:before,
.s-checkbox-wrapper input[type="checkbox"]:checked + span:before {
  font-family: icomoon;
  content: "\e938";
  font-size: 0.35rem;
}
.s-radio-wrapper-2 input[type="radio"] {
  opacity: 0;
  position: absolute;
  width: 0;
}
.s-radio-wrapper-2 input[type="radio"] + label {
  font-size: 0.5rem;
  font-weight: 600;
}
.s-radio-wrapper-2 input[type="radio"] + label:hover {
  cursor: pointer;
}
.s-radio-wrapper-2 input[type="radio"] + label:before {
  content: "";
  width: 15px;
  height: 15px;
  border: 1px solid #a7a4a3;
  display: inline-block;
  border-radius: 50%;
  text-align: center;
  padding-top: 3px;
  background-color: white;
  font-size: 5px;
  margin-left: 0.25rem;
}
.s-radio-wrapper-2 input[type="radio"]:checked + label:before {
  background-color: #c8102b;
}
.s-radio-wrapper-3 input[type="radio"] {
  opacity: 0;
  position: absolute;
  width: 0;
}
.s-radio-wrapper-3 input[type="radio"] + label {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  box-shadow: inset 0 0 5px 0 #7b7b7b;
}
.s-radio-wrapper-3 input[type="radio"] + label:hover {
  cursor: pointer;
}
.s-radio-wrapper-3 input[type="radio"]:checked + label {
  border: 2px solid #0f0f0f;
}
.s-input-wrapper input {
  font-weight: 400;
  font-size: 0.5rem;
  padding: 0 0.4rem;
  line-height: 2.2;
  border: none;
  background: #f2f2f2;
}
@media (min-width: 992px) {
  .s-input-wrapper input {
    font-size: 0.53333333rem;
    line-height: 1.55;
  }
}
.s-input-wrapper-2 input {
  font-weight: 400;
  width: 100%;
  font-size: 0.5rem;
  padding-right: 0.4rem;
  line-height: 0.93333333rem;
  border: none;
  background-color: #f2f2f2;
}
@media (min-width: 992px) {
  .s-input-wrapper-2 input {
    font-size: 0.53333333rem;
  }
}
.s-input-wrapper-2 select {
  font-weight: 400;
  width: 100%;
  font-size: 0.5rem;
  padding-right: 0.4rem;
  line-height: 0.93333333rem;
  border: none;
  background-color: #f2f2f2;
  height: 30px;
}
@media (min-width: 992px) {
  .s-input-wrapper-2 select {
    font-size: 0.53333333rem;
  }
}
.s-input-wrapper-2 textarea {
  font-weight: 400;
  width: 100%;
  font-size: 0.5rem;
  padding-right: 0.4rem;
  line-height: 0.93333333rem;
  border: none;
  background-color: #f2f2f2;
  height: 5rem;
}
@media (min-width: 992px) {
  .s-input-wrapper-2 textarea {
    font-size: 0.53333333rem;
  }
}
.s-input-group {
  position: relative;
}
.s-input-group.icon-arrowdown:before {
  left: 0;
  top: 1rem;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
}
.s-input-group input[type="text"],
.s-input-group input[type="email"],
.s-input-group input[type="tel"],
.s-input-group select {
  line-height: 1.5;
  font-family: 'Assistant', sans-serif !important;
  font-size: 0.6rem;
  font-weight: 500;
  display: block;
  background: 0 0;
  color: #a7a4a3;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  border: 0;
  border-bottom: 1px solid #a7a4a3;
  box-shadow: none;
  border-radius: 0;
  padding: 0;
}
.s-input-group input[type="text"].wpcf7-not-valid,
.s-input-group input[type="email"].wpcf7-not-valid,
.s-input-group input[type="tel"].wpcf7-not-valid,
.s-input-group select.wpcf7-not-valid {
  border-color: #c8102b;
}
.s-input-group input[type="text"].different-border:focus,
.s-input-group input[type="email"].different-border:focus,
.s-input-group input[type="tel"].different-border:focus,
.s-input-group select.different-border:focus {
  border-color: #dfdfdf;
  outline: 0;
  box-shadow: none;
}
.s-input-group input[type="text"]:focus,
.s-input-group input[type="email"]:focus,
.s-input-group input[type="tel"]:focus,
.s-input-group select:focus {
  outline: 0;
  box-shadow: none;
}
.s-input-group input[type="file"] {
  line-height: 1.5;
  font-family: 'Assistant', sans-serif !important;
  font-size: 0.6rem;
  font-weight: 500;
  display: block;
  background: 0 0;
  color: #a7a4a3;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  box-shadow: none;
  border-radius: 0;
  padding: 0;
}
.s-input-group input[type="file"].wpcf7-not-valid {
  border-color: #c8102b;
}
.s-input-group input[type="file"].different-border:focus {
  border-color: #dfdfdf;
  outline: 0;
  box-shadow: none;
}
.s-input-group input[type="file"]:focus {
  outline: 0;
  box-shadow: none;
}
.s-input-group label {
  font-family: 'Assistant', sans-serif !important;
  right: 0;
  left: auto;
  color: #a7a4a3;
  font-size: 0.6rem;
  font-weight: 500;
  position: absolute;
  pointer-events: none;
  bottom: 0.18rem;
  -webkit-transition: all 200ms ease;
  transition: all 200ms ease;
}
.s-input-group label.error {
  color: red;
  bottom: -0.6rem;
  font-size: 0.45rem;
  font-weight: 400;
}
.s-input-group label.labelfocus {
  outline: 0;
  font-size: 12px;
  color: #a7a4a3;
  font-weight: 300;
  letter-spacing: 0.6px;
  bottom: 1rem;
}
.s-input-group label.labelfocus + input:focus:not(:read-only) {
  border-color: #dfdfdf;
}
.s-input-group .wpcf7-form-control-wrap {
  display: block;
}
.s-input-group span.wpcf7-not-valid-tip {
  font-size: 0.45rem !important;
  margin-top: 0.2rem;
  position: absolute;
  font-family: 'Assistant', sans-serif;
}
.s-textarea-wrapper textarea {
  font-weight: 400;
  width: 100%;
  font-size: 0.5rem;
  padding: 0.4rem;
  line-height: 18px;
  border: none;
  background-color: #f2f2f2;
}
@media (min-width: 992px) {
  .s-textarea-wrapper textarea {
    font-size: 0.53333333rem;
  }
}
.s-range-wrapper {
  min-height: 37px;
}
.s-range-wrapper input {
  -webkit-transform: translateY(130%);
  -moz-transform: translateY(130%);
  -ms-transform: translateY(130%);
  -o-transform: translateY(130%);
  transform: translateY(130%);
}
.s-range-wrapper input:focus {
  outline: 1px solid #4d90fe;
}
.s-radio-wrapper {
  position: relative;
}
.s-radio-wrapper input[type="radio"] {
  opacity: 0;
  position: absolute;
  width: 0;
}
.s-radio-wrapper input[type="radio"] + label {
  position: relative;
}
.s-radio-wrapper input[type="radio"] + label:hover {
  cursor: pointer;
}
.s-radio-wrapper input[type="radio"] + label span:first-child {
  position: absolute;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  border: 1px solid #a7a4a3;
  display: inline-block;
  background-color: white;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
.s-radio-wrapper input[type="radio"]:checked + label span:first-child:after {
  content: '';
  position: absolute;
  width: 13px;
  height: 13px;
  right: 0;
  top: 0;
  border-radius: 50%;
  display: inline-block;
  text-align: center;
  background-color: #c8102b;
}
body.post-type-archive-product .s-select-wrapper-2 select {
  background-color: transparent;
}
body.desktop .s-select-wrapper-2 select {
  border-bottom: 1px solid;
  background-color: #f2f2f2;
}
.tooltip-inner {
  font-size: 0.5rem;
  font-weight: 700;
  max-width: 200px;
  padding: 2px 4px;
  color: #c8102b;
  text-align: center;
  background-color: white;
  border-radius: 0rem;
  border: 1px solid #c8102b;
}
@media (min-width: 992px) {
  .tooltip-inner {
    font-size: 0.53rem;
  }
}
.tooltip.bs-tether-element-attached-bottom .tooltip-inner::before {
  border-top-color: #c8102b;
}
.wpcf7-form .wpcf7-response-output {
  display: none !important;
}
.wpcf7-form .wpcf7-not-valid-tip {
  font-size: 0.5rem;
}
.ajax-loader {
  background-image: none !important;
  position: absolute;
  position: absolute !important;
  top: 50% !important;
  right: 0 !important;
  left: 0 !important;
  margin-right: auto !important;
  margin-left: auto !important;
  -webkit-transform: translateY(-50%) !important;
  -ms-transform: translateY(-50%) !important;
  transform: translateY(-50%) !important;
  -moz-transform: translateY(-50%) !important;
  -o-transform: translateY(-50%) !important;
  text-align: center !important;
  width: 25px !important;
  height: 25px !important;
}
.ajax-loader:after {
  content: " ";
  display: block;
  width: 25px;
  height: 25px;
  border-radius: 50% !important;
  animation: lds-dual-ring 1.2s linear infinite;
  border: 2.5px solid #c8102b !important;
  border-color: #c8102b transparent #c8102b transparent !important;
}
@keyframes lds-dual-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/**********
wp-single-product.less
***********/
body.mobile.single-product .flex-control-nav {
  display: flex;
}
body.mobile.single-product .flex-control-nav li {
  border-radius: 50%;
}
body.mobile.single-product .flex-control-nav li a {
  border-radius: 50%;
}
@media (min-width: 1024px) {
  body.mobile.single-product .flex-control-nav li {
    display: none;
  }
}
body.mobile.single-product .flex-viewport {
  margin-bottom: 0.5rem;
}
body.mobile.single-product .custom-product-title {
  border-top: 1px solid #c8102b;
  padding: 0.25rem;
}
body.mobile.single-product .custom-product-title + div {
  display: none;
}
body.mobile.single-product .custom-product-title span:last-child:before {
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
body.mobile.single-product .custom-product-title.opened + div {
  display: block;
  padding: 0.25rem 15px;
}
body.mobile.single-product .custom-product-title.opened span:last-child:before {
  display: inline-block;
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
}
body.mobile.single-product .last-custom-product-title.last-child-opened {
  border-bottom: none !important;
}
body.mobile.single-product .last-custom-product-title.last-child-opened + div {
  border-bottom: 1px solid #c8102b;
}
body.single-product .slick-list {
  padding: 0.25rem 0;
}
body.single-product .woocommerce-breadcrumb {
  padding: 0;
}
@media (min-width: 992px) {
  body.single-product .woocommerce-breadcrumb {
    padding: 0 !important;
    margin-bottom: 4rem !important;
  }
}
body.single-product .single-product__title {
  font-size: 1.6rem;
  font-weight: 500;
  color: #dfdfdf !important;
}
@media (min-width: 640px) {
  body.single-product .single-product__title {
    font-size: 2rem;
  }
}
@media (min-width: 992px) {
  body.single-product .single-product__title {
    font-size: 3rem;
  }
}
body.single-product .images {
  margin-bottom: 0 !important;
}
@media (min-width: 640px) {
  body.single-product .images {
    margin-bottom: 2em;
  }
}
body.single-product .single-product__sub-title {
  color: #dfdfdf;
  font-size: 1rem;
}
@media (min-width: 640px) {
  body.single-product .single-product__sub-title {
    font-size: 1.4rem;
  }
}
@media (min-width: 992px) {
  body.single-product .single-product__sub-title {
    font-size: 1.8rem;
  }
}
body.single-product .accessories-link-bottom {
  position: relative;
  left: 0;
  margin-bottom: 2rem;
  z-index: 1;
  background: white;
  -webkit-box-shadow: 0 0 20px lightgrey;
  -moz-box-shadow: 0 0 20px lightgrey;
  box-shadow: 0 0 20px lightgrey;
  border-radius: 0 34px 34px 0;
  padding: 0.7rem 1rem;
  font-size: 1.1rem;
  font-weight: 700;
  color: #a7a4a3;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
}
@media (min-width: 992px) {
  body.single-product .accessories-link-bottom {
    bottom: 153px;
    position: relative;
  }
}
body.single-product .accessories-link-bottom img {
  width: 33px;
}
body.single-product #sidebar {
  display: none;
}
@media (min-width: 640px) {
  body.single-product .variations_form__color {
    display: block;
  }
}
body.single-product .quantity-wrapper {
  -webkit-flex: 0 0 98px;
  -moz-flex: 0 0 98px;
  -ms-flex: 0 0 98px;
  flex: 0 0 98px;
}
@media (min-width: 992px) {
}
body.single-product .product {
  display: flex;
  justify-content: space-around;
  box-shadow: 0 0 0 0 transparent;
}
@media (min-width: 992px) {
  body.single-product .product {
    flex-direction: row;
  }
}
body.single-product .product span.icon {
  font-size: 1.1rem;
}
body.single-product .product .woocommerce-product-details__short-description p {
  font-size: 0.53rem;
  font-weight: 400;
  line-height: 1rem;
}
@media (min-width: 992px) {
  body.single-product .product .woocommerce-product-details__short-description p {
    font-size: 0.6rem;
  }
}
body.single-product .product .woocommerce-product-gallery {
  display: -webkit-box;
  /* OLD - iOS 6-, Safari 3.1-6 */
  display: -moz-box;
  /* OLD - Firefox 19- (buggy but mostly works) */
  display: -ms-flexbox;
  /* TWEENER - IE 10 */
  display: -webkit-flex;
  /* NEW - Chrome */
  display: flex;
  /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 2;
  -moz-flex: 2;
  -ms-flex: 2;
  flex: 2;
}
@media (min-width: 992px) {
  body.single-product .product .woocommerce-product-gallery {
    width: 100% !important;
  }
}
body.single-product .product .woocommerce-product-gallery .flex-viewport {
  position: relative;
}
@media (min-width: 992px) {
  body.single-product .product .woocommerce-product-gallery .flex-viewport {
    width: 100%;
    float: right;
  }
}
body.single-product .product .woocommerce-product-gallery .flex-viewport:hover:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: #0f0f0f;
  opacity: 0.25;
  pointer-events: none;
}
body.single-product .product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image {
  position: relative;
}
body.single-product .product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image:hover:after {
  font-family: 'icomoon';
  font-size: 40px;
  content: '\e92c';
  color: #c8102b;
  width: 100px;
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  margin-right: auto;
  margin-left: auto;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  text-align: center;
}
body.single-product .product .woocommerce-product-gallery .flex-control-thumbs {
  overflow: unset !important;
}
@media (min-width: 992px) {
  body.single-product .product .woocommerce-product-gallery .flex-control-nav {
    display: -webkit-box;
    /* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-box;
    /* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;
    /* TWEENER - IE 10 */
    display: -webkit-flex;
    /* NEW - Chrome */
    display: flex;
    /* NEW, Spec - Opera 12.1, Firefox 20+ */
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
  }
}
body.single-product .product .woocommerce-product-gallery .flex-control-nav li {
  margin: 0 10px;
  width: 10px;
  height: 10px;
  background: transparent;
  z-index: 1;
  border-color: #c8102b;
  list-style: none;
  color: #c8102b;
}
body.single-product .product .woocommerce-product-gallery .flex-control-nav li a {
  display: block;
  background: white;
  color: #c8102b;
  width: 7px;
  height: 7px;
  font-size: 1px;
  border: 2px solid;
}
body.single-product .product .woocommerce-product-gallery .flex-control-nav li a.flex-active {
  background-color: #c8102b;
  border-radius: 50%;
  color: #c8102b;
}
@media (min-width: 992px) {
  body.single-product .product .woocommerce-product-gallery .flex-control-nav li {
    margin: 0;
    width: 100% !important;
    height: auto;
    clear: none !important;
    float: none !important;
    border: none;
    margin-bottom: 30px !important;
    border-color: #a7a4a3;
    overflow: hidden;
  }
}
body.single-product .product .woocommerce-product-gallery .flex-control-nav li img {
  border: 1px solid lightgray;
  opacity: 0 !important;
}
@media (min-width: 992px) {
  body.single-product .product .woocommerce-product-gallery .flex-control-nav li img {
    opacity: 1 !important;
    width: 51em !important;
  }
}
body.single-product .product .woocommerce-product-gallery .flex-control-nav li img.flex-active {
  border: 1px solid #c8102b;
}
body.single-product .product .woocommerce-product-gallery .flex-direction-nav {
  position: absolute;
  width: 94%;
  top: 40%;
  right: 3%;
  display: none;
  z-index: 1;
}
@media (min-width: 992px) {
  body.single-product .product .woocommerce-product-gallery .flex-direction-nav {
    display: inline-block;
  }
}
body.single-product .product .woocommerce-product-gallery .flex-direction-nav > li {
  cursor: pointer;
  background-color: #c8102b;
  border-radius: 50%;
  width: 37px;
  height: 37px;
  line-height: 30px;
  text-align: center;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
body.single-product .product .woocommerce-product-gallery .flex-direction-nav > li:hover {
  background-color: black;
}
body.single-product .product .woocommerce-product-gallery .flex-direction-nav > li > a {
  display: block;
  height: 100%;
  color: white;
}
body.single-product .product .woocommerce-product-gallery .flex-direction-nav > li > a i {
  font-size: 0.55em;
}
body.single-product .product .woocommerce-product-gallery .flex-direction-nav .flex-nav-prev {
  float: left;
}
body.single-product .product .woocommerce-product-gallery .flex-direction-nav .flex-nav-next {
  float: right;
}
body.single-product .product .flex-control-paging {
  display: none;
  display: -webkit-box;
  /* OLD - iOS 6-, Safari 3.1-6 */
  display: -moz-box;
  /* OLD - Firefox 19- (buggy but mostly works) */
  display: -ms-flexbox;
  /* TWEENER - IE 10 */
  display: -webkit-flex;
  /* NEW - Chrome */
  display: flex;
  /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media (min-width: 992px) {
  body.single-product .product .flex-control-paging {
    display: block;
  }
}
body.single-product .product .entry-summary {
  flex: 1.3;
  width: 100% !important;
  position: relative;
  top: -2px;
  margin: 0;
  padding-top: 0.1rem;
}
body.single-product .product .entry-summary p.price .woocommerce-Price-amount {
  font-size: 1.1em;
  color: #0f0f0f;
  font-weight: 600;
}
@media (min-width: 640px) {
  body.single-product .product .entry-summary p.price .woocommerce-Price-amount {
    margin-top: 0;
    font-size: 2.1em;
  }
}
body.single-product .product .entry-summary form.cart .quantity-wrapper .increment-quantity {
  top: 21px;
}
@media (min-width: 640px) {
}
body.single-product .product .entry-summary form.cart .quantity-wrapper .decrease-quantity {
  top: 21px;
  left: 14px;
}
body.single-product .product .entry-summary form.cart .single_add_to_cart_button {
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  background: #dfdfdf;
  border-radius: 25px;
  padding: 0.9em 0;
  font-size: 1em;
  font-weight: 100;
}
body.single-product .product .entry-summary form.cart .single_add_to_cart_button__plus {
  display: inline-block;
  position: relative;
  width: 10px;
  /* background: #E91E63; */
  height: 10px;
  margin-right: 1rem;
  vertical-align: middle;
}
body.single-product .product .entry-summary form.cart .single_add_to_cart_button__plus:before {
  content: '';
  position: absolute;
  width: 15px;
  height: 2px;
  background: white;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
body.single-product .product .entry-summary form.cart .single_add_to_cart_button__plus:after {
  content: '';
  position: absolute;
  width: 15px;
  height: 2px;
  background: white;
  /* padding: 1px; */
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%) rotate(90deg);
  -moz-transform: translateY(-50%) rotate(90deg);
  -ms-transform: translateY(-50%) rotate(90deg);
  -o-transform: translateY(-50%) rotate(90deg);
  transform: translateY(-50%) rotate(90deg);
}
body.single-product .product .entry-summary form.cart .single_add_to_cart_button:hover {
  background: #f2f2f2;
}
body.single-product .product .entry-summary .product_title {
  font-size: 1.3em;
  font-weight: 600;
  color: #dfdfdf;
}
@media (min-width: 640px) {
  body.single-product .product .entry-summary .product_title {
    margin-bottom: 1.5rem;
    font-size: 1.15rem;
  }
}
body.single-product .product .entry-summary .product-tag {
  background-color: #f2f2f2;
  padding: 0.1rem 0.3rem;
}
body.single-product .product .entry-summary .variations_form__color {
  color: #a7a4a3;
  font-size: 1rem;
  font-weight: 300;
}
@media (min-width: 640px) {
  body.single-product .product .entry-summary .variations_form__color {
    font-size: 1.3rem;
  }
}
body.single-product .product .entry-summary .variations_form__color #selected-color {
  font-size: 1.1rem;
}
body.single-product .product .entry-summary .variations_form .woocommerce-variation {
  margin-bottom: 0.9em;
}
body.single-product .product .entry-summary .variations_form .woocommerce-variation .woocommerce-variation-description {
  display: none;
}
body.single-product .product .entry-summary .variations_form .woocommerce-variation .woocommerce-variation-price .woocommerce-Price-amount {
  font-size: 2.1em;
  color: #625f60;
  font-weight: 600;
}
body.single-product .product .entry-summary .variations_form .variations tbody tr {
  display: flex;
  flex-direction: column;
  align-items: end;
}
body.single-product .product .entry-summary .variations_form .variations tbody tr .label {
  color: gray;
  font-size: 1.4em;
}
body.single-product .product .entry-summary .variations_form .variations tbody tr .label label {
  font-weight: 100;
}
body.single-product .product .entry-summary .variations_form .variations tbody tr .value select {
  border: none;
  color: #f2f2f2;
  font-size: 1em;
  width: 91%;
  overflow: hidden;
  min-width: 5%;
}
body.single-product .product .entry-summary .variations_form .variations tbody tr .value select:focus {
  box-shadow: none;
  outline: none;
}
body.single-product .product .entry-summary .variations_form .variations tbody tr .value .reset_variations {
  display: none !important;
}
body.single-product .product .entry-summary .variations_form .single_variation_wrap .woocommerce-variation-add-to-cart {
  position: relative;
}
body.single-product .product .entry-summary .variations_form .single_variation_wrap .woocommerce-variation-add-to-cart .quantity-wrapper .quantity {
  float: none;
}
body.single-product .product .entry-summary .variations_form .single_variation_wrap .woocommerce-variation-add-to-cart .quantity-wrapper .quantity input[type="number"] {
  padding-left: 15px;
}
body.single-product .product .entry-summary .variations_form .single_variation_wrap .woocommerce-variation-add-to-cart .single_add_to_cart_button {
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  background: #f2f2f2;
  border-radius: 25px;
  padding: 0.9em 0;
  font-size: 1em;
  font-weight: 100;
}
body.single-product .product .entry-summary .variations_form .single_variation_wrap .woocommerce-variation-add-to-cart .single_add_to_cart_button:hover {
  background: #dfdfdf;
}
body.single-product .product .entry-summary .variations_form .single_variation_wrap .woocommerce-variation-add-to-cart .single_add_to_cart_button__cart {
  color: white !important;
  background: #dfdfdf !important;
  padding: 1rem 3rem !important;
  display: inline-block !important;
  border-radius: 32px !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
}
body.single-product .product .entry-summary .variations_form .single_variation_wrap .woocommerce-variation-add-to-cart .single_add_to_cart_button__cart-text {
  vertical-align: middle;
}
body.single-product .product .entry-summary .variations_form .single_variation_wrap .woocommerce-variation-add-to-cart .single_add_to_cart_button__plus {
  display: inline-block;
  position: relative;
  width: 10px;
  /* background: #E91E63; */
  height: 10px;
  margin-right: 1rem;
  vertical-align: middle;
}
body.single-product .product .entry-summary .variations_form .single_variation_wrap .woocommerce-variation-add-to-cart .single_add_to_cart_button__plus:before {
  content: '';
  position: absolute;
  width: 15px;
  height: 2px;
  background: white;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
body.single-product .product .entry-summary .variations_form .single_variation_wrap .woocommerce-variation-add-to-cart .single_add_to_cart_button__plus:after {
  content: '';
  position: absolute;
  width: 15px;
  height: 2px;
  background: white;
  /* padding: 1px; */
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%) rotate(90deg);
  -moz-transform: translateY(-50%) rotate(90deg);
  -ms-transform: translateY(-50%) rotate(90deg);
  -o-transform: translateY(-50%) rotate(90deg);
  transform: translateY(-50%) rotate(90deg);
}
body.single-product .product .entry-summary .product_meta {
  display: none;
}
body.single-product .product .entry-summary .extras-wrapper {
  padding: 2em 15px;
  background: #F7F7F7;
}
@media (min-width: 992px) {
  body.single-product .product .entry-summary .extras-wrapper {
    padding: 2em 2em;
  }
}
body.single-product .product .entry-summary .extras-wrapper .extra-top {
  border-bottom: 1px solid lightgray;
  margin-bottom: 1em;
  padding-bottom: 1.2em;
}
body.single-product .product .entry-summary .extras-wrapper .extra-top h2 {
  font-size: 1.3em;
  margin-bottom: 1em;
}
body.single-product .product .entry-summary .extras-wrapper .extra-top ul {
  list-style: disc;
  padding-left: 20px;
}
body.single-product .product .entry-summary .extras-wrapper .extra-top ul li {
  font-size: 1em;
  margin-bottom: 0.6em;
}
body.single-product .product .entry-summary .extras-wrapper .extra-top ul li a {
  color: #a7a4a3;
  text-decoration: underline;
}
body.single-product .product .entry-summary .extras-wrapper .extra-bottom .accordion .card {
  border: none;
  background: #F7F7F7;
}
body.single-product .product .entry-summary .extras-wrapper .extra-bottom .accordion .card .card-header {
  background: transparent;
  padding-left: 0;
  border-bottom: none;
}
body.single-product .product .entry-summary .extras-wrapper .extra-bottom .accordion .card .card-header a {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
body.single-product .product .entry-summary .extras-wrapper .extra-bottom .accordion .card .card-header a .right-content-wrapper {
  display: flex;
  align-items: center;
}
body.single-product .product .entry-summary .extras-wrapper .extra-bottom .accordion .card .card-header a .right-content-wrapper img {
  margin-right: 15px;
}
body.single-product .product .entry-summary .extras-wrapper .extra-bottom .accordion .card .card-header a .right-content-wrapper .accordion-main-title {
  font-size: 1.1em;
  color: #625f60;
  font-weight: 600;
}
@media (min-width: 375px) {
  body.single-product .product .entry-summary .extras-wrapper .extra-bottom .accordion .card .card-header a .right-content-wrapper .accordion-main-title {
    font-size: 1em;
  }
}
body.single-product .product .entry-summary .extras-wrapper .extra-bottom .accordion .card .card-header a .right-content-wrapper .accordion-secondary_title {
  font-size: 1em;
  color: #a7a4a3;
  display: inline-block;
}
@media (min-width: 375px) {
  body.single-product .product .entry-summary .extras-wrapper .extra-bottom .accordion .card .card-header a .right-content-wrapper .accordion-secondary_title {
    font-size: 0.6em;
  }
}
body.single-product .product .entry-summary .extras-wrapper .extra-bottom .accordion .card .card-block-wrapper .card-block {
  padding: 5px;
}
@media (min-width: 992px) {
  body.single-product .product .entry-summary .extras-wrapper .extra-bottom .accordion .card .card-block-wrapper .card-block {
    padding: 1.25rem;
  }
}
body.single-product .product .onsale {
  display: none;
}
body.single-product .product .woocommerce-message {
  position: relative;
  float: none;
  top: 0;
  padding: 0;
  text-align: center;
  background: transparent;
  border: none;
  display: -webkit-box;
  /* OLD - iOS 6-, Safari 3.1-6 */
  display: -moz-box;
  /* OLD - Firefox 19- (buggy but mostly works) */
  display: -ms-flexbox;
  /* TWEENER - IE 10 */
  display: -webkit-flex;
  /* NEW - Chrome */
  display: flex;
  /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 2rem 0;
}
@media (min-width: 992px) {
  body.single-product .product .woocommerce-message {
    position: absolute;
    margin: 0;
  }
}
body.single-product .product .woocommerce-message:before {
  display: none;
}
body.single-product .product .woocommerce-message a {
  background: transparent;
  border: 2px solid #a7a4a3;
  border-radius: 40px;
  color: #625f60;
  text-transform: uppercase;
  font-size: 1.1em;
  font-weight: 600;
  padding: 0.7em 1.7em;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
body.single-product .product .woocommerce-message a:hover {
  background: #dfdfdf;
  color: white;
}
body.single-product .flower-up img {
  max-width: 307px;
  position: relative;
  top: 3px;
}
@media (min-width: 992px) {
  body.single-product .flower-up img {
    max-width: 100%;
  }
}
body.single-product .flower-down {
  margin-bottom: 2rem;
}
body.single-product .flower-down img {
  max-width: 307px;
}
@media (min-width: 992px) {
  body.single-product .flower-down img {
    max-width: 100%;
  }
}
body.single-product .single-product-bottom {
  box-shadow: 0 0 40px lightgrey;
}
body.single-product .single-product-bottom .single-product-bottom-recommendations {
  position: relative;
  padding: 2rem 1.5rem;
  background: white;
  width: 100%;
  display: -webkit-box;
  /* OLD - iOS 6-, Safari 3.1-6 */
  display: -moz-box;
  /* OLD - Firefox 19- (buggy but mostly works) */
  display: -ms-flexbox;
  /* TWEENER - IE 10 */
  display: -webkit-flex;
  /* NEW - Chrome */
  display: flex;
  /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media (min-width: 992px) {
  body.single-product .single-product-bottom .single-product-bottom-recommendations {
    padding-right: 17rem;
    padding-left: 17rem;
    padding-top: 3rem;
  }
}
body.single-product .single-product-bottom .single-product-bottom-recommendations .recommendations-title {
  font-size: 1em;
  color: #f2f2f2;
}
@media (min-width: 992px) {
  body.single-product .single-product-bottom .single-product-bottom-recommendations .recommendations-title {
    font-size: 1.8em;
  }
}
body.single-product .single-product-bottom .single-product-bottom-recommendations .recommendations-slider {
  padding: 1rem 0;
}
body.single-product .single-product-bottom .single-product-bottom-recommendations .recommendations-slider .slick-disabled {
  opacity: 0.5;
}
@media (min-width: 992px) {
  body.single-product .single-product-bottom .single-product-bottom-recommendations .recommendations-slider .slick-track {
    display: -webkit-box;
    /* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-box;
    /* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;
    /* TWEENER - IE 10 */
    display: -webkit-flex;
    /* NEW - Chrome */
    display: flex;
    /* NEW, Spec - Opera 12.1, Firefox 20+ */
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center;
    padding-bottom: 1rem;
    padding-top: 1rem;
  }
}
body.single-product .single-product-bottom .single-product-bottom-recommendations .recommendations-slider .slick-arrow:hover {
  cursor: pointer;
}
body.single-product .single-product-bottom .single-product-bottom-recommendations .recommendations-slider .fa-chevron-circle-left {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  font-weight: 600;
  color: #625f60;
  z-index: 2;
  font-size: 30px;
  left: 0;
}
@media (min-width: 992px) {
  body.single-product .single-product-bottom .single-product-bottom-recommendations .recommendations-slider .fa-chevron-circle-left {
    left: -85px;
    font-size: 3.1em;
  }
}
@media (min-width: 1500px) {
  body.single-product .single-product-bottom .single-product-bottom-recommendations .recommendations-slider .fa-chevron-circle-left {
    display: block !important;
  }
}
body.single-product .single-product-bottom .single-product-bottom-recommendations .recommendations-slider .fa-chevron-circle-right {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  font-weight: 600;
  color: #a7a4a3;
  font-size: 30px;
  right: 0;
}
@media (min-width: 992px) {
  body.single-product .single-product-bottom .single-product-bottom-recommendations .recommendations-slider .fa-chevron-circle-right {
    right: -85px;
    font-size: 3.1em;
    display: block;
  }
}
@media (min-width: 1500px) {
  body.single-product .single-product-bottom .single-product-bottom-recommendations .recommendations-slider .fa-chevron-circle-right {
    display: block !important;
  }
}
body.single-product .single-product-bottom .single-product-bottom-recommendations .recommendations-slider .recommendations-slider-inner {
  color: #625f60;
}
body.single-product .single-product-bottom .single-product-bottom-recommendations .recommendations-slider .recommendations-slider-inner .fa-quote-left {
  position: absolute;
  top: 0;
  left: 24vw;
  font-size: 2em;
}
body.single-product .single-product-bottom .single-product-bottom-recommendations .recommendations-slider .recommendations-slider-inner .recommendation-text {
  font-size: 1.45rem;
}
@media (min-width: 992px) {
  body.single-product .single-product-bottom .single-product-bottom-recommendations .recommendations-slider .recommendations-slider-inner .recommendation-text {
    padding: 0;
    font-size: 2.1rem;
  }
}
@media (min-width: 1500px) {
  body.single-product .single-product-bottom .single-product-bottom-recommendations .recommendations-slider .recommendations-slider-inner .recommendation-text {
    font-size: 3.1em;
  }
}
body.single-product .single-product-bottom .single-product-bottom-recommendations .recommendations-slider .recommendations-slider-inner .recommendation-text:before {
  font-family: FontAwesome;
  content: '\f10d';
  font-size: 18px;
  position: relative;
  top: -0.5em;
  left: -15px;
}
@media (min-width: 992px) {
  body.single-product .single-product-bottom .single-product-bottom-recommendations .recommendations-slider .recommendations-slider-inner .recommendation-text:before {
    font-size: 45px;
  }
}
body.single-product .single-product-bottom .single-product-bottom-recommendations .recommendations-slider .recommendations-slider-inner .recommendation-text:after {
  font-family: FontAwesome;
  content: '\f10e';
  font-size: 18px;
  right: -15px;
  top: 10px;
  position: relative;
}
@media (min-width: 992px) {
  body.single-product .single-product-bottom .single-product-bottom-recommendations .recommendations-slider .recommendations-slider-inner .recommendation-text:after {
    right: -15px;
    font-size: 45px;
  }
}
body.single-product .single-product-bottom .single-product-bottom-recommendations .recommendations-slider .recommendations-slider-inner .recommendation-author {
  font-size: 1rem;
  margin-top: 0.5rem;
  display: block;
}
@media (min-width: 992px) {
  body.single-product .single-product-bottom .single-product-bottom-recommendations .recommendations-slider .recommendations-slider-inner .recommendation-author {
    font-size: 1.8rem;
    margin-left: 2rem;
    display: inline-block;
  }
}
body.single-product .single-product-bottom .single-product-bottom-recommendations .recommendations-slider .recommendations-slider-inner .fa-quote-right {
  position: absolute;
  top: 4vh;
  font-size: 2em;
}
body.single-product .single-product-bottom .single-product-bottom-recommendations .companies-slider a {
  height: 100%;
}
@media (min-width: 992px) {
  body.single-product .single-product-bottom .single-product-bottom-recommendations .companies-slider a {
    width: 100%;
  }
}
body.single-product .single-product-bottom .single-product-bottom-recommendations .companies-slider a img {
  width: 100%;
  height: 71px;
}
body.single-product .single-product-bottom .single-product-bottom-recommendations .companies-slider .slick-track {
  display: flex;
}
body.single-product .single-product-bottom .single-product-bottom-recommendations .companies-slider .slick-slide {
  margin: 0 0.1rem;
}
body.single-product .single-product-bottom .single-product-bottom-recommendations .companies-slider .slick-slide > div {
  height: 70px;
}
body.single-product .single-product-bottom .single-product-bottom-recommendations .companies-slider .slick-slide > div img {
  height: auto;
}
body.single-product #calc-tabs {
  border-bottom: 1px solid transparent;
}
body.single-product #calc-tabs .nav-item .nav-link {
  border: none;
  color: #c8102b;
  background-color: #fafafa;
}
body.single-product #calc-tabs .nav-item .nav-link.active {
  color: white;
  background-color: #c8102b;
}
body.desktop.single-product .newsletter .footer-newsletter > div:first-child {
  margin-bottom: 0 !important;
}
/**********
wc-product.less
***********/
.woocommerce-page .product-tabs {
  display: flex;
  align-items: center;
  text-align: center;
}
.woocommerce-page .product-tabs__tab {
  z-index: 1;
  width: 4.6rem;
  display: block;
  position: relative;
  border-bottom: 4px solid #a7a4a3;
  color: #a7a4a3;
}
.woocommerce-page .product-tabs__tab.active {
  border-bottom: 4px solid #c8102b;
  color: #c8102b;
}
.woocommerce-page .product-tabs__tab.active:after {
  content: '';
  position: absolute;
  bottom: -11px;
  width: 15px;
  height: 15px;
  left: 45%;
  background-color: #c8102b;
  transform: rotate(45deg);
  z-index: -1;
}
.woocommerce-page .woocommerce-info {
  border: none !important;
  background-color: transparent !important;
  color: #c8102b;
  font-size: 0.5rem;
  font-weight: 700;
  padding-right: 0;
}
@media (min-width: 992px) {
  .woocommerce-page .woocommerce-info {
    font-size: 0.53rem;
  }
}
.woocommerce-page .woocommerce-info:before {
  display: none !important;
}
.woocommerce-page .woocommerce-ordering {
  float: none !important;
}
body.mobile.post-type-archive-product .product-tabs a,
body.mobile.tax-product_cat .product-tabs a {
  flex-basis: 50%;
}
body.mobile.post-type-archive-product .visited-product .slick-list,
body.mobile.tax-product_cat .visited-product .slick-list {
  padding-top: 0.5rem;
}
body.desktop.post-type-archive-product .visited-product .slick-track {
  padding: 1rem 0;
}
/****************
newsletter.less
***************/
.newsletter {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  min-height: 16vh;
}
.newsletter input[type="email"] {
  height: 0.9rem;
  padding: 0 10px;
  font-family: 'Assistant', sans-serif;
  font-size: 0.5rem;
  font-weight: 700;
  border: none;
  background-color: #f2f2f2;
}
@media (min-width: 992px) {
  .newsletter input[type="email"] {
    font-size: 0.53rem;
  }
}
.sidebar-newsletter {
  border: 1px #c8102b;
  border-style: inset solid;
}
.sidebar-newsletter .entry-content span {
  font-size: 1.06rem;
  font-weight: 800;
  line-height: 1;
}
.sidebar-newsletter .s-button-1 {
  width: 100%;
}
.single-product .newsletter:before {
  position: absolute;
  content: '';
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  background-color: black;
  opacity: 0.3;
}
.single-product .single-product-newsletter .s-button-1 {
  max-width: 280px !important;
  width: 100%;
}
.single-product .single-product-newsletter .wpcf7-not-valid-tip {
  position: absolute;
  right: 0;
}
.single-product .single-product-newsletter input[type="email"] {
  max-width: 280px !important;
  width: 100%;
  height: 0.9rem;
  padding: 0 10px;
  font-family: 'Assistant', sans-serif;
  font-size: 0.5rem;
  font-weight: 700;
  border: none;
  background-color: #f2f2f2;
}
@media (min-width: 992px) {
  .single-product .single-product-newsletter input[type="email"] {
    font-size: 0.53rem;
  }
}
.single-product .single-product-newsletter button[type='submit'] {
  width: 280px;
}
/****************
jquery-range.less
***************/
.slider-range-custom-1 {
  position: relative;
  background-color: #dfdfdf !important;
  border: 0 !important;
  height: 6px !important;
}
.slider-range-custom-1 .ui-slider-range {
  background-color: #c8102b;
}
.slider-range-custom-1 .ui-slider-handle {
  border: 1px solid #c8102b !important;
  border-radius: 50% !important;
  margin: 0 !important;
  cursor: pointer !important;
  background-color: white !important;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  top: -10px !important;
  height: 24px !important;
  width: 24px !important;
}
.slider-range-custom-1 .ui-slider-handle:hover,
.slider-range-custom-1 .ui-slider-handle.ui-state-active {
  background-color: #c8102b !important;
}
@media (min-width: 992px) {
  .slider-range-custom-1 .ui-slider-handle {
    height: 18px;
    width: 18px;
    top: -7px;
  }
}
.slider-range-custom-1:after {
  content: '';
  position: absolute;
  background-color: white;
  border-radius: 50%;
  border: 1px solid #c8102b;
  left: -1px;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 1;
  top: -10px !important;
  height: 24px !important;
  width: 24px !important;
}
@media (min-width: 992px) {
  .slider-range-custom-1:after {
    height: 18px;
    width: 18px;
    top: -7px;
  }
}
.slider-range-custom-2 {
  position: relative;
  background-color: #dfdfdf !important;
  border: 0 !important;
  height: 6px !important;
}
.slider-range-custom-2 .ui-slider-range {
  background-color: #c8102b;
}
.slider-range-custom-2 .ui-widget-header:first-child {
  background-color: transparent;
}
.slider-range-custom-2 .ui-slider-handle {
  border: 1px solid #c8102b !important;
  border-radius: 50% !important;
  background-color: white !important;
  cursor: pointer !important;
  top: -10px !important;
  height: 24px !important;
  width: 24px !important;
}
@media (min-width: 992px) {
  .slider-range-custom-2 .ui-slider-handle {
    height: 18px;
    width: 18px;
    top: -7px;
  }
}
.slider-range-custom-2 .ui-slider-handle:hover,
.slider-range-custom-2 .ui-slider-handle.ui-state-active {
  background-color: #c8102b !important;
}
.slider-range-steps {
  position: relative;
  background-color: #c8102b !important;
  border: 0 !important;
  height: 6px !important;
}
.slider-range-steps .ui-slider-range {
  background-color: #dfdfdf;
}
.slider-range-steps .ui-slider-handle {
  border: 1px solid #c8102b !important;
  border-radius: 50% !important;
  top: -10px !important;
  height: 24px !important;
  width: 24px !important;
  background-color: white !important;
  margin: 0 !important;
  cursor: pointer !important;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
}
@media (min-width: 992px) {
  .slider-range-steps .ui-slider-handle {
    height: 18px;
    width: 18px;
    top: -7px;
  }
}
.slider-range-steps .ui-slider-handle:hover,
.slider-range-steps .ui-slider-handle.ui-state-active {
  background-color: #c8102b !important;
}
.slider-range-steps:after {
  content: '';
  position: absolute;
  top: -10px !important;
  height: 24px !important;
  width: 24px !important;
  background-color: white;
  border-radius: 50%;
  border: 1px solid #c8102b;
  left: 0;
  z-index: 1;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
}
@media (min-width: 992px) {
  .slider-range-steps:after {
    height: 18px;
    width: 18px;
    top: -7px;
  }
}
/* -product-box-3.less */
.product-box-3__height {
  height: 2.054rem;
}
/* product-box-1.less */
.product-box-1 .woocommerce-loop-product__title {
  height: 1.73rem;
}
.product-box-1 .special-price-label {
  position: absolute;
  left: 0;
  z-index: 2;
  top: 0;
  width: 2.53rem;
  height: 2.5rem;
}
.product-box-1 .product-wrapper-inner {
  box-shadow: 0 0 7.3px 2.7px #dfdfdf;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
.product-box-1 .product-wrapper-inner:hover {
  box-shadow: 0 0 7.3px 2.7px rgba(200, 16, 42, 0.35);
}
.product-box-1 .product-wrapper-inner .attachment-woocommerce_thumbnail {
  display: block;
  margin: 0 auto;
  width: 100%;
  height: auto;
}
.product-box-1 .double-flash {
  animation: double-flash_4422 4s ease infinite;
  transform-origin: 50% 50%;
}
@keyframes double-flash_4422 {
  0% {
    opacity: 1;
  }
  12.5% {
    opacity: 0;
  }
  25% {
    opacity: 1;
  }
  37.5% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
/* product-box-4.less */
.product-box-4 .product-wrapper-inner .attachment-woocommerce_thumbnail {
  display: block;
  margin: 0 auto;
  height: auto;
  max-width: 100%;
}
/* page-contact.less */
.page-template-page-contact .phone-img {
  bottom: -1.3rem;
  width: 5.86666667rem;
  left: -0.6rem;
}
.page-template-page-contact .bubbles-img {
  top: -3.5rem;
  width: 8.83333333rem;
  left: -3.5rem;
}
.page-template-page-contact .mail-img {
  bottom: -1.9rem;
  width: 4.23333333rem;
  right: -3.3rem;
}
/* 404.less */
.error404 .img-container {
  background-position-x: -7000%;
}
.error404 #page {
  background-color: #FAFAF9;
}
.error404 .breadcrumbs {
  background-color: #FAFAF9;
}
@media (min-width: 992px) {
  .error404 .img-container {
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: contain;
    height: 23.46666667rem;
  }
  .error404 .breadcrumbs {
    z-index: 1;
    position: absolute;
    width: 100%;
    right: 0;
  }
  .error404 #page {
    padding-bottom: 0 !important;
  }
}
.error404 .entry-content p {
  font-size: 0.73333333rem;
  font-weight: 600;
}
@media (min-width: 992px) {
  .error404 .entry-content p {
    font-size: 0.83333333rem;
  }
}
/* page-thanks.less */
.page-template-page-thanks .img-container {
  background-position-x: -7000%;
}
@media (min-width: 992px) {
  .page-template-page-thanks .img-container {
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: contain;
    height: 23.46666667rem;
  }
  .page-template-page-thanks .breadcrumbs {
    position: absolute;
    width: 100%;
    right: 0;
    z-index: 1;
  }
  .page-template-page-thanks #page {
    padding-bottom: 0 !important;
  }
}
.page-template-page-thanks .entry-content p {
  font-size: 0.73333333rem;
  font-weight: 600;
}
@media (min-width: 992px) {
  .page-template-page-thanks .entry-content p {
    font-size: 0.83333333rem;
  }
}
/* page-comparison.less */
.comparison-table-row:nth-child(odd) {
  background-color: #dfdfdf;
}
/* map.less */
#acf-map {
  height: 10rem;
}
/* front-page.less */
body.page-template-front-page.mobile .section-links-1-slider .link-cube a {
  height: 5rem;
}
/* scrolldown.less */
/* comparison-stripe.less */
.comparison-stripe {
  max-width: 100vw;
  position: fixed;
  top: 100%;
  transform: translateY(-100%);
  z-index: 3;
  background: #f2f2f2;
  left: 0;
  right: 0;
  -webkit-box-shadow: 0px 1px 5px 3px rgba(0, 0, 0, 0.15);
  -moz-box-shadow: 0px 1px 5px 3px rgba(0, 0, 0, 0.15);
  box-shadow: 0px 1px 5px 3px rgba(0, 0, 0, 0.15);
  padding: 0.5rem;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  text-align: center;
}
@media (min-width: 768px) {
  .comparison-stripe {
    text-align: inherit;
  }
}
@media (min-width: 992px) {
  .comparison-stripe {
    max-width: 615px;
    margin: 0 auto;
  }
}
.comparison-stripe.comparison-stripe__hide {
  top: 100%;
  transform: translateY(100%);
}
.comparison-stripe__box-wrapper > div {
  vertical-align: middle;
  background-color: white;
  border: 2px solid #a7a4a3;
  position: relative;
  display: inline-block;
  width: 61px;
  height: 61px;
}
@media (min-width: 768px) {
}
.comparison-stripe__box-wrapper .compare-div > span {
  position: absolute;
  background: #fff;
  border-radius: 100%;
  top: -13px;
  left: -13px;
}
/* tradein.less */
.tradein {
  bottom: 16vh;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  width: 107px;
  height: 107px;
  box-shadow: 0 0 10px 3.5px rgba(98, 95, 96, 0.07);
}
.tradein:hover {
  -webkit-transform: rotate(19deg);
  -moz-transform: rotate(19deg);
  -ms-transform: rotate(19deg);
  -o-transform: rotate(19deg);
  transform: rotate(19deg);
}
.tradein:focus {
  outline: none !important;
}
/* scrollbar.less */
/*************** SCROLLBAR BASE CSS ***************/
.scroll-wrapper {
  overflow: hidden !important;
  padding: 0 !important;
  position: relative;
}
.scroll-wrapper > .scroll-content {
  border: none !important;
  box-sizing: content-box !important;
  height: auto;
  left: 0;
  margin: 0;
  max-height: none;
  max-width: none !important;
  overflow: scroll !important;
  padding: 0;
  position: relative !important;
  top: 0;
  width: auto !important;
}
.scroll-wrapper > .scroll-content::-webkit-scrollbar {
  height: 0;
  width: 0;
}
.scroll-element {
  display: none;
}
.scroll-element,
.scroll-element div {
  box-sizing: content-box;
}
.scroll-element.scroll-x.scroll-scrollx_visible,
.scroll-element.scroll-y.scroll-scrolly_visible {
  display: block;
}
.scroll-element .scroll-bar,
.scroll-element .scroll-arrow {
  cursor: default;
}
.scroll-textarea {
  border: 1px solid #cccccc;
  border-top-color: #999999;
}
.scroll-textarea > .scroll-content {
  overflow: hidden !important;
}
.scroll-textarea > .scroll-content > textarea {
  border: none !important;
  box-sizing: border-box;
  height: 100% !important;
  margin: 0;
  max-height: none !important;
  max-width: none !important;
  overflow: scroll !important;
  outline: none;
  padding: 2px;
  position: relative !important;
  top: 0;
  width: 100% !important;
}
.scroll-textarea > .scroll-content > textarea::-webkit-scrollbar {
  height: 0;
  width: 0;
}
/*************** SCROLLBAR LIGHT ***************/
.scrollbar-light > .scroll-element,
.scrollbar-light > .scroll-element div {
  border: none;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: absolute;
  z-index: 10;
}
.scrollbar-light > .scroll-element {
  background-color: #ffffff;
}
.scrollbar-light > .scroll-element div {
  display: block;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
  background-color: #dfdfdf;
}
.scrollbar-light > .scroll-element .scroll-element_size {
  background: #dbdbdb;
  background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2RiZGJkYiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlOGU4ZTgiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+');
  background: -moz-linear-gradient(left, #dbdbdb 0%, #e8e8e8 100%);
  background: -webkit-gradient(linear, left top, right top, color-stop(0%, #dbdbdb), color-stop(100%, #e8e8e8));
  background: -webkit-linear-gradient(left, #dbdbdb 0%, #e8e8e8 100%);
  background: -o-linear-gradient(left, #dbdbdb 0%, #e8e8e8 100%);
  background: -ms-linear-gradient(left, #dbdbdb 0%, #e8e8e8 100%);
  background: linear-gradient(to right, #dbdbdb 0%, #e8e8e8 100%);
}
.scrollbar-light > .scroll-element.scroll-x {
  bottom: 0;
  height: 17px;
  left: 0;
  min-width: 100%;
  width: 100%;
}
.scrollbar-light > .scroll-element.scroll-y {
  height: 100%;
  min-height: 100%;
  right: 0;
  top: 0;
  width: 8px;
}
.scrollbar-light > .scroll-element .scroll-bar {
  background: #fefefe;
  background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZlZmVmZSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmNWY1ZjUiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+');
  background: -moz-linear-gradient(left, #fefefe 0%, #f5f5f5 100%);
  background: -webkit-gradient(linear, left top, right top, color-stop(0%, #fefefe), color-stop(100%, #f5f5f5));
  background: -webkit-linear-gradient(left, #fefefe 0%, #f5f5f5 100%);
  background: -o-linear-gradient(left, #fefefe 0%, #f5f5f5 100%);
  background: -ms-linear-gradient(left, #fefefe 0%, #f5f5f5 100%);
  background: linear-gradient(to right, #fefefe 0%, #f5f5f5 100%);
  border: 1px solid #dbdbdb;
}
/* scrollbar height/width & offset from container borders */
.scrollbar-light > .scroll-content.scroll-scrolly_visible {
  left: -17px;
  margin-left: 17px;
}
.scrollbar-light > .scroll-content.scroll-scrollx_visible {
  top: -17px;
  margin-top: 17px;
}
.scrollbar-light > .scroll-element.scroll-x .scroll-bar {
  height: 10px;
  min-width: 10px;
  top: 0;
}
.scrollbar-light > .scroll-element.scroll-y .scroll-bar {
  left: 0;
  min-height: 10px;
  background: #c8102b;
  width: 100%;
  border: 0;
}
.scrollbar-light > .scroll-element.scroll-x .scroll-element_outer {
  height: 12px;
  left: 2px;
  top: 2px;
}
.scrollbar-light > .scroll-element.scroll-x .scroll-element_size {
  left: -4px;
}
.scrollbar-light > .scroll-element.scroll-y .scroll-element_outer {
  left: 2px;
  top: 2px;
  width: 100%;
}
.scrollbar-light > .scroll-element.scroll-y .scroll-element_size {
  top: -4px;
}
/* update scrollbar offset if both scrolls are visible */
.scrollbar-light > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
  left: -19px;
}
.scrollbar-light > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
  top: -19px;
}
.scrollbar-light > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {
  left: -19px;
}
.scrollbar-light > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {
  top: -19px;
}
/* favorite.less */
.page-template-page-favorite .product-tabs {
  display: flex;
  align-items: center;
  text-align: center;
}
.page-template-page-favorite .product-tabs__tab {
  z-index: 1;
  width: 4.6rem;
  display: block;
  position: relative;
  border-bottom: 4px solid #a7a4a3;
  color: #a7a4a3;
}
.page-template-page-favorite .product-tabs__tab.active {
  border-bottom: 4px solid #c8102b;
  color: #c8102b;
}
.page-template-page-favorite .product-tabs__tab.active:after {
  content: '';
  position: absolute;
  bottom: -11px;
  width: 15px;
  height: 15px;
  left: 45%;
  background-color: #c8102b;
  transform: rotate(45deg);
  z-index: -1;
}
/************
modal.less
************/
.modal-backdrop.show {
  opacity: 0.8;
}
#tradeinModal .wpcf7-form-control-wrap {
  position: unset;
}
#tradeinModal .modal-dialog {
  top: 1.5rem;
}
@media (min-width: 992px) {
  #tradeinModal .modal-dialog {
    width: 29rem;
    max-width: 29rem;
    top: 3rem;
  }
}
#tradeinModal .modal-dialog .modal-content {
  border-radius: 0;
}
#tradeinModal .modal-dialog .modal-content:before {
  content: '';
  background-image: url("images/trade-in-popup.png");
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
#tradeinModal .close-trade-in-modal {
  position: absolute;
  top: -1.4rem;
  right: -0.5rem;
  color: white;
  font-size: 0.9rem;
}
#order-car-modal .modal-dialog {
  width: 29rem;
  max-width: 100%;
  top: 1.6rem;
  margin: 0 auto;
  padding: 0 0.5rem;
}
@media (min-width: 992px) {
  #order-car-modal .modal-dialog {
    padding: 0;
    top: 3rem;
  }
}
#order-car-modal .modal-dialog .modal-content {
  border-radius: 0;
}
#order-car-modal .close-trade-in-modal {
  position: absolute;
  top: -1.4rem;
  right: -0.5rem;
  color: white;
  font-size: 0.9rem;
}
#order-car-modal .wpcf7-form-control-wrap {
  position: unset;
}
.sale-form-wrapper .wpcf7-not-valid-tip {
  position: absolute;
  right: 0;
  top: 50px;
}
.sale-form-wrapper input {
  font-family: 'Assistant', sans-serif;
}
.sale-form-wrapper select option {
  background-color: white;
}
/* header-3.less */
.header-3 {
  padding: 0.25rem 0.5rem 0;
  position: absolute;
  top: 0;
  z-index: 1;
  width: 85%;
  left: 0;
  right: 0;
  margin: 0 auto;
  display: -webkit-box;
  /* OLD - iOS 6-, Safari 3.1-6 */
  display: -moz-box;
  /* OLD - Firefox 19- (buggy but mostly works) */
  display: -ms-flexbox;
  /* TWEENER - IE 10 */
  display: -webkit-flex;
  /* NEW - Chrome */
  display: flex;
  /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -webkit-box-pack: space-between;
  -ms-flex-pack: space-between;
  justify-content: space-between;
  -webkit-align-items: end;
  -moz-align-items: end;
  -ms-align-items: end;
  align-items: end;
}
@media (min-width: 1500px) {
  .header-3 {
    width: 65.15%;
  }
}
.header-3 .icon-jeep-car-01-01 {
  font-size: 1.8rem;
}
.header-3 .icon-sports-car-01-01 {
  font-size: 1.2rem;
}
.header-3 .icon-luxery-car-01-01 {
  font-size: 1.5rem;
}
.header-3__menus {
  -webkit-flex: 1;
  -moz-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-left: 1rem;
  -webkit-align-self: flex-end;
  -moz-align-self: flex-end;
  -ms-align-self: flex-end;
  align-self: flex-end;
}
.header-3__menu {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: -ms-flex;
  display: flex;
}
.header-3__menu > li:hover > a {
  position: relative;
}
.header-3__menu > li:hover > a:after {
  content: '';
  position: absolute;
  background: #c8102b;
  width: 100%;
  height: 4px;
  right: 0;
  bottom: 0;
}
.header-3__menu > li:not(:last-child) {
  margin-left: 0.6rem;
}
@media (min-width: 1900px) {
  .header-3__menu > li:not(:last-child) {
    margin-left: 1rem;
  }
}
.header-3__menu > li.current-menu-item > a {
  color: #c8102b;
  font-weight: bold;
}
.header-3__menu > li.menu-item-has-children.cars-sub-menu-parent .sub-menu {
  display: none;
  border-top: 2px solid #dfdfdf;
  position: absolute;
  width: 100%;
  background: white;
  right: 0;
}
.header-3__menu > li.menu-item-has-children.cars-sub-menu-parent .sub-menu a {
  color: #c8102b;
  display: block;
  font-size: 0.53rem;
  font-weight: 400;
}
.header-3__menu > li.menu-item-has-children.cars-sub-menu-parent:hover .sub-menu {
  background-color: white;
  padding: 1rem 0.8rem 0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: -ms-flex;
  display: flex;
  -webkit-box-pack: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.header-3__menu > li.menu-item-has-children.cars-sub-menu-parent:hover .sub-menu li {
  margin-bottom: 1rem;
  -webkit-flex: 0 0 6.366667rem;
  -moz-flex: 0 0 6.366667rem;
  -ms-flex: 0 0 6.366667rem;
  flex: 0 0 6.366667rem;
  text-align: center;
  -webkit-align-self: flex-end;
  -moz-align-self: flex-end;
  -ms-align-self: flex-end;
  align-self: flex-end;
}
.header-3__menu > li.menu-item-has-children.cars-sub-menu-parent:hover .sub-menu li:hover a {
  color: #a7a4a3;
}
.header-3__menu > li.menu-item-has-children:not(.cars-sub-menu-parent) .sub-menu {
  display: none;
  border-top: 2px solid #dfdfdf;
  position: absolute;
  width: 200px;
  background: white;
}
.header-3__menu > li.menu-item-has-children:not(.cars-sub-menu-parent) .sub-menu a {
  color: #c8102b;
  display: block;
  font-size: 0.53rem;
  font-weight: 400;
}
.header-3__menu > li.menu-item-has-children:not(.cars-sub-menu-parent):hover .sub-menu {
  background-color: white;
  padding: 1rem 0.8rem 0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: -ms-flex;
  display: flex;
  -webkit-box-pack: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.header-3__menu > li.menu-item-has-children:not(.cars-sub-menu-parent):hover .sub-menu li {
  margin-bottom: 1rem;
}
.header-3__menu > li.menu-item-has-children:not(.cars-sub-menu-parent):hover .sub-menu li:hover a {
  color: #a7a4a3;
}
.header-3__menu > li > a {
  white-space: nowrap;
  color: black;
  display: block;
  height: 100%;
  line-height: 1.5rem;
  font-size: 0.53333333rem;
  font-weight: 400;
}
@media (min-width: 992px) {
  .header-3__menu > li > a {
    font-size: 0.6rem;
  }
}
.header-3__top-menu {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: -ms-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
}
.header-3__top-menu li:before {
  vertical-align: middle;
  margin-left: 0.25rem;
}
.header-3__top-menu li:not(:last-child) {
  margin-left: 1.5rem;
}
.header-3__top-menu li.header-3__button a {
  display: block;
  background: #c8102b;
  color: white !important;
  padding: 0 0.5rem;
  box-shadow: inset 0 0 0 0 black;
  -webkit-transition: box-shadow 0.4s;
  -moz-transition: box-shadow 0.4s;
  -ms-transition: box-shadow 0.4s;
  -o-transition: box-shadow 0.4s;
  transition: box-shadow 0.4s;
}
.header-3__top-menu li.header-3__button a:hover {
  box-shadow: inset 0 28px 0 0 black;
  color: white;
}
.header-3__top-menu li a {
  display: block;
  vertical-align: middle;
}
.header-3__top-menu li a span:not([class^="icon"]) {
  font-size: 0.5rem;
  font-weight: 700;
  font-weight: 600;
  margin-left: 0.3rem;
  vertical-align: middle;
}
@media (min-width: 992px) {
  .header-3__top-menu li a span:not([class^="icon"]) {
    font-size: 0.53rem;
  }
}
.header-3__phone {
  cursor: initial;
}
.header-3__phone span:first-child {
  margin-left: 0.25rem;
}
.header-3__menu-item-wrapper {
  height: 72vh;
}
body.fixed .header-3 {
  position: fixed;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  padding-top: 0;
  width: 100%;
  padding-right: calc(8.3335% + 15px);
  padding-left: calc(8.3335% + 15px);
  z-index: 3;
}
@media (min-width: 1500px) {
  body.fixed .header-3 {
    padding-right: calc(16.6666665% + 15px);
    padding-left: calc(16.6666665% + 15px);
  }
}
body.fixed .header-3__phone {
  display: none;
}
body.fixed .header-3__top-menu {
  display: inline-flex !important;
}
body.fixed .header-3__top-menu .header-3__button {
  margin-left: 1rem;
}
body.fixed .header-3__top-menu .header-3__button a {
  padding: 0.18rem 0.32rem;
}
body.fixed .header-3__top-menu li {
  display: inline-block;
}
body.fixed .header-3__top-menu li:not(:last-child) {
  margin-left: 0.5rem;
}
body.fixed .header-3__top-menu a span:last-child {
  display: none !important;
}
body.fixed .header-3__menu {
  display: inline-block;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  line-height: 1.2rem;
}
body.fixed .header-3__menu > li {
  display: inline-block;
}
@media (min-width: 1900px) {
  body.fixed .header-3__menu > li:not(:last-child) {
    margin-left: 0.5rem;
  }
}
body.fixed .header-3__menus div:first-child {
  display: inline-block !important;
  -webkit-align-self: center;
  -moz-align-self: center;
  -ms-align-self: center;
  align-self: center;
  margin-left: 1rem;
  padding: 0 !important;
  border: none !important;
}
body.fixed .header-3__logo {
  display: block;
  width: 2.2rem !important;
}
body.fixed.not-frontpage .header-3 {
  position: fixed !important;
}
body.mobile .header-3,
body.mobile-resized .header-3 {
  display: block;
  padding: 0;
  right: 0;
  width: 100%;
  position: fixed;
  z-index: 9999999999;
  -webkit-transition: 0.6s;
  -moz-transition: 0.6s;
  -ms-transition: 0.6s;
  -o-transition: 0.6s;
  transition: 0.6s;
}
body.mobile .header-3 .custom-w,
body.mobile-resized .header-3 .custom-w {
  width: 0.85rem;
}
body.mobile .header-3 .custom-py,
body.mobile-resized .header-3 .custom-py {
  padding-top: 0.1rem;
  padding-bottom: 0.1rem;
}
body.mobile .header-3 .icon-align:before,
body.mobile-resized .header-3 .icon-align:before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
}
body.mobile .header-3 .close-wrapper,
body.mobile-resized .header-3 .close-wrapper {
  -webkit-transition: 0.6s;
  -moz-transition: 0.6s;
  -ms-transition: 0.6s;
  -o-transition: 0.6s;
  transition: 0.6s;
  left: -100%;
}
body.mobile .header-3__menu,
body.mobile-resized .header-3__menu {
  -webkit-transition: 0.6s;
  -moz-transition: 0.6s;
  -ms-transition: 0.6s;
  -o-transition: 0.6s;
  transition: 0.6s;
  padding: 0;
  top: 0;
  height: 100vh;
  overflow-y: scroll;
  position: fixed;
  background: white;
  width: 100%;
  left: 100%;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  text-align: center;
}
body.mobile .header-3__menu:before,
body.mobile-resized .header-3__menu:before {
  display: none;
}
body.mobile .header-3__menu .menu > li,
body.mobile-resized .header-3__menu .menu > li {
  display: block;
  margin: 0.6rem;
}
body.mobile .header-3__menu .menu > li a,
body.mobile-resized .header-3__menu .menu > li a {
  color: #a7a4a3;
  padding: 0.3rem 0;
  font-weight: 700;
  font-size: 0.5rem;
  line-height: 18px;
}
@media (min-width: 992px) {
  body.mobile .header-3__menu .menu > li a,
  body.mobile-resized .header-3__menu .menu > li a {
    font-size: 0.53rem;
  }
}
body.mobile .header-3__menu .menu > li.current_page_item a,
body.mobile-resized .header-3__menu .menu > li.current_page_item a {
  color: #c8102b;
}
body.mobile .header-3__menu .menu > li.menu-item-has-children,
body.mobile-resized .header-3__menu .menu > li.menu-item-has-children {
  position: relative;
}
body.mobile .header-3__menu .menu > li.menu-item-has-children a[href="#"],
body.mobile-resized .header-3__menu .menu > li.menu-item-has-children a[href="#"] {
  pointer-events: none;
}
body.mobile .header-3__menu .menu > li.menu-item-has-children .custom-arrow-top,
body.mobile-resized .header-3__menu .menu > li.menu-item-has-children .custom-arrow-top {
  top: 0.56rem;
  font-size: 0.3rem;
}
body.mobile .header-3__menu .menu > li.menu-item-has-children .sub-menu,
body.mobile-resized .header-3__menu .menu > li.menu-item-has-children .sub-menu {
  display: none;
  position: relative;
  width: inherit;
  top: 0.4rem;
}
body.mobile .header-3__menu .menu > li.menu-item-has-children .sub-menu > li,
body.mobile-resized .header-3__menu .menu > li.menu-item-has-children .sub-menu > li {
  padding: 0;
}
body.mobile .header-3__menu .menu > li.menu-item-has-children .sub-menu > li a,
body.mobile-resized .header-3__menu .menu > li.menu-item-has-children .sub-menu > li a {
  display: block;
  font-weight: 400;
}
body.mobile .header-3__menu .menu > li.menu-item-has-children .sub-menu > li a span:before,
body.mobile-resized .header-3__menu .menu > li.menu-item-has-children .sub-menu > li a span:before {
  content: '';
}
body.mobile .header-3 .stripes-menu,
body.mobile-resized .header-3 .stripes-menu {
  -webkit-transition: transform 0.3s;
  -moz-transition: transform 0.3s;
  -ms-transition: transform 0.3s;
  -o-transition: transform 0.3s;
  transition: transform 0.3s;
  cursor: pointer;
}
body.mobile .header-3 .stripes-menu div,
body.mobile-resized .header-3 .stripes-menu div {
  width: 100%;
  height: 3px;
  background: #c8102b;
  transition: transform 0.3s;
}
body.mobile .header-3 .stripes-menu div:not(:last-child),
body.mobile-resized .header-3 .stripes-menu div:not(:last-child) {
  margin-bottom: 0.15rem;
}
body.mobile .header-3 .stripes-menu.close-menu,
body.mobile-resized .header-3 .stripes-menu.close-menu {
  padding: 0;
  position: relative;
}
body.mobile .header-3 .stripes-menu.close-menu div,
body.mobile-resized .header-3 .stripes-menu.close-menu div {
  right: 0;
  width: 0.825rem;
}
body.mobile .header-3 .stripes-menu.close-menu div:first-child,
body.mobile-resized .header-3 .stripes-menu.close-menu div:first-child {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 0;
}
body.mobile .header-3 .stripes-menu.close-menu div:nth-child(2),
body.mobile-resized .header-3 .stripes-menu.close-menu div:nth-child(2) {
  height: 2.0625rem;
  position: absolute;
  opacity: 0;
  top: -1rem;
  margin: 0;
}
body.mobile .header-3 .stripes-menu.close-menu div:last-child,
body.mobile-resized .header-3 .stripes-menu.close-menu div:last-child {
  position: absolute;
  top: 0;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
body.mobile .header-3__logo,
body.mobile-resized .header-3__logo {
  width: 3rem !important;
}
body.desktop .header-3__logo {
  width: 5.06rem;
}
body.desktop:not(.mobile-resized).not-frontpage .header-3 {
  position: relative;
  width: 100%;
  padding-right: calc(16.58% + 15px);
  padding-left: calc(16.58% + 15px);
  z-index: 3;
}
body.opened-menu .header-3 {
  right: -100%;
}
body.opened-menu .header-3 .header-3__menu {
  left: 0;
}
body.opened-menu .header-3 .close-wrapper {
  left: 0;
}
.phone-header {
  width: 24px;
}
@media (max-width: 766px) {
  #open_sogoacc.topleft {
    top: 63px !important;
  }
}
/* footer-3.less */
.footer-3 {
  background-image: url("images/footer-bg.jpg");
  background-size: cover;
}
.footer-3 .wpcf7 {
  margin-top: 0.5rem;
}
.footer-3 .wpcf7 .wpcf7-response-output {
  display: none !important;
}
.footer-3 .wpcf7 .footer-newsletter input[type="email"] {
  font-family: 'Assistant', sans-serif;
  padding: 0 10px;
  height: 33px;
  border-radius: 0;
  border: 1px solid #dfdfdf;
  display: inline-block;
  position: relative;
  line-height: 1.4;
  background-color: #f2f2f2;
}
.footer-3 .wpcf7 .footer-newsletter .wpcf7-not-valid-tip {
  font-size: 0.6rem;
}
.footer-3 .wpcf7 .footer-newsletter label {
  font-weight: 400;
  font-size: 0.5rem;
  line-height: 1.3;
  margin-bottom: 0.25rem;
}
@media (min-width: 992px) {
  .footer-3 .wpcf7 .footer-newsletter label {
    font-size: 0.53rem;
  }
}
.footer-3 a {
  font-weight: 400;
  font-size: 0.5rem;
  line-height: 1.3;
}
@media (min-width: 992px) {
  .footer-3 a {
    font-size: 0.53rem;
  }
}
.footer-3 .widget .textwidget {
  color: #0f0f0f;
  font-size: 0.53rem;
  font-weight: 400;
}
@media (min-width: 992px) {
  .footer-3 .widget .textwidget {
    font-size: 0.6rem;
  }
}
.footer-3 .widget:not(.footer-3__newsletter) > button + div {
  display: none;
}
@media (min-width: 992px) {
  .footer-3 .widget:not(.footer-3__newsletter) > button + div {
    display: block;
  }
}
.footer-3 .widget a {
  display: block;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  font-size: 0.53rem;
  font-weight: 400;
  color: #0f0f0f;
}
@media (min-width: 992px) {
  .footer-3 .widget a {
    font-size: 0.6rem;
  }
}
.footer-3 .widget .menu a:hover {
  color: #c8102b;
}
.footer-3 .widget .menu li {
  margin-bottom: 0.25rem;
}
.footer-3 .widget .custom-top {
  top: 0.1rem;
}
.footer-3__show-submenu + div {
  display: block !important;
}
/**************
faq.less
*************/
.section-faq-2 .card {
  background: inherit;
  border-radius: 0;
  border: 1px solid transparent;
}
.section-faq-2 .card:hover {
  border-color: #c8102b;
}
.section-faq-2 .qa:nth-child(even) .question {
  background: #dfdfdf;
}
.section-faq-2 .qa:nth-child(even) .answer-inner {
  background: #dfdfdf;
}
.section-faq-2 .question {
  background: #fafafa;
}
.section-faq-2 .answer-inner {
  background: #fafafa;
}
.section-faq-2 .question {
  color: white;
  padding: 0.95rem 0;
}
.section-faq-2 .question:hover {
  cursor: pointer;
}
.section-faq-2 .question .icon {
  font-weight: 600;
}
.section-faq-2 .question .icon:after {
  font-family: icomoon;
  content: '\e922';
}
.section-faq-2 .question.collapsed {
  color: #a7a4a3;
  padding: 0.95rem 0;
}
.section-faq-2 .question.collapsed:hover {
  cursor: pointer;
}
.section-faq-2 .question.collapsed .icon {
  font-weight: 600;
}
.section-faq-2 .question.collapsed .icon:after {
  font-family: icomoon;
  content: '\e927';
}
.section-faq-2 .answer .answer-inner {
  padding-bottom: 1rem;
}
/* mobile-fixed-buttons.less */
body.mobile .mobile-fixed-buttons-1 {
  bottom: 0;
  -webkit-transition: 1s;
  -moz-transition: 1s;
  -ms-transition: 1s;
  -o-transition: 1s;
  transition: 1s;
}
body.mobile .mobile-fixed-buttons-1 > div:last-child:after {
  content: '';
  position: absolute;
  right: 0;
  width: 1px;
  background-color: white;
  height: 69%;
}
body.opened-menu .mobile-fixed-buttons-1 {
  bottom: -10vh !important;
}
/****************
section-simple-13.less
******************/
body.desktop .section-simple-13 {
  min-height: 59vh;
}
body.desktop .section-13-cube {
  overflow: hidden;
}
body.desktop .section-13-cube p {
  height: 2.75rem;
  overflow: hidden;
}
.section-simple-13 {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.section-simple-13 .section-13-cube {
  overflow: hidden;
}
/* mobile-filter-modal-1.less */
body.opened-search-modal .search-modal {
  left: 0;
}
body.opened-search-modal .search-modal-header {
  top: 0;
}
.mobile-search-modal-1 .search-modal-header {
  top: -14vh;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
.mobile-search-modal-1 .search-modal {
  overflow-y: scroll;
  background: white;
  width: 100%;
  position: fixed;
  bottom: 0;
  z-index: 99;
  left: -100%;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  -ms-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}
.mobile-search-modal-1 .search-modal .tab-pane {
  margin: 0.2rem 1rem 0;
}
.mobile-search-modal-1 .nav-tabs {
  border: none;
}
.mobile-search-modal-1 .nav-tabs .nav-item {
  z-index: 1;
  display: flex;
  align-items: center;
  text-align: center;
}
.mobile-search-modal-1 .nav-tabs .nav-item .nav-link {
  border-bottom: 4px solid #a7a4a3;
  width: 100%;
  position: relative;
  border-top: none;
  border-left: none;
  border-right: none;
}
.mobile-search-modal-1 .nav-tabs .nav-item .nav-link span.icon {
  font-size: 0.9rem;
}
.mobile-search-modal-1 .nav-tabs .nav-item .nav-link:hover {
  border-top: none;
  border-left: none;
  border-right: none;
}
.mobile-search-modal-1 .nav-tabs .nav-item .nav-link.active {
  border: none;
  border-bottom: 4px solid #c8102b;
  color: #c8102b;
}
.mobile-search-modal-1 .nav-tabs .nav-item .nav-link.active:after {
  content: '';
  position: absolute;
  bottom: -11px;
  width: 15px;
  height: 15px;
  left: 45%;
  background-color: #c8102b;
  transform: rotate(45deg);
  z-index: -1;
}
.mobile-search-modal-1 .btn {
  padding: 0.1rem 0.3rem;
  font-size: 0.6rem;
}
.mobile-search-modal-1 .btn.active {
  background-color: #c8102b;
  color: white;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3QvYW5pbWF0ZS5sZXNzIiwicHJvamVjdC9taXhpbi5sZXNzIiwicHJvamVjdC9iYWNrLXRvLXRvcC5sZXNzIiwicHJvamVjdC9icmVhZGNydW1icy5sZXNzIiwicHJvamVjdC9idXR0b24ubGVzcyIsInByb2plY3QvdmFyaWFibGVzLmxlc3MiLCJwcm9qZWN0L2NsYXNzZXMubGVzcyIsInByb2plY3QvdHlwb2dyYXBoeS5sZXNzIiwicHJvamVjdC9lbnRyeS1jb250ZW50Lmxlc3MiLCJwcm9qZWN0L3BhZ2luYXRpb24ubGVzcyIsInByb2plY3QvcmVzZXQubGVzcyIsInByb2plY3Qvc2hhcmUtYmFyLmxlc3MiLCJwcm9qZWN0L3dvcmRwcmVzcy5sZXNzIiwicHJvamVjdC9tYWluLXNsaWRlci5sZXNzIiwicHJvamVjdC9mb250cy5sZXNzIiwicHJvamVjdC9zbGljay1zbGlkZXIubGVzcyIsInByb2plY3Qvc2VjdGlvbi1hZC0xLmxlc3MiLCJwcm9qZWN0L3NlY3Rpb24tc3Bpbm5pbmctaW1nLTEubGVzcyIsInByb2plY3Qvc2lkZWJhci5sZXNzIiwicHJvamVjdC9zaW5nbGUubGVzcyIsInByb2plY3QvY2FyLXNlYXJjaC5sZXNzIiwicHJvamVjdC9zYWxlLWZvcm0ubGVzcyIsInByb2plY3QvZm9ybS5sZXNzIiwicHJvamVjdC93Yy1zaW5nbGUtcHJvZHVjdC5sZXNzIiwicHJvamVjdC93Yy1wcm9kdWN0cy5sZXNzIiwicHJvamVjdC9uZXdzbGV0dGVyLmxlc3MiLCJwcm9qZWN0L2pxdWVyeS1yYW5nZS5sZXNzIiwicHJvamVjdC9wcm9kdWN0LWJveC0zLmxlc3MiLCJwcm9qZWN0L3Byb2R1Y3QtYm94LTEubGVzcyIsInByb2plY3QvcHJvZHVjdC1ib3gtNC5sZXNzIiwicHJvamVjdC9wYWdlLWNvbnRhY3QubGVzcyIsInByb2plY3QvNDA0Lmxlc3MiLCJwcm9qZWN0L3BhZ2UtdGhhbmtzLmxlc3MiLCJwcm9qZWN0L3BhZ2UtY29tcGFyaXNvbi5sZXNzIiwicHJvamVjdC9tYXAubGVzcyIsInByb2plY3QvZnJvbnRwYWdlLmxlc3MiLCJwcm9qZWN0L2NvbXBhcmlzb24tc3RyaXBlLmxlc3MiLCJwcm9qZWN0L3RyYWRlaW4ubGVzcyIsInByb2plY3Qvc2Nyb2xsYmFyLmxlc3MiLCJwcm9qZWN0L2Zhdm9yaXRlLmxlc3MiLCJwcm9qZWN0L21vZGFsLmxlc3MiLCJwcm9qZWN0L3NhbGUubGVzcyIsIkM6L1VzZXJzL0tvYmkvUGhwc3Rvcm1Qcm9qZWN0cy9hdXRvLWNlbnRlci93cC1jb250ZW50L3RoZW1lcy9zb2dvLWNoaWxkL3RlbXBsYXRlcy9oZWFkZXItMy9oZWFkZXItMy5sZXNzIiwiQzovVXNlcnMvS29iaS9QaHBzdG9ybVByb2plY3RzL2F1dG8tY2VudGVyL3dwLWNvbnRlbnQvdGhlbWVzL3NvZ28tY2hpbGQvdGVtcGxhdGVzL2Zvb3Rlci0zL2Zvb3Rlci0zLmxlc3MiLCJtb2R1bGVzL3NlY3Rpb24tZmFxLTIubGVzcyIsIm1vZHVsZXMvbW9iaWxlLWZpeGVkLWJ1dHRvbnMtMS5sZXNzIiwibW9kdWxlcy9zZWN0aW9uLXNpbXBsZS0xMy5sZXNzIiwibW9kdWxlcy9tb2JpbGUtc2VhcmNoLW1vZGFsLTEubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQ0E7RUFDRSw4QkFBQTtFQUNBLHNCQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTs7QUFHRixTQUFTO0VBQ1AsMkNBQUE7RUFDQSxtQ0FBQTtFQUNBLG1CQUFBOztBQUdGLFNBQVM7RUFDUCw4QkFBQTtFQUNBLHNCQUFBOztBQUlGLFNBQVM7QUFDVCxTQUFTO0VBQ1AsaUNBQUE7RUFDQSx5QkFBQTs7QUFHRixTQUFTO0FBQ1QsU0FBUztFQUNQLGlDQUFBO0VBQ0EseUJBQUE7O0FBR0Y7RUFDRTtFQUFNO0VBQUs7RUFBSztFQUFLO0lBQ25CLG1DQUFtQyxtQ0FBbkM7SUFDQSwyQkFBMkIsbUNBQTNCO0lBQ0EsbUJBQW1CLG9CQUFuQjtJQUNBLFdBQVcs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QUFHRjtFQUNFLHlCQUFBOztBQUdGO0VBQ0UseUJBQUE7O0FBR0Y7RUFDRSx5QkFBQTs7QUFHRjtFQUNFLHlCQUFBOztBQUdGO0VBQ0UsdUJBQUE7O0FBR0Y7RUFDRSx3Q0FBQTs7QUFJRjtFQUNFLG1CQUFBOztBQUdGO0VBQ0Usa0JBQUE7O0FBR0Y7RUFDRSw0QkFBQTs7QUFHRjtFQUNFLDRCQUFBOztBQUdGO0VBQ0UsNEJBQUE7O0FBR0Y7RUFDRSxrQkFBQTs7QUFLRjtFQUNFLHlCQUFBOztBQUdGO0VBQ0Usd0JBQUE7O0FBR0Y7RUFDRSxpQkFBQTs7QUFHRjtFQUNFLG1CQUFBOztBQUdGO0VBQ0UsdUJBQUE7O0FBR0Y7RUFDRSxzQkFBQTs7QUFHRjtFQUNFLHdCQUFBOztBQUdGO0VBQ0UscUJBQUE7O0FBR0Y7RUFDRSxxQkFBQTs7QUFHRjtFQUNFLHFCQUFBOztBQUdGO0VBQ0UscUJBQUE7O0FBR0Y7RUFDRSxxQkFBQTs7QUFHRjtFQUNFLHFCQUFBOztBQUdGO0VBQ0UscUJBQUE7O0FBR0Y7RUFDRSxxQkFBQTs7QUFHRjtFQUNFLHFCQUFBOztBQUdGO0VBQ0UsaUJBQUE7O0FBR0Y7RUFDRSxpQkFBQTs7QUFHRjtFQUNFLGlCQUFBOztBQUdGO0VBQ0UsdUJBQUE7O0FBSUY7RUFDRSxjQUFBOztBQUdGO0VBQ0UsY0FBQTs7QUFHRjtFQUNFLGNBQUE7O0FBR0Y7RUFDRSxjQUFBOztBQUdGO0VBQ0UsY0FBQTs7QUFHRjtFQUNFLGNBQUE7O0FBR0Y7RUFDRSxjQUFBOztBQUdGO0VBQ0UsWUFBQTs7QUFHRjtFQUNFLFlBQUE7O0FBR0Y7RUFDRSxjQUFBOztBQUdGO0VBQ0UsWUFBQTs7QUFHRjtFQUNFLGNBQUE7O0FBR0Y7RUFDRSxnQkFBQTs7QUFHRjtFQUNFLGlCQUFBOztBQUVGO0VBQ0Usa0JBQUE7O0FBSUY7RUFDRSxnQkFBQTs7QUFHRjtFQUNFLDRCQUFBOztBQUdGO0VBQ0UsaUNBQUE7O0FBR0Y7RUFDRSx3QkFBQTs7QUFHRjtFQUNFLHNDQUFBOztBQUdGO0VBQ0UsVUFBQTs7QUFHRjtFTDNpQkks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VUFrQkcsT0FLRTtFQUNDLFNBQVMsRUFBVDtFQUNBLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsU0FBQTtFQUNBLHlCQUFBO0VBQ0EsV0FBVyxhQUFYO0VBQ0EsV0FBQTs7QUFsRVosc0JBd0VFO0VBQ0Usc0JBQUE7RUFDQSxpQkFBQTs7QUFDQSxzQkFIRixLQUdHO0VBQ0MseUJBQUE7RUFDQSxZQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogYW5pbWF0ZS5sZXNzICovXG4uYW5pbWF0ZWQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLmFuaW1hdGVkLmluZmluaXRlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIGFuaW1hdGlvbi1kZWxheTogMnM7XG59XG5cbi5hbmltYXRlZC5oaW5nZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbn1cblxuXG4uYW5pbWF0ZWQuYm91bmNlSW4sXG4uYW5pbWF0ZWQuYm91bmNlT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IC43NXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogLjc1cztcbn1cblxuLmFuaW1hdGVkLmZsaXBPdXRYLFxuLmFuaW1hdGVkLmZsaXBPdXRZIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IC43NXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogLjc1cztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7XG4gIGZyb20sIDIwJSwgNTMlLCA4MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICB9XG5cbiAgNDAlLCA0MyUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XG4gIH1cblxuICA3MCUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC00cHgsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC00cHgsMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2Uge1xuICBmcm9tLCAyMCUsIDUzJSwgODAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgfVxuXG4gIDQwJSwgNDMlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApO1xuICB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlX3NtYWxsIHtcbiAgZnJvbSwgMjAlLCA1MyUsIDgwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIH1cblxuICA0MCUsIDQzJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC00cHgsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC00cHgsMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2Vfc21hbGwge1xuICBmcm9tLCAyMCUsIDUzJSwgODAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgfVxuXG4gIDQwJSwgNDMlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcbiAgfVxufVxuLmJvdW5jZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxhc2gge1xuICBmcm9tLCA1MCUsIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjUlLCA3NSUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGFzaCB7XG4gIGZyb20sIDUwJSwgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyNSUsIDc1JSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmxhc2gge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuLnB1bHNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcHVsc2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJ1YmJlckJhbmQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gIH1cblxuICA2NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcnViYmVyQmFuZCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgfVxuXG4gIDY1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuLnJ1YmJlckJhbmQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kO1xuICBhbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlIHtcbiAgZnJvbSwgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cblxuICAyMCUsIDQwJSwgNjAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2hha2Uge1xuICBmcm9tLCB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAxMCUsIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDIwJSwgNDAlLCA2MCUsIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbn1cblxuLnNoYWtlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aW5nIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3dpbmcge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gIH1cbn1cblxuLnN3aW5nIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzd2luZztcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdGFkYSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDEwJSwgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDAlLCA2MCUsIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgdGFkYSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDEwJSwgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDAlLCA2MCUsIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbi50YWRhIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdGFkYTtcbiAgYW5pbWF0aW9uLW5hbWU6IHRhZGE7XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgd29iYmxlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgMTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cblxuICA0NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgd29iYmxlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgMTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cblxuICA0NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi53b2JibGUge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG4gIGFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBqZWxsbyB7XG4gIGZyb20sIDExLjElLCB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgMjIuMiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgfVxuXG4gIDMzLjMlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgfVxuXG4gIDQ0LjQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICB9XG5cbiAgNTUuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gIH1cblxuICA2Ni42JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICB9XG5cbiAgNzcuNyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgfVxuXG4gIDg4LjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGplbGxvIHtcbiAgZnJvbSwgMTEuMSUsIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAyMi4yJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICB9XG5cbiAgMzMuMyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICB9XG5cbiAgNDQuNCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gIH1cblxuICA1NS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcbiAgfVxuXG4gIDY2LjYlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gIH1cblxuICA3Ny43JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICB9XG5cbiAgODguOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICB9XG59XG5cbi5qZWxsbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGplbGxvO1xuICBhbmltYXRpb24tbmFtZTogamVsbG87XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbiB7XG4gIGZyb20sIDIwJSwgNDAlLCA2MCUsIDgwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgZnJvbSwgMjAlLCA0MCUsIDYwJSwgODAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45Nyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbi5ib3VuY2VJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW47XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5ib3VuY2VJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5ib3VuY2VJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5ib3VuY2VJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uYm91bmNlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gIH1cblxuICA1MCUsIDU1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXQge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgfVxuXG4gIDUwJSwgNTUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cblxuICA0MCUsIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cblxuICA0MCUsIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG59XG5cbi5ib3VuY2VPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbi5ib3VuY2VPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDQwJSwgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDQwJSwgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uZmFkZUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJbkRvd25CaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5MZWZ0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5SaWdodEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuXG5Aa2V5ZnJhbWVzIHNvZ29Qb3BJblVwIHtcbiAgZnJvbSB7XG4gICAgYm90dG9tOiAtMTAwJTtcbiAgfVxuXG4gIHRvIHtcbiAgICBib3R0b206IDA7XG4gIH1cbn1cblxuLnNvZ29Qb3BJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc29nb1BvcEluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBzb2dvUG9wSW5VcDtcbiAgYW5pbWF0aW9uLWRlbGF5OiAxcztcbn1cblxuXG5Aa2V5ZnJhbWVzIHNvZ29Qb3BJbkRvd24ge1xuICBmcm9tIHtcbiAgICB0b3A6IC0xMDAlO1xuICB9XG5cbiAgdG8ge1xuICAgIHRvcDogMDtcbiAgfVxufVxuXG4uc29nb1BvcEluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNvZ29Qb3BJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBzb2dvUG9wSW5Eb3duO1xuICBhbmltYXRpb24tZGVsYXk6IDFzO1xufVxuXG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluVXBCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZhZGVPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dERvd25CaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRMZWZ0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRSaWdodEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFVwQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbn1cblxuLmFuaW1hdGVkLmZsaXAge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcEluWCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG5cbi5mbGlwSW5YIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cblxuLmZsaXBJblkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmxpcE91dFgge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcE91dFkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mbGlwT3V0WSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZO1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmxpZ2h0U3BlZWRJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmxpZ2h0U3BlZWRPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJbiB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluRG93bkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJbkRvd25SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluVXBMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJblVwUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dERvd25MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0RG93blJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0VXBMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0VXBSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGluZ2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgMjAlLCA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgNDAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgaGluZ2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgMjAlLCA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgNDAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5oaW5nZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xuICBhbmltYXRpb24tbmFtZTogaGluZ2U7XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm9sbEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5yb2xsSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb2xsT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgfVxufVxuXG4ucm9sbE91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uem9vbUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG4uem9vbUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG4uem9vbUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuLnpvb21JblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnpvb21PdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0RG93biB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dERvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIH1cbn1cblxuLnpvb21PdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgfVxufVxuXG4uem9vbU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFVwIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0VXAge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG4uem9vbU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluRG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluVXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuLnNsaWRlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwMCUsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cbi5zbGlkZU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0VXA7XG59XG5cbkBrZXlmcmFtZXMgY2xvdWRzQW5pbWF0ZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1MDBweCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1MDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUwMHB4LCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1MDBweCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUwMHB4LCAwLCAwKTtcbiAgfVxufVxuLmNsb3Vkc0FuaW1hdGUge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBjbG91ZHNBbmltYXRlO1xuICBhbmltYXRpb24tbmFtZTogY2xvdWRzQW5pbWF0ZTtcbiAgLW1zLWFuaW1hdGlvbi1uYW1lOiBjbG91ZHNBbmltYXRlO1xuICAtbW96LWFuaW1hdGlvbi1uYW1lOiBjbG91ZHNBbmltYXRlO1xuICAtby1hbmltYXRpb24tbmFtZTogY2xvdWRzQW5pbWF0ZTtcbn1cbkBrZXlmcmFtZXMgY2xvdWRzQW5pbWF0ZS1sZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNzAwcHgsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC03MDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNzAwcHgsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNzAwcHgsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTcwMHB4LCAwLCAwKTtcbiAgfVxufVxuLmNsb3Vkc0FuaW1hdGUtbGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGNsb3Vkc0FuaW1hdGUtbGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGNsb3Vkc0FuaW1hdGUtbGVmdDtcbiAgLW1zLWFuaW1hdGlvbi1uYW1lOiBjbG91ZHNBbmltYXRlLWxlZnQ7XG4gIC1tb3otYW5pbWF0aW9uLW5hbWU6IGNsb3Vkc0FuaW1hdGUtbGVmdDtcbiAgLW8tYW5pbWF0aW9uLW5hbWU6IGNsb3Vkc0FuaW1hdGUtbGVmdDtcbn1cbkBrZXlmcmFtZXMgY2Fyc0FuaW1hdGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApO1xuICB9XG59XG4uY2Fyc0FuaW1hdGUge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBjYXJzQW5pbWF0ZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGNhcnNBbmltYXRlO1xuICAtbXMtYW5pbWF0aW9uLW5hbWU6IGNhcnNBbmltYXRlO1xuICAtbW96LWFuaW1hdGlvbi1uYW1lOiBjYXJzQW5pbWF0ZTtcbiAgLW8tYW5pbWF0aW9uLW5hbWU6IGNhcnNBbmltYXRlO1xufVxuXG5Aa2V5ZnJhbWVzIGNhcnNBbmltYXRlLXJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICB9XG59XG4uY2Fyc0FuaW1hdGUtcmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBjYXJzQW5pbWF0ZS1yaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGNhcnNBbmltYXRlLXJpZ2h0O1xuICAtbXMtYW5pbWF0aW9uLW5hbWU6IGNhcnNBbmltYXRlLXJpZ2h0O1xuICAtbW96LWFuaW1hdGlvbi1uYW1lOiBjYXJzQW5pbWF0ZS1yaWdodDtcbiAgLW8tYW5pbWF0aW9uLW5hbWU6IGNhcnNBbmltYXRlLXJpZ2h0O1xufVxuXG4uYW5pbWF0ZWQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG5cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi5mYWRlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG59XG4uaW5maW5pdGV7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMDBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cbi5hY3RpdmUgLmZhZGVJbkxlZnRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMDBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cbi5hY3RpdmUgLmZhZGVJblJpZ2h0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7XG4gIDAlLCAyMCUsIDUwJSwgODAlLCAxMDAlIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTt9XG4gIDQwJSB7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpO31cbiAgNjAlIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7fVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gIDAlLCAyMCUsIDUwJSwgODAlLCAxMDAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7fVxuICA0MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7fVxuICA2MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7fVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZV9zbWFsbCB7XG4gIDAlLCAyMCUsIDUwJSwgODAlLCAxMDAlIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTt9XG4gIDQwJSB7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO31cbiAgNjAlIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTt9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlX3NtYWxsIHtcbiAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTt9XG4gIDQwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTt9XG4gIDYwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO31cbn1cblxuLmJvdW5jZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbn1cbi8vIGVuZCBCb3VuY2VcblxuLy8gZ3Jvd1xuXG4uYWN0aXZlIC5ncm93IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZ3JvdztcbiAgYW5pbWF0aW9uLW5hbWU6IGdyb3c7XG5cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBncm93IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZ3JvdyB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuLmFjdGl2ZSAuZmFkZUluVXBCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgNTAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cbiAgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxufVxuQGtleWZyYW1lcyBwdWxzZSB7XG4gIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICA1MCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cbiAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbn1cblxuXG4uYm91bmNlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpO1xuICB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7XG4gIH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG4uYWN0aXZlIC5mYWRlSW5Eb3duQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjJzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDEuMnM7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG4uZmFkZUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uYWN0aXZlIC5zbGlkZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmFjdGl2ZSAuZmFkZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uYWN0aXZlIC5mYWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG59XG5cblxuLmh2ci1pY29uLWZvcndhcmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAyLjJlbTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzO1xufVxuLmh2ci1pY29uLWZvcndhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzhcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMWVtO1xuICBwYWRkaW5nOiAwIDFweDtcbiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuMXM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMXM7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG4uaHZyLWljb24tZm9yd2FyZDpob3ZlcjpiZWZvcmUsXG4uaHZyLWljb24tZm9yd2FyZDpmb2N1czpiZWZvcmUsXG4uaHZyLWljb24tZm9yd2FyZDphY3RpdmU6YmVmb3JlIHtcbiAgLnRyYW5zbGF0ZVggKDRweCk7XG5cbn1cbi5odnItZ3JvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG59XG4uaHZyLWdyb3c6aG92ZXIsXG4uaHZyLWdyb3c6Zm9jdXMsXG4uaHZyLWdyb3c6YWN0aXZlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuW2NsYXNzXj1cImh2ci1cIl0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG4gIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KXtcbiAgICBwYWRkaW5nOiAxZW07XG4gIH1cbn1cblxuLyogZW5kIGFuaW1hdGUubGVzcyAqLyIsIi8qIG1peGluLmxlc3MgKi9cblxuLy8gY29sb3JzIGFuZCBzaGFwZXNcblxuLmJveC1zaGFkb3coQGFyZ3VtZW50cykge1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogQGFyZ3VtZW50cztcbiAgICAtbW96LWJveC1zaGFkb3c6IEBhcmd1bWVudHM7XG4gICAgYm94LXNoYWRvdzogQGFyZ3VtZW50cztcbn1cblxuLmNhbGMoQHByb3AsIEB2YWwpIHtcbiAgICAgICAgQHtwcm9wfTogY2FsYyh+J0B7dmFsfScpO1xuICAgICAgICBAe3Byb3B9OiAtbW96LWNhbGMofidAe3ZhbH0nKTtcbiAgICAgICAgQHtwcm9wfTogLXdlYmtpdC1jYWxjKH4nQHt2YWx9Jyk7XG4gICAgICAgIEB7cHJvcH06IC1vLWNhbGMofidAe3ZhbH0nKTtcbn1cblxuLy8gY2FsYyB1c2FnZSBleGFtcGxlXG4vLy5yYW1pe1xuLy8gIC5jYWxjKHdpZHRoLCAnMTAwJSAtIDEwMHB4Jyk7XG4vL31cbi5ib3JkZXItcmFkaXVzKEByYWRpdXMpIHtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IEByYWRpdXM7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiBAcmFkaXVzO1xuICAgIGJvcmRlci1yYWRpdXM6IEByYWRpdXM7XG59XG5cbi5ib3gtc2l6aW5nIChAdHlwZTogYm9yZGVyLWJveCkge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogQHR5cGU7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBAdHlwZTtcbiAgICBib3gtc2l6aW5nOiBAdHlwZTtcbn1cblxuXG4ub3BhY2l0eSAoQG9wYWNpdHk6IDAuNSkge1xuICAgIC13ZWJraXQtb3BhY2l0eTogQG9wYWNpdHk7XG4gICAgLW1vei1vcGFjaXR5OiBAb3BhY2l0eTtcbiAgICBvcGFjaXR5OiBAb3BhY2l0eTtcbn1cblxuLmdyYWRpZW50IChAc3RhcnRDb2xvcjogI2VlZSwgQGVuZENvbG9yOiB3aGl0ZSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBzdGFydENvbG9yO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20oQHN0YXJ0Q29sb3IpLCB0byhAZW5kQ29sb3IpKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpO1xuICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTtcbn1cblxuLmxpbmVhci1ncmFkaWVudChAZGVncmVlLCBAZmlyc3QtY29sb3IsIEBzZWNvbmQtY29sb3IsIEBlbmQtY29sb3IgKSB7XG4gICAgYmFja2dyb3VuZDogQGZpcnN0LWNvbG9yOyAvKiBGb3IgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBncmFkaWVudHMgKi9cbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChAZGVncmVlLCBAZmlyc3QtY29sb3IsIEBzZWNvbmQtY29sb3IsIEBlbmQtY29sb3IpOyAvKiBGb3IgU2FmYXJpIDUuMSB0byA2LjAgKi9cbiAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQoQGRlZ3JlZSwgQGZpcnN0LWNvbG9yLCBAc2Vjb25kLWNvbG9yLCBAZW5kLWNvbG9yKTsgLyogRm9yIE9wZXJhIDExLjEgdG8gMTIuMCAqL1xuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KEBkZWdyZWUsIEBmaXJzdC1jb2xvciwgQHNlY29uZC1jb2xvciwgQGVuZC1jb2xvcik7IC8qIEZvciBGaXJlZm94IDMuNiB0byAxNSAqL1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChAZGVncmVlLCBAZmlyc3QtY29sb3IsIEBzZWNvbmQtY29sb3IsIEBlbmQtY29sb3IpOyAvKiBTdGFuZGFyZCBzeW50YXggKi9cbn1cblxuLnZlcnRpY2FsLWdyYWRpZW50KEBmaXJzdC1jb2xvciwgQHNlY29uZC1jb2xvciwgQGVuZC1jb2xvciApIHtcbiAgICBiYWNrZ3JvdW5kOiBAZmlyc3QtY29sb3I7IC8qIEZvciBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IGdyYWRpZW50cyAqL1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEBmaXJzdC1jb2xvciwgQHNlY29uZC1jb2xvciwgQGVuZC1jb2xvcik7IC8qIEZvciBTYWZhcmkgNS4xIHRvIDYuMCAqL1xuICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChAZmlyc3QtY29sb3IsIEBzZWNvbmQtY29sb3IsIEBlbmQtY29sb3IpOyAvKiBGb3IgT3BlcmEgMTEuMSB0byAxMi4wICovXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoQGZpcnN0LWNvbG9yLCBAc2Vjb25kLWNvbG9yLCBAZW5kLWNvbG9yKTsgLyogRm9yIEZpcmVmb3ggMy42IHRvIDE1ICovXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KEBmaXJzdC1jb2xvciwgQHNlY29uZC1jb2xvciwgQGVuZC1jb2xvcik7IC8qIFN0YW5kYXJkIHN5bnRheCAqL1xufVxuXG4uYm9yZGVyX2dyYWRpZW50IChAc3RhcnRDb2xvcjogI2VlZSwgQGVuZENvbG9yOiB3aGl0ZSkge1xuICAgIGJvcmRlci1pbWFnZTogQHN0YXJ0Q29sb3I7XG4gICAgYm9yZGVyLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKEBzdGFydENvbG9yKSwgdG8oQGVuZENvbG9yKSk7XG4gICAgYm9yZGVyLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTtcbiAgICBib3JkZXItaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpO1xuICAgIGJvcmRlci1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTtcbiAgICBib3JkZXItaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTtcbn1cblxuLmJhY2tncm91bmQoQHNpemU6Y292ZXIpIHtcbiAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogQHNpemU7XG4gICAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IEBzaXplO1xuICAgIGJhY2tncm91bmQtc2l6ZTogQHNpemU7XG59XG5cbi5yZXNwb25zaXZlLWltZygpIHtcbiAgICBAd2lkdGg6IDEwMCU7XG4gICAgQGhlaWdodDogYXV0bztcbn1cblxuLmJ1dHRvbi1ob3ZlciAoQGJnOiAjZjVmNWY1LCBAY29sb3I6ICM5MDAsIEBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZSkge1xuICAgIGNvbG9yOiBsaWdodGVuKEBjb2xvciwgMTAlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKEBiZywgMTAlKTtcbn1cblxuLy8gZmxleCBvcHRpb25zXG4uZGlzcGxheS1mbGV4KCkge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OyAvKiBPTEQgLSBpT1MgNi0sIFNhZmFyaSAzLjEtNiAqL1xuICAgIGRpc3BsYXk6IC1tb3otYm94OyAvKiBPTEQgLSBGaXJlZm94IDE5LSAoYnVnZ3kgYnV0IG1vc3RseSB3b3JrcykgKi9cbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLyogVFdFRU5FUiAtIElFIDEwICovXG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OyAvKiBORVcgLSBDaHJvbWUgKi9cbiAgICBkaXNwbGF5OiBmbGV4OyAvKiBORVcsIFNwZWMgLSBPcGVyYSAxMi4xLCBGaXJlZm94IDIwKyAqL1xufVxuXG4uYWxpZ24taXRlbXMoQGFsaWduOiBjZW50ZXIpIHtcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBAYWxpZ247XG4gICAgLW1vei1hbGlnbi1pdGVtczogQGFsaWduO1xuICAgIC1tcy1hbGlnbi1pdGVtczogQGFsaWduO1xuICAgIGFsaWduLWl0ZW1zOiBAYWxpZ247XG59XG5cbi5hbGlnbi1zZWxmKEBhbGlnbikge1xuICAgIC13ZWJraXQtYWxpZ24tc2VsZjogQGFsaWduO1xuICAgIC1tb3otYWxpZ24tc2VsZjogQGFsaWduO1xuICAgIC1tcy1hbGlnbi1zZWxmOiBAYWxpZ247XG4gICAgYWxpZ24tc2VsZjogQGFsaWduO1xufVxuXG5cbi5mbGV4LWdyb3coQGdyb3cpIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiBAZ3JvdztcbiAgICAtbXMtZmxleC1wb3NpdGl2ZTogQGdyb3c7XG4gICAgZmxleC1ncm93OiBAZ3Jvdztcbn1cblxuXG4uZC1mbGV4LWp1c3RpZnkoQGp1c3RpZnkpIHtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBAanVzdGlmeTtcbiAgICAtbXMtZmxleC1wYWNrOiBAanVzdGlmeTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IEBqdXN0aWZ5O1xufVxuXG4ub3JkZXIoQG9yZGVyKSB7XG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogQG9yZGVyO1xuICAgIC1tcy1mbGV4LW9yZGVyOiBAb3JkZXI7XG4gICAgb3JkZXI6IEBvcmRlcjtcbn1cblxuLmQtZmxleC1jZW50ZXIoQGFsaWduOiBjZW50ZXIpIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsgLyogT0xEIC0gaU9TIDYtLCBTYWZhcmkgMy4xLTYgKi9cbiAgICBkaXNwbGF5OiAtbW96LWJveDsgLyogT0xEIC0gRmlyZWZveCAxOS0gKGJ1Z2d5IGJ1dCBtb3N0bHkgd29ya3MpICovXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8qIFRXRUVORVIgLSBJRSAxMCAqL1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsgLyogTkVXIC0gQ2hyb21lICovXG4gICAgZGlzcGxheTogZmxleDsgLyogTkVXLCBTcGVjIC0gT3BlcmEgMTIuMSwgRmlyZWZveCAyMCsgKi9cbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBAYWxpZ247XG4gICAgLW1vei1hbGlnbi1pdGVtczogQGFsaWduO1xuICAgIC1tcy1hbGlnbi1pdGVtczogQGFsaWduO1xuICAgIGFsaWduLWl0ZW1zOiBAYWxpZ247XG59XG5cbi8vIFVzYWdlXG4vLyBkaXZ7XG4vLyBkaXNwbGF5LWZsZXgoKTtcblxuLmZsZXgtYm94KEBmbGV4OiAxKSB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogQGZsZXg7IC8qIE9MRCAtIGlPUyA2LSwgU2FmYXJpIDMuMS02ICovXG4gICAgLW1vei1ib3gtZmxleDogQGZsZXg7IC8qIE9MRCAtIEZpcmVmb3ggMTktICovXG4gICAgd2lkdGg6IDIwJTsgLyogRm9yIG9sZCBzeW50YXgsIG90aGVyd2lzZSBjb2xsYXBzZXMuICovXG4gICAgLXdlYmtpdC1mbGV4OiBAZmxleDsgLyogQ2hyb21lICovXG4gICAgLW1zLWZsZXg6IEBmbGV4OyAvKiBJRSAxMCAqL1xuICAgIGZsZXg6IEBmbGV4O1xufVxuXG4uZmxleC1kaXNwbGF5KEBkaXNwbGF5OiBmbGV4KSB7XG4gICAgZGlzcGxheTogflwiLXdlYmtpdC1Ae2Rpc3BsYXl9XCI7XG4gICAgZGlzcGxheTogflwiLW1vei1Ae2Rpc3BsYXl9XCI7XG4gICAgZGlzcGxheTogflwiLW1zLUB7ZGlzcGxheX1ib3hcIjsgLy8gSUUxMCB1c2VzIC1tcy1mbGV4Ym94XG4gICAgZGlzcGxheTogflwiLW1zLUB7ZGlzcGxheX1cIjsgLy8gSUUxMVxuICAgIGRpc3BsYXk6IEBkaXNwbGF5O1xufVxuXG4uZmxleChAY29sdW1uczogaW5pdGlhbCkge1xuICAgIC13ZWJraXQtZmxleDogQGNvbHVtbnM7XG4gICAgLW1vei1mbGV4OiBAY29sdW1ucztcbiAgICAtbXMtZmxleDogQGNvbHVtbnM7XG4gICAgZmxleDogQGNvbHVtbnM7XG59XG5cbi5mbGV4LWRpcmVjdGlvbihAZGlyZWN0aW9uOiByb3cpIHtcbiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBAZGlyZWN0aW9uO1xuICAgIC1tb3otZmxleC1kaXJlY3Rpb246IEBkaXJlY3Rpb247XG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBAZGlyZWN0aW9uO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBAZGlyZWN0aW9uO1xufVxuXG4uZmxleC13cmFwKEB3cmFwOiBub3dyYXApIHtcbiAgICAtd2Via2l0LWZsZXgtd3JhcDogQHdyYXA7XG4gICAgLW1vei1mbGV4LXdyYXA6IEB3cmFwO1xuICAgIC1tcy1mbGV4LXdyYXA6IEB3cmFwO1xuICAgIGZsZXgtd3JhcDogQHdyYXA7XG59XG5cbi8vIGFuaW1hdGlvbnNcblxuLnRyYW5zaXRpb24gKEB0cmFuc2l0aW9uOiBhbGwgMC40cykge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG4gICAgLW1vei10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICAtbXMtdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG4gICAgLW8tdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG4gICAgdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG59XG5cbi50cmFuc2Zvcm0oQHN0cmluZykge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBAc3RyaW5nO1xuICAgIC1tb3otdHJhbnNmb3JtOiBAc3RyaW5nO1xuICAgIC1tcy10cmFuc2Zvcm06IEBzdHJpbmc7XG4gICAgLW8tdHJhbnNmb3JtOiBAc3RyaW5nO1xuICAgIHRyYW5zZm9ybTogQHN0cmluZztcbn1cblxuLnNjYWxlIChAZmFjdG9yKSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKEBmYWN0b3IpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZShAZmFjdG9yKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZShAZmFjdG9yKTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKEBmYWN0b3IpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoQGZhY3Rvcik7XG59XG5cbi5yb3RhdGUgKEBkZWcpIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKEBkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoQGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKEBkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKEBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKEBkZWcpO1xufVxuXG5cblxuLnRyYW5zbGF0ZSAoQHgsIEB5KSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG59XG5cbi50cmFuc2xhdGUzZCAoQHgsIEB5OiAwLCBAejogMCkge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAeCwgQHksIEB6KTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoQHgsIEB5LCBAeik7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoQHgsIEB5LCBAeik7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAeCwgQHksIEB6KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKEB4LCBAeSwgQHopO1xufVxuXG4udHJhbnNsYXRlWSAoQHgpIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWShAeCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoQHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoQHgpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWShAeCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKEB4KTtcbn1cblxuLnRyYW5zbGF0ZVggKEB4KSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoQHgpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKEB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKEB4KTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoQHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChAeCk7XG59XG5cbi5za2V3WSAoQGRlZykge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WShAZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2tld1koQGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2tld1koQGRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiBza2V3WShAZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdZKEBkZWcpO1xufVxuXG4uc2tld1ggKEBkZWcpIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goQGRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHNrZXdYKEBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNrZXdYKEBkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogc2tld1goQGRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WChAZGVnKTtcbn1cblxuXG4uaG9yaXpvbnRhbC1hbGlnbigpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLnZlcnRpY2FsLWFsaWduKEBwb3NpdGlvbjogcmVsYXRpdmUpIHtcbiAgICBwb3NpdGlvbjogQHBvc2l0aW9uO1xuICAgIHRvcDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLnh5YWxpZ24oKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG5cbi5pbnB1dC1wbGFjZWhvbGRlcihAY29sb3IpIHtcblxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBDaHJvbWUvT3BlcmEvU2FmYXJpICovXG4gICAgICAgIGNvbG9yOiBAY29sb3I7XG4gICAgfVxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE5KyAqL1xuICAgICAgICBjb2xvcjogQGNvbG9yO1xuICAgIH1cbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIElFIDEwKyAqL1xuICAgICAgICBjb2xvcjogQGNvbG9yO1xuICAgIH1cbiAgICAmOi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE4LSAqL1xuICAgICAgICBjb2xvcjogQGNvbG9yO1xuICAgIH1cbn1cblxuLnBlcmZlY3QtY2lyY2xlKEBzaXplKSB7XG4gICAgaGVpZ2h0OiBAc2l6ZTtcbiAgICB3aWR0aDogQHNpemU7XG4gICAgbGluZS1oZWlnaHQ6IEBzaXplO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi5kaXNwbGF5LWlubGluZS1mbGV4KCkge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG59XG4vKiBlbmQgbWl4aW4ubGVzcyAqLyIsIi8qIGJhY2stdG8tdG9wLmxlc3MgKi9cclxuXHJcbi5iYWNrLXRvLXRvcCB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL3RvcC1idG4ucG5nXCIpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gIHdpZHRoOiAzLjVyZW07XHJcbiAgaGVpZ2h0OiA3LjczcmVtO1xyXG4gIHotaW5kZXg6IDEwMDAwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICByaWdodDogMi41cmVtO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBib3R0b206IDh2aDtcclxuICBvcGFjaXR5OiAxO1xyXG4gIC50cmFuc2l0aW9uKDFzKTtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvdG9wLWJ0bi1ob292ZXIucG5nXCIpO1xyXG4gIH1cclxuICAmLmRyaXZlIHtcclxuICAgIGJvdHRvbTogMTAwdmg7XHJcbiAgICAvLy50cmFuc2l0aW9uKDFzKTtcclxuICB9XHJcbiAgJi5oaWRlLWNhciB7XHJcbiAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZVkoMTAwJSkpICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiIsIi8qIGJyZWFkY3J1bWJzLmxlc3MgKi9cblxuLmJyZWFkY3J1bWJzIHtcbiAgY29sb3I6IEBjb2xvci0zO1xuICBmb250LXNpemU6IDAuNXJlbTtcblxuICAuYnJlYWRjcnVtYl9sYXN0IHtcbiAgICBjb2xvcjogQGNvbG9yLTQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG5cbiAgYSB7XG4gICAgY29sb3I6IEBjb2xvci0zO1xuICB9XG59IiwiLyogYnV0dG9uLmxlc3MgKi9cblxuW2NsYXNzXj1cInMtYnV0dG9uXCJdIHtcbiAgZm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1tYWluO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjczcmVtO1xuICBtYXgtd2lkdGg6IDE5OHB4O1xuICBtaW4td2lkdGg6IDEzMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGluZS1oZWlnaHQ6IDFyZW07XG4gIGhlaWdodDogMzJweDtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDkyMnB4KSB7XG4gICAgZm9udC1zaXplOiAwLjgzcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1cmVtO1xuICAgIGhlaWdodDogNDVweDtcbiAgfVxufVxuXG4uYnRuLWhlYWRlciB7XG4gIC5zZW1pLWJvbGQ7XG4gIGZvbnQtc2l6ZTogMC41M3JlbTtcbiAgbWluLXdpZHRoOiAxMDBweDtcbiAgbWF4LXdpZHRoOiAxNzRweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBsaW5lLWhlaWdodDogMC45cmVtO1xufVxuXG4uYnRuLXNhbGUge1xuICAuc2VtaS1ib2xkO1xuICBmb250LXNpemU6IDAuNTNyZW07XG4gIG1heC13aWR0aDogMTc0cHg7XG4gIGhlaWdodDogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDAuOXJlbTtcbn1cblxuLnMtYnV0dG9uLTEge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoNTAlLCBAY29sb3Itd2hpdGUpLCBjb2xvci1zdG9wKDUwJSwgQGNvbG9yLXJlZCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIEBjb2xvci13aGl0ZSA1MCUsIEBjb2xvci1yZWQgNTAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgQGNvbG9yLXdoaXRlIDUwJSwgQGNvbG9yLXJlZCA1MCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCBAY29sb3Itd2hpdGUgNTAlLCBAY29sb3ItcmVkIDUwJSk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAyMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDEwMCU7XG4gIC50cmFuc2l0aW9uKGJhY2tncm91bmQtcG9zaXRpb24gLjJzKTtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDA7XG4gICAgY29sb3I6IEBjb2xvci1yZWQ7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IEBjb2xvci1yZWQ7XG4gIH1cblxufVxuXG4ucy1idXR0b24tc20ge1xuICBjb2xvcjogQGNvbG9yLXJlZDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwcHggMHB4IDBweCAxcHggQGNvbG9yLXJlZDtcbiAgLW1vei1ib3gtc2hhZG93OiBpbnNldCAwcHggMHB4IDBweCAxcHggQGNvbG9yLXJlZDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDBweCAwcHggMXB4IEBjb2xvci1yZWQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAyMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDEwMCU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoNTAlLCBAY29sb3ItcmVkKSwgY29sb3Itc3RvcCg1MCUsIEBjb2xvci13aGl0ZSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIEBjb2xvci1yZWQgNTAlLCBAY29sb3Itd2hpdGUgNTAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgQGNvbG9yLXJlZCA1MCUsIEBjb2xvci13aGl0ZSA1MCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCBAY29sb3ItcmVkIDUwJSwgQGNvbG9yLXdoaXRlIDUwJSk7XG4gIC50cmFuc2l0aW9uKGJhY2tncm91bmQtcG9zaXRpb24gLjJzKTtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBjb2xvcjogQGNvbG9yLXdoaXRlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMDtcbiAgfVxufVxuXG4ucy1idG4tMSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItcmVkO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1tYWluO1xufSIsIi8qICB2YXJpYWJsZXMubGVzcyAgKi9cblxuLy90aXJlLWRlYWwgY29sb3JzXG5AY29sb3ItMTogI2YyZjJmMjtcbkBjb2xvci0yOiAjZGZkZmRmO1xuQGNvbG9yLTM6ICNhN2E0YTM7XG5AY29sb3ItNDogIzYyNWY2MDtcbkBjb2xvci01OiAjMGYwZjBmO1xuQGNvbG9yLTc6ICNmYWZhZmE7XG5cblxuLy9ub3QgaW4gdXNlXG5AY29sb3ItNjogI2RhZGFkMjtcbi8vZW5kIG5vdCBpbiB1c2VcblxuLy9nZW5lcmFsLWNvbG9yc1xuQGNvbG9yLWJsYWNrOiBibGFjaztcbkBjb2xvci13aGl0ZTogd2hpdGU7XG5AY29sb3ItcmVkOiAjYzgxMDJiO1xuQGNvbG9yLWdyZWVuOiBncmVlbjtcblxuXG5AY3VzdG9tLWNvbG9yOiAjRkFGQUY5O1xuXG4vL1R5cG9ncmFwaHlcbkBmb250LWZhbWlseS1tYWluOiAnQXNzaXN0YW50Jywgc2Fucy1zZXJpZjtcblxuLy9ib3gtc2hhZG93XG5AYm94LXNoYWRvdy0xOiAwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbkBib3gtc2hhZG93LTI6IDAgMCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xuQGJveC1zaGFkb3ctMzogMCAwIDcuM3B4IDIuN3B4IEBjb2xvci0yO1xuIiwiLyogY2xhc3Nlcy5sZXNzICovXG5cbi8vZGVza3RvcFxuXG5ib2R5LmRlc2t0b3Age1xuICAuZGVza3RvcC1wLWFic29sdXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgfVxuICAuZGVza3RvcC1jdXN0b20tcHQge1xuICAgIHBhZGRpbmctdG9wOiA0cmVtICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy9tb2JpbGVcblxuYm9keS5tb2JpbGUge1xuXG4gIC5tb2JpbGUtYmctdHJhbnNwYXJlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1vYmlsZS1wYi0yIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubW9iaWxlLXB0LTMge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1vYmlsZS1jb2wtMTIge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcbiAgICAtbXMtZmxleDogMCAwIDEwMCU7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5tb2JpbGUtYm9yZGVyLWJvdHRvbSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICB9XG4gIC5tb2JpbGUtbWItMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1vYmlsZS1tYi0yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1vYmlsZS1tYi0zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1vYmlsZS1wYi0zIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tb2JpbGUtcGItNCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tb2JpbGUtY29sLWxnLTEwIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAtd2Via2l0LWZsZXg6IDAgMCA4My4zMzMzMzMlO1xuICAgICAgLW1zLWZsZXg6IDAgMCA4My4zMzMzMzMlO1xuICAgICAgZmxleDogMCAwIDgzLjMzMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDgzLjMzMzMzMyU7XG4gICAgfVxuICB9XG59XG5cbi8vZ2VuZXJhbFxuLmN1cnNvci1wb2ludGVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ucG9pbnRlci1ub25lIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuXG4uZC1sdHIge1xuICBkaXJlY3Rpb246IGx0cjtcbn1cblxuLmxpc3QtZGVjaW1hbHMge1xuICBsaXN0LXN0eWxlOiBkZWNpbWFsO1xufVxuXG4ubGlzdC1pbnNpZGUge1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG59XG5cbi8vYm94LXNoYWRvd1xuLmJveC1zaGFkb3ctMSB7XG4gIC5ib3gtc2hhZG93KEBib3gtc2hhZG93LTEpO1xufVxuXG4uYm94LXNoYWRvdy0zIHtcbiAgYm94LXNoYWRvdzogQGJveC1zaGFkb3ctMztcbn1cblxuLmN1c3RvbS1tci0xIHtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNzVyZW07XG4gIH1cbn1cblxuLm14LTE1IHtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbn1cblxuLm1sLW1pbnVzLTEwMCB7XG4gIG1hcmdpbi1sZWZ0OiAtMTAwJTtcbn1cblxuLm1yLW1pbnVzLTEwMCB7XG4gIG1hcmdpbi1yaWdodDogLTEwMCUgIWltcG9ydGFudDtcbn1cbi5tdC02e1xuICBtYXJnaW4tdG9wOjVyZW07XG59XG5cbi8vaWNvbnNcbi5pY29uLWV4dHJhLXNtYWxsIHtcbiAgZm9udC1zaXplOiAuMnJlbTtcbn1cblxuLy9pY29uc1xuLmljb24teHMge1xuICBmb250LXNpemU6IDAuNTNyZW07XG59XG5cbi5pY29uLXMge1xuICBmb250LXNpemU6IC44cmVtO1xufVxuXG4uaWNvbi1tIHtcbiAgZm9udC1zaXplOiAxLjA2cmVtO1xufVxuXG4uaWNvbi1sIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG59XG5cbi5pY29uLXhsIHtcbiAgZm9udC1zaXplOiAyLjEzcmVtO1xufVxuXG4uaWNvbi14eGwge1xuICBmb250LXNpemU6IDRyZW07XG59XG5cbi5pY29uLXNtYWxsIHtcbiAgZm9udC1zaXplOiAuM3JlbTtcbn1cblxuLmljb24teDEge1xuICBmb250LXNpemU6IC42cmVtO1xufVxuXG4uaWNvbi14MiB7XG4gIGZvbnQtc2l6ZTogLjc1cmVtO1xufVxuXG4uaWNvbi14MyB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLmljb24teDQge1xuICBmb250LXNpemU6IDEuMjVyZW07XG59XG5cbi5pY29uLXg1IHtcbiAgZm9udC1zaXplOiAwLjZyZW07XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbn1cblxuLmljb24teDYge1xuICBmb250LXNpemU6IDNyZW07XG59XG5cbi8vcGFkZGluZ1xuXG4ucHQtMnJlbSB7XG4gIHBhZGRpbmctdG9wOiAycmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wci0xNSB7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG59XG5cbi5wbC0xNSB7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbn1cblxuLnBsLWxnLTE1IHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnByLWxnLTE1IHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgcGFkZGluZy1yaWdodDogMTVweCAhaW1wb3J0YW50O1xuICB9XG5cbn1cblxuLnB4LTE1IHtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xufVxuXG4ucHgtbGctMTUge1xuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnB0LTcge1xuICBwYWRkaW5nLXRvcDogMi43cmVtXG59XG5cbi5wYi0ycmVtIHtcbiAgcGFkZGluZy1ib3R0b206IDJyZW0gIWltcG9ydGFudDtcbn1cblxuLnBiLWxnLTJyZW0ge1xuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5wdC0ycmVtIHtcbiAgcGFkZGluZy10b3A6IDJyZW0gIWltcG9ydGFudDtcbn1cblxuLnB0LWxnLTJyZW0ge1xuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vdGV4dFxuLmV4dHJhLWJvbGQge1xuICBmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7XG59XG5cbi5ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xufVxuXG4uc2VtaS1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xufVxuXG4ubWVkaXVtIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLm5vcm1hbCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcbn1cblxuLnJlZ3VsYXIge1xuICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG59XG5cbi5mb250LTAge1xuICBmb250LXNpemU6IDA7XG59XG5cbi56LWluZGV4LTEge1xuICB6LWluZGV4OiAxO1xufVxuXG4uei1pbmRleC0yIHtcbiAgei1pbmRleDogMjtcbn1cblxuLnotaW5kZXgtMyB7XG4gIHotaW5kZXg6IDM7XG59XG5cbi56LWluZGV4LTQge1xuICB6LWluZGV4OiA0O1xufVxuXG4uei1pbmRleC01IHtcbiAgei1pbmRleDogNTtcbn1cblxuLnotaW5kZXgtNyB7XG4gIHotaW5kZXg6IDc7XG59XG5cbi5uby13cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnVuZGVybGluZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vL2xpbmUtaGVpZ2h0XG4ubC1oLTAge1xuICBsaW5lLWhlaWdodDogMDtcbn1cblxuLmwtaC0xIHtcbiAgbGluZS1oZWlnaHQ6IDAuN3JlbTtcbn1cblxuLmwtaC0yIHtcbiAgbGluZS1oZWlnaHQ6IDEuMXJlbTtcbn1cblxuLmx0ciB7XG4gIGRpcmVjdGlvbjogbHRyO1xufVxuXG4vL3Bvc2l0aW9uXG5cbi5wLXN0YXRpYyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbn1cblxuLnQtMCB7XG4gIHRvcDogMDtcbn1cblxuLmwtMCB7XG4gIGxlZnQ6IDA7XG59XG5cbi5sLTE1IHtcbiAgbGVmdDogMTVweDtcbn1cblxuLmwtMSB7XG4gIGxlZnQ6IC4yNXJlbTtcbn1cblxuLmwtMiB7XG4gIGxlZnQ6IC41cmVtO1xufVxuXG4ubC0zIHtcbiAgbGVmdDogMXJlbTtcbn1cblxuLmwtNCB7XG4gIGxlZnQ6IDEuNXJlbTtcbn1cblxuLmwtNSB7XG4gIGxlZnQ6IDNyZW07XG59XG5cbi5yLTAge1xuICByaWdodDogMDtcbn1cblxuLnItMSB7XG4gIHJpZ2h0OiAuMjVyZW07XG59XG5cbi5yLTIge1xuICByaWdodDogLjVyZW07XG59XG5cbi5yLTMge1xuICByaWdodDogMXJlbTtcbn1cblxuLnItNCB7XG4gIHJpZ2h0OiAxLjVyZW07XG59XG5cbi5yLTUge1xuICByaWdodDogM3JlbTtcbn1cblxuLnQtMSB7XG4gIHRvcDogLjI1cmVtO1xufVxuXG4udC0yIHtcbiAgdG9wOiAuNXJlbTtcbn1cblxuLnQtMyB7XG4gIHRvcDogMXJlbTtcbn1cblxuLnQtNCB7XG4gIHRvcDogMS41cmVtO1xufVxuXG4udC01IHtcbiAgdG9wOiAzcmVtO1xufVxuXG4uYi0wIHtcbiAgYm90dG9tOiAwO1xufVxuXG4uYi0xIHtcbiAgYm90dG9tOiAuMjVyZW07XG59XG5cbi5iLTIge1xuICBib3R0b206IC41cmVtO1xufVxuXG4uYi0zIHtcbiAgYm90dG9tOiAxcmVtO1xufVxuXG4uYi00IHtcbiAgYm90dG9tOiAxLjVyZW07XG59XG5cbi5iLTUge1xuICBib3R0b206IDNyZW07XG59XG5cbi5iLW1pbnVzLTEge1xuICBib3R0b206IC0wLjI1cmVtO1xufVxuXG4ubC1taW51cy0zIHtcbiAgbGVmdDogLTFyZW07XG59XG4uci1taW51cy0zIHtcbiAgcmlnaHQ6IC0xcmVtO1xufVxuXG5cbi54LWFsaWduLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIC50cmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSk7XG59XG5cbi54LWFsaWduIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLngtYWxpZ24tbWQge1xuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuXG4ueS1hbGlnbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi54eS1hbGlnbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG59XG5cbi5wLWxnLWFic29sdXRlIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnAtcmVsYXRpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbn1cblxuLnAtZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbn1cblxuLm1pcnJvci1mbGlwIHtcbiAgLnRyYW5zZm9ybShzY2FsZXgoLTEpKTtcbn1cblxuLmgtMTAwIHtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi8vYmFja2dyb3VuZHMgY29sb3JzXG4uYmctMSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci0xICFpbXBvcnRhbnQ7XG59XG5cbi5iZy0yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLTIgIWltcG9ydGFudDtcbn1cblxuLmJnLTMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItMyAhaW1wb3J0YW50O1xufVxuXG4uYmctNCB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci00ICFpbXBvcnRhbnQ7XG59XG5cbi5iZy01IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLTUgIWltcG9ydGFudDtcbn1cblxuLmJnLTYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItNiAhaW1wb3J0YW50O1xufVxuXG4uYmctNyB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci03ICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1yZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItcmVkICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1jdXN0b20ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY3VzdG9tLWNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbi5iZy13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG4uYmctdHJhbnNwYXJlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4vL2JvcmRlci1yYWRpdXNcbi5iLXJhZGl1cy0xIHtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbn1cblxuLmItcmFkaXVzLTAge1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG59XG5cbi5iLXJhZGl1cy0xLXRyLWJyIHtcbiAgYm9yZGVyLXJhZGl1czogMCAyNXB4IDI1cHggMDtcbn1cblxuLmItcmFkaXVzLTEtdGwtYmwge1xuICBib3JkZXItcmFkaXVzOiAyNXB4IDAgMCAyNXB4O1xufVxuXG4uYi1yYWRpdXMtMS10bC10ciB7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHggMjVweCAwIDA7XG59XG5cbi5iLXJhZGl1cy01MCB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLy9ib3JkZXJzXG5cbi5ib3JkZXItY29sb3ItdHJhbnNwZXJlbnQge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uYm9yZGVyLWJvdHRvbS0yIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkO1xufVxuXG4uYm9yZGVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG59XG5cbi5ib3JkZXItc29saWQge1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuXG4uYm9yZGVyLXJpZ2h0IHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG59XG5cbi5ib3JkZXItbGVmdCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG59XG5cbi5ib3JkZXItYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xufVxuXG4uYm9yZGVyLXRvcCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbn1cblxuLmJvcmRlci10b3AtNCB7XG4gIGJvcmRlci10b3A6IDRweCBzb2xpZDtcbn1cblxuLmJvcmRlci1jb2xvci0xIHtcbiAgYm9yZGVyLWNvbG9yOiBAY29sb3ItMTtcbn1cblxuLmJvcmRlci1jb2xvci0yIHtcbiAgYm9yZGVyLWNvbG9yOiBAY29sb3ItMjtcbn1cblxuLmJvcmRlci1jb2xvci0zIHtcbiAgYm9yZGVyLWNvbG9yOiBAY29sb3ItMztcbn1cblxuLmJvcmRlci1jb2xvci00IHtcbiAgYm9yZGVyLWNvbG9yOiBAY29sb3ItNDtcbn1cblxuLmJvcmRlci1jb2xvci01IHtcbiAgYm9yZGVyLWNvbG9yOiBAY29sb3ItNTtcbn1cblxuLmJvcmRlci1jb2xvci02IHtcbiAgYm9yZGVyLWNvbG9yOiBAY29sb3ItNjtcbn1cblxuLmJvcmRlci1jb2xvci1yZWQge1xuICBib3JkZXItY29sb3I6IEBjb2xvci1yZWQ7XG59XG5cbi5ib3JkZXItd2lkdGgteDEge1xuICBib3JkZXItd2lkdGg6IDFweDtcbn1cblxuLmJvcmRlci13aWR0aC14MiB7XG4gIGJvcmRlci13aWR0aDogMnB4O1xufVxuXG4uYm9yZGVyLXdpZHRoLXg0IHtcbiAgYm9yZGVyLXdpZHRoOiA0cHg7XG59XG5cbi5ib3JkZXItbm9uZSB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vL3RleHQtY29sb3Jcbi5jb2xvci0xIHtcbiAgY29sb3I6IEBjb2xvci0xICFpbXBvcnRhbnQ7XG59XG5cbi5jb2xvci0yIHtcbiAgY29sb3I6IEBjb2xvci0yICFpbXBvcnRhbnQ7XG59XG5cbi5jb2xvci0zIHtcbiAgY29sb3I6IEBjb2xvci0zICFpbXBvcnRhbnQ7XG59XG5cbi5jb2xvci00IHtcbiAgY29sb3I6IEBjb2xvci00ICFpbXBvcnRhbnQ7XG59XG5cbi5jb2xvci01IHtcbiAgY29sb3I6IEBjb2xvci01ICFpbXBvcnRhbnQ7XG59XG5cbi5jb2xvci02IHtcbiAgY29sb3I6IEBjb2xvci02ICFpbXBvcnRhbnQ7XG59XG5cbi5jb2xvci03IHtcbiAgY29sb3I6IEBjb2xvci03ICFpbXBvcnRhbnQ7XG59XG5cbi5jb2xvci13aGl0ZSB7XG4gIGNvbG9yOiBAY29sb3Itd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmNvbG9yLWJsYWNrIHtcbiAgY29sb3I6IEBjb2xvci1ibGFjayAhaW1wb3J0YW50O1xufVxuXG4uY29sb3ItcmVkIHtcbiAgY29sb3I6IEBjb2xvci1yZWQgIWltcG9ydGFudDtcbn1cblxuLmNvbG9yLWdyZWVuIHtcbiAgY29sb3I6IEBjb2xvci1ncmVlbiAhaW1wb3J0YW50O1xufVxuXG4uY3VzdG9tLWNvbG9yIHtcbiAgY29sb3I6IEBjdXN0b20tY29sb3IgIWltcG9ydGFudDtcbn1cblxuLm92ZXJmbG93LWhpZGRlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5vdmVyZmxvdy12aXNpYmxlIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4ub3ZlcmZsb3cteC1oaWRkZW57XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuLy9iYWNrZ3JvdW5kXG4uYmctbm9uZSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi5iZy1uby1yZXBlYXQge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1zaXplLWNvdmVyIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xufVxuXG4uYmctc2l6ZS1jb250YWluIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xufVxuXG4uYmctcG9zaXRpb24tY2VudGVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi5vcGFjaXR5LTAge1xuICBvcGFjaXR5OiAwO1xufVxuXG4udHJhbnNmb3JtLXVwIHtcbiAgLnRyYW5zZm9ybShyb3RhdGUoMTgwZGVnKSk7XG59XG5cbi5jdXN0b20tcm9sbC1kb3duIHtcbiAgLy9oZWlnaHQ6IDE3Ljd2aDtcbiAgYm9yZGVyLXRvcDogN3B4IHNvbGlkIEBjb2xvci1yZWQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLnRyYW5zaXRpb24oKTtcbiAgei1pbmRleDogMDtcblxuICAuaWNvbiB7XG4gICAgLnRyYW5zaXRpb24oKTtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1yZWQ7XG4gICAgLnRyYW5zaXRpb24oKTtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiBAY29sb3Itd2hpdGU7XG5cbiAgICBwIHtcbiAgICAgIGNvbG9yOiBAY29sb3Itd2hpdGUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuaWNvbiB7XG4gICAgICBjb2xvcjogQGNvbG9yLXdoaXRlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItcmVkO1xuICAgIH1cbiAgfVxufVxuXG4uZm9udC1zaXplLWljb24tc21hbGwge1xuICBmb250LXNpemU6IC4ycmVtICFpbXBvcnRhbnQ7XG59XG5cbi5mb250LXNpemUtaWNvbiB7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuXG4uZm9udC1zaXplLWljb24tMiB7XG4gIGZvbnQtc2l6ZTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbn1cblxuLmZvbnQtc2l6ZS1pY29uLTMge1xuICBmb250LXNpemU6IDAuOHJlbSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG59XG5cbi5vcGFjaXR5LWdyYXkge1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci0xO1xuICAgIG9wYWNpdHk6IDAuODtcbiAgfVxufVxuXG4ub3BhY2l0eS1ibGFjayB7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLTU7XG4gICAgb3BhY2l0eTogMC42O1xuICB9XG59XG5cbi8vcm90YXRlXG4uaW1hZ2Utcm90YXRlLTEge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZyk7XG59XG5cbi5pbWFnZS1yb3RhdGUtMiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDEwMGRlZyk7XG59XG5cbi5pbWFnZS1yb3RhdGUtMyB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC02MGRlZyk7XG59XG5cbi5pbWFnZS1yb3RhdGUtNCB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0xMDBkZWcpO1xufVxuXG4vL3RyYW5zaXRpb25cbi50cmFuc2l0aW9uIHtcbiAgLnRyYW5zaXRpb24oKTtcbn1cblxuLnRyYW5zaXRpb24tNiB7XG4gIC50cmFuc2l0aW9uKC42cyk7XG59XG5cbi5jdXN0b20tdGl0bGUtaGVpZ2h0IHtcbiAgaGVpZ2h0OiA2LjF2aDtcbn1cblxuLmxpbmUtaGVpZ2h0IHtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLmN1c3RvbS1saW5lLWhlaWdodCB7XG4gIGxpbmUtaGVpZ2h0OiAuM3JlbSAhaW1wb3J0YW50O1xufVxuXG4uY3VzdG9tLWxpbmUtaGVpZ2h0LTIge1xuICBsaW5lLWhlaWdodDogLjRyZW0gIWltcG9ydGFudDtcbn1cblxuLmN1c3RvbS1saW5lLWhlaWdodC0zIHtcbiAgbGluZS1oZWlnaHQ6IC42cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5ibGFjay1saW5lIHtcbiAgaGVpZ2h0OiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1ibGFjaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5saW5lLXRocm91Z2gge1xuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbn1cblxuLm1heC13aWR0aC0xMDAge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5wcm9kdWN0LWJ0bi1wb3NpdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMC42cmVtO1xufVxuXG4ucHJvZHVjdC13aXNoLWxpc3QtcG9zaXRpb24ge1xuICB0b3A6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDI1cHg7XG4gIGxpbmUtaGVpZ2h0OiAwLjg7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5jdXN0b20tZ3JhZGllbnQtMSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAyJTtcbiAgd2lkdGg6IDk1JTtcbiAgaGVpZ2h0OiAxcmVtO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoQGNvbG9yLXdoaXRlLCB0cmFuc3BhcmVudCk7XG59XG5cbi5jdXN0b20tZ3JhZGllbnQtMiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiAzM3B4O1xuICBsaW5lLWhlaWdodDogMzNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpO1xufVxuXG4udi1hbGlnbi10b3B7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cblxuLndpZHRoLTRweCB7XG4gIHdpZHRoOiA0cHg7XG59XG5cbi53aWR0aC0zLTUtcmVtIHtcbiAgd2lkdGg6IDEzMXB4IDsgLy8gbW92ZWQgdG8gcHggYnkgb3JlbiBhcyByZXF1ZXN0ZWQgYnkgZ29uemFsb1xufVxuXG4ud2lkdGgtMS02LXJlbSB7XG4gIHdpZHRoOiAxLjZyZW0gIWltcG9ydGFudDtcbn1cblxuLmN1c3RvbS1tLTAge1xuXG4gIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5jdXN0b20tYm94LXNoYWRvdyB7XG4gIC50cmFuc2l0aW9uKCk7XG4gICY6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgQGNvbG9yLXJlZDtcbiAgfVxufVxuXG4uY3VzdG9tLW0tdCB7XG4gIG1hcmdpbi10b3A6IC0ycmVtO1xufVxuXG4ub24tZm9jdXMtcmVkIHtcblxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogQGNvbG9yLXJlZDtcbiAgfVxufVxuXG4ub24taG92ZXItcmVkIHtcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IEBjb2xvci1yZWQ7XG4gIH1cbn1cblxuLm9uLWhvdmVyLWJvcmRlci1yZWQge1xuICAmOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IEBjb2xvci1yZWQ7XG4gIH1cbn1cblxuLm9uLWhvdmVyLTUge1xuICAmOmhvdmVyIHtcbiAgICAqIHtcbiAgICAgIGNvbG9yOiBAY29sb3ItNSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG59XG5cbi5yb3RhdGUtMTgwLTEge1xuXG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIC50cmFuc2l0aW9uKCk7XG59XG5cbi5kLXh4bC1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogMTgwMHB4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmQteHhsLWZsZXgge1xuICBAbWVkaWEgKG1pbi13aWR0aDogMTgwMHB4KSB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3ggIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXggIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgfVxufVxuXG4udGV4dC1kZWNvcmF0aW9uLW5vbmUge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmwtaGVpZ2h0LTQwIHtcbiAgbGluZS1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbn1cblxuLmN1c3RvbS1tYXgtaGVpZ2h0IHtcbiAgbWF4LWhlaWdodDogMS45cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uY3VzdG9tLW1heC1oZWlnaHQtMSB7XG4gIG1heC1oZWlnaHQ6IDI0MHB4O1xufVxuXG4uY29sLXh4bC04IHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDE1MDBweCkge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNjYuNjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDY2LjY2NjY2NyU7XG4gICAgZmxleDogMCAwIDY2LjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NjclO1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICB9XG59XG5cbi5jb2wteHhsLTEwIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDE1MDBweCkge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgODMuMzMzMzMzJTtcbiAgICAtbXMtZmxleDogMCAwIDgzLjMzMzMzMyU7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMzMlO1xuICB9XG59XG5cbi5jdXN0b20tYnV0dG9uLWZvbnQtc2l6ZSB7XG4gIGZvbnQtc2l6ZTogLjZyZW07XG59XG5cbi5idXR0b24tbm9uZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbn1cblxuLmZsZXgtYmFzaXMtNTAge1xuICBmbGV4LWJhc2lzOiA1MCU7XG59XG5cbi5jdXN0b20tbWluLWhlaWdodCB7XG4gIG1heC1oZWlnaHQ6IDEuODMzMzMzMzMzMzMzcmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaW5lLWhlaWdodDogMS4xO1xufVxuXG4udC01MCB7XG4gIHRvcDogNTBweDtcbn1cblxuLnQtbWludXMtMTUge1xuICB0b3A6IC0xNXB4O1xufVxuXG4udC0wIHtcbiAgdG9wOiAwO1xufVxuXG4udC1taW51cy0xIHtcbiAgdG9wOiAtMXJlbTtcbn1cblxuLmN1c3RvbS1zdHJpcGVkLXRhYmxlIHtcbiAgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLTI7XG4gIH1cbn1cblxuLmZvbnQtZmFtaWx5IHtcbiAgZm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1tYWluICFpbXBvcnRhbnQ7XG59XG5cbi5qdXN0aWZ5LWNvbnRlbnQtZXZlbmx5IHtcbiAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTsgLy9mYWxsb3V0XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyAvL2ZhbGxvdXRcbiAgLXdlYmtpdC1ib3gtcGFjazogc3BhY2UtZXZlbmx5ICFpbXBvcnRhbnQ7XG4gIC1tcy1mbGV4LXBhY2s6IHNwYWNlLWV2ZW5seSAhaW1wb3J0YW50O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seSAhaW1wb3J0YW50O1xufVxuXG4ubXktMC0xIHtcbiAgbWFyZ2luLXRvcDogLjFyZW07XG4gIG1hcmdpbi1ib3R0b206IC4xcmVtO1xufVxuXG4udHJhbnNsYXRleC01MCB7XG4gIC50cmFuc2Zvcm0odHJhbnNsYXRlWCg1MCUpKTtcbn1cblxuLnB4LWN1c3RvbS0xIHtcbiAgcGFkZGluZy1sZWZ0OiA0LjZyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDQuNnJlbTtcbn1cblxuLmJlZm9yZS1taW4td2lkdGgtMSB7XG5cbiAgJjpiZWZvcmUge1xuICAgIG1pbi13aWR0aDogMTJweDtcbiAgfVxufVxuXG4uZGlyLWx0ciB7XG4gIGRpcmVjdGlvbjogbHRyO1xufVxuXG5sYWJlbCB7XG4gICYuZXJyb3Ige1xuICAgIC50ZXh0LXAoKTtcbiAgICAuY29sb3ItcmVkKCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTIwcHg7XG4gICAgcmlnaHQ6IDE1cHg7XG4gIH1cbn1cblxuLnBhZ2UtbG9hZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cblxuLmhlaWdodC0xIHtcbiAgaGVpZ2h0OiAwLjg1cmVtO1xufVxuXG4uaGVpZ2h0LTAge1xuICBoZWlnaHQ6IDA7XG59XG5cbi53aWR0aC0wIHtcbiAgd2lkdGg6IDA7XG59XG5cbi5maWxlLW5hbWUge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgLy9kaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cbi50cmktaGVhZGVye1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206MjBweDtcbiAgZGl2e1xuICAgICY6YmVmb3Jle1xuICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgIGJvcmRlci1yaWdodDogMTAwMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWxlZnQ6IDEwMDBweCBzb2xpZDtcbiAgICB9XG4gICAgJjphZnRlcntcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlci1sZWZ0OiAxMDAwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6IDEwMDBweCBzb2xpZDtcbiAgICB9XG4gICAgJjphZnRlciwgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgei1pbmRleDogMTAwO1xuICAgICAgLyogIGNoYW5nZSB0aGUgaGllZ2h0IGFuZCB0aGUgY29sb3IgYmVsb3cgKi9cbiAgICAgIGJvcmRlci1ib3R0b206IDEwMHB4IHNvbGlkIEBjb2xvci13aGl0ZTtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMC4wMDAwMDFkZWcpO1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwLjAwMDAwMWRlZyk7XG4gICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgwLjAwMDAwMWRlZyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMC4wMDAwMDFkZWcpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMC4wMDAwMDFkZWcpO1xuICAgIH1cbiAgfVxufVxuXG4uYm9yZGVyLWxlZnQtMXtcbiAgYm9yZGVyLWxlZnQ6MXB4IHNvbGlkIEBjb2xvci0yO1xufSIsIi8qIHR5cG9ncmFwaHkubGVzcyAqL1xuXG5odG1sLm1vYmlsZSB7XG4gIGZvbnQtc2l6ZTogMzBweDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBmb250LXNpemU6IDI2LjI1cHg7XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDExNzBweCkge1xuICAgIGZvbnQtc2l6ZTogMi44MTI1dmg7XG4gIH1cbn1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMzBweDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBmb250LXNpemU6IDIyLjVweDtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgZm9udC1zaXplOiAzMHB4OyAvLyB3YXMgMjVweCBiZWZvcmVcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MXB4KSB7XG4gICAgZm9udC1zaXplOiAzLjI1Nzg5Mzc1dmg7XG4gIH1cbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHktbWFpbiAhaW1wb3J0YW50O1xuICBkaXJlY3Rpb246IHJ0bDtcbn1cblxuLnRleHQtc21hbGwge1xuICBmb250LXNpemU6IDExcHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuMyAhaW1wb3J0YW50O1xuXG5cbn1cbi50ZXh0LTEge1xuICBmb250LXNpemU6IDAuODNyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIGZvbnQtc2l6ZTogMS4xNjY2NjY2NjY2NjY2NjdyZW07XG4gIH1cbn1cblxuLnRleHQtMiB7XG4gIGZvbnQtc2l6ZTogMC43M3JlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgZm9udC1zaXplOiAwLjc5cmVtO1xuICB9XG59XG5cbi50ZXh0LTMge1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgZm9udC1zaXplOiAwLjc2cmVtO1xuICB9XG59XG5cbi50ZXh0LTQge1xuICBmb250LXNpemU6IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07XG4gIH1cbn1cblxuLnRleHQtNSB7XG4gIGZvbnQtc2l6ZTogMC41M3JlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07XG4gIH1cbn1cblxuLnRleHQtNiB7XG4gIGZvbnQtc2l6ZTogMC41cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBmb250LXNpemU6IDAuNTNyZW07XG4gIH1cbn1cblxuLnRleHQtcCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC41cmVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIGZvbnQtc2l6ZTogMC41M3JlbTtcbiAgfVxufVxuXG4udGV4dC1xIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAuOXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTY2NjY3cmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXCInO1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICdcIic7XG4gIH1cbn1cblxuLnRleHQtbGVnYWx7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIC8vZm9udC1zaXplOiAwLjQ1cmVtO1xuICBmb250LXNpemU6IDExcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG5cbn1cblxuLnRleHQtbGFiZWwge1xuICBmb250LWZhbWlseTogJ0Fzc2lzdGFudCcsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAwLjJyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjZweDtcbn1cblxuLnNsaWRlci10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGZvbnQtc2l6ZTogMS4xM3JlbTtcbiAgdGV4dC1zaGFkb3c6IDAgMCAyNHB4IHJnYmEoOTgsIDk1LCA5NiwgMC44Mik7XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIGZvbnQtc2l6ZTogMi4xNjY2NjdyZW07XG4gIH1cbn1cblxuLnNsaWRlci1zdWItdGl0bGUge1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDAuODNyZW07XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIGZvbnQtc2l6ZTogMS4zM3JlbTtcbiAgfVxufVxuXG4uY2FwdHVyZS10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjVyZW07XG59XG5cbi5icmVhZGNydW1icy10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAwLjQzcmVtO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIGZvbnQtc2l6ZTogMC41cmVtO1xuICB9XG59XG5cbi5wbGFjZWhvbGRlci10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjUzcmVtO1xuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBmb250LXNpemU6IC42cmVtO1xuICB9XG59XG5cbi5jb3B5cmlnaHQtdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMC40NnJlbTtcbn1cblxuLnRpdGxlLXVuZGVybGluZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMTFweDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItcmVkO1xuICAgIHRyYW5zaXRpb246IDAuNnM7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMTZweDtcbiAgICByaWdodDogNjBweDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItcmVkO1xuICAgIHRyYW5zaXRpb246IDAuNnM7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgfVxufVxuXG4udGl0bGUtdW5kZXJsaW5lLWFjdGl2ZSB7XG5cbiAgJjpiZWZvcmUge1xuICAgIHdpZHRoOiA2MHB4O1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgd2lkdGg6IDYwcHg7XG4gIH1cbn1cblxuLmV4Y2VycHQge1xuXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogMC41MzMzMzMzMzMzMzMzMzMzcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICBmb250LXNpemU6IDAuNnJlbTtcbiAgICB9XG4gIH1cbn0iLCIvKiBlbnRyeS1jb250ZW50Lmxlc3MgKi9cblxuLmVudHJ5LWNvbnRlbnQge1xuICBjb2xvcjogQGNvbG9yLTM7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgLy90YWJsZSwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCB7XG4gIC8vICBib3JkZXI6IGluaGVyaXQ7XG4gIC8vfVxuXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuXG4gIHAge1xuICAgIGNvbG9yOiBAY29sb3ItNTtcbiAgICBsaW5lLWhlaWdodDogMC43NjY2NjY2NjY2NjY2NjY3cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAwLjVyZW07XG4gICAgLy9saW5lLWhlaWdodDogMThweDtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMC41MzMzMzMzMzMzMzMzMzMzcmVtO1xuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiBAY29sb3ItcmVkO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMC44MzMzMzMzMzMzMzMzMzMzcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgZm9udC1zaXplOiAxLjE2NjY2NjY2NjY2NjY2N3JlbTtcbiAgICB9XG4gIH1cblxuICBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogLjI1cmVtO1xuICAgIGNvbG9yOiBAY29sb3ItcmVkO1xuICAgIGZvbnQtc2l6ZTogMC43MzMzMzMzMzMzMzMzMzMzcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICBmb250LXNpemU6IDAuODMzMzMzMzMzMzMzMzMzM3JlbTtcbiAgICB9XG4gIH1cblxuICBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogLjI1cmVtO1xuICAgIGNvbG9yOiBAY29sb3ItcmVkO1xuICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICBmb250LXNpemU6IDAuNzY2NjY2NjY2NjY2NjY2N3JlbTtcbiAgICB9XG4gIH1cblxuICBoNCB7XG4gICAgY29sb3I6IEBjb2xvci01O1xuICAgIG1hcmdpbi1ib3R0b206IC4yNXJlbTtcbiAgICBmb250LXNpemU6IDAuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgZm9udC1zaXplOiAwLjZyZW07XG4gICAgfVxuICB9XG5cbiAgaDUge1xuICAgIGNvbG9yOiBAY29sb3ItcmVkO1xuICAgIGZvbnQtc2l6ZTogMC41MzMzMzMzMzMzMzMzMzMzcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICBmb250LXNpemU6IDAuNnJlbTtcbiAgICB9XG4gIH1cblxuICBoNiB7XG4gICAgbWFyZ2luLWJvdHRvbTogLjI1cmVtO1xuICAgIGNvbG9yOiBAY29sb3ItcmVkO1xuICAgIGZvbnQtc2l6ZTogMC41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICBmb250LXNpemU6IDAuNTMzMzMzMzMzMzMzMzMzM3JlbTtcbiAgICB9XG4gIH1cblxuICBvbCB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIGxpIHtcbiAgICAgIGNvbG9yOiBAY29sb3ItNTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBmb250LXNpemU6IDAuNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgICB9XG4gIH1cblxuICB1bCB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIGxpIHtcbiAgICAgIGNvbG9yOiBAY29sb3ItNTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBmb250LXNpemU6IDAuNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gICAgfVxuICB9XG4gIGJsb2NrcXVvdGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAuOXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE2NjY2N3JlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuICB9XG5cbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDAgMCAxLjVyZW0gMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgZmlnY2FwdGlvbiB7XG4gICAgY29sb3I6IEBjb2xvci01O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAwLjVyZW07XG4gICAgbWFyZ2luLXRvcDogLjI1cmVtO1xuICB9XG5cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbn0iLCJcbi5wYWdlLW5hdmlnYXRpb24ge1xuXG4gIC53cC1wYWdlbmF2aSB7XG4gICAgZGlyZWN0aW9uOiBsdHI7XG4gIH1cblxuXG4gIC5wYWdlIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogQGNvbG9yLXJlZDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1zaXplOiAwLjZyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMS4zcmVtO1xuICAgIC8vd2lkdGg6IDEuM3JlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMXJlbTtcbiAgICAudHJhbnNpdGlvbiguMnMpO1xuXG5cbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBAY29sb3ItYmxhY2s7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDA7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgfVxuICB9XG5cbiAgLmN1cnJlbnQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmb250LXNpemU6IDAuNnJlbTtcbiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IEBjb2xvci1ibGFjaztcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgaGVpZ2h0OiAxLjNyZW07XG4gICAgLy93aWR0aDogMS4zcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjFyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIH1cbiAgfVxuXG4gIC5uZXh0cG9zdHNsaW5rIHtcbiAgICBib3JkZXI6IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxN3B4O1xuICAgIGhlaWdodDogMTdweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIC55LWFsaWduKCk7XG4gICAgICBmb250LWZhbWlseTogaWNvbW9vbjtcbiAgICAgIGNvbnRlbnQ6ICdcXGU5MmEnO1xuICAgICAgY29sb3I6IEBjb2xvci1yZWQ7XG4gICAgICByaWdodDogLTVweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGZvbnQtc2l6ZTogMC40cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAudHJhbnNpdGlvbigpO1xuICAgIH1cblxuICAgICY6aG92ZXJ7XG4gICAgICAmOmFmdGVye1xuICAgICAgICBjb2xvcjogQGNvbG9yLWJsYWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wcmV2aW91c3Bvc3RzbGluayB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxN3B4O1xuICAgIGhlaWdodDogMTdweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAueS1hbGlnbigpO1xuICAgICAgbGVmdDogLTVweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBpY29tb29uO1xuICAgICAgY29udGVudDogJ1xcZTkxYyc7XG4gICAgICBjb2xvcjogQGNvbG9yLXJlZDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGZvbnQtc2l6ZTogMC40cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAudHJhbnNpdGlvbigpO1xuICAgIH1cblxuICAgICY6aG92ZXJ7XG4gICAgICAmOmFmdGVye1xuICAgICAgICBjb2xvcjogQGNvbG9yLWJsYWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZmlyc3QsIC5sYXN0eyAvLy5leHRlbmRcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtc2l6ZTogMC42cmVtO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIH1cbiAgfVxufSIsIi8qIHJlc2V0Lmxlc3MgKi9cblxuLypcbmh0bWw1ZG9jdG9yLmNvbSBSZXNldCBTdHlsZXNoZWV0XG52MS40XG4yMDA5LTA3LTI3XG5BdXRob3I6IFJpY2hhcmQgQ2xhcmsgLSBodHRwOi8vcmljaGNsYXJrZGVzaWduLmNvbVxuKi9cbmh0bWwsIGJvZHksIGRpdiwgc3Bhbiwgb2JqZWN0LFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSxcbmFiYnIsIGFkZHJlc3MsIGNpdGUsIGNvZGUsXG5kZWwsIGVtLCBpbWcsIGlucyxcbnNtYWxsLCBzdHJvbmcsIHN1Yiwgc3VwLFxuZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbmZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLCBjYXB0aW9uLFxuYXJ0aWNsZSwgYXNpZGUsIGRpYWxvZywgZmlndXJlLCBmb290ZXIsIGhlYWRlcixcbmhncm91cCwgbWVudSwgbmF2LCBzZWN0aW9uLFxudGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIG91dGxpbmU6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gIC5ib3gtc2l6aW5nKCk7XG59XG5cbmJvZHkge1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbmE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCAuaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIG1hcmdpbjogMDtcbn1cblxuYXJ0aWNsZSwgYXNpZGUsIGRpYWxvZywgZmlndXJlLCBmb290ZXIsIGhlYWRlcixcbmhncm91cCwgbmF2LCBzZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmJsb2NrcXVvdGUge1xuICBxdW90ZXM6IG5vbmU7XG59XG5cbmJsb2NrcXVvdGU6YmVmb3JlLFxuYmxvY2txdW90ZTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBjb250ZW50OiBub25lO1xufVxuXG5hIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IEBjb2xvci1ibGFjaztcbn1cblxuZGVsIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59XG5cbmFiYnJbdGl0bGVdLFxuZGZuW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzAwMDtcbiAgY3Vyc29yOiBoZWxwO1xufVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogaW5oZXJpdDtcbn1cblxudGQge1xuICAudGV4dC01O1xuICBwYWRkaW5nOiAuMjVyZW07XG59XG5cbmhyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMXB4O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjY2NjO1xuICBtYXJnaW46IDFlbSAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG5pbnB1dCxcbnNlbGVjdCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbnVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxucCB7XG4gIGxpbmUtaGVpZ2h0OiAuN3JlbTtcbn0iLCIvKiBzaGFyZS1iYXIubGVzcyAqL1xuXG4uYTJhX3N2ZyB7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbn1cblxuYVtjbGFzc149XCJhMmFfYnV0dG9uXCJdIHtcbiAgc3ZnIHtcbiAgICAvL3dpZHRoOiAwLjlyZW07XG4gICAgLy90b3A6IDUwJTtcbiAgICAvLy50cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gIH1cblxuICBwYXRoIHtcbiAgICBmaWxsOiBAY29sb3ItcmVkO1xuICAgIC50cmFuc2l0aW9uKCk7XG4gIH1cblxuICA+IHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbiAgICAudHJhbnNpdGlvbigpO1xuICB9XG5cbiAgJjpob3ZlciB7XG5cbiAgICBwYXRoIHtcbiAgICAgIGZpbGw6IEBjb2xvci01O1xuICAgIH1cblxuICAgID4gc3BhbiB7XG4gICAgICAvL2JhY2tncm91bmQtY29sb3I6IEBjb2xvci0yICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59IiwiLyogd29yZHByZXNzLmxlc3MgKi9cblxuLmFsaWdubm9uZSB7XG4gIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuXG4uYWxpZ25jZW50ZXIsXG5kaXYuYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiA1cHggYXV0byA1cHggYXV0bztcbn1cblxuLmFsaWducmlnaHQge1xuICBmbG9hdDpyaWdodDtcbiAgbWFyZ2luOiA1cHggMCAyMHB4IDIwcHg7XG59XG5cbi5hbGlnbmxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiA1cHggMjBweCAyMHB4IDA7XG59XG5cbmEgaW1nLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogNXB4IDAgMjBweCAyMHB4O1xufVxuXG5hIGltZy5hbGlnbm5vbmUge1xuICBtYXJnaW46IDVweCAyMHB4IDIwcHggMDtcbn1cblxuYSBpbWcuYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuXG5hIGltZy5hbGlnbmNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4ud3AtY2FwdGlvbiB7XG4gIC8vYmFja2dyb3VuZDogI2ZmZjtcbiAgLy9ib3JkZXI6IDFweCBzb2xpZCAjZjBmMGYwO1xuICBtYXgtd2lkdGg6IDk2JTsgLyogSW1hZ2UgZG9lcyBub3Qgb3ZlcmZsb3cgdGhlIGNvbnRlbnQgYXJlYSAqL1xuICBwYWRkaW5nOiA1cHggMCAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi53cC1jYXB0aW9uLmFsaWdubm9uZSB7XG4gIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuXG4ud3AtY2FwdGlvbi5hbGlnbmxlZnQge1xuICBtYXJnaW46IDVweCAyMHB4IDIwcHggMDtcbn1cblxuLndwLWNhcHRpb24uYWxpZ25yaWdodCB7XG4gIG1hcmdpbjogNXB4IDAgMjBweCAyMHB4O1xufVxuXG4ud3AtY2FwdGlvbiBpbWcge1xuICBib3JkZXI6IDAgbm9uZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIG1heC13aWR0aDogOTguNSU7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4ud3AtY2FwdGlvbiBwLndwLWNhcHRpb24tdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCA0cHggNXB4O1xufVxuXG4vKiBUZXh0IG1lYW50IG9ubHkgZm9yIHNjcmVlbiByZWFkZXJzLiAqL1xuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICB3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50OyAvKiBNYW55IHNjcmVlbiByZWFkZXIgYW5kIGJyb3dzZXIgY29tYmluYXRpb25zIGFubm91bmNlIGJyb2tlbiB3b3JkcyBhcyB0aGV5IHdvdWxkIGFwcGVhciB2aXN1YWxseS4gKi9cbn1cblxuLnNjcmVlbi1yZWFkZXItdGV4dDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgY2xpcC1wYXRoOiBub25lO1xuICBjb2xvcjogIzQ0NDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdG9wOiA1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICB6LWluZGV4OiAxMDAwMDA7XG4gIC8qIEFib3ZlIFdQIHRvb2xiYXIuICovXG59IiwiLyoqKioqKioqKioqKioqXG5tYWluLXNsaWRlci0xLmxlc3NcbioqKioqKioqKioqKioqKi9cbmJvZHkubW9iaWxlLCBib2R5Lm1vYmlsZS1yZXNpemVkIHtcbiAgLm1haW4tc2xpZGVyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAyLjRyZW0pO1xuICAgIC5zbGljay10cmFjaywgLnNsaWNrLWxpc3Qge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC5zbGljay1hcnJvdyB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gIH1cbiAgLnNjcm9sbGRvd257XG4gICAgYm90dG9tOiAxMDBweDtcbiAgfVxufVxuLm1haW4tc2xpZGVyIHtcblxuICAuc2xpY2stZG90cyB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuXG4gICAgbGkge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBAY29sb3Itd2hpdGU7XG4gICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgNHB4O1xuICAgICAgfVxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgICYuc2xpY2stYWN0aXZlIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3Itd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2VjdGlvbi1zbGlkZXIge1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM1MHB4KSBhbmQgKG1heC13aWR0aDoxMzgwcHgpIHtcbiAgICAgIGhlaWdodDoxMTB2aCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubWFpbi1zbGlkZXItdGV4dCB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDI4dmg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmlkZW8ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5idG4tbXV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMXJlbTtcbiAgICAgIGJvdHRvbTogMC41cmVtO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIC8vbGluZS1oZWlnaHQ6IDAuNTtcblxuICAgICAgLmljb24ge1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2xpY2stYXJyb3cge1xuICAgIHotaW5kZXg6IDI7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgY29sb3I6IEBjb2xvci13aGl0ZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICB9XG5cbn1cbiIsIkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2ljb21vb24nO1xuICBzcmM6ICB1cmwoJ2ZvbnRzL2ljb21vb24uZW90PzRqbHB4MycpO1xuICBzcmM6ICB1cmwoJ2ZvbnRzL2ljb21vb24uZW90PzRqbHB4MyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgdXJsKCdmb250cy9pY29tb29uLnR0Zj80amxweDMnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgnZm9udHMvaWNvbW9vbi53b2ZmPzRqbHB4MycpIGZvcm1hdCgnd29mZicpLFxuICB1cmwoJ2ZvbnRzL2ljb21vb24uc3ZnPzRqbHB4MyNpY29tb29uJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5bY2xhc3NePVwiaWNvbi1cIl0sIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICBmb250LWZhbWlseTogJ2ljb21vb24nICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uaWNvbi1hbGwtc2VydmljZXMtMDEtMDE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDBcIjtcbn1cbi5pY29uLWJhY2stMDEtMDE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDFcIjtcbn1cbi5pY29uLWNhci1lZ2VudHMtMDEtMDE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDJcIjtcbn1cbi5pY29uLWNhci1yZXNwb25zaWJpbGl0eS0wMS0wMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwM1wiO1xufVxuLmljb24tY2Fycy15ZWFyLTAxLTAxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA0XCI7XG59XG4uaWNvbi1jYXItdGVzdC0wMS0wMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNVwiO1xufVxuLmljb24tY2xvc2UtMDEtMDE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDZcIjtcbn1cbi5pY29uLWNvbXBhY3QtY2FyLTAxLTAxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA3XCI7XG59XG4uaWNvbi1jb21wYXJlLTAxLTAxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA4XCI7XG59XG4uaWNvbi1jb25jdWxhdG9yLTAxLTAxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA5XCI7XG59XG4uaWNvbi1jdXBvbi0wMS0wMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwYVwiO1xufVxuLmljb24tZGlzcGxheS1nYWxsZXJ5LTAxLTAxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBiXCI7XG59XG4uaWNvbi1kaXNwbGF5LXRhYmxlLTAxLTAxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBjXCI7XG59XG4uaWNvbi1kb3duLWVycm93LTAxLTAxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBkXCI7XG59XG4uaWNvbi1leHRyYXMtMDEtMDE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGVcIjtcbn1cbi5pY29uLWZhY2Vib29rLTAxLTAxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBmXCI7XG59XG4uaWNvbi1mYXN0LXBheS0wMS0wMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxMFwiO1xufVxuLmljb24tZmlmdC0wMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxMVwiO1xufVxuLmljb24tZmluZC1teS1jYXItMDEtMDE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTJcIjtcbn1cbi5pY29uLWZpcnN0LWhhbmQtMDE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTNcIjtcbn1cbi5pY29uLWZpdC1hLWNhci0wMS0wMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxNFwiO1xufVxuLmljb24tZ2Vhci0wMS0wMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxNVwiO1xufVxuLmljb24tZ2VuZXJhbC1kZXRhaWxzLTAxLTAxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTE2XCI7XG59XG4uaWNvbi1naWZ0LTAxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTE3XCI7XG59XG4uaWNvbi1oYW1idXJnZXItMDEtMDE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MThcIjtcbn1cbi5pY29uLWluc3RhZ3JhbS0wMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxOVwiO1xufVxuLmljb24tamVlcC1jYXItMDEtMDE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MWFcIjtcbn1cbi5pY29uLWtpbG9tZXRlci0wMS0wMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxYlwiO1xufVxuLmljb24tbGVmdC1lcnJvdy0wMS0wMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxY1wiO1xufVxuLmljb24tbG9jYXRpb24tMDEtMDE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MWRcIjtcbn1cbi5pY29uLWx1eGVyeS1jYXItMDEtMDE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MWVcIjtcbn1cbi5pY29uLW1haWwtMDEtMDE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MWZcIjtcbn1cbi5pY29uLW1hbmFnZXItY2FyLTAxLTAxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTIwXCI7XG59XG4uaWNvbi1taW5pLXZhbi1jYXItMDEtMDE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjFcIjtcbn1cbi5pY29uLW1pbnVzLTAxLTAxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTIyXCI7XG59XG4uaWNvbi1taW51cy0wMS0wMS0wMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyM1wiO1xufVxuLmljb24tbW9vdml0LTAxLTAxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI0XCI7XG59XG4uaWNvbi1tb3JlLWRldGFpbHMtMDEtMDE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjVcIjtcbn1cbi5pY29uLXBob25lLTAxLTAxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI2XCI7XG59XG4uaWNvbi1wbHVzLTAxLTAxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI3XCI7XG59XG4uaWNvbi1wcmljZXMtMDEtMDE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjhcIjtcbn1cbi5pY29uLXByaXZldC1saXNzaW5nLTAxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI5XCI7XG59XG4uaWNvbi1yaWdodC1lcnJvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyYVwiO1xufVxuLmljb24tc2FmZS1idXktMDEtMDE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MmJcIjtcbn1cbi5pY29uLXNlYXJjaC0wMS0wMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyY1wiO1xufVxuLmljb24tc2VydmljZS10aW1lLTAxLTAxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTJkXCI7XG59XG4uaWNvbi1zaGVrZWwtMDEtMDE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MmVcIjtcbn1cbi5pY29uLXNwb25zZXItMDEtMDE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MmZcIjtcbn1cbi5pY29uLXNwb3J0cy1jYXItMDEtMDE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzBcIjtcbn1cbi5pY29uLXN1cHBvcnQtMDEtMDE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzFcIjtcbn1cbi5pY29uLXRpbWUtMDEtMDE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzJcIjtcbn1cbi5pY29uLXRpbnktY2FyLTAxLTAxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTMzXCI7XG59XG4uaWNvbi10b3AtZXJyb3ctMDEtMDE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzRcIjtcbn1cbi5pY29uLXRyYWRlLWluLTAxLTAxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTM1XCI7XG59XG4uaWNvbi11c2Etc3RhbmRhcnRzLTAxLTAxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTM2XCI7XG59XG4uaWNvbi12YW4tY2FyLTAxLTAxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTM3XCI7XG59XG4uaWNvbi12aS1tYXJrLTAxLTAxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTM4XCI7XG59XG4uaWNvbi13YXplLTAxLTAxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTM5XCI7XG59XG4uaWNvbi13aXNobGlzdF9zZWxlY3RlZC0wMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzYVwiO1xufVxuLmljb24td2lzaGxpdHMtMDEtMDE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5M2JcIjtcbn1cbi5pY29uLXlhZDItMDEtMDE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5M2NcIjtcbn1cbi5pY29uLXlvdS10dWJlLTAxLTAxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTNkXCI7XG59XG4uaWNvbi16ZXJvLWttLTAxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTNlXCI7XG59XG4uaWNvbi16ZmFtaWx5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTNmXCI7XG59XG4iLCIvKioqKioqKioqKioqKlxuc2xpY2stc2xpZGVyLmxlc3NcbioqKioqKioqKioqL1xuXG5ib2R5Lm1vYmlsZSB7XG5cbiAgLnNsaWNrLWRvdHMge1xuICAgIC5kaXNwbGF5LWZsZXgoKTtcbiAgICAuZC1mbGV4LWp1c3RpZnkoY2VudGVyKTtcbiAgICBsaSB7XG4gICAgICBidXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYXJyb3dzLWdyYXkge1xuICAgIC5zbGljay1hcnJvdyB7XG4gICAgICBmb250LXNpemU6IDAuNHJlbTtcbiAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgIH1cbiAgICAuc2xpY2stcHJldiB7XG4gICAgICBsZWZ0OiAwLjVyZW07XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgIH1cbiAgICAuc2xpY2stbmV4dCB7XG4gICAgICByaWdodDogMC41cmVtO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgLnRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICB9XG4gIH1cblxuICAubW9zdC12aWV3ZWQtcHJvZHVjdHMtc2xpZGVyLCAudmlzaXRlZC1wcm9kdWN0IHtcbiAgICAuc2xpY2stdHJhY2sge1xuICAgICAgcGFkZGluZy1ib3R0b206IC4yNXJlbTtcbiAgICB9XG4gIH1cblxufVxuXG4ubW9zdC12aWV3ZWQtcHJvZHVjdHMtc2xpZGVyLCAudmlzaXRlZC1wcm9kdWN0IHtcbiAgLnNsaWNrLXRyYWNrIHtcbiAgICBwYWRkaW5nLXRvcDogLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIH1cbn1cblxuLmFycm93cy1ncmF5IHtcblxuICAuc2xpY2stYXJyb3cge1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIC50cmFuc2Zvcm0odHJhbnNsYXRlKC01MCUsIC01MCUpKTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBjb2xvcjogQGNvbG9yLXdoaXRlO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItMztcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICAudHJhbnNpdGlvbigpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2xpY2stcHJldiB7XG4gICAgLnktYWxpZ24oKTtcbiAgICBsZWZ0OiAuM3JlbTtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTUwMHB4KSB7XG4gICAgICBsZWZ0OiAuN3JlbTtcbiAgICB9XG4gIH1cblxuICAuc2xpY2stbmV4dCB7XG4gICAgLnktYWxpZ24oKTtcbiAgICByaWdodDogLjNyZW07XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE1MDBweCkge1xuICAgICAgcmlnaHQ6IC43cmVtO1xuICAgIH1cbiAgfVxuXG59XG5cbi5hcnJvd3MtcmVkIHtcbiAgLnNsaWNrLWFycm93IHtcbiAgICBjb2xvcjogQGNvbG9yLXdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1yZWQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHdpZHRoOiAxLjJyZW07XG4gICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgZm9udC1zaXplOiAwLjZyZW07XG4gICAgLnRyYW5zaXRpb24oKTtcbiAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICY6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbG9yOiBAY29sb3Itd2hpdGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIC50cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLWJsYWNrO1xuICAgIH1cbiAgfVxuXG4gIC5zbGljay1wcmV2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogLTEuMnJlbTtcbiAgfVxuXG4gIC5zbGljay1uZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IC0xLjJyZW07XG4gIH1cbn1cblxuLnNsaWNrLWRvdHMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogLjVyZW0gMDtcbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgLjJyZW07XG4gICAgJi5zbGljay1hY3RpdmUgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1yZWQ7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDJweDtcbiAgICB9XG4gIH1cblxuICBsaSBidXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgfVxuICBsaSBidXR0b24ge1xuICAgIGNvbnRlbnQ6ICcnO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCBAY29sb3ItcmVkO1xuICAgIGhlaWdodDogN3B4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHdpZHRoOiAycHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAycHg7XG4gIH1cbn1cblxuLy8uc2xpY2stc2xpZGUge1xuLy8gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuLy99XG4vL1xuLy9cblxuXG5cblxuIiwiLyoqKioqKioqKioqKioqKipcbnNlY3Rpb24tYWQtMS5sZXNzXG4qKioqKioqKioqKioqKiovXG4uc2VjdGlvbi1hZC0xIHtcbiAgbWluLWhlaWdodDogNDR2aDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufSIsIi8qKioqKioqKioqKioqKioqXG5zZWN0aW9uLXNwaW5uaW5nLWltZy0xLmxlc3NcbioqKioqKioqKioqKioqKiovXG4uc2VjdGlvbi1zcGlubmluZy1pbWctMSB7XG5cbiAgLnNwaW4tY3ViZSB7XG4gICAgLnRyYW5zaXRpb24oKTtcblxuICAgICY6aG92ZXIge1xuXG4gICAgICAuY29sb3ItcmVkIHtcbiAgICAgICAgY29sb3I6IEBjb2xvci1ibGFjayAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59IiwiLyoqKioqKioqKioqKioqXG5zaWRlYmFyLmxlc3NcbioqKioqKioqKioqKiovXG4ud2lkZ2V0IHtcblxuICAudGV4dHdpZGdldCB7XG4gICAgcCB7XG4gICAgICAudGV4dC01O1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgfVxuICB9XG5cbiAgLnNlYXJjaGZvcm0ge1xuICAgIGlucHV0IHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogLjZyZW07XG4gICAgICBwYWRkaW5nOiAwIC42cmVtO1xuICAgIH1cbiAgfVxuXG4gIHVsLm1lbnUge1xuICAgIGxpIHtcbiAgICAgICY6bm90Omxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICAudGV4dC01O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBzZWFyY2gubGVzcyAqL1xuXG4uc2lkZWJhci0xIHtcblxuICA+IGRpdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtO1xuICAgIGNvbG9yOiBAY29sb3ItcmVkO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZm9udC1mYW1pbHk6ICdBc3Npc3RhbnQnLCBzYW5zLXNlcmlmO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQGNvbG9yLXJlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvL3BhZGRpbmc6IDAuN3JlbSAuN3JlbSAuNXJlbTtcbiAgICAvL2JvcmRlci1yYWRpdXM6IC4zNXJlbTtcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6IEBjb2xvci0zO1xuICAgIH1cbiAgfVxuXG4gIGJ1dHRvbiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMTVweDtcbiAgICB6LWluZGV4OiAzO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgZm9udC1mYW1pbHk6IGljb21vb247XG4gICAgICBjb250ZW50OiAnXFxlOTJjJztcbiAgICAgIGZvbnQtc2l6ZTogMC42cmVtO1xuICAgICAgY29sb3I6IEBjb2xvci1yZWQ7XG4gICAgfVxuICB9XG5cbiAgc3ZnIHtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAueHlhbGlnbigpO1xuICAgIHBhdGgge1xuICAgICAgZmlsbDogQGNvbG9yLXJlZDtcbiAgICB9XG4gIH1cblxuICAud2lkZ2V0X3NlYXJjaCwgLndpZGdldF9zb2dvX3NlYXJjaCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBjb2xvci0zO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjhyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS42cmVtO1xuICB9XG5cbiAgLndpZGdldC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogQGNvbG9yLXJlZDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjZyZW07XG4gIH1cblxuICAuY2F0LWl0ZW0ge1xuICAgIC8vbWFyZ2luLWJvdHRvbTogMS4zcmVtO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgICAgIGNvbnRlbnQ6ICdcXGU5MWMnO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIGNvbG9yOiBAY29sb3ItcmVkO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgdG9wOiAxcHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IEBjb2xvci1yZWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBmb250LXNpemU6IDAuNnJlbTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6IEBjb2xvci00O1xuICAgICAgLnRyYW5zaXRpb24oKTtcbiAgICB9XG4gIH1cbn1cblxuIiwiLyoqKioqKioqKioqKioqKlxuc2luZ2xlLmxlc3NcbioqKioqKioqKioqKiovXG4ucGFnZS1zaW5nbGUge1xuXG4gIC5wb3N0LWNhdGVnb3JpZXMge1xuXG4gICAgbGkge1xuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IEBjb2xvci00O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRhYmxle1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmFkZHRvYW55X3Nob3J0Y29kZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cbiIsIi8qKioqKioqKioqKioqKioqXG5jYXItc2VhcmNoLmxlc3NcbioqKioqKioqKioqKioqKi9cblxuLnNpZGViYXItc2VhcmNoLCAuY2FyLXNlYXJjaCwgLnNlYXJjaC1tb2RhbHtcbiAgLnMtc2VsZWN0LXdyYXBwZXJ7XG4gICAgbGFiZWx7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDRweDtcbiAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgLnRyYW5zaXRpb247XG4gICAgICB6LWluZGV4OiAwO1xuICAgIH1cbiAgfVxuICAubGFiZWwtZm9jdXN7XG4gICAgYm90dG9tOjIwcHggIWltcG9ydGFudDtcbiAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgIC50ZXh0LXA7XG4gIH1cbn1cblxuLmNhci1zZWFyY2gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTMwcHg7XG4gIHdpZHRoOiA4NSU7XG4gIHotaW5kZXg6IDE7XG4gIGxlZnQ6IDUwJTtcbiAgLnRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpKTtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDE1MDBweCkge1xuICAgIHdpZHRoOiA2NS4xNSU7XG4gIH1cblxuICAuY2FyLXNlYXJjaC1pbm5lciB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgYmFja2dyb3VuZDogQGNvbG9yLXdoaXRlO1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gLjVyZW0gMDtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTUwMHB4KSB7XG5cbiAgICB9XG5cbiAgICAubmF2LXRhYnMge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgLnNwZWNpYWwtdGFiIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYm90dG9tOiAtMXJlbTtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0LjVyZW07XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgIC50cmFuc2l0aW9uKCk7XG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogQGNvbG9yLXJlZDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5uYXYtaXRlbSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiA3LjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogQGNvbG9yLTUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGNvbG9yLTUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItNSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgQGNvbG9yLTM7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgY29sb3I6IEBjb2xvci0zO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgIHNwYW5bY2xhc3M9XCJpY29uXCJdIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIEBjb2xvci1yZWQ7XG4gICAgICAgICAgICBjb2xvcjogQGNvbG9yLXJlZDtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICBib3R0b206IC0xMXB4O1xuICAgICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICBsZWZ0OiA0NSU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1yZWQ7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGxhYmVsW2Zvcj1cImJ1ZGdldC1yYW5nZVwiXSxcbiAgICBsYWJlbFtmb3I9XCJtaWxlYWdlLXJhbmdlXCJdIHtcbiAgICAgIC8vbWFyZ2luLXRvcDogLS4yNXJlbTtcbiAgICB9XG4gICAgbGFiZWxbZm9yPVwiZGlzdGFuY2UtcmFuZ2VcIl0sXG4gICAgbGFiZWxbZm9yPVwiYnVkZ2V0LXJhbmdlXCJdIHtcbiAgICAgIC8vbWFyZ2luLXRvcDogMC4wNXJlbTtcbiAgICB9XG5cblxuICB9XG5cbiAgLmJ0bntcbiAgICBwYWRkaW5nOiAwLjFyZW0gMC4zcmVtO1xuICAgIGZvbnQtc2l6ZTogMC42cmVtO1xuICAgICYuYWN0aXZle1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjpAY29sb3ItcmVkO1xuICAgICAgY29sb3I6QGNvbG9yLXdoaXRlO1xuICAgIH1cbiAgfVxufVxuXG4uYWR2YW5jZWQtc2VhcmNoLWZpZWxkIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLmFkdmFuY2VkLXNlYXJjaC1maWVsZC1oaWRkZW4ge1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zaWRlYmFyLXNlYXJjaCB7XG5cbiAgLm5hdi10YWJzIHtcbiAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAuc3BlY2lhbC10YWIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDQuNXJlbTtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIC50cmFuc2l0aW9uKCk7XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6IEBjb2xvci1yZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuNXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5uYXYtaXRlbSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB3aWR0aDogNy41cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAubmF2LWxpbmsge1xuICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgQGNvbG9yLTM7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAubmF2LWxpbmsge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItMztcblxuICAgICAgICBpIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgQGNvbG9yLXJlZDtcbiAgICAgICAgICBjb2xvcjogQGNvbG9yLXJlZDtcblxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IC0xMXB4O1xuICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICBsZWZ0OiA0NSU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItcmVkO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiNzY3JvbGxtYWdpYyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbWFyZ2luOiBhdXRvO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiBhdXRvO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogYXV0bztcbiAgei1pbmRleDogOTk5OTtcbiAgLnRyYW5zaXRpb24oKTtcbn1cblxuXG4uY3VzdG9tLXNlbGVjdC1jb2xvcnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLnNlbGVjdC1zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXdoaXRlO1xuICAgICY6YWZ0ZXIge1xuICAgICAgZm9udC1mYW1pbHk6IGljb21vb247XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiAnXFxlOTBkJztcbiAgICAgIGZvbnQtc2l6ZTogNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBsZWZ0OiAxNHB4O1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuICAgIC5zZWxlY3QtYXJyb3ctYWN0aXZle1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZiB0cmFuc3BhcmVudDtcbiAgICAgICAgdG9wOiA3cHg7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuXG5cbiAgLnNlbGVjdC1pdGVtcyBkaXYsXG4gIC5zZWxlY3Qtc2VsZWN0ZWQge1xuICAgIGNvbG9yOiBAY29sb3ItMztcbiAgICBmb250LXNpemU6MC42cmVtO1xuICAgIHBhZGRpbmc6IDRweCA2cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAgQGNvbG9yLTMgdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgLnNlbGVjdC1pdGVtcyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci13aGl0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiA5OTtcbiAgICBkaXZ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICBAY29sb3ItMSB0cmFuc3BhcmVudDtcbiAgICAgICY6aG92ZXIsIC5zYW1lLWFzLXNlbGVjdGVke1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICB9XG4gICAgfVxuICAgIC5zcXVhcmUtYm94IHtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDE3MHB4O1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zZWxlY3QtaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG5cbiAgLnNlbGVjdC1zZWxlY3RlZHtcbiAgICBkaXZ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAuc3F1YXJlLWJveCB7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIHJpZ2h0OiAxNzBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbiAgfVxuXG59XG5cbiIsIi8qKioqKioqKioqKioqKioqXG5zZWFyY2gtZm9ybS5sZXNzXG4qKioqKioqKioqKioqKiovXG5cbi5zYWxlLWZvcm0ge1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDQuMnJlbTtcbiAgICB3aWR0aDogNzUlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgbGVmdDogMTcuNCU7XG4gICAgYm9yZGVyLXRvcDogN3B4IHNvbGlkIEBjb2xvci1yZWQ7XG4gICAgLy8udHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkpO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC8vd2lkdGg6IDY1LjE1JTtcbiAgICB3aWR0aDogOS4xcmVtO1xuXG4gIH1cblxuICAuc2FsZS1mb3JtLWlubmVyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBiYWNrZ3JvdW5kOiBAY29sb3Itd2hpdGU7XG4gICAgcGFkZGluZzogMC4yNXJlbSAuNXJlbSAuNXJlbTtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTUwMHB4KSB7XG4gICAgICAvL3BhZGRpbmctbGVmdDogMy42cmVtO1xuICAgICAgLy9wYWRkaW5nLXJpZ2h0OiAzLjZyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICB9XG5cbiAgICAubmF2LXRhYnMge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgLnNwZWNpYWwtdGFiIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0LjVyZW07XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgLnRyYW5zaXRpb24oKTtcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiBAY29sb3ItcmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC41cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLm5hdi1pdGVtIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDcuNXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBAY29sb3ItNSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBAY29sb3ItNSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci01ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCBAY29sb3ItMztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubmF2LWxpbmsge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICBjb2xvcjogQGNvbG9yLTM7XG5cbiAgICAgICAgICBzcGFuW2NsYXNzPVwiaWNvblwiXSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCBAY29sb3ItcmVkO1xuICAgICAgICAgICAgY29sb3I6IEBjb2xvci1yZWQ7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgYm90dG9tOiAtMTFweDtcbiAgICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgICAgbGVmdDogNDUlO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItcmVkO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBsYWJlbFtmb3I9XCJidWRnZXQtcmFuZ2VcIl0sXG4gICAgbGFiZWxbZm9yPVwibWlsZWFnZS1yYW5nZVwiXSB7XG4gICAgICAvL21hcmdpbi10b3A6IC0uMjVyZW07XG4gICAgfVxuICAgIGxhYmVsW2Zvcj1cImRpc3RhbmNlLXJhbmdlXCJdLFxuICAgIGxhYmVsW2Zvcj1cImJ1ZGdldC1yYW5nZVwiXSB7XG4gICAgICAvL21hcmdpbi10b3A6IDAuMDVyZW07XG4gICAgfVxuICAgIC5hZHZhbmNlZC1zZWFyY2gtZmllbGQge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICAuYWR2YW5jZWQtc2VhcmNoLWZpZWxkLWhpZGRlbiB7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICB9XG59XG5cbi5jdXN0b21faGVpZ2h0X3Jvd3tcblxuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93LXk6IHVuc2V0O1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTAwcHgpIHtcbiAgICBoZWlnaHQ6IDkwdmg7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICB9XG5cbiAgLndwY2Y3LW5vdC12YWxpZC10aXB7XG4gICAgd2lkdGg6IDE1MHB4O1xuICAgIHRvcDogNDVweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZpbGVzX3VwbG9hZCAud3BjZjctbm90LXZhbGlkLXRpcHtcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuXG59XG4iLCIvKioqKioqKioqKioqKioqXG5mb3JtLmxlc3NcbioqKioqKioqKioqKioqKi9cbi5zLXNlbGVjdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIHRleHRhcmVhOmZvY3VzLCBpbnB1dDpmb2N1cywgc2VsZWN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgc2VsZWN0IHtcbiAgICB6LWluZGV4OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBvcHRpb24ge1xuICAgICAgY29sb3I6IEBjb2xvci00O1xuICAgIH1cbiAgICAvL29wdGlvbjpmaXJzdC1jaGlsZHtcbiAgICAvLyAgY29sb3I6IEBjb2xvci1yZWQ7XG4gICAgLy99XG4gICAgY29sb3I6IEBjb2xvci00O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAmOjotbXMtZXhwYW5kIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1tYWluICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAY29sb3ItMztcbiAgICBmb250LXNpemU6IDAuNnJlbTtcbiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAwIDAgLjVyZW07XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgZm9udC1zaXplOiAwLjZyZW07XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICAvL291dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBmb250LWZhbWlseTogaWNvbW9vbjtcbiAgICBjb250ZW50OiAnXFxlOTBkJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMC4zcmVtO1xuICAgIHRvcDogNTAlO1xuICAgIC50cmFuc2xhdGVZKC01MCUpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGZvbnQtc2l6ZTogLjJyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbn1cblxuLnMtc2VsZWN0LXdyYXBwZXItMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIC53b29jb21tZXJjZS1vcmRlcmluZyB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50IHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIHNlbGVjdCB7XG5cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGN1c3RvbS1jb2xvcjtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHktbWFpbiAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMC41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogQGNvbG9yLXJlZDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAuNXJlbTtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgJjo6LW1zLWV4cGFuZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMC42cmVtO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGZvbnQtZmFtaWx5OiBpY29tb29uO1xuICAgIGNvbnRlbnQ6ICdcXGU5MGQnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwLjFyZW07XG4gICAgdG9wOiA1MCU7XG4gICAgLnRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgZm9udC1zaXplOiA1cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6IEBjb2xvci1yZWQ7XG4gIH1cbn1cblxuLnMtc2VsZWN0LXdyYXBwZXItMyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcblxuICBzZWxlY3Qge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgJjo6LW1zLWV4cGFuZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHktbWFpbiAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItMTtcbiAgICBmb250LXNpemU6IDAuNTMzMzMzMzMzMzMzMzMzM3JlbTtcbiAgICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IEBjb2xvci01O1xuICAgIHBhZGRpbmctcmlnaHQ6IC41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjkzMzMzMzMzMzMzMzMzMzNyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICB9XG5cbiAgJjphZnRlciB7XG4gICAgZm9udC1mYW1pbHk6IGljb21vb247XG4gICAgY29udGVudDogJ1xcZTkwZCc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDAuM3JlbTtcbiAgICB0b3A6IDUwJTtcbiAgICAudHJhbnNsYXRlWSgtNTAlKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBmb250LXNpemU6IDVweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICAuZXJyb3J7XG4gICAgcmlnaHQ6MDtcbiAgfVxufVxuXG4ucy1jYWxjdWxhdG9yLXdyYXBwZXIge1xuXG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLmlucHV0IHtcbiAgICBmb250LWZhbWlseTogQGZvbnQtZmFtaWx5LW1haW47XG4gICAgLnRleHQtMygpO1xuICAgIGNvbG9yOiBAY29sb3ItcmVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLTE7XG4gICAgaGVpZ2h0OiAxLjU4cmVtO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLnJhbmdlIHtcbiAgICBmb250LWZhbWlseTogQGZvbnQtZmFtaWx5LW1haW47XG4gICAgLnRleHQtNigpO1xuICAgIGNvbG9yOiBAY29sb3ItNTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cbn1cblxuLnMtY2hlY2tib3gtd3JhcHBlciB7XG4gIHNwYW4ud3BjZjctbGlzdC1pdGVte1xuICAgIG1hcmdpbjowO1xuICB9XG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDA7XG4gICAgJltkaXNhYmxlZD1cImRpc2FibGVkXCJdICsgbGFiZWw6OmJlZm9yZSAsXG4gICAgJltkaXNhYmxlZD1cImRpc2FibGVkXCJdICsgc3Bhbjo6YmVmb3JlIHtcbiAgICAgIGN1cnNvcjogbm8tZHJvcDtcbiAgICB9XG4gIH1cblxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCxcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgc3BhbntcbiAgICBmb250LXNpemU6IDAuNTNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gICAgJjpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuXG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaGVpZ2h0OiAxNnB4O1x0d2lkdGg6IDE2cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBAY29sb3ItMztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctdG9wOiAycHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgY29sb3I6IEBjb2xvci1yZWQ7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxuXG5cblxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsICxcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBzcGFuIHtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBpY29tb29uO1xuICAgICAgY29udGVudDogXCJcXGU5MzhcIjtcbiAgICAgIGZvbnQtc2l6ZTogMC4zNXJlbTtcbiAgICB9XG4gIH1cbn1cblxuLnMtcmFkaW8td3JhcHBlci0yIHtcblxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwO1xuICB9XG5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMC41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBAY29sb3ItMztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctdG9wOiAzcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3Itd2hpdGU7XG4gICAgICBmb250LXNpemU6IDVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAuMjVyZW07XG4gICAgfVxuICB9XG5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbCB7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItcmVkO1xuICAgIH1cbiAgfVxufVxuXG4ucy1yYWRpby13cmFwcGVyLTMge1xuXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDA7XG4gIH1cblxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgNXB4IDAgIzdiN2I3YjtcblxuICAgICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICB9XG5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgQGNvbG9yLTU7XG4gIH1cbn1cblxuLnMtaW5wdXQtd3JhcHBlciB7XG4gIGlucHV0IHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMC41cmVtO1xuICAgIHBhZGRpbmc6IDAgLjRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuMjtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMC41MzMzMzMzMzMzMzMzMzMzcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gICAgfVxuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBAY29sb3ItMTtcbiAgfVxufVxuXG4ucy1pbnB1dC13cmFwcGVyLTIge1xuICBpbnB1dCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMC45MzMzMzMzMzMzMzMzMzMzcmVtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItMTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgZm9udC1zaXplOiAwLjUzMzMzMzMzMzMzMzMzMzNyZW07XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0IHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IC40cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjkzMzMzMzMzMzMzMzMzMzNyZW07XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci0xO1xuICAgIGhlaWdodDogMzBweDtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMC41MzMzMzMzMzMzMzMzMzMzcmVtO1xuICAgIH1cbiAgfVxuXG4gIHRleHRhcmVhIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IC40cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjkzMzMzMzMzMzMzMzMzMzNyZW07XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci0xO1xuICAgIGhlaWdodDogNXJlbTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgZm9udC1zaXplOiAwLjUzMzMzMzMzMzMzMzMzMzNyZW07XG4gICAgfVxuICB9XG59XG5cbi5zLWlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICYuaWNvbi1hcnJvd2Rvd246YmVmb3JlIHtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMXJlbTtcbiAgICAueS1hbGlnbigpO1xuICB9XG5cbiAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgaW5wdXRbdHlwZT1cInRlbFwiXSxcbiAgc2VsZWN0IHtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHktbWFpbiAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogLjZyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiAwIDA7XG4gICAgY29sb3I6IEBjb2xvci0zO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAY29sb3ItMztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICYud3BjZjctbm90LXZhbGlkIHtcbiAgICAgIGJvcmRlci1jb2xvcjogQGNvbG9yLXJlZDtcbiAgICB9XG5cbiAgICAmLmRpZmZlcmVudC1ib3JkZXIge1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAY29sb3ItMjtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHktbWFpbiAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogLjZyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiAwIDA7XG4gICAgY29sb3I6IEBjb2xvci0zO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmLndwY2Y3LW5vdC12YWxpZCB7XG4gICAgICBib3JkZXItY29sb3I6IEBjb2xvci1yZWQ7XG4gICAgfVxuXG4gICAgJi5kaWZmZXJlbnQtYm9yZGVyIHtcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQGNvbG9yLTI7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gIH1cblxuICBsYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1tYWluICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgICBjb2xvcjogQGNvbG9yLTM7XG4gICAgZm9udC1zaXplOiAuNnJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3R0b206IDAuMThyZW07XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTtcbiAgICAvL3RvcDogMDtcblxuICAgICYuZXJyb3Ige1xuICAgICAgY29sb3I6IHJlZDtcbiAgICAgIGJvdHRvbTogLTAuNnJlbTtcbiAgICAgIGZvbnQtc2l6ZTogLjQ1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG4gICAgJi5sYWJlbGZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBjb2xvcjogQGNvbG9yLTM7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC42cHg7XG4gICAgICBib3R0b206IDFyZW07XG5cbiAgICAgICYgKyBpbnB1dDpmb2N1czpub3QoOnJlYWQtb25seSkge1xuICAgICAgICBib3JkZXItY29sb3I6IEBjb2xvci0yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC53cGNmNy1mb3JtLWNvbnRyb2wtd3JhcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBzcGFuLndwY2Y3LW5vdC12YWxpZC10aXAge1xuICAgIGZvbnQtc2l6ZTogLjQ1cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogLjJyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHktbWFpbjtcbiAgfVxufVxuXG4ucy10ZXh0YXJlYS13cmFwcGVyIHtcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAwLjVyZW07XG4gICAgcGFkZGluZzogLjRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICBmb250LXNpemU6IDAuNTMzMzMzMzMzMzMzMzMzM3JlbTtcbiAgICB9XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci0xO1xuICB9XG5cbn1cblxuLnMtcmFuZ2Utd3JhcHBlciB7XG4gIG1pbi1oZWlnaHQ6IDM3cHg7XG4gIGlucHV0IHtcbiAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZVkoMTMwJSkpO1xuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHJnYig3NywgMTQ0LCAyNTQpO1xuICAgIH1cblxuICB9XG5cbn1cblxuLnMtcmFkaW8td3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwO1xuICB9XG5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwge1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIHNwYW46Zmlyc3QtY2hpbGQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBAY29sb3ItMztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci13aGl0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgLnRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICB9XG4gIH1cblxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsIHtcblxuICAgIHNwYW46Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTNweDtcbiAgICAgIGhlaWdodDogMTNweDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXJlZDtcbiAgICB9XG4gIH1cbn1cblxuYm9keS5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IHtcbiAgLnMtc2VsZWN0LXdyYXBwZXItMiB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICB9XG59XG5cbmJvZHkuZGVza3RvcCB7XG4gIC5zLXNlbGVjdC13cmFwcGVyLTIge1xuICAgIHNlbGVjdCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItMTtcbiAgICB9XG4gIH1cbn1cblxuLnRvb2x0aXAtaW5uZXIge1xuICAudGV4dC02O1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nOiAycHggNHB4O1xuICBjb2xvcjogQGNvbG9yLXJlZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3Itd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDByZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIEBjb2xvci1yZWQ7XG5cbn1cblxuLnRvb2x0aXAuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtYm90dG9tIC50b29sdGlwLWlubmVyOjpiZWZvcmUge1xuICBib3JkZXItdG9wLWNvbG9yOiBAY29sb3ItcmVkO1xufVxuXG4ud3BjZjctZm9ybSB7XG5cbiAgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLndwY2Y3LW5vdC12YWxpZC10aXAge1xuICAgIGZvbnQtc2l6ZTogMC41cmVtO1xuXG4gIH1cblxufVxuXG4uYWpheC1sb2FkZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLnh5LWFsaWduKCkgIWltcG9ydGFudDtcbiAgd2lkdGg6IDI1cHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAyNXB4ICFpbXBvcnRhbnQ7XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogMjVweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbiAgICBhbmltYXRpb246IGxkcy1kdWFsLXJpbmcgMS4ycyBsaW5lYXIgaW5maW5pdGU7XG4gICAgYm9yZGVyOiAyLjVweCBzb2xpZCBAY29sb3ItcmVkICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiBAY29sb3ItcmVkIHRyYW5zcGFyZW50IEBjb2xvci1yZWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy5hamF4LWxvYWRlci1idXR0b246YWZ0ZXJ7XG4vLyAgYm9yZGVyOiAyLjVweCBzb2xpZCBAY29sb3Itd2hpdGUgIWltcG9ydGFudDtcbi8vICBib3JkZXItY29sb3I6IEBjb2xvci13aGl0ZSB0cmFuc3BhcmVudCBAY29sb3Itd2hpdGUgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbi8vfVxuXG5Aa2V5ZnJhbWVzIGxkcy1kdWFsLXJpbmcge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuXG5cblxuIiwiLyoqKioqKioqKipcbndwLXNpbmdsZS1wcm9kdWN0Lmxlc3NcbioqKioqKioqKioqL1xuYm9keS5tb2JpbGUuc2luZ2xlLXByb2R1Y3Qge1xuICAuZmxleC1jb250cm9sLW5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBsaSB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBhIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgfVxuICB9XG4gIC5mbGV4LXZpZXdwb3J0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgfVxuICAuY3VzdG9tLXByb2R1Y3QtdGl0bGUge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBAY29sb3ItcmVkO1xuICAgIHBhZGRpbmc6IC4yNXJlbTtcbiAgICArIGRpdiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBzcGFuIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAudHJhbnNpdGlvbigpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYub3BlbmVkIHtcbiAgICAgICsgZGl2IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IC4yNXJlbSAxNXB4O1xuICAgICAgfVxuICAgICAgc3BhbiB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgLnRyYW5zZm9ybShyb3RhdGUoMTgwZGVnKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5sYXN0LWN1c3RvbS1wcm9kdWN0LXRpdGxlIHtcbiAgICAmLmxhc3QtY2hpbGQtb3BlbmVkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICsgZGl2IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBjb2xvci1yZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmJvZHkuc2luZ2xlLXByb2R1Y3Qge1xuXG4gIC5zbGljay1saXN0IHtcbiAgICBwYWRkaW5nOiAuMjVyZW0gMDtcbiAgfVxuXG4gIC8vLnByb2R1Y3RfdGl0bGUge1xuICAvLyAgZm9udC1zaXplOiAxLjNlbTtcbiAgLy8gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIC8vICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLy8gICAgZm9udC1zaXplOiAxLjE1cmVtO1xuICAvLyAgfVxuXG4gIC8vfVxuXG4gIC53b29jb21tZXJjZS1icmVhZGNydW1iIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNHJlbSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vLnNpbmdsZS1wcm9kdWN0X190aXRsZS13cmFwIHtcbiAgLy8gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLy99XG4gIC5zaW5nbGUtcHJvZHVjdF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6IEBjb2xvci0yICFpbXBvcnRhbnQ7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICBmb250LXNpemU6IDJyZW07XG5cbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICBmb250LXNpemU6IDNyZW07XG4gICAgfVxuICB9XG4gIC8vXG5cbiAgLmltYWdlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgIH1cbiAgfVxuXG4gIC5zaW5nbGUtcHJvZHVjdF9fc3ViLXRpdGxlIHtcbiAgICBjb2xvcjogQGNvbG9yLTI7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgfVxuICB9XG5cbiAgLmFjY2Vzc29yaWVzLWxpbmstYm90dG9tIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgYm90dG9tOiAxNTNweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgei1pbmRleDogMTtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAuYm94LXNoYWRvdygwIDAgMjBweCBsaWdodGdyZXkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMzRweCAzNHB4IDA7XG4gICAgcGFkZGluZzogLjdyZW0gMXJlbTtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiBAY29sb3ItMztcbiAgICAuZGlzcGxheS1pbmxpbmUtZmxleCgpO1xuICAgIC5hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIC8vcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vdG9wOiAtMTYwcHg7XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAzM3B4O1xuICAgIH1cbiAgfVxuXG4gIGRpdltpZCBePSAncHJvZHVjdC0nXSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG5cbiAgICB9XG4gIH1cblxuICAjc2lkZWJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC52YXJpYXRpb25zX2Zvcm1fX2NvbG9yIHtcbiAgICAvL2Rpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5xdWFudGl0eS13cmFwcGVyIHtcbiAgICAuZmxleCgwIDAgOThweCk7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAvLy5mbGV4KDAgMCAxMzJweCk7XG5cbiAgICB9XG4gIH1cblxuICAucHJvZHVjdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAvL2ZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMCB0cmFuc3BhcmVudDtcbiAgICAvL21hcmdpbi1ib3R0b206IDJyZW0haW1wb3J0YW50O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cblxuICAgIHNwYW4uaWNvbiB7XG4gICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICB9XG5cbiAgICAud29vY29tbWVyY2UtcHJvZHVjdC1kZXRhaWxzX19zaG9ydC1kZXNjcmlwdGlvbiB7XG5cbiAgICAgIHAge1xuICAgICAgICAudGV4dC01KCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkge1xuICAgICAgLmRpc3BsYXktZmxleCgpO1xuICAgICAgLmZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG4gICAgICAuZmxleCgyKTtcbiAgICAgIC8vZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAuZmxleC12aWV3cG9ydCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgLy90b3A6IDhlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIC8vY3Vyc29yOiB1cmwoXCJpbWFnZXMvYXJyb3cucG5nXCIpO1xuXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OicnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLTU7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnlfX3dyYXBwZXIge1xuXG4gICAgICAgICAgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9faW1hZ2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGU5MmMnO1xuICAgICAgICAgICAgICAgIGNvbG9yOkBjb2xvci1yZWQ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgICAgICAueHktYWxpZ24oKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZmxleC1jb250cm9sLXRodW1icyB7XG4gICAgICAgIG92ZXJmbG93OiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAuZmxleC1jb250cm9sLW5hdiB7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgLmRpc3BsYXktZmxleCgpO1xuICAgICAgICAgIC5mbGV4LWRpcmVjdGlvbihyb3cpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogQGNvbG9yLXJlZDtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIGNvbG9yOiBAY29sb3ItcmVkO1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICAgICAgY29sb3I6IEBjb2xvci1yZWQ7XG4gICAgICAgICAgICB3aWR0aDogN3B4O1xuICAgICAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDFweDtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkO1xuXG4gICAgICAgICAgICAmLmZsZXgtYWN0aXZlIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXJlZDtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICBjb2xvcjogQGNvbG9yLXJlZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBjbGVhcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIC8vd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgLy9oZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAvL2JhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAvL2JvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGNvbG9yLTM7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGxpZ2h0Z3JheTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgd2lkdGg6IDUxZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5mbGV4LWFjdGl2ZSB7XG4gICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEBjb2xvci1yZWQ7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZsZXgtZGlyZWN0aW9uLW5hdiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDk0JTtcbiAgICAgICAgdG9wOiA0MCU7XG4gICAgICAgIHJpZ2h0OiAzJTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXJlZDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgd2lkdGg6IDM3cHg7XG4gICAgICAgICAgaGVpZ2h0OiAzN3B4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAudHJhbnNpdGlvbigpO1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLWJsYWNrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGNvbG9yOiBAY29sb3Itd2hpdGU7XG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjU1ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZsZXgtbmF2LXByZXYge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmZsZXgtbmF2LW5leHQge1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5mbGV4LWNvbnRyb2wtcGFnaW5nIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAuZGlzcGxheS1mbGV4KCk7XG4gICAgICAuZC1mbGV4LWp1c3RpZnkoY2VudGVyKTtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZW50cnktc3VtbWFyeSB7XG4gICAgICBmbGV4OiAxLjM7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtMnB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZy10b3A6IDAuMXJlbTtcblxuICAgICAgLy9zaW1wbGUgcHJvZHVjdFxuICAgICAgcC5wcmljZSB7XG4gICAgICAgIC8vbWFyZ2luLWJvdHRvbTogMS4zZW07XG5cbiAgICAgICAgLndvb2NvbW1lcmNlLVByaWNlLWFtb3VudCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuMWVtO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb2xvcjogQGNvbG9yLTU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmb3JtLmNhcnQge1xuICAgICAgICAvL21hcmdpbi1ib3R0b206IDdlbTtcblxuICAgICAgICAucXVhbnRpdHktd3JhcHBlciB7XG4gICAgICAgICAgLy9tYXJnaW4tYm90dG9tOiA5LjFlbTtcblxuICAgICAgICAgIC5pbmNyZW1lbnQtcXVhbnRpdHkge1xuICAgICAgICAgICAgdG9wOiAyMXB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5xdWFudGl0eSB7XG5cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICAgICAgICAgICAgICAvL3BhZGRpbmctbGVmdDogMnB4O1xuICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAgICAgICAvL3BhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5kZWNyZWFzZS1xdWFudGl0eSB7XG4gICAgICAgICAgICB0b3A6IDIxcHg7XG4gICAgICAgICAgICBsZWZ0OiAxNHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLnNpbmdsZV9hZGRfdG9fY2FydF9idXR0b24ge1xuICAgICAgICAgIC50cmFuc2l0aW9uKDAuM3MpO1xuICAgICAgICAgIGJhY2tncm91bmQ6IEBjb2xvci0yO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICAgICAgLy9wb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgLy90b3A6IDI4MXB4O1xuICAgICAgICAgIC8vd2lkdGg6IDI0JTtcbiAgICAgICAgICAvL3JpZ2h0OiA3LjYlO1xuICAgICAgICAgIHBhZGRpbmc6IDAuOWVtIDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcblxuICAgICAgICAgICZfX3BsdXMge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICAvKiBiYWNrZ3JvdW5kOiAjRTkxRTYzOyAqL1xuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgIC50cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICAgICAgLyogcGFkZGluZzogMXB4OyAqL1xuICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgLnRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg5MGRlZykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogQGNvbG9yLTE7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8mOmFmdGVyIHtcbiAgICAgICAgICAvLyAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgICAgIC8vICBjb250ZW50OiAnXFxmMDY3JztcbiAgICAgICAgICAvLyAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIC8vICByaWdodDogOTJwdDtcbiAgICAgICAgICAvL31cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvL2VuZCBzaW1wbGUgcHJvZHVjdFxuXG4gICAgICAucHJvZHVjdF90aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItMjtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0LXRhZyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci0xO1xuICAgICAgICBwYWRkaW5nOiAwLjFyZW0gMC4zcmVtO1xuICAgICAgfVxuXG4gICAgICAudmFyaWF0aW9uc19mb3JtIHtcbiAgICAgICAgLy9tYXJnaW4tYm90dG9tOiA2LjRlbTtcblxuICAgICAgICAmX19jb2xvciB7XG4gICAgICAgICAgY29sb3I6IEBjb2xvci0zO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICNzZWxlY3RlZC1jb2xvciB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAud29vY29tbWVyY2UtdmFyaWF0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjllbTtcblxuICAgICAgICAgIC53b29jb21tZXJjZS12YXJpYXRpb24tZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAud29vY29tbWVyY2UtdmFyaWF0aW9uLXByaWNlIHtcblxuICAgICAgICAgICAgLndvb2NvbW1lcmNlLVByaWNlLWFtb3VudCB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4xZW07XG4gICAgICAgICAgICAgIGNvbG9yOiBAY29sb3ItNDtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudmFyaWF0aW9ucyB7XG4gICAgICAgICAgLy9mbG9hdDogbGVmdDtcbiAgICAgICAgICAvL3dpZHRoOiA0OCU7XG5cbiAgICAgICAgICB0Ym9keSB7XG5cbiAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGVuZDtcblxuICAgICAgICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBncmF5O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XG5cbiAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC52YWx1ZSB7XG5cbiAgICAgICAgICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgY29sb3I6IEBjb2xvci0xO1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICAgICAgICB3aWR0aDogOTElO1xuICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogNSU7XG5cbiAgICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5yZXNldF92YXJpYXRpb25zIHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2luZ2xlX3ZhcmlhdGlvbl93cmFwIHtcbiAgICAgICAgICAvL2Zsb2F0OiByaWdodDtcbiAgICAgICAgICAvL3dpZHRoOiA0OCU7XG5cbiAgICAgICAgICAud29vY29tbWVyY2UtdmFyaWF0aW9uLWFkZC10by1jYXJ0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgLnF1YW50aXR5LXdyYXBwZXIge1xuICAgICAgICAgICAgICAvL21hcmdpbi1ib3R0b206IDcuN2VtO1xuICAgICAgICAgICAgICAvL3RvcDogMmVtO1xuICAgICAgICAgICAgICAvL2Zsb2F0OiByaWdodDtcblxuICAgICAgICAgICAgICAucXVhbnRpdHkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zaW5nbGVfYWRkX3RvX2NhcnRfYnV0dG9uIHtcbiAgICAgICAgICAgICAgLnRyYW5zaXRpb24oMC4zcyk7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBjb2xvci0xO1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgICAgICAgICAvL3Bvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgLy90b3A6IDI5MnB4O1xuICAgICAgICAgICAgICAvL3dpZHRoOiAyNCU7XG4gICAgICAgICAgICAgIC8vdG9wOiAxMjBweDtcbiAgICAgICAgICAgICAgLy93aWR0aDogMjAwJTtcbiAgICAgICAgICAgICAgLy9yaWdodDogNy42JTtcbiAgICAgICAgICAgICAgcGFkZGluZzogMC45ZW0gMDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG5cbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogQGNvbG9yLTI7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmX19jYXJ0IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY29sb3ItMiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gM3JlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDMycHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICZfX2NhcnQtdGV4dCB7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICZfX3BsdXMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICAgICAgLyogYmFja2dyb3VuZDogI0U5MUU2MzsgKi9cbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgLyogcGFkZGluZzogMXB4OyAqL1xuICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgLnRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg5MGRlZykpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC8vJjphZnRlciB7XG4gICAgICAgICAgICAgIC8vICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICAgICAgICAgIC8vICBjb250ZW50OiAnXFxmMDY3JztcbiAgICAgICAgICAgICAgLy8gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgLy8gIHJpZ2h0OiA5MnB0O1xuICAgICAgICAgICAgICAvL31cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3RfbWV0YSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5leHRyYXMtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDJlbSAxNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRjdGN0Y3O1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgIHBhZGRpbmc6IDJlbSAyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuZXh0cmEtdG9wIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbGlnaHRncmF5O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS4yZW07XG5cbiAgICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuM2VtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNmVtO1xuXG4gICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAY29sb3ItMztcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5leHRyYS1ib3R0b20ge1xuXG4gICAgICAgICAgLmFjY29yZGlvbiB7XG5cbiAgICAgICAgICAgIC5jYXJkIHtcbiAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRjdGN0Y3O1xuXG4gICAgICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgICAgICAgICAucmlnaHQtY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5hY2NvcmRpb24tbWFpbi10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGNvbG9yLTQ7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMzc1cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5hY2NvcmRpb24tc2Vjb25kYXJ5X3RpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGNvbG9yLTM7XG4gICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAzNzVweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAuNmVtO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC5jYXJkLWJsb2NrLXdyYXBwZXIge1xuXG4gICAgICAgICAgICAgICAgLmNhcmQtYmxvY2sge1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuXG4gICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMS4yNXJlbTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5vbnNhbGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBkZWwge1xuICAgICAgLy9jb2xvcjogQGNvbG9yLTQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBpbnMge1xuICAgICAgLy9jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLndvb2NvbW1lcmNlLW1lc3NhZ2Uge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB0b3A6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAuZGlzcGxheS1mbGV4KCk7XG4gICAgICAuZC1mbGV4LWp1c3RpZnkoY2VudGVyKTtcbiAgICAgIG1hcmdpbjogMnJlbSAwO1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBAY29sb3ItMztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICAgICAgY29sb3I6IEBjb2xvci00O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IDEuMWVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBwYWRkaW5nOiAwLjdlbSAxLjdlbTtcbiAgICAgICAgLnRyYW5zaXRpb24oMC4zcyk7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogQGNvbG9yLTI7XG4gICAgICAgICAgY29sb3I6IEBjb2xvci13aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG4gIC5mbG93ZXItdXAge1xuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDMwN3B4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAzcHg7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICB9XG4gIC5mbG93ZXItZG93biB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAzMDdweDtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zaW5nbGUtcHJvZHVjdC1ib3R0b20ge1xuICAgIC8vYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL2Zsb3dlci1zaW5nbGUtcHJvZHVjdC5wbmdcIik7XG4gICAgLy9oZWlnaHQ6IGF1dG87XG4gICAgLy9iYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIC8vYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIC8vbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgIC8vcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vZGlzcGxheTogZmxleDtcbiAgICAvL2FsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm94LXNoYWRvdzogMCAwIDQwcHggbGlnaHRncmV5O1xuXG4gICAgLnNpbmdsZS1wcm9kdWN0LWJvdHRvbS1yZWNvbW1lbmRhdGlvbnMge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMnJlbSAxLjVyZW07XG4gICAgICBiYWNrZ3JvdW5kOiBAY29sb3Itd2hpdGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIC5kaXNwbGF5LWZsZXgoKTtcbiAgICAgIC5mbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xuICAgICAgLmQtZmxleC1qdXN0aWZ5KGNlbnRlcik7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTdyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTdyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgfVxuICAgICAgLnJlY29tbWVuZGF0aW9ucy10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBjb2xvcjogQGNvbG9yLTE7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS44ZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnJlY29tbWVuZGF0aW9ucy1zbGlkZXIge1xuXG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMDtcblxuICAgICAgICAuc2xpY2stZGlzYWJsZWQge1xuICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay10cmFjayB7XG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAuZGlzcGxheS1mbGV4KCk7XG4gICAgICAgICAgICAuYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDFyZW07XG5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNsaWNrLWFycm93IHtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay1saXN0IHtcbiAgICAgICAgICAvL3BhZGRpbmc6IDAgMCAxLjVlbSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZhLWNoZXZyb24tY2lyY2xlLWxlZnQge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgY29sb3I6IEBjb2xvci00O1xuICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICBsZWZ0OiAtODVweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMy4xZW07XG4gICAgICAgICAgfVxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNTAwcHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmEtY2hldnJvbi1jaXJjbGUtcmlnaHQge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgY29sb3I6IEBjb2xvci0zO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgIHJpZ2h0OiAtODVweDtcbiAgICAgICAgICAgIC8vcmlnaHQ6IDEzJTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMy4xZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE1MDBweCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWNvbW1lbmRhdGlvbnMtc2xpZGVyLWlubmVyIHtcbiAgICAgICAgICBjb2xvcjogQGNvbG9yLTQ7XG4gICAgICAgICAgLy9wYWRkaW5nOiAxcmVtO1xuXG4gICAgICAgICAgLmZhLXF1b3RlLWxlZnQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMjR2dztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5yZWNvbW1lbmRhdGlvbi10ZXh0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40NXJlbTtcblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4xcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE1MDBweCkge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDMuMWVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgICAgICAgICAgICAgY29udGVudDogJ1xcZjEwZCc7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICB0b3A6IC0wLjVlbTtcbiAgICAgICAgICAgICAgbGVmdDogLTE1cHg7XG5cbiAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0NXB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxMGUnO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgIHJpZ2h0OiAtMTVweDtcbiAgICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0xNXB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDVweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5yZWNvbW1lbmRhdGlvbi1hdXRob3Ige1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLjVyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vXG4gICAgICAgICAgLy8ucmVjb21tZW5kYXRpb24tYnkge1xuICAgICAgICAgIC8vICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAvLyAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIC8vICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgLy9cbiAgICAgICAgICAvLyAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgLy8gICAgLy9kaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgLy8gICAgbGVmdDogLTE1cHg7XG4gICAgICAgICAgLy8gICAgZm9udC1zaXplOiAxLjhlbTtcbiAgICAgICAgICAvLyAgfVxuICAgICAgICAgIC8vXG4gICAgICAgICAgLy99XG5cbiAgICAgICAgICAuZmEtcXVvdGUtcmlnaHQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA0dmg7XG4gICAgICAgICAgICBmb250LXNpemU6IDJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbXBhbmllcy1zbGlkZXIge1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDcxcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zbGljay10cmFjayB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgICAgICAuc2xpY2stc2xpZGUge1xuICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIGhlaWdodDogNzBweDtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLy93aWR0aDogMzExcHghaW1wb3J0YW50O1xuICAgICAgICAgIC8vaGVpZ2h0OiA3MHB4O1xuICAgICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogIzBBMjQ2QTtcbiAgICAgICAgICBtYXJnaW46IDAgLjFyZW07XG4gICAgICAgIH1cbiAgICAgICAgLmNvbXBhbmllcy1zbGlkZXItaW5uZXIge1xuICAgICAgICAgIC8vd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICAvL21hcmdpbjogMCAtOC4zZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjY2FsYy10YWJzIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAubmF2LWl0ZW0ge1xuXG4gICAgICAubmF2LWxpbmsge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItcmVkO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItNztcblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6IEBjb2xvci13aGl0ZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItcmVkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmJvZHkuZGVza3RvcC5zaW5nbGUtcHJvZHVjdCB7XG4gIC5uZXdzbGV0dGVyIHtcbiAgICAuZm9vdGVyLW5ld3NsZXR0ZXIge1xuICAgICAgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLyoqKioqKioqKipcbndjLXByb2R1Y3QubGVzc1xuKioqKioqKioqKiovXG5cbi53b29jb21tZXJjZS1wYWdlXG57XG5cbiAgLnByb2R1Y3QtdGFicyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAmX190YWIge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHdpZHRoOiA0LjZyZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCBAY29sb3ItMztcbiAgICAgIGNvbG9yOiBAY29sb3ItMztcbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIEBjb2xvci1yZWQ7XG4gICAgICAgIGNvbG9yOiBAY29sb3ItcmVkO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAtMTFweDtcbiAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgbGVmdDogNDUlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1yZWQ7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLndvb2NvbW1lcmNlLWluZm8ge1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IEBjb2xvci1yZWQ7XG4gICAgLnRleHQtNjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAud29vY29tbWVyY2Utb3JkZXJpbmcge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxufVxuXG5ib2R5Lm1vYmlsZSB7XG4gICYucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCxcbiAgJi50YXgtcHJvZHVjdF9jYXQge1xuICAgIC5wcm9kdWN0LXRhYnMge1xuICAgICAgYSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnZpc2l0ZWQtcHJvZHVjdCB7XG4gICAgICAuc2xpY2stbGlzdCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmJvZHkuZGVza3RvcC5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IHtcbiAgLnZpc2l0ZWQtcHJvZHVjdCB7XG4gICAgLnNsaWNrLXRyYWNrIHtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICB9XG4gIH1cbn0iLCIvKioqKioqKioqKioqKioqKlxubmV3c2xldHRlci5sZXNzXG4qKioqKioqKioqKioqKiovXG4ubmV3c2xldHRlciB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgLy9taW4taGVpZ2h0OiA0NC4ydmg7XG4gIG1pbi1oZWlnaHQ6IDE2dmg7XG5cbiAgaW5wdXRbdHlwZT1cImVtYWlsXCJdIHtcbiAgICBoZWlnaHQ6IDAuOXJlbTtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgZm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1tYWluO1xuICAgIC50ZXh0LTYoKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLTE7XG4gIH1cbn1cblxuLnNpZGViYXItbmV3c2xldHRlciB7XG4gIGJvcmRlcjogMXB4IEBjb2xvci1yZWQ7XG4gIGJvcmRlci1zdHlsZTogaW5zZXQgc29saWQ7XG4gIC5lbnRyeS1jb250ZW50IHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMS4wNnJlbTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLnMtYnV0dG9uLTF7XG4gICAgd2lkdGg6MTAwJTtcbiAgfVxuXG59XG5cbi5zaW5nbGUtcHJvZHVjdCB7XG5cbiAgLm5ld3NsZXR0ZXIge1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLWJsYWNrO1xuICAgICAgb3BhY2l0eTogMC4zO1xuICAgIH1cbiAgfVxuICAuc2luZ2xlLXByb2R1Y3QtbmV3c2xldHRlciB7XG5cbiAgICAucy1idXR0b24tMSB7XG4gICAgICBtYXgtd2lkdGg6IDI4MHB4ICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLndwY2Y3LW5vdC12YWxpZC10aXB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdIHtcbiAgICAgIG1heC13aWR0aDogMjgwcHggIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBoZWlnaHQ6IDAuOXJlbTtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHktbWFpbjtcbiAgICAgIC50ZXh0LTYoKTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci0xO1xuICAgIH1cblxuICAgIGJ1dHRvblt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICB3aWR0aDogMjgwcHg7XG4gICAgfVxuXG4gIH1cblxufSIsIi8qKioqKioqKioqKioqKioqXG5qcXVlcnktcmFuZ2UubGVzc1xuKioqKioqKioqKioqKioqL1xuLnNsaWRlci1yYW5nZS1jdXN0b20tMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLTIgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogNnB4ICFpbXBvcnRhbnQ7XG5cbiAgLnVpLXNsaWRlci1yYW5nZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXJlZDtcbiAgfVxuXG4gIC51aS1zbGlkZXItaGFuZGxlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBAY29sb3ItcmVkICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXdoaXRlICFpbXBvcnRhbnQ7XG4gICAgLnRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpKTtcbiAgICAmOmhvdmVyLCAmLnVpLXN0YXRlLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItcmVkICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIHRvcDogLTEwcHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDI0cHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogMjRweCAhaW1wb3J0YW50O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIHRvcDogLTdweDtcbiAgICB9XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3Itd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIEBjb2xvci1yZWQ7XG4gICAgbGVmdDogLTFweDtcbiAgICAudHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkpO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdG9wOiAtMTBweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMjRweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAyNHB4ICFpbXBvcnRhbnQ7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgdG9wOiAtN3B4O1xuICAgIH1cbiAgfVxufVxuXG4uc2xpZGVyLXJhbmdlLWN1c3RvbS0yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItMiAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiA2cHggIWltcG9ydGFudDtcblxuICAudWktc2xpZGVyLXJhbmdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItcmVkO1xuICB9XG5cbiAgLnVpLXdpZGdldC1oZWFkZXI6Zmlyc3QtY2hpbGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLnVpLXNsaWRlci1oYW5kbGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIEBjb2xvci1yZWQgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci13aGl0ZSAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuICAgIHRvcDogLTEwcHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDI0cHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogMjRweCAhaW1wb3J0YW50O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIHRvcDogLTdweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyLCAmLnVpLXN0YXRlLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItcmVkICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy9zcGFuIHtcbiAgLy8gIG1hcmdpbi1sZWZ0OiAtMC41ZW0gIWltcG9ydGFudDtcbiAgLy99XG59XG5cbi5zbGlkZXItcmFuZ2Utc3RlcHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci1yZWQgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogNnB4ICFpbXBvcnRhbnQ7XG5cbiAgLnVpLXNsaWRlci1yYW5nZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLTI7XG4gIH1cblxuICAudWktc2xpZGVyLWhhbmRsZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgQGNvbG9yLXJlZCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuXG4gICAgdG9wOiAtMTBweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMjRweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAyNHB4ICFpbXBvcnRhbnQ7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgdG9wOiAtN3B4O1xuICAgIH1cblxuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci13aGl0ZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuICAgIC50cmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSk7XG4gICAgJjpob3ZlciwgJi51aS1zdGF0ZS1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yLXJlZCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xMHB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDI0cHggIWltcG9ydGFudDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICB0b3A6IC03cHg7XG4gICAgfVxuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci13aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgQGNvbG9yLXJlZDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgLnRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpKTtcbiAgfVxufSIsIi8qIC1wcm9kdWN0LWJveC0zLmxlc3MgKi9cblxuLnByb2R1Y3QtYm94LTMge1xuXG4gICZfX2hlaWdodCB7XG4gICAgaGVpZ2h0OiAyLjA1NHJlbTtcbiAgfVxuXG5cbn0iLCIvKiBwcm9kdWN0LWJveC0xLmxlc3MgKi9cblxuLnByb2R1Y3QtYm94LTEge1xuXG4gIC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlIHtcbiAgICBoZWlnaHQ6IDEuNzNyZW07XG4gIH1cblxuICAuc3BlY2lhbC1wcmljZS1sYWJlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMjtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDIuNTNyZW07XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gIH1cblxuICAucHJvZHVjdC13cmFwcGVyLWlubmVyIHtcbiAgICBib3gtc2hhZG93OiBAYm94LXNoYWRvdy0zO1xuICAgIC50cmFuc2l0aW9uKCk7XG4gICAgLy9oZWlnaHQ6IDEwMCU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCA3LjNweCAyLjdweCByZ2JhKDIwMCwgMTYsIDQyLCAwLjM1KTtcbiAgICB9XG5cbiAgICAuYXR0YWNobWVudC13b29jb21tZXJjZV90aHVtYm5haWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgLy9wYWRkaW5nOjAuNXJlbSAwLjVyZW0gIWltcG9ydGFudFxuICAgIH1cblxuICB9XG5cbiAgLmRvdWJsZS1mbGFzaCB7XG4gICAgYW5pbWF0aW9uOiBkb3VibGUtZmxhc2hfNDQyMiA0cyBlYXNlIGluZmluaXRlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIH1cblxuICBAa2V5ZnJhbWVzIGRvdWJsZS1mbGFzaF80NDIyIHtcbiAgICAwJSB7IG9wYWNpdHk6MSB9XG4gICAgMTIuNSUgeyBvcGFjaXR5OjAgfVxuICAgIDI1JSB7IG9wYWNpdHk6MSB9XG4gICAgMzcuNSUgeyBvcGFjaXR5OjAgfVxuICAgIDUwJSB7IG9wYWNpdHk6MSB9XG4gICAgMTAwJSB7IG9wYWNpdHk6MSB9XG4gIH1cblxuXG59XG4iLCIvKiBwcm9kdWN0LWJveC00Lmxlc3MgKi9cblxuLnByb2R1Y3QtYm94LTQge1xuXG5cbiAgLnByb2R1Y3Qtd3JhcHBlci1pbm5lciB7XG5cblxuICAgIC5hdHRhY2htZW50LXdvb2NvbW1lcmNlX3RodW1ibmFpbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICB9XG5cbn1cblxuIiwiLyogcGFnZS1jb250YWN0Lmxlc3MgKi9cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1jb250YWN0IHtcblxuXG4gIC5waG9uZS1pbWcge1xuICAgIGJvdHRvbTogLTEuM3JlbTtcbiAgICB3aWR0aDogNS44NjY2NjY2NjY2NjY2NjdyZW07XG4gICAgbGVmdDogLTAuNnJlbTtcbiAgfVxuXG4gIC5idWJibGVzLWltZyB7XG4gICAgdG9wOiAtMy41cmVtO1xuICAgIHdpZHRoOiA4LjgzMzMzMzMzMzMzMzMzM3JlbTtcbiAgICBsZWZ0OiAtMy41cmVtO1xuICB9XG5cbiAgLm1haWwtaW1nIHtcbiAgICBib3R0b206IC0xLjlyZW07XG4gICAgd2lkdGg6IDQuMjMzMzMzMzMzMzMzMzMzcmVtO1xuICAgIHJpZ2h0OiAtMy4zcmVtO1xuICB9XG5cbn1cbiIsIi8qIDQwNC5sZXNzICovXG5cbi5lcnJvcjQwNCB7XG5cbiAgLmltZy1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogLTcwMDAlO1xuICB9XG4gICNwYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY3VzdG9tLWNvbG9yO1xuICB9XG4gIC5icmVhZGNydW1icyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGN1c3RvbS1jb2xvcjtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuaW1nLWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgaGVpZ2h0OiAyMy40NjY2NjY2NjY2NjY2N3JlbTtcbiAgICB9XG4gICAgLmJyZWFkY3J1bWJzIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgICAjcGFnZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAuZW50cnktY29udGVudCB7XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDAuNzMzMzMzMzMzMzMzMzMzM3JlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjgzMzMzMzMzMzMzMzMzMzNyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLyogcGFnZS10aGFua3MubGVzcyAqL1xuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXRoYW5rcyB7XG5cbiAgLmltZy1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogLTcwMDAlO1xuICB9XG4gICNwYWdlIHtcbiAgICAvL2JhY2tncm91bmQtY29sb3I6IEBjdXN0b20tY29sb3I7XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmltZy1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIGhlaWdodDogMjMuNDY2NjY2NjY2NjY2NjdyZW07XG4gICAgfVxuICAgIC5icmVhZGNydW1icyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgei1pbmRleDogMTtcblxuICAgIH1cbiAgICAjcGFnZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAuZW50cnktY29udGVudCB7XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDAuNzMzMzMzMzMzMzMzMzMzM3JlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjgzMzMzMzMzMzMzMzMzMzNyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuIiwiLyogcGFnZS1jb21wYXJpc29uLmxlc3MgKi9cblxuXG4uY29tcGFyaXNvbi10YWJsZS1yb3c6bnRoLWNoaWxkKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItMjtcbn1cblxuXG4iLCIvKiBtYXAubGVzcyAqL1xuXG4jYWNmLW1hcCB7XG4gIGhlaWdodDogMTByZW07XG59IiwiLyogZnJvbnQtcGFnZS5sZXNzICovXG5cbmJvZHkucGFnZS10ZW1wbGF0ZS1mcm9udC1wYWdlLm1vYmlsZSB7XG5cbiAgLnNlY3Rpb24tbGlua3MtMS1zbGlkZXIge1xuICAgIC5saW5rLWN1YmUge1xuICAgICAgYSB7XG4gICAgICAgIGhlaWdodDogNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG59XG5cbiIsIi8qIGNvbXBhcmlzb24tc3RyaXBlLmxlc3MgKi9cblxuLmNvbXBhcmlzb24tc3RyaXBlIHtcbiAgbWF4LXdpZHRoOiAxMDB2dztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDEwMCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHotaW5kZXg6IDM7XG4gIGJhY2tncm91bmQ6IEBjb2xvci0xO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgLmJveC1zaGFkb3coMHB4IDFweCA1cHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNSkpO1xuICBwYWRkaW5nOiAuNXJlbTtcbiAgLnRyYW5zaXRpb24oKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBtYXgtd2lkdGg6IDYxNXB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgJi5jb21wYXJpc29uLXN0cmlwZV9faGlkZSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgfVxuICAmX19ib3gtd3JhcHBlciB7XG4gICAgPiBkaXYge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci13aGl0ZTtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIEBjb2xvci0zO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDYxcHg7XG4gICAgICBoZWlnaHQ6IDYxcHg7XG4gICAgICAvL21hcmdpbjogMCAwLjVyZW0gMXJlbTtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAvL21hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgICAvL21hcmdpbi1yaWdodDogaW5oZXJpdDtcbiAgICAgICAgLy9tYXJnaW4tYm90dG9tOiBpbmhlcml0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb21wYXJlLWRpdiB7XG4gICAgICA+IHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIHRvcDogLTEzcHg7XG4gICAgICAgIGxlZnQ6IC0xM3B4O1xuICAgICAgfVxuICAgIH1cblxuICB9XG59IiwiLyogdHJhZGVpbi5sZXNzICovXG5cbi50cmFkZWluIHtcbiAgYm90dG9tOiAxNnZoO1xuICAudHJhbnNpdGlvbigpO1xuICB3aWR0aDogMTA3cHg7XG4gIGhlaWdodDogMTA3cHg7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IDMuNXB4IHJnYmEoOTgsOTUsOTYsMC4wNyk7XG4gICY6aG92ZXIge1xuICAgIC50cmFuc2Zvcm0ocm90YXRlKDE5ZGVnKSlcbiAgfVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8qIHNjcm9sbGJhci5sZXNzICovXG5cbi8qKioqKioqKioqKioqKiogU0NST0xMQkFSIEJBU0UgQ1NTICoqKioqKioqKioqKioqKi9cblxuLnNjcm9sbC13cmFwcGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNjcm9sbC13cmFwcGVyID4gLnNjcm9sbC1jb250ZW50IHtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiAwO1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IHNjcm9sbCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgdG9wOiAwO1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4uc2Nyb2xsLXdyYXBwZXIgPiAuc2Nyb2xsLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbn1cblxuLnNjcm9sbC1lbGVtZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNjcm9sbC1lbGVtZW50LCAuc2Nyb2xsLWVsZW1lbnQgZGl2IHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi5zY3JvbGwtZWxlbWVudC5zY3JvbGwteC5zY3JvbGwtc2Nyb2xseF92aXNpYmxlLFxuLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15LnNjcm9sbC1zY3JvbGx5X3Zpc2libGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtYmFyLFxuLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtYXJyb3cge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5zY3JvbGwtdGV4dGFyZWEge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjO1xuICBib3JkZXItdG9wLWNvbG9yOiAjOTk5OTk5O1xufVxuXG4uc2Nyb2xsLXRleHRhcmVhID4gLnNjcm9sbC1jb250ZW50IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4uc2Nyb2xsLXRleHRhcmVhID4gLnNjcm9sbC1jb250ZW50ID4gdGV4dGFyZWEge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMDtcbiAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IHNjcm9sbCAhaW1wb3J0YW50O1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5zY3JvbGwtdGV4dGFyZWEgPiAuc2Nyb2xsLWNvbnRlbnQgPiB0ZXh0YXJlYTo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xufVxuXG4vKioqKioqKioqKioqKioqIFNDUk9MTEJBUiBMSUdIVCAqKioqKioqKioqKioqKiovXG5cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQsXG4uc2Nyb2xsYmFyLWxpZ2h0ID4gLnNjcm9sbC1lbGVtZW50IGRpdiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xufVxuXG4uc2Nyb2xsYmFyLWxpZ2h0ID4gLnNjcm9sbC1lbGVtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cblxuLnNjcm9sbGJhci1saWdodCA+IC5zY3JvbGwtZWxlbWVudCBkaXYge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItMjtcbn1cblxuXG4uc2Nyb2xsYmFyLWxpZ2h0ID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF9zaXplIHtcbiAgYmFja2dyb3VuZDogI2RiZGJkYjtcbiAgYmFja2dyb3VuZDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQS9QZ284YzNabklIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2QybGtkR2c5SWpFd01DVWlJR2hsYVdkb2REMGlNVEF3SlNJZ2RtbGxkMEp2ZUQwaU1DQXdJREVnTVNJZ2NISmxjMlZ5ZG1WQmMzQmxZM1JTWVhScGJ6MGlibTl1WlNJK0NpQWdQR3hwYm1WaGNrZHlZV1JwWlc1MElHbGtQU0puY21Ga0xYVmpaMmN0WjJWdVpYSmhkR1ZrSWlCbmNtRmthV1Z1ZEZWdWFYUnpQU0oxYzJWeVUzQmhZMlZQYmxWelpTSWdlREU5SWpBbElpQjVNVDBpTUNVaUlIZ3lQU0l4TURBbElpQjVNajBpTUNVaVBnb2dJQ0FnUEhOMGIzQWdiMlptYzJWMFBTSXdKU0lnYzNSdmNDMWpiMnh2Y2owaUkyUmlaR0prWWlJZ2MzUnZjQzF2Y0dGamFYUjVQU0l4SWk4K0NpQWdJQ0E4YzNSdmNDQnZabVp6WlhROUlqRXdNQ1VpSUhOMGIzQXRZMjlzYjNJOUlpTmxPR1U0WlRnaUlITjBiM0F0YjNCaFkybDBlVDBpTVNJdlBnb2dJRHd2YkdsdVpXRnlSM0poWkdsbGJuUStDaUFnUEhKbFkzUWdlRDBpTUNJZ2VUMGlNQ0lnZDJsa2RHZzlJakVpSUdobGFXZG9kRDBpTVNJZ1ptbHNiRDBpZFhKc0tDTm5jbUZrTFhWaloyY3RaMlZ1WlhKaGRHVmtLU0lnTHo0S1BDOXpkbWMrJyk7XG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICNkYmRiZGIgMCUsICNlOGU4ZTggMTAwJSk7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBjb2xvci1zdG9wKDAlLCAjZGJkYmRiKSwgY29sb3Itc3RvcCgxMDAlLCAjZThlOGU4KSk7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICNkYmRiZGIgMCUsICNlOGU4ZTggMTAwJSk7XG4gIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZGJkYmRiIDAlLCAjZThlOGU4IDEwMCUpO1xuICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsICNkYmRiZGIgMCUsICNlOGU4ZTggMTAwJSk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2RiZGJkYiAwJSwgI2U4ZThlOCAxMDAlKTtcblxufVxuXG4uc2Nyb2xsYmFyLWxpZ2h0ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IHtcbiAgYm90dG9tOiAwO1xuICBoZWlnaHQ6IDE3cHg7XG4gIGxlZnQ6IDA7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiA4cHg7XG59XG5cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1iYXIge1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBiYWNrZ3JvdW5kOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlBL1BnbzhjM1puSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZDJsa2RHZzlJakV3TUNVaUlHaGxhV2RvZEQwaU1UQXdKU0lnZG1sbGQwSnZlRDBpTUNBd0lERWdNU0lnY0hKbGMyVnlkbVZCYzNCbFkzUlNZWFJwYnowaWJtOXVaU0krQ2lBZ1BHeHBibVZoY2tkeVlXUnBaVzUwSUdsa1BTSm5jbUZrTFhWaloyY3RaMlZ1WlhKaGRHVmtJaUJuY21Ga2FXVnVkRlZ1YVhSelBTSjFjMlZ5VTNCaFkyVlBibFZ6WlNJZ2VERTlJakFsSWlCNU1UMGlNQ1VpSUhneVBTSXhNREFsSWlCNU1qMGlNQ1VpUGdvZ0lDQWdQSE4wYjNBZ2IyWm1jMlYwUFNJd0pTSWdjM1J2Y0MxamIyeHZjajBpSTJabFptVm1aU0lnYzNSdmNDMXZjR0ZqYVhSNVBTSXhJaTgrQ2lBZ0lDQThjM1J2Y0NCdlptWnpaWFE5SWpFd01DVWlJSE4wYjNBdFkyOXNiM0k5SWlObU5XWTFaalVpSUhOMGIzQXRiM0JoWTJsMGVUMGlNU0l2UGdvZ0lEd3ZiR2x1WldGeVIzSmhaR2xsYm5RK0NpQWdQSEpsWTNRZ2VEMGlNQ0lnZVQwaU1DSWdkMmxrZEdnOUlqRWlJR2hsYVdkb2REMGlNU0lnWm1sc2JEMGlkWEpzS0NObmNtRmtMWFZqWjJjdFoyVnVaWEpoZEdWa0tTSWdMejRLUEM5emRtYysnKTtcbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgI2ZlZmVmZSAwJSwgI2Y1ZjVmNSAxMDAlKTtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGNvbG9yLXN0b3AoMCUsICNmZWZlZmUpLCBjb2xvci1zdG9wKDEwMCUsICNmNWY1ZjUpKTtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgI2ZlZmVmZSAwJSwgI2Y1ZjVmNSAxMDAlKTtcbiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICNmZWZlZmUgMCUsICNmNWY1ZjUgMTAwJSk7XG4gIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgI2ZlZmVmZSAwJSwgI2Y1ZjVmNSAxMDAlKTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZmVmZWZlIDAlLCAjZjVmNWY1IDEwMCUpO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkICNkYmRiZGI7XG59XG5cbi8qIHNjcm9sbGJhciBoZWlnaHQvd2lkdGggJiBvZmZzZXQgZnJvbSBjb250YWluZXIgYm9yZGVycyAqL1xuXG4uc2Nyb2xsYmFyLWxpZ2h0ID4gLnNjcm9sbC1jb250ZW50LnNjcm9sbC1zY3JvbGx5X3Zpc2libGUge1xuICBsZWZ0OiAtMTdweDtcbiAgbWFyZ2luLWxlZnQ6IDE3cHg7XG59XG5cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWNvbnRlbnQuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSB7XG4gIHRvcDogLTE3cHg7XG4gIG1hcmdpbi10b3A6IDE3cHg7XG59XG5cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXggLnNjcm9sbC1iYXIge1xuICBoZWlnaHQ6IDEwcHg7XG4gIG1pbi13aWR0aDogMTBweDtcbiAgdG9wOiAwO1xufVxuXG4uc2Nyb2xsYmFyLWxpZ2h0ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtYmFyIHtcbiAgbGVmdDogMDtcbiAgbWluLWhlaWdodDogMTBweDtcbiAgYmFja2dyb3VuZDogQGNvbG9yLXJlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogMDtcbn1cblxuLnNjcm9sbGJhci1saWdodCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteCAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIge1xuICBoZWlnaHQ6IDEycHg7XG4gIGxlZnQ6IDJweDtcbiAgdG9wOiAycHg7XG59XG5cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXggLnNjcm9sbC1lbGVtZW50X3NpemUge1xuICBsZWZ0OiAtNHB4O1xufVxuXG4uc2Nyb2xsYmFyLWxpZ2h0ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtZWxlbWVudF9vdXRlciB7XG4gIGxlZnQ6IDJweDtcbiAgdG9wOiAycHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc2Nyb2xsYmFyLWxpZ2h0ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtZWxlbWVudF9zaXplIHtcbiAgdG9wOiAtNHB4O1xufVxuXG4vKiB1cGRhdGUgc2Nyb2xsYmFyIG9mZnNldCBpZiBib3RoIHNjcm9sbHMgYXJlIHZpc2libGUgKi9cblxuLnNjcm9sbGJhci1saWdodCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteC5zY3JvbGwtc2Nyb2xseV92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF9zaXplIHtcbiAgbGVmdDogLTE5cHg7XG59XG5cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7XG4gIHRvcDogLTE5cHg7XG59XG5cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXguc2Nyb2xsLXNjcm9sbHlfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfdHJhY2sge1xuICBsZWZ0OiAtMTlweDtcbn1cblxuLnNjcm9sbGJhci1saWdodCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteS5zY3JvbGwtc2Nyb2xseF92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF90cmFjayB7XG4gIHRvcDogLTE5cHg7XG59XG5cblxuXG5cbiIsIi8qIGZhdm9yaXRlLmxlc3MgKi9cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1mYXZvcml0ZSB7XG4gIC5wcm9kdWN0LXRhYnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgJl9fdGFiIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB3aWR0aDogNC42cmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgQGNvbG9yLTM7XG4gICAgICBjb2xvcjogQGNvbG9yLTM7XG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCBAY29sb3ItcmVkO1xuICAgICAgICBjb2xvcjogQGNvbG9yLXJlZDtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogLTExcHg7XG4gICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgIGxlZnQ6IDQ1JTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItcmVkO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8qKioqKioqKioqKipcbm1vZGFsLmxlc3NcbioqKioqKioqKioqKi9cbi5tb2RhbC1iYWNrZHJvcC5zaG93IHtcbiAgb3BhY2l0eTogMC44O1xufVxuXG4jdHJhZGVpbk1vZGFsIHtcblxuICAud3BjZjctZm9ybS1jb250cm9sLXdyYXB7XG4gICAgcG9zaXRpb246IHVuc2V0O1xuICB9XG5cbiAgLm1vZGFsLWRpYWxvZyB7XG5cbiAgICB0b3A6IDEuNXJlbTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgd2lkdGg6IDI5cmVtO1xuICAgICAgbWF4LXdpZHRoOiAyOXJlbTtcbiAgICAgIHRvcDogM3JlbTtcbiAgICB9XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICAmOmJlZm9yZXtcbiAgICAgICAgY29udGVudDonJztcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL3RyYWRlLWluLXBvcHVwLnBuZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5jbG9zZS10cmFkZS1pbi1tb2RhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTEuNHJlbTtcbiAgICByaWdodDogLTAuNXJlbTtcbiAgICBjb2xvcjogQGNvbG9yLXdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICB9XG59XG5cbiNvcmRlci1jYXItbW9kYWwge1xuXG4gIC5tb2RhbC1oZWFkZXIge1xuICAgIC8vaGVpZ2h0OiAxLjhyZW07XG4gIH1cblxuICAubW9kYWwtZGlhbG9nIHtcbiAgICB3aWR0aDogMjlyZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHRvcDogMS42cmVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDAgMC41cmVtO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdG9wOiAzcmVtO1xuICAgIH1cblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuICB9XG5cbiAgLmNsb3NlLXRyYWRlLWluLW1vZGFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMS40cmVtO1xuICAgIHJpZ2h0OiAtMC41cmVtO1xuICAgIGNvbG9yOiBAY29sb3Itd2hpdGU7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gIH1cblxuXG5cbiAgLndwY2Y3LWZvcm0tY29udHJvbC13cmFwe1xuICAgIHBvc2l0aW9uOiB1bnNldDtcbiAgfVxuXG59IiwiLnNhbGUtZm9ybS13cmFwcGVye1xuICAud3BjZjctbm90LXZhbGlkLXRpcHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiA1MHB4O1xuICB9XG4gIGlucHV0e1xuICAgIGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHktbWFpbjtcbiAgfVxuICBzZWxlY3Qgb3B0aW9uIHtcbiAgICAuYmctd2hpdGU7XG4gIH1cblxufSIsIi8qIGhlYWRlci0zLmxlc3MgKi9cblxuLmhlYWRlci0zIHtcbiAgcGFkZGluZzogLjI1cmVtIC41cmVtIDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogODUlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIC5kaXNwbGF5LWZsZXgoKTtcbiAgLmQtZmxleC1qdXN0aWZ5KHNwYWNlLWJldHdlZW4pO1xuICAuYWxpZ24taXRlbXMoZW5kKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTUwMHB4KSB7XG4gICAgd2lkdGg6IDY1LjE1JTtcbiAgfVxuXG4gIC5pY29uLWplZXAtY2FyLTAxLTAxIHtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgfVxuXG4gIC5pY29uLXNwb3J0cy1jYXItMDEtMDEge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICB9XG5cbiAgLmljb24tbHV4ZXJ5LWNhci0wMS0wMSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cblxuXG4gICZfX21lbnVzIHtcbiAgICAuZmxleCgxKTtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAuYWxpZ24tc2VsZihmbGV4LWVuZCk7XG4gIH1cblxuICAmX19tZW51IHtcbiAgICAuZmxleC1kaXNwbGF5KCk7XG4gICAgPiBsaSB7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICA+IGEge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBAY29sb3ItcmVkO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC42cmVtO1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTkwMHB4KSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgICAgJi5jdXJyZW50LW1lbnUtaXRlbSB7XG4gICAgICAgID4gYXtcbiAgICAgICAgICBjb2xvcjogQGNvbG9yLXJlZDtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG5cbiAgICAgICYubWVudS1pdGVtLWhhcy1jaGlsZHJlbi5jYXJzLXN1Yi1tZW51LXBhcmVudHtcbiAgICAgICAgIC5zdWItbWVudSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgQGNvbG9yLTI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGJhY2tncm91bmQ6IEBjb2xvci13aGl0ZTtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBAY29sb3ItcmVkO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNTNyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5zdWItbWVudSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvci13aGl0ZTtcbiAgICAgICAgICAgICAgcGFkZGluZzogMXJlbSAwLjhyZW0gMDtcbiAgICAgICAgICAgICAgLmZsZXgtZGlzcGxheSgpO1xuICAgICAgICAgICAgICAuZC1mbGV4LWp1c3RpZnkoZmxleC1zdGFydCk7XG4gICAgICAgICAgICAgIC5mbGV4LXdyYXAod3JhcCk7XG4gICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgICAgIC5mbGV4KDAgMCA2LjM2NjY2N3JlbSk7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC5hbGlnbi1zZWxmKGZsZXgtZW5kKTtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGNvbG9yLTM7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICB9XG4gICAgICB9XG5cblxuXG5cblxuXG4gICAgICAmLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46bm90KC5jYXJzLXN1Yi1tZW51LXBhcmVudCkge1xuICAgICAgICAuc3ViLW1lbnUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIEBjb2xvci0yO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogQGNvbG9yLXdoaXRlO1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IEBjb2xvci1yZWQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC41M3JlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIC5zdWItbWVudSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3Itd2hpdGU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDAuOHJlbSAwO1xuICAgICAgICAgICAgLmZsZXgtZGlzcGxheSgpO1xuICAgICAgICAgICAgLmQtZmxleC1qdXN0aWZ5KGZsZXgtc3RhcnQpO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIC5mbGV4LXdyYXAod3JhcCk7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgY29sb3I6IEBjb2xvci0zO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG5cblxuXG5cblxuICAgICAgPiBhIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgY29sb3I6IEBjb2xvci1ibGFjaztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjUzMzMzMzMzMzMzMzMzMzNyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC42cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAmX190b3AtbWVudSB7XG4gICAgLmZsZXgtZGlzcGxheSgpO1xuICAgIC5hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIGxpIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC4yNXJlbTtcbiAgICAgIH1cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG4gICAgICB9XG4gICAgICAmLmhlYWRlci0zX19idXR0b24ge1xuICAgICAgICBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBAY29sb3ItcmVkO1xuICAgICAgICAgIGNvbG9yOiBAY29sb3Itd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICBwYWRkaW5nOiAwIC41cmVtO1xuICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDAgYmxhY2s7XG4gICAgICAgICAgLnRyYW5zaXRpb24oYm94LXNoYWRvdyAwLjRzKTtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMjhweCAwIDAgYmxhY2s7XG4gICAgICAgICAgICBjb2xvcjogQGNvbG9yLXdoaXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICY6bm90KFtjbGFzc149XCJpY29uXCJdKSB7XG4gICAgICAgICAgICAudGV4dC02O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAuM3JlbTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fcGhvbmUge1xuICAgIGN1cnNvcjogaW5pdGlhbDtcbiAgICBzcGFuIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogLjI1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2xvZ28ge1xuICAgIC8vd2lkdGg6IDUuM3JlbTtcbiAgICAvL2hlaWdodDogMi42MzMzMzMzMzMzMzMzMzNyZW07XG4gICAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvbG9nbzEucG5nXCIpO1xuICAgIC8vYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAvL2JhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgfVxuXG4gICZfX21lbnUtaXRlbS13cmFwcGVyIHtcbiAgICBoZWlnaHQ6IDcydmg7XG4gIH1cblxufVxuXG5ib2R5LmZpeGVkIHtcblxuICAuaGVhZGVyLTMge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAuYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB+J2NhbGMoOC4zMzM1JSArIDE1cHgpJztcbiAgICBwYWRkaW5nLWxlZnQ6IH4nY2FsYyg4LjMzMzUlICsgMTVweCknO1xuICAgIHotaW5kZXg6IDM7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE1MDBweCkge1xuICAgICAgcGFkZGluZy1yaWdodDogfidjYWxjKDE2LjY2NjY2NjUlICsgMTVweCknO1xuICAgICAgcGFkZGluZy1sZWZ0OiB+J2NhbGMoMTYuNjY2NjY2NSUgKyAxNXB4KSc7XG4gICAgfVxuXG4gICAgJl9fcGhvbmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmX190b3AtbWVudSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgICAgLmhlYWRlci0zX19idXR0b24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgcGFkZGluZzogMC4xOHJlbSAwLjMycmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLjVyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICBzcGFuOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX21lbnUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgLmZsZXgtZ3JvdygxKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07XG4gICAgICA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTkwMHB4KSB7XG4gICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAuNXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cblxuICAgICZfX21lbnVzIHtcbiAgICAgIC8vLmRpc3BsYXktZmxleCgpO1xuICAgICAgZGl2IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgLmFsaWduLXNlbGYoY2VudGVyKTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDIuMnJlbSAhaW1wb3J0YW50O1xuICAgIH1cblxuICB9XG5cbiAgJi5ub3QtZnJvbnRwYWdlIHtcbiAgICAuaGVhZGVyLTMge1xuICAgICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbmJvZHkubW9iaWxlLCBib2R5Lm1vYmlsZS1yZXNpemVkIHtcblxuICAuaGVhZGVyLTMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDk5OTk5OTk5OTk7XG4gICAgLnRyYW5zaXRpb24oLjZzKTtcblxuICAgIC5jdXN0b20tdyB7XG4gICAgICB3aWR0aDogLjg1cmVtO1xuICAgIH1cbiAgICAuY3VzdG9tLXB5IHtcbiAgICAgIHBhZGRpbmctdG9wOiAuMXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAuMXJlbTtcbiAgICB9XG5cbiAgICAuaWNvbi1hbGlnbiB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIC55LWFsaWduO1xuICAgICAgfVxuICAgIH1cbiAgICAuY2xvc2Utd3JhcHBlciB7XG4gICAgICAudHJhbnNpdGlvbiguNnMpO1xuICAgICAgbGVmdDogLTEwMCU7XG4gICAgfVxuICAgICZfX21lbnUge1xuICAgICAgLnRyYW5zaXRpb24oLjZzKTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAuZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLm1lbnUge1xuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAuNnJlbTtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBAY29sb3ItMztcbiAgICAgICAgICAgIHBhZGRpbmc6IC4zcmVtIDA7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDAuNTNyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICYuY3VycmVudF9wYWdlX2l0ZW0ge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiBAY29sb3ItcmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBhW2hyZWY9XCIjXCJdIHtcbiAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY3VzdG9tLWFycm93LXRvcCB7XG4gICAgICAgICAgICAgIHRvcDogLjU2cmVtO1xuICAgICAgICAgICAgICBmb250LXNpemU6IC4zcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnN1Yi1tZW51IHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgdG9wOiAwLjRyZW07XG4gICAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnN0cmlwZXMtbWVudSB7XG4gICAgICAudHJhbnNpdGlvbih0cmFuc2Zvcm0gLjNzKTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgZGl2IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICBiYWNrZ3JvdW5kOiBAY29sb3ItcmVkO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuMTVyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuY2xvc2UtbWVudSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGl2IHtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB3aWR0aDogMC44MjVyZW07XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAudHJhbnNmb3JtKHJvdGF0ZSg0NWRlZykpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDIuMDYyNXJlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0b3A6IC0xcmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgLnRyYW5zZm9ybShyb3RhdGUoLTQ1ZGVnKSk7XG5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sb2dvIHtcbiAgICAgIHdpZHRoOiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbn1cblxuYm9keS5kZXNrdG9wIHtcbiAgLmhlYWRlci0zIHtcbiAgICAmX19sb2dvIHtcbiAgICAgIHdpZHRoOiA1LjA2cmVtO1xuICAgIH1cbiAgfVxufVxuXG5ib2R5LmRlc2t0b3A6bm90KC5tb2JpbGUtcmVzaXplZCkge1xuICAmLm5vdC1mcm9udHBhZ2Uge1xuICAgIC5oZWFkZXItMyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IH4nY2FsYygxNi41OCUgKyAxNXB4KSc7XG4gICAgICBwYWRkaW5nLWxlZnQ6IH4nY2FsYygxNi41OCUgKyAxNXB4KSc7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cbiAgfVxufVxuXG5ib2R5Lm9wZW5lZC1tZW51IHtcbiAgLmhlYWRlci0zIHtcbiAgICByaWdodDogLTEwMCU7XG4gICAgLmhlYWRlci0zX19tZW51IHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICAgIC5jbG9zZS13cmFwcGVyIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5waG9uZS1oZWFkZXJ7XG4gIHdpZHRoOiAyNHB4O1xufVxuXG4jb3Blbl9zb2dvYWNjLnRvcGxlZnR7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjZweCkge1xuICAgIHRvcDo2M3B4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8qIGZvb3Rlci0zLmxlc3MgKi9cblxuLmZvb3Rlci0zIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL2Zvb3Rlci1iZy5qcGdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIC53cGNmNyB7XG4gICAgbWFyZ2luLXRvcDogLjVyZW07XG4gICAgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5mb290ZXItbmV3c2xldHRlciB7XG5cbiAgICAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXXtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1tYWluO1xuICAgICAgICBwYWRkaW5nOjAgMTBweDtcbiAgICAgICAgaGVpZ2h0OjMzcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlcjoxcHggc29saWQgQGNvbG9yLTI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOkBjb2xvci0xO1xuICAgICAgfVxuXG4gICAgICAvLy5mbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xuXG4gICAgICAud3BjZjctbm90LXZhbGlkLXRpcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjZyZW07XG4gICAgICB9XG4gICAgICBsYWJlbCB7XG4gICAgICAgIC8vd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgLnRleHQtcCgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAuMjVyZW07XG4gICAgICB9XG4gICAgICAuZW1haWxfYWRkcmVzcyB7XG4gICAgICAgIC8vcGFzdGUgaGVyZSB0aGUgaW5wdXQgY3NzXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgLnRleHQtcCgpO1xuICB9XG5cbiAgLndpZGdldCB7XG4gICAgLnRleHR3aWRnZXQge1xuICAgICAgY29sb3I6IEBjb2xvci01O1xuICAgICAgLnRleHQtNTtcbiAgICB9XG4gICAgJjpub3QoLmZvb3Rlci0zX19uZXdzbGV0dGVyKSB7XG4gICAgICA+IGJ1dHRvbiArIGRpdiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIC50cmFuc2l0aW9uKCk7XG4gICAgICAudGV4dC01O1xuICAgICAgY29sb3I6IEBjb2xvci01O1xuICAgIH1cblxuICAgIC5tZW51IHtcbiAgICAgIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogQGNvbG9yLXJlZDtcbiAgICAgIH1cbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjI1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAuY3VzdG9tLXRvcCB7XG4gICAgICB0b3A6IC4xcmVtO1xuICAgIH1cblxuICB9XG5cbiAgJl9fc2hvdy1zdWJtZW51IHtcbiAgICArIGRpdiB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4iLCIvKioqKioqKioqKioqKipcbmZhcS5sZXNzXG4qKioqKioqKioqKioqL1xuXG4uc2VjdGlvbi1mYXEtMiB7XG5cblxuXG4gIC5jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IEBjb2xvci1yZWQ7XG4gICAgfVxuICB9XG5cbiAgLnFhOm50aC1jaGlsZChldmVuKSB7XG4gICAgLnF1ZXN0aW9uIHtcbiAgICAgIGJhY2tncm91bmQ6IEBjb2xvci0yO1xuICAgIH1cbiAgICAuYW5zd2VyLWlubmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IEBjb2xvci0yO1xuICAgIH1cbiAgfVxuXG4gIC5xdWVzdGlvbiB7XG4gICAgYmFja2dyb3VuZDogQGNvbG9yLTc7XG4gIH1cbiAgLmFuc3dlci1pbm5lciB7XG4gICAgYmFja2dyb3VuZDogQGNvbG9yLTc7XG4gIH1cblxuICAucXVlc3Rpb24ge1xuICAgIGNvbG9yOiBAY29sb3Itd2hpdGU7XG4gICAgcGFkZGluZzogMC45NXJlbSAwO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLmljb24ge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBmb250LWZhbWlseTogaWNvbW9vbjtcbiAgICAgICAgY29udGVudDogJ1xcZTkyMic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jb2xsYXBzZWQge1xuICAgICAgY29sb3I6IEBjb2xvci0zO1xuICAgICAgcGFkZGluZzogMC45NXJlbSAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBpY29tb29uO1xuICAgICAgICAgIGNvbnRlbnQ6ICdcXGU5MjcnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmFuc3dlciB7XG5cbiAgICAuYW5zd2VyLWlubmVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIH1cbiAgfVxuXG59IiwiLyogbW9iaWxlLWZpeGVkLWJ1dHRvbnMubGVzcyAqL1xuXG5ib2R5Lm1vYmlsZSB7XG5cbiAgLm1vYmlsZS1maXhlZC1idXR0b25zLTEge1xuICAgIGJvdHRvbTogMDtcbiAgICAudHJhbnNpdGlvbigxcyk7XG4gICAgPiBkaXY6bGFzdC1jaGlsZCB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICBoZWlnaHQ6IDY5JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuYm9keS5vcGVuZWQtbWVudSB7XG4gIC5tb2JpbGUtZml4ZWQtYnV0dG9ucy0xIHtcbiAgICBib3R0b206IC0xMHZoIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLyoqKioqKioqKioqKioqKipcbnNlY3Rpb24tc2ltcGxlLTEzLmxlc3NcbioqKioqKioqKioqKioqKioqKi9cblxuYm9keS5kZXNrdG9wIHtcbiAgLnNlY3Rpb24tc2ltcGxlLTEzIHtcbiAgICBtaW4taGVpZ2h0OiA1OXZoO1xuICB9XG4gIC5zZWN0aW9uLTEzLWN1YmUge1xuICAgIC8vaGVpZ2h0OiAzMC41dmg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwIHtcbiAgICAgIGhlaWdodDogMi43NXJlbTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG59XG5cbi5zZWN0aW9uLXNpbXBsZS0xMyB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblxuICAuc2VjdGlvbi0xMy1jdWJlIHtcbiAgICAvL2hlaWdodDogMzAuNXZoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLy9AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAvLyAgLnRpdGxlLWhlaWdodCB7XG4gICAgLy8gICAgaGVpZ2h0OiAxLjhyZW07XG4gICAgLy8gIH1cbiAgICAvL1xuICAgIC8vICAucC1oZWlnaHQge1xuICAgIC8vICAgIGhlaWdodDogMS44cmVtO1xuICAgIC8vICB9XG4gICAgLy99XG4gIH1cblxufSIsIi8qIG1vYmlsZS1maWx0ZXItbW9kYWwtMS5sZXNzICovXG5cbmJvZHkub3BlbmVkLXNlYXJjaC1tb2RhbCB7XG5cbiAgLnNlYXJjaC1tb2RhbCB7XG4gICAgbGVmdDogMDtcbiAgfVxuICAuc2VhcmNoLW1vZGFsLWhlYWRlciB7XG4gICAgdG9wOiAwO1xuICB9XG59XG5cbi5tb2JpbGUtc2VhcmNoLW1vZGFsLTEge1xuICAuc2VhcmNoLW1vZGFsLWhlYWRlciB7XG4gICAgdG9wOiAtMTR2aDtcbiAgICAudHJhbnNpdGlvbigpO1xuICB9XG5cbiAgLnNlYXJjaC1tb2RhbCB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIGJhY2tncm91bmQ6IEBjb2xvci13aGl0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDk5O1xuICAgIGxlZnQ6IC0xMDAlO1xuICAgIC50cmFuc2l0aW9uKCk7XG5cbiAgICAudGFiLXBhbmUge1xuICAgICAgbWFyZ2luOiAwLjJyZW0gMXJlbSAwO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtdGFicyB7XG4gICAgYm9yZGVyOiBub25lO1xuXG4gICAgLm5hdi1pdGVtIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcblxuICAgICAgfVxuXG4gICAgICAubmF2LWxpbmsge1xuICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgQGNvbG9yLTM7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG5cbiAgICAgICAgc3Bhbi5pY29uIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgQGNvbG9yLXJlZDtcbiAgICAgICAgICBjb2xvcjogQGNvbG9yLXJlZDtcblxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IC0xMXB4O1xuICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICBsZWZ0OiA0NSU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3ItcmVkO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5idG57XG4gICAgcGFkZGluZzogMC4xcmVtIDAuM3JlbTtcbiAgICBmb250LXNpemU6IDAuNnJlbTtcbiAgICAmLmFjdGl2ZXtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6QGNvbG9yLXJlZDtcbiAgICAgIGNvbG9yOkBjb2xvci13aGl0ZTtcbiAgICB9XG4gIH1cbn0iXX0= */