@charset "UTF-8";
/******************************************************************
	
Stylesheet: Main Stylesheet

Here's where the magic happens. Here is where you import
all of your Sass files so they can compile into one
CSS file. 

******************************************************************/
/**
 * Foundation for Sites
 * Version 6.7.5
 * https://get.foundation
 * Licensed under MIT Open Source
 */
@media print, screen and (min-width: 40em) {
  .reveal, .reveal.tiny, .reveal.small, .reveal.large {
    right: auto;
    left: auto;
    margin: 0 auto; } }

.slide-in-down.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-down.mui-enter.mui-enter-active {
  -webkit-transform: translateY(0);
          transform: translateY(0); }

.slide-in-left.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-left.mui-enter.mui-enter-active {
  -webkit-transform: translateX(0);
          transform: translateX(0); }

.slide-in-up.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-up.mui-enter.mui-enter-active {
  -webkit-transform: translateY(0);
          transform: translateY(0); }

.slide-in-right.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-right.mui-enter.mui-enter-active {
  -webkit-transform: translateX(0);
          transform: translateX(0); }

.slide-out-down.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-down.mui-leave.mui-leave-active {
  -webkit-transform: translateY(100%);
          transform: translateY(100%); }

.slide-out-right.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-right.mui-leave.mui-leave-active {
  -webkit-transform: translateX(100%);
          transform: translateX(100%); }

.slide-out-up.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-up.mui-leave.mui-leave-active {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%); }

.slide-out-left.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-left.mui-leave.mui-leave-active {
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%); }

.fade-in.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  opacity: 0;
  -webkit-transition-property: opacity;
  transition-property: opacity; }

.fade-in.mui-enter.mui-enter-active {
  opacity: 1; }

.fade-out.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  opacity: 1;
  -webkit-transition-property: opacity;
  transition-property: opacity; }

.fade-out.mui-leave.mui-leave-active {
  opacity: 0; }

.hinge-in-from-top.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: top;
          transform-origin: top;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-top.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-right.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: right;
          transform-origin: right;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-right.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-bottom.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-bottom.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-left.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-left.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-x.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-middle-x.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-y.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-middle-y.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-out-from-top.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: top;
          transform-origin: top;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-top.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  opacity: 0; }

.hinge-out-from-right.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: right;
          transform-origin: right;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-right.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  opacity: 0; }

.hinge-out-from-bottom.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-bottom.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-left.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-left.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.hinge-out-from-middle-x.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-middle-x.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  opacity: 0; }

.hinge-out-from-middle-y.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-middle-y.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  opacity: 0; }

.scale-in-up.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.scale-in-up.mui-enter.mui-enter-active {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1; }

.scale-in-down.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.scale-in-down.mui-enter.mui-enter-active {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1; }

.scale-out-up.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.scale-out-up.mui-leave.mui-leave-active {
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
  opacity: 0; }

.scale-out-down.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.scale-out-down.mui-leave.mui-leave-active {
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
  opacity: 0; }

.spin-in.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.spin-in.mui-enter.mui-enter-active {
  -webkit-transform: rotate(0);
          transform: rotate(0);
  opacity: 1; }

.spin-out.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: rotate(0);
          transform: rotate(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.spin-out.mui-leave.mui-leave-active {
  -webkit-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  opacity: 0; }

.spin-in-ccw.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.spin-in-ccw.mui-enter.mui-enter-active {
  -webkit-transform: rotate(0);
          transform: rotate(0);
  opacity: 1; }

.spin-out-ccw.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: rotate(0);
          transform: rotate(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.spin-out-ccw.mui-leave.mui-leave-active {
  -webkit-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  opacity: 0; }

.slow {
  -webkit-transition-duration: 750ms !important;
          transition-duration: 750ms !important; }

.fast {
  -webkit-transition-duration: 250ms !important;
          transition-duration: 250ms !important; }

.linear {
  -webkit-transition-timing-function: linear !important;
          transition-timing-function: linear !important; }

.ease {
  -webkit-transition-timing-function: ease !important;
          transition-timing-function: ease !important; }

.ease-in {
  -webkit-transition-timing-function: ease-in !important;
          transition-timing-function: ease-in !important; }

.ease-out {
  -webkit-transition-timing-function: ease-out !important;
          transition-timing-function: ease-out !important; }

.ease-in-out {
  -webkit-transition-timing-function: ease-in-out !important;
          transition-timing-function: ease-in-out !important; }

.bounce-in {
  -webkit-transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
          transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  -webkit-transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
          transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  -webkit-transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
          transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  -webkit-transition-delay: 300ms !important;
          transition-delay: 300ms !important; }

.long-delay {
  -webkit-transition-delay: 700ms !important;
          transition-delay: 700ms !important; }

.shake {
  -webkit-animation-name: shake-7;
          animation-name: shake-7; }

@-webkit-keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    -webkit-transform: translateX(7%);
            transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    -webkit-transform: translateX(-7%);
            transform: translateX(-7%); } }

@keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    -webkit-transform: translateX(7%);
            transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    -webkit-transform: translateX(-7%);
            transform: translateX(-7%); } }

.spin-cw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn; }

@-webkit-keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

@keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

.spin-ccw {
  -webkit-animation-name: spin-ccw-1turn;
          animation-name: spin-ccw-1turn; }

@-webkit-keyframes spin-ccw-1turn {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  100% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn); } }

@keyframes spin-ccw-1turn {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  100% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn); } }

.wiggle {
  -webkit-animation-name: wiggle-7deg;
          animation-name: wiggle-7deg; }

@-webkit-keyframes wiggle-7deg {
  40%, 50%, 60% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

@keyframes wiggle-7deg {
  40%, 50%, 60% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

.shake,
.spin-cw,
.spin-ccw,
.wiggle {
  -webkit-animation-duration: 500ms;
          animation-duration: 500ms; }

.infinite {
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite; }

.slow {
  -webkit-animation-duration: 750ms !important;
          animation-duration: 750ms !important; }

.fast {
  -webkit-animation-duration: 250ms !important;
          animation-duration: 250ms !important; }

.linear {
  -webkit-animation-timing-function: linear !important;
          animation-timing-function: linear !important; }

.ease {
  -webkit-animation-timing-function: ease !important;
          animation-timing-function: ease !important; }

.ease-in {
  -webkit-animation-timing-function: ease-in !important;
          animation-timing-function: ease-in !important; }

.ease-out {
  -webkit-animation-timing-function: ease-out !important;
          animation-timing-function: ease-out !important; }

.ease-in-out {
  -webkit-animation-timing-function: ease-in-out !important;
          animation-timing-function: ease-in-out !important; }

.bounce-in {
  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
          animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
          animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  -webkit-animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
          animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  -webkit-animation-delay: 300ms !important;
          animation-delay: 300ms !important; }

.long-delay {
  -webkit-animation-delay: 700ms !important;
          animation-delay: 700ms !important; }

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

h1 {
  font-size: 2em;
  margin: 0.67em 0; }

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible; }

pre {
  font-family: monospace, monospace;
  font-size: 1em; }

a {
  background-color: transparent; }

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

b,
strong {
  font-weight: bolder; }

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

small {
  font-size: 80%; }

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

img {
  border-style: none; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0; }

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

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

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

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

fieldset {
  padding: 0.35em 0.75em 0.625em; }

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

progress {
  vertical-align: baseline; }

textarea {
  overflow: auto; }

[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0; }

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

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

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

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

details {
  display: block; }

summary {
  display: list-item; }

template {
  display: none; }

[hidden] {
  display: none; }

[data-whatintent="mouse"] *, [data-whatintent="mouse"] *:focus,
[data-whatintent="touch"] *,
[data-whatintent="touch"] *:focus,
[data-whatinput="mouse"] *,
[data-whatinput="mouse"] *:focus,
[data-whatinput="touch"] *,
[data-whatinput="touch"] *:focus {
  outline: none; }

[draggable=false] {
  -webkit-touch-callout: none;
  -webkit-user-select: none; }

.foundation-mq {
  font-family: "small=0em&medium=40em&large=64.0625em&xlarge=75em&xxlarge=90.0625em&xxxlarge=120em"; }

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 100%; }

*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit; }

body {
  margin: 0;
  padding: 0;
  background: #ffffff;
  font-family: "Switzer", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #000000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0; }

select {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  border-radius: 0; }

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1;
  cursor: auto; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto;
  -webkit-overflow-scrolling: touch; }

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

.is-visible {
  display: block !important; }

.is-hidden {
  display: none !important; }

.row {
  max-width: 87.5rem;
  margin-right: auto;
  margin-left: auto; }
  .row::before, .row::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .row::after {
    clear: both; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .row .row {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 40em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64.0625em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media screen and (min-width: 75em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media screen and (min-width: 90.0625em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .row .row.collapse {
      margin-right: 0;
      margin-left: 0; }
  .row.expanded {
    max-width: none; }
    .row.expanded .row {
      margin-right: auto;
      margin-left: auto; }
  .row:not(.expanded) .row {
    max-width: none; }
  .row.gutter-small > .column, .row.gutter-small > .columns {
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
  .row.gutter-medium > .column, .row.gutter-medium > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }

.column, .columns {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  width: 100%;
  float: left; }
  @media print, screen and (min-width: 40em) {
    .column, .columns {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .column, .columns, .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
    float: right; }
  .column.end:last-child:last-child, .end.columns:last-child:last-child {
    float: left; }

.column.row.row, .row.row.columns {
  float: none; }

.row .column.row.row, .row .row.row.columns {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0; }

.small-1 {
  width: 8.33333%; }

.small-push-1 {
  position: relative;
  left: 8.33333%; }

.small-pull-1 {
  position: relative;
  left: -8.33333%; }

.small-offset-0 {
  margin-left: 0%; }

.small-2 {
  width: 16.66667%; }

.small-push-2 {
  position: relative;
  left: 16.66667%; }

.small-pull-2 {
  position: relative;
  left: -16.66667%; }

.small-offset-1 {
  margin-left: 8.33333%; }

.small-3 {
  width: 25%; }

.small-push-3 {
  position: relative;
  left: 25%; }

.small-pull-3 {
  position: relative;
  left: -25%; }

.small-offset-2 {
  margin-left: 16.66667%; }

.small-4 {
  width: 33.33333%; }

.small-push-4 {
  position: relative;
  left: 33.33333%; }

.small-pull-4 {
  position: relative;
  left: -33.33333%; }

.small-offset-3 {
  margin-left: 25%; }

.small-5 {
  width: 41.66667%; }

.small-push-5 {
  position: relative;
  left: 41.66667%; }

.small-pull-5 {
  position: relative;
  left: -41.66667%; }

.small-offset-4 {
  margin-left: 33.33333%; }

.small-6 {
  width: 50%; }

.small-push-6 {
  position: relative;
  left: 50%; }

.small-pull-6 {
  position: relative;
  left: -50%; }

.small-offset-5 {
  margin-left: 41.66667%; }

.small-7 {
  width: 58.33333%; }

.small-push-7 {
  position: relative;
  left: 58.33333%; }

.small-pull-7 {
  position: relative;
  left: -58.33333%; }

.small-offset-6 {
  margin-left: 50%; }

.small-8 {
  width: 66.66667%; }

.small-push-8 {
  position: relative;
  left: 66.66667%; }

.small-pull-8 {
  position: relative;
  left: -66.66667%; }

.small-offset-7 {
  margin-left: 58.33333%; }

.small-9 {
  width: 75%; }

.small-push-9 {
  position: relative;
  left: 75%; }

.small-pull-9 {
  position: relative;
  left: -75%; }

.small-offset-8 {
  margin-left: 66.66667%; }

.small-10 {
  width: 83.33333%; }

.small-push-10 {
  position: relative;
  left: 83.33333%; }

.small-pull-10 {
  position: relative;
  left: -83.33333%; }

.small-offset-9 {
  margin-left: 75%; }

.small-11 {
  width: 91.66667%; }

.small-push-11 {
  position: relative;
  left: 91.66667%; }

.small-pull-11 {
  position: relative;
  left: -91.66667%; }

.small-offset-10 {
  margin-left: 83.33333%; }

.small-12 {
  width: 100%; }

.small-offset-11 {
  margin-left: 91.66667%; }

.small-up-1 > .column, .small-up-1 > .columns {
  float: left;
  width: 100%; }
  .small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) {
    clear: both; }
  .small-up-1 > .column:last-child, .small-up-1 > .columns:last-child {
    float: left; }

.small-up-2 > .column, .small-up-2 > .columns {
  float: left;
  width: 50%; }
  .small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) {
    clear: both; }
  .small-up-2 > .column:last-child, .small-up-2 > .columns:last-child {
    float: left; }

.small-up-3 > .column, .small-up-3 > .columns {
  float: left;
  width: 33.33333%; }
  .small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) {
    clear: both; }
  .small-up-3 > .column:last-child, .small-up-3 > .columns:last-child {
    float: left; }

.small-up-4 > .column, .small-up-4 > .columns {
  float: left;
  width: 25%; }
  .small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) {
    clear: both; }
  .small-up-4 > .column:last-child, .small-up-4 > .columns:last-child {
    float: left; }

.small-up-5 > .column, .small-up-5 > .columns {
  float: left;
  width: 20%; }
  .small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) {
    clear: both; }
  .small-up-5 > .column:last-child, .small-up-5 > .columns:last-child {
    float: left; }

.small-up-6 > .column, .small-up-6 > .columns {
  float: left;
  width: 16.66667%; }
  .small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) {
    clear: both; }
  .small-up-6 > .column:last-child, .small-up-6 > .columns:last-child {
    float: left; }

.small-up-7 > .column, .small-up-7 > .columns {
  float: left;
  width: 14.28571%; }
  .small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) {
    clear: both; }
  .small-up-7 > .column:last-child, .small-up-7 > .columns:last-child {
    float: left; }

.small-up-8 > .column, .small-up-8 > .columns {
  float: left;
  width: 12.5%; }
  .small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) {
    clear: both; }
  .small-up-8 > .column:last-child, .small-up-8 > .columns:last-child {
    float: left; }

.small-collapse > .column, .small-collapse > .columns {
  padding-right: 0;
  padding-left: 0; }

.small-collapse .row {
  margin-right: 0;
  margin-left: 0; }

.expanded.row .small-collapse.row {
  margin-right: 0;
  margin-left: 0; }

.small-uncollapse > .column, .small-uncollapse > .columns {
  padding-right: 0.625rem;
  padding-left: 0.625rem; }

.small-centered {
  margin-right: auto;
  margin-left: auto; }
  .small-centered, .small-centered:last-child:not(:first-child) {
    float: none;
    clear: both; }

.small-uncentered, .small-push-0, .small-pull-0 {
  position: static;
  margin-right: 0;
  margin-left: 0; }
  .small-uncentered, .small-uncentered:last-child:not(:first-child), .small-push-0, .small-push-0:last-child:not(:first-child), .small-pull-0, .small-pull-0:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .small-uncentered:last-child:not(:first-child), .small-push-0:last-child:not(:first-child), .small-pull-0:last-child:not(:first-child) {
    float: right; }

@media print, screen and (min-width: 40em) {
  .medium-1 {
    width: 8.33333%; }
  .medium-push-1 {
    position: relative;
    left: 8.33333%; }
  .medium-pull-1 {
    position: relative;
    left: -8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    width: 16.66667%; }
  .medium-push-2 {
    position: relative;
    left: 16.66667%; }
  .medium-pull-2 {
    position: relative;
    left: -16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    width: 25%; }
  .medium-push-3 {
    position: relative;
    left: 25%; }
  .medium-pull-3 {
    position: relative;
    left: -25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    width: 33.33333%; }
  .medium-push-4 {
    position: relative;
    left: 33.33333%; }
  .medium-pull-4 {
    position: relative;
    left: -33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5 {
    width: 41.66667%; }
  .medium-push-5 {
    position: relative;
    left: 41.66667%; }
  .medium-pull-5 {
    position: relative;
    left: -41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    width: 50%; }
  .medium-push-6 {
    position: relative;
    left: 50%; }
  .medium-pull-6 {
    position: relative;
    left: -50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    width: 58.33333%; }
  .medium-push-7 {
    position: relative;
    left: 58.33333%; }
  .medium-pull-7 {
    position: relative;
    left: -58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    width: 66.66667%; }
  .medium-push-8 {
    position: relative;
    left: 66.66667%; }
  .medium-pull-8 {
    position: relative;
    left: -66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    width: 75%; }
  .medium-push-9 {
    position: relative;
    left: 75%; }
  .medium-pull-9 {
    position: relative;
    left: -75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    width: 83.33333%; }
  .medium-push-10 {
    position: relative;
    left: 83.33333%; }
  .medium-pull-10 {
    position: relative;
    left: -83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11 {
    width: 91.66667%; }
  .medium-push-11 {
    position: relative;
    left: 91.66667%; }
  .medium-pull-11 {
    position: relative;
    left: -91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-up-1 > .column, .medium-up-1 > .columns {
    float: left;
    width: 100%; }
    .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child {
      float: left; }
  .medium-up-2 > .column, .medium-up-2 > .columns {
    float: left;
    width: 50%; }
    .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child {
      float: left; }
  .medium-up-3 > .column, .medium-up-3 > .columns {
    float: left;
    width: 33.33333%; }
    .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child {
      float: left; }
  .medium-up-4 > .column, .medium-up-4 > .columns {
    float: left;
    width: 25%; }
    .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child {
      float: left; }
  .medium-up-5 > .column, .medium-up-5 > .columns {
    float: left;
    width: 20%; }
    .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child {
      float: left; }
  .medium-up-6 > .column, .medium-up-6 > .columns {
    float: left;
    width: 16.66667%; }
    .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child {
      float: left; }
  .medium-up-7 > .column, .medium-up-7 > .columns {
    float: left;
    width: 14.28571%; }
    .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child {
      float: left; }
  .medium-up-8 > .column, .medium-up-8 > .columns {
    float: left;
    width: 12.5%; }
    .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child {
      float: left; }
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .medium-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .medium-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
  .medium-centered {
    margin-right: auto;
    margin-left: auto; }
    .medium-centered, .medium-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .medium-uncentered, .medium-push-0, .medium-pull-0 {
    position: static;
    margin-right: 0;
    margin-left: 0; }
    .medium-uncentered, .medium-uncentered:last-child:not(:first-child), .medium-push-0, .medium-push-0:last-child:not(:first-child), .medium-pull-0, .medium-pull-0:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .medium-uncentered:last-child:not(:first-child), .medium-push-0:last-child:not(:first-child), .medium-pull-0:last-child:not(:first-child) {
      float: right; } }

@media print, screen and (min-width: 64.0625em) {
  .large-1 {
    width: 8.33333%; }
  .large-push-1 {
    position: relative;
    left: 8.33333%; }
  .large-pull-1 {
    position: relative;
    left: -8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    width: 16.66667%; }
  .large-push-2 {
    position: relative;
    left: 16.66667%; }
  .large-pull-2 {
    position: relative;
    left: -16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3 {
    width: 25%; }
  .large-push-3 {
    position: relative;
    left: 25%; }
  .large-pull-3 {
    position: relative;
    left: -25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    width: 33.33333%; }
  .large-push-4 {
    position: relative;
    left: 33.33333%; }
  .large-pull-4 {
    position: relative;
    left: -33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    width: 41.66667%; }
  .large-push-5 {
    position: relative;
    left: 41.66667%; }
  .large-pull-5 {
    position: relative;
    left: -41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    width: 50%; }
  .large-push-6 {
    position: relative;
    left: 50%; }
  .large-pull-6 {
    position: relative;
    left: -50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    width: 58.33333%; }
  .large-push-7 {
    position: relative;
    left: 58.33333%; }
  .large-pull-7 {
    position: relative;
    left: -58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    width: 66.66667%; }
  .large-push-8 {
    position: relative;
    left: 66.66667%; }
  .large-pull-8 {
    position: relative;
    left: -66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    width: 75%; }
  .large-push-9 {
    position: relative;
    left: 75%; }
  .large-pull-9 {
    position: relative;
    left: -75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    width: 83.33333%; }
  .large-push-10 {
    position: relative;
    left: 83.33333%; }
  .large-pull-10 {
    position: relative;
    left: -83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    width: 91.66667%; }
  .large-push-11 {
    position: relative;
    left: 91.66667%; }
  .large-pull-11 {
    position: relative;
    left: -91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-up-1 > .column, .large-up-1 > .columns {
    float: left;
    width: 100%; }
    .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child {
      float: left; }
  .large-up-2 > .column, .large-up-2 > .columns {
    float: left;
    width: 50%; }
    .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child {
      float: left; }
  .large-up-3 > .column, .large-up-3 > .columns {
    float: left;
    width: 33.33333%; }
    .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child {
      float: left; }
  .large-up-4 > .column, .large-up-4 > .columns {
    float: left;
    width: 25%; }
    .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child {
      float: left; }
  .large-up-5 > .column, .large-up-5 > .columns {
    float: left;
    width: 20%; }
    .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child {
      float: left; }
  .large-up-6 > .column, .large-up-6 > .columns {
    float: left;
    width: 16.66667%; }
    .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child {
      float: left; }
  .large-up-7 > .column, .large-up-7 > .columns {
    float: left;
    width: 14.28571%; }
    .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child {
      float: left; }
  .large-up-8 > .column, .large-up-8 > .columns {
    float: left;
    width: 12.5%; }
    .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child {
      float: left; }
  .large-collapse > .column, .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .large-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .large-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
  .large-centered {
    margin-right: auto;
    margin-left: auto; }
    .large-centered, .large-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .large-uncentered, .large-push-0, .large-pull-0 {
    position: static;
    margin-right: 0;
    margin-left: 0; }
    .large-uncentered, .large-uncentered:last-child:not(:first-child), .large-push-0, .large-push-0:last-child:not(:first-child), .large-pull-0, .large-pull-0:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .large-uncentered:last-child:not(:first-child), .large-push-0:last-child:not(:first-child), .large-pull-0:last-child:not(:first-child) {
      float: right; } }

@media screen and (min-width: 75em) {
  .xlarge-1 {
    width: 8.33333%; }
  .xlarge-push-1 {
    position: relative;
    left: 8.33333%; }
  .xlarge-pull-1 {
    position: relative;
    left: -8.33333%; }
  .xlarge-offset-0 {
    margin-left: 0%; }
  .xlarge-2 {
    width: 16.66667%; }
  .xlarge-push-2 {
    position: relative;
    left: 16.66667%; }
  .xlarge-pull-2 {
    position: relative;
    left: -16.66667%; }
  .xlarge-offset-1 {
    margin-left: 8.33333%; }
  .xlarge-3 {
    width: 25%; }
  .xlarge-push-3 {
    position: relative;
    left: 25%; }
  .xlarge-pull-3 {
    position: relative;
    left: -25%; }
  .xlarge-offset-2 {
    margin-left: 16.66667%; }
  .xlarge-4 {
    width: 33.33333%; }
  .xlarge-push-4 {
    position: relative;
    left: 33.33333%; }
  .xlarge-pull-4 {
    position: relative;
    left: -33.33333%; }
  .xlarge-offset-3 {
    margin-left: 25%; }
  .xlarge-5 {
    width: 41.66667%; }
  .xlarge-push-5 {
    position: relative;
    left: 41.66667%; }
  .xlarge-pull-5 {
    position: relative;
    left: -41.66667%; }
  .xlarge-offset-4 {
    margin-left: 33.33333%; }
  .xlarge-6 {
    width: 50%; }
  .xlarge-push-6 {
    position: relative;
    left: 50%; }
  .xlarge-pull-6 {
    position: relative;
    left: -50%; }
  .xlarge-offset-5 {
    margin-left: 41.66667%; }
  .xlarge-7 {
    width: 58.33333%; }
  .xlarge-push-7 {
    position: relative;
    left: 58.33333%; }
  .xlarge-pull-7 {
    position: relative;
    left: -58.33333%; }
  .xlarge-offset-6 {
    margin-left: 50%; }
  .xlarge-8 {
    width: 66.66667%; }
  .xlarge-push-8 {
    position: relative;
    left: 66.66667%; }
  .xlarge-pull-8 {
    position: relative;
    left: -66.66667%; }
  .xlarge-offset-7 {
    margin-left: 58.33333%; }
  .xlarge-9 {
    width: 75%; }
  .xlarge-push-9 {
    position: relative;
    left: 75%; }
  .xlarge-pull-9 {
    position: relative;
    left: -75%; }
  .xlarge-offset-8 {
    margin-left: 66.66667%; }
  .xlarge-10 {
    width: 83.33333%; }
  .xlarge-push-10 {
    position: relative;
    left: 83.33333%; }
  .xlarge-pull-10 {
    position: relative;
    left: -83.33333%; }
  .xlarge-offset-9 {
    margin-left: 75%; }
  .xlarge-11 {
    width: 91.66667%; }
  .xlarge-push-11 {
    position: relative;
    left: 91.66667%; }
  .xlarge-pull-11 {
    position: relative;
    left: -91.66667%; }
  .xlarge-offset-10 {
    margin-left: 83.33333%; }
  .xlarge-12 {
    width: 100%; }
  .xlarge-offset-11 {
    margin-left: 91.66667%; }
  .xlarge-up-1 > .column, .xlarge-up-1 > .columns {
    float: left;
    width: 100%; }
    .xlarge-up-1 > .column:nth-of-type(1n), .xlarge-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-1 > .column:nth-of-type(1n+1), .xlarge-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .xlarge-up-1 > .column:last-child, .xlarge-up-1 > .columns:last-child {
      float: left; }
  .xlarge-up-2 > .column, .xlarge-up-2 > .columns {
    float: left;
    width: 50%; }
    .xlarge-up-2 > .column:nth-of-type(1n), .xlarge-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-2 > .column:nth-of-type(2n+1), .xlarge-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .xlarge-up-2 > .column:last-child, .xlarge-up-2 > .columns:last-child {
      float: left; }
  .xlarge-up-3 > .column, .xlarge-up-3 > .columns {
    float: left;
    width: 33.33333%; }
    .xlarge-up-3 > .column:nth-of-type(1n), .xlarge-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-3 > .column:nth-of-type(3n+1), .xlarge-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .xlarge-up-3 > .column:last-child, .xlarge-up-3 > .columns:last-child {
      float: left; }
  .xlarge-up-4 > .column, .xlarge-up-4 > .columns {
    float: left;
    width: 25%; }
    .xlarge-up-4 > .column:nth-of-type(1n), .xlarge-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-4 > .column:nth-of-type(4n+1), .xlarge-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .xlarge-up-4 > .column:last-child, .xlarge-up-4 > .columns:last-child {
      float: left; }
  .xlarge-up-5 > .column, .xlarge-up-5 > .columns {
    float: left;
    width: 20%; }
    .xlarge-up-5 > .column:nth-of-type(1n), .xlarge-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-5 > .column:nth-of-type(5n+1), .xlarge-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .xlarge-up-5 > .column:last-child, .xlarge-up-5 > .columns:last-child {
      float: left; }
  .xlarge-up-6 > .column, .xlarge-up-6 > .columns {
    float: left;
    width: 16.66667%; }
    .xlarge-up-6 > .column:nth-of-type(1n), .xlarge-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-6 > .column:nth-of-type(6n+1), .xlarge-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .xlarge-up-6 > .column:last-child, .xlarge-up-6 > .columns:last-child {
      float: left; }
  .xlarge-up-7 > .column, .xlarge-up-7 > .columns {
    float: left;
    width: 14.28571%; }
    .xlarge-up-7 > .column:nth-of-type(1n), .xlarge-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-7 > .column:nth-of-type(7n+1), .xlarge-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .xlarge-up-7 > .column:last-child, .xlarge-up-7 > .columns:last-child {
      float: left; }
  .xlarge-up-8 > .column, .xlarge-up-8 > .columns {
    float: left;
    width: 12.5%; }
    .xlarge-up-8 > .column:nth-of-type(1n), .xlarge-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-8 > .column:nth-of-type(8n+1), .xlarge-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .xlarge-up-8 > .column:last-child, .xlarge-up-8 > .columns:last-child {
      float: left; }
  .xlarge-collapse > .column, .xlarge-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .xlarge-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .xlarge-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .xlarge-uncollapse > .column, .xlarge-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
  .xlarge-centered {
    margin-right: auto;
    margin-left: auto; }
    .xlarge-centered, .xlarge-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .xlarge-uncentered, .xlarge-push-0, .xlarge-pull-0 {
    position: static;
    margin-right: 0;
    margin-left: 0; }
    .xlarge-uncentered, .xlarge-uncentered:last-child:not(:first-child), .xlarge-push-0, .xlarge-push-0:last-child:not(:first-child), .xlarge-pull-0, .xlarge-pull-0:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .xlarge-uncentered:last-child:not(:first-child), .xlarge-push-0:last-child:not(:first-child), .xlarge-pull-0:last-child:not(:first-child) {
      float: right; } }

@media screen and (min-width: 90.0625em) {
  .xxlarge-1 {
    width: 8.33333%; }
  .xxlarge-push-1 {
    position: relative;
    left: 8.33333%; }
  .xxlarge-pull-1 {
    position: relative;
    left: -8.33333%; }
  .xxlarge-offset-0 {
    margin-left: 0%; }
  .xxlarge-2 {
    width: 16.66667%; }
  .xxlarge-push-2 {
    position: relative;
    left: 16.66667%; }
  .xxlarge-pull-2 {
    position: relative;
    left: -16.66667%; }
  .xxlarge-offset-1 {
    margin-left: 8.33333%; }
  .xxlarge-3 {
    width: 25%; }
  .xxlarge-push-3 {
    position: relative;
    left: 25%; }
  .xxlarge-pull-3 {
    position: relative;
    left: -25%; }
  .xxlarge-offset-2 {
    margin-left: 16.66667%; }
  .xxlarge-4 {
    width: 33.33333%; }
  .xxlarge-push-4 {
    position: relative;
    left: 33.33333%; }
  .xxlarge-pull-4 {
    position: relative;
    left: -33.33333%; }
  .xxlarge-offset-3 {
    margin-left: 25%; }
  .xxlarge-5 {
    width: 41.66667%; }
  .xxlarge-push-5 {
    position: relative;
    left: 41.66667%; }
  .xxlarge-pull-5 {
    position: relative;
    left: -41.66667%; }
  .xxlarge-offset-4 {
    margin-left: 33.33333%; }
  .xxlarge-6 {
    width: 50%; }
  .xxlarge-push-6 {
    position: relative;
    left: 50%; }
  .xxlarge-pull-6 {
    position: relative;
    left: -50%; }
  .xxlarge-offset-5 {
    margin-left: 41.66667%; }
  .xxlarge-7 {
    width: 58.33333%; }
  .xxlarge-push-7 {
    position: relative;
    left: 58.33333%; }
  .xxlarge-pull-7 {
    position: relative;
    left: -58.33333%; }
  .xxlarge-offset-6 {
    margin-left: 50%; }
  .xxlarge-8 {
    width: 66.66667%; }
  .xxlarge-push-8 {
    position: relative;
    left: 66.66667%; }
  .xxlarge-pull-8 {
    position: relative;
    left: -66.66667%; }
  .xxlarge-offset-7 {
    margin-left: 58.33333%; }
  .xxlarge-9 {
    width: 75%; }
  .xxlarge-push-9 {
    position: relative;
    left: 75%; }
  .xxlarge-pull-9 {
    position: relative;
    left: -75%; }
  .xxlarge-offset-8 {
    margin-left: 66.66667%; }
  .xxlarge-10 {
    width: 83.33333%; }
  .xxlarge-push-10 {
    position: relative;
    left: 83.33333%; }
  .xxlarge-pull-10 {
    position: relative;
    left: -83.33333%; }
  .xxlarge-offset-9 {
    margin-left: 75%; }
  .xxlarge-11 {
    width: 91.66667%; }
  .xxlarge-push-11 {
    position: relative;
    left: 91.66667%; }
  .xxlarge-pull-11 {
    position: relative;
    left: -91.66667%; }
  .xxlarge-offset-10 {
    margin-left: 83.33333%; }
  .xxlarge-12 {
    width: 100%; }
  .xxlarge-offset-11 {
    margin-left: 91.66667%; }
  .xxlarge-up-1 > .column, .xxlarge-up-1 > .columns {
    float: left;
    width: 100%; }
    .xxlarge-up-1 > .column:nth-of-type(1n), .xxlarge-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-1 > .column:nth-of-type(1n+1), .xxlarge-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .xxlarge-up-1 > .column:last-child, .xxlarge-up-1 > .columns:last-child {
      float: left; }
  .xxlarge-up-2 > .column, .xxlarge-up-2 > .columns {
    float: left;
    width: 50%; }
    .xxlarge-up-2 > .column:nth-of-type(1n), .xxlarge-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-2 > .column:nth-of-type(2n+1), .xxlarge-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .xxlarge-up-2 > .column:last-child, .xxlarge-up-2 > .columns:last-child {
      float: left; }
  .xxlarge-up-3 > .column, .xxlarge-up-3 > .columns {
    float: left;
    width: 33.33333%; }
    .xxlarge-up-3 > .column:nth-of-type(1n), .xxlarge-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-3 > .column:nth-of-type(3n+1), .xxlarge-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .xxlarge-up-3 > .column:last-child, .xxlarge-up-3 > .columns:last-child {
      float: left; }
  .xxlarge-up-4 > .column, .xxlarge-up-4 > .columns {
    float: left;
    width: 25%; }
    .xxlarge-up-4 > .column:nth-of-type(1n), .xxlarge-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-4 > .column:nth-of-type(4n+1), .xxlarge-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .xxlarge-up-4 > .column:last-child, .xxlarge-up-4 > .columns:last-child {
      float: left; }
  .xxlarge-up-5 > .column, .xxlarge-up-5 > .columns {
    float: left;
    width: 20%; }
    .xxlarge-up-5 > .column:nth-of-type(1n), .xxlarge-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-5 > .column:nth-of-type(5n+1), .xxlarge-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .xxlarge-up-5 > .column:last-child, .xxlarge-up-5 > .columns:last-child {
      float: left; }
  .xxlarge-up-6 > .column, .xxlarge-up-6 > .columns {
    float: left;
    width: 16.66667%; }
    .xxlarge-up-6 > .column:nth-of-type(1n), .xxlarge-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-6 > .column:nth-of-type(6n+1), .xxlarge-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .xxlarge-up-6 > .column:last-child, .xxlarge-up-6 > .columns:last-child {
      float: left; }
  .xxlarge-up-7 > .column, .xxlarge-up-7 > .columns {
    float: left;
    width: 14.28571%; }
    .xxlarge-up-7 > .column:nth-of-type(1n), .xxlarge-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-7 > .column:nth-of-type(7n+1), .xxlarge-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .xxlarge-up-7 > .column:last-child, .xxlarge-up-7 > .columns:last-child {
      float: left; }
  .xxlarge-up-8 > .column, .xxlarge-up-8 > .columns {
    float: left;
    width: 12.5%; }
    .xxlarge-up-8 > .column:nth-of-type(1n), .xxlarge-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-8 > .column:nth-of-type(8n+1), .xxlarge-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .xxlarge-up-8 > .column:last-child, .xxlarge-up-8 > .columns:last-child {
      float: left; }
  .xxlarge-collapse > .column, .xxlarge-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .xxlarge-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .xxlarge-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .xxlarge-uncollapse > .column, .xxlarge-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
  .xxlarge-centered {
    margin-right: auto;
    margin-left: auto; }
    .xxlarge-centered, .xxlarge-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .xxlarge-uncentered, .xxlarge-push-0, .xxlarge-pull-0 {
    position: static;
    margin-right: 0;
    margin-left: 0; }
    .xxlarge-uncentered, .xxlarge-uncentered:last-child:not(:first-child), .xxlarge-push-0, .xxlarge-push-0:last-child:not(:first-child), .xxlarge-pull-0, .xxlarge-pull-0:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .xxlarge-uncentered:last-child:not(:first-child), .xxlarge-push-0:last-child:not(:first-child), .xxlarge-pull-0:last-child:not(:first-child) {
      float: right; } }

.column-block {
  margin-bottom: 1.25rem; }
  .column-block > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .column-block {
      margin-bottom: 1.875rem; }
      .column-block > :last-child {
        margin-bottom: 0; } }

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

p {
  margin-bottom: 1rem;
  font-size: inherit;
  line-height: 1.6;
  text-rendering: optimizeLegibility; }

em,
i {
  font-style: italic;
  line-height: inherit; }

strong,
b {
  font-weight: bold;
  line-height: inherit; }

small {
  font-size: 80%;
  line-height: inherit; }

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "din-2014-narrow", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: 700;
  color: inherit;
  text-rendering: optimizeLegibility; }
  h1 small, .h1 small,
  h2 small, .h2 small,
  h3 small, .h3 small,
  h4 small, .h4 small,
  h5 small, .h5 small,
  h6 small, .h6 small {
    line-height: 0;
    color: #cacaca; }

h1, .h1 {
  font-size: 1.5rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h2, .h2 {
  font-size: 1.25rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h3, .h3 {
  font-size: 1.1875rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h4, .h4 {
  font-size: 1.125rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h5, .h5 {
  font-size: 1.0625rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h6, .h6 {
  font-size: 1rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

@media print, screen and (min-width: 40em) {
  h1, .h1 {
    font-size: 3rem; }
  h2, .h2 {
    font-size: 4rem; }
  h3, .h3 {
    font-size: 1.75rem; }
  h4, .h4 {
    font-size: 1.5625rem; }
  h5, .h5 {
    font-size: 1.25rem; }
  h6, .h6 {
    font-size: 1rem; } }

a {
  line-height: inherit;
  color: #d22533;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #b5202c; }
  a img {
    border: 0; }

hr {
  clear: both;
  max-width: 87.5rem;
  height: 0;
  margin: 1.25rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #cacaca;
  border-left: 0; }

ul,
ol,
dl {
  margin-bottom: 1rem;
  list-style-position: outside;
  line-height: 1.6; }

li {
  font-size: inherit; }

ul {
  margin-left: 1.25rem;
  list-style-type: disc; }

ol {
  margin-left: 1.25rem; }

ul ul, ol ul, ul ol, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0; }

dl {
  margin-bottom: 1rem; }
  dl dt {
    margin-bottom: 0.3rem;
    font-weight: bold; }

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #cacaca; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #8a8a8a; }

abbr, abbr[title] {
  border-bottom: 1px dotted #000000;
  cursor: help;
  text-decoration: none; }

figure {
  margin: 0; }

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #000000; }

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: normal;
  line-height: 1.4;
  color: #8a8a8a; }

.lead {
  font-size: 125%;
  line-height: 1.6; }

.stat {
  font-size: 2.5rem;
  line-height: 1; }
  p + .stat {
    margin-top: -1rem; }

ul.no-bullet, ol.no-bullet {
  margin-left: 0;
  list-style: none; }

cite, .cite-block {
  display: block;
  color: #8a8a8a;
  font-size: 0.8125rem; }
  cite:before, .cite-block:before {
    content: "— "; }

code, .code-inline {
  border: 1px solid #cacaca;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #000000;
  display: inline;
  max-width: 100%;
  word-wrap: break-word;
  padding: 0.125rem 0.3125rem 0.0625rem; }

.code-block {
  border: 1px solid #cacaca;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #000000;
  display: block;
  overflow: auto;
  white-space: pre;
  padding: 1rem;
  margin-bottom: 1.5rem; }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.text-center {
  text-align: center; }

.text-justify {
  text-align: justify; }

@media print, screen and (min-width: 40em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

@media print, screen and (min-width: 64.0625em) {
  .large-text-left {
    text-align: left; }
  .large-text-right {
    text-align: right; }
  .large-text-center {
    text-align: center; }
  .large-text-justify {
    text-align: justify; } }

@media screen and (min-width: 75em) {
  .xlarge-text-left {
    text-align: left; }
  .xlarge-text-right {
    text-align: right; }
  .xlarge-text-center {
    text-align: center; }
  .xlarge-text-justify {
    text-align: justify; } }

@media screen and (min-width: 90.0625em) {
  .xxlarge-text-left {
    text-align: left; }
  .xxlarge-text-right {
    text-align: right; }
  .xxlarge-text-center {
    text-align: center; }
  .xxlarge-text-justify {
    text-align: justify; } }

.show-for-print {
  display: none !important; }

@media print {
  * {
    background: transparent !important;
    color: black !important;
    -webkit-print-color-adjust: economy;
            print-color-adjust: economy;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #8a8a8a;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .print-break-inside {
    page-break-inside: auto; } }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #ffffff;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #000000;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #ffffff;
    -webkit-box-shadow: 0 0 5px #cacaca;
            box-shadow: 0 0 5px #cacaca;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }

textarea {
  max-width: 100%; }
  textarea[rows] {
    height: auto; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #e6e6e6;
  cursor: not-allowed; }

[type='submit'],
[type='button'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0; }

input[type='search'] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

::-webkit-input-placeholder {
  color: #cacaca; }

::-moz-placeholder {
  color: #cacaca; }

:-ms-input-placeholder {
  color: #cacaca; }

::-ms-input-placeholder {
  color: #cacaca; }

::placeholder {
  color: #cacaca; }

[type='file'],
[type='checkbox'],
[type='radio'] {
  margin: 0 0 1rem; }

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0; }
  [type='checkbox'] + label[for],
  [type='radio'] + label[for] {
    cursor: pointer; }

label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.5rem; }

[type='file'] {
  width: 100%; }

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #000000; }
  label.middle {
    margin: 0 0 1rem;
    line-height: 1.5;
    padding: 0.5625rem 0; }

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #000000; }

.input-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .input-group > :first-child, .input-group > :first-child.input-group-button > * {
    border-radius: 0 0 0 0; }
  .input-group > :last-child, .input-group > :last-child.input-group-button > * {
    border-radius: 0 0 0 0; }

.input-group-label, .input-group-field, .input-group-button, .input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  margin: 0;
  white-space: nowrap; }

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #cacaca;
  background: #e6e6e6;
  color: #000000;
  text-align: center;
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

.input-group-field {
  border-radius: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  min-width: 0; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button,
  .input-group-button label {
    -ms-flex-item-align: stretch;
        align-self: stretch;
    height: auto;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1rem; }

fieldset {
  margin: 0;
  padding: 0;
  border: 0; }

legend {
  max-width: 100%;
  margin-bottom: 0.5rem; }

.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 1px solid #cacaca; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #ffffff;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #000000;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="32" height="24" viewBox="0 0 32 24"><polygon points="0,0 32,0 16,24" style="fill: rgb%28138, 138, 138%29"></polygon></svg>');
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #ffffff;
    -webkit-box-shadow: 0 0 5px #cacaca;
            box-shadow: 0 0 5px #cacaca;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }
  select:disabled {
    background-color: #e6e6e6;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }
  select:not([multiple]) {
    padding-top: 0;
    padding-bottom: 0; }

.is-invalid-input:not(:focus) {
  border-color: #cc4b37;
  background-color: #faedeb; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::-moz-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::-ms-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #cc4b37; }

.is-invalid-label {
  color: #cc4b37; }

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: #cc4b37; }
  .form-error.is-visible {
    display: block; }

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.85em 1em;
  border: 1px solid transparent;
  border-radius: 0;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-family: inherit;
  font-size: 0.9rem;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button, .button.disabled, .button[disabled], .button.disabled:hover, .button[disabled]:hover, .button.disabled:focus, .button[disabled]:focus {
    background-color: #d22533;
    color: #ffffff; }
  .button:hover, .button:focus {
    background-color: #b31f2b;
    color: #ffffff; }
  .button.primary, .button.primary.disabled, .button.primary[disabled], .button.primary.disabled:hover, .button.primary[disabled]:hover, .button.primary.disabled:focus, .button.primary[disabled]:focus {
    background-color: #d22533;
    color: #ffffff; }
  .button.primary:hover, .button.primary:focus {
    background-color: #a81e29;
    color: #ffffff; }
  .button.secondary, .button.secondary.disabled, .button.secondary[disabled], .button.secondary.disabled:hover, .button.secondary[disabled]:hover, .button.secondary.disabled:focus, .button.secondary[disabled]:focus {
    background-color: #767676;
    color: #000000; }
  .button.secondary:hover, .button.secondary:focus {
    background-color: #5e5e5e;
    color: #000000; }
  .button.success, .button.success.disabled, .button.success[disabled], .button.success.disabled:hover, .button.success[disabled]:hover, .button.success.disabled:focus, .button.success[disabled]:focus {
    background-color: #3adb76;
    color: #000000; }
  .button.success:hover, .button.success:focus {
    background-color: #22bb5b;
    color: #000000; }
  .button.warning, .button.warning.disabled, .button.warning[disabled], .button.warning.disabled:hover, .button.warning[disabled]:hover, .button.warning.disabled:focus, .button.warning[disabled]:focus {
    background-color: #ffae00;
    color: #000000; }
  .button.warning:hover, .button.warning:focus {
    background-color: #cc8b00;
    color: #000000; }
  .button.alert, .button.alert.disabled, .button.alert[disabled], .button.alert.disabled:hover, .button.alert[disabled]:hover, .button.alert.disabled:focus, .button.alert[disabled]:focus {
    background-color: #cc4b37;
    color: #000000; }
  .button.alert:hover, .button.alert:focus {
    background-color: #a53b2a;
    color: #000000; }
  .button.nero, .button.nero.disabled, .button.nero[disabled], .button.nero.disabled:hover, .button.nero[disabled]:hover, .button.nero.disabled:focus, .button.nero[disabled]:focus {
    background-color: #121212;
    color: #ffffff; }
  .button.nero:hover, .button.nero:focus {
    background-color: #0e0e0e;
    color: #ffffff; }
  .button.hollow, .button.hollow:hover, .button.hollow:focus, .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
    background-color: transparent; }
  .button.hollow, .button.hollow.disabled, .button.hollow[disabled], .button.hollow.disabled:hover, .button.hollow[disabled]:hover, .button.hollow.disabled:focus, .button.hollow[disabled]:focus {
    border: 1px solid #d22533;
    color: #d22533; }
  .button.hollow:hover, .button.hollow:focus {
    border-color: #69131a;
    color: #69131a; }
  .button.hollow.primary, .button.hollow.primary.disabled, .button.hollow.primary[disabled], .button.hollow.primary.disabled:hover, .button.hollow.primary[disabled]:hover, .button.hollow.primary.disabled:focus, .button.hollow.primary[disabled]:focus {
    border: 1px solid #d22533;
    color: #d22533; }
  .button.hollow.primary:hover, .button.hollow.primary:focus {
    border-color: #69131a;
    color: #69131a; }
  .button.hollow.secondary, .button.hollow.secondary.disabled, .button.hollow.secondary[disabled], .button.hollow.secondary.disabled:hover, .button.hollow.secondary[disabled]:hover, .button.hollow.secondary.disabled:focus, .button.hollow.secondary[disabled]:focus {
    border: 1px solid #767676;
    color: #767676; }
  .button.hollow.secondary:hover, .button.hollow.secondary:focus {
    border-color: #3b3b3b;
    color: #3b3b3b; }
  .button.hollow.success, .button.hollow.success.disabled, .button.hollow.success[disabled], .button.hollow.success.disabled:hover, .button.hollow.success[disabled]:hover, .button.hollow.success.disabled:focus, .button.hollow.success[disabled]:focus {
    border: 1px solid #3adb76;
    color: #3adb76; }
  .button.hollow.success:hover, .button.hollow.success:focus {
    border-color: #157539;
    color: #157539; }
  .button.hollow.warning, .button.hollow.warning.disabled, .button.hollow.warning[disabled], .button.hollow.warning.disabled:hover, .button.hollow.warning[disabled]:hover, .button.hollow.warning.disabled:focus, .button.hollow.warning[disabled]:focus {
    border: 1px solid #ffae00;
    color: #ffae00; }
  .button.hollow.warning:hover, .button.hollow.warning:focus {
    border-color: #805700;
    color: #805700; }
  .button.hollow.alert, .button.hollow.alert.disabled, .button.hollow.alert[disabled], .button.hollow.alert.disabled:hover, .button.hollow.alert[disabled]:hover, .button.hollow.alert.disabled:focus, .button.hollow.alert[disabled]:focus {
    border: 1px solid #cc4b37;
    color: #cc4b37; }
  .button.hollow.alert:hover, .button.hollow.alert:focus {
    border-color: #67251a;
    color: #67251a; }
  .button.hollow.nero, .button.hollow.nero.disabled, .button.hollow.nero[disabled], .button.hollow.nero.disabled:hover, .button.hollow.nero[disabled]:hover, .button.hollow.nero.disabled:focus, .button.hollow.nero[disabled]:focus {
    border: 1px solid #121212;
    color: #121212; }
  .button.hollow.nero:hover, .button.hollow.nero:focus {
    border-color: #090909;
    color: #090909; }
  .button.clear, .button.clear:hover, .button.clear:focus, .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
    border-color: transparent;
    background-color: transparent; }
  .button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear.disabled:hover, .button.clear[disabled]:hover, .button.clear.disabled:focus, .button.clear[disabled]:focus {
    color: #d22533; }
  .button.clear:hover, .button.clear:focus {
    color: #69131a; }
  .button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary.disabled:hover, .button.clear.primary[disabled]:hover, .button.clear.primary.disabled:focus, .button.clear.primary[disabled]:focus {
    color: #d22533; }
  .button.clear.primary:hover, .button.clear.primary:focus {
    color: #69131a; }
  .button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary.disabled:hover, .button.clear.secondary[disabled]:hover, .button.clear.secondary.disabled:focus, .button.clear.secondary[disabled]:focus {
    color: #767676; }
  .button.clear.secondary:hover, .button.clear.secondary:focus {
    color: #3b3b3b; }
  .button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success.disabled:hover, .button.clear.success[disabled]:hover, .button.clear.success.disabled:focus, .button.clear.success[disabled]:focus {
    color: #3adb76; }
  .button.clear.success:hover, .button.clear.success:focus {
    color: #157539; }
  .button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning.disabled:hover, .button.clear.warning[disabled]:hover, .button.clear.warning.disabled:focus, .button.clear.warning[disabled]:focus {
    color: #ffae00; }
  .button.clear.warning:hover, .button.clear.warning:focus {
    color: #805700; }
  .button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert.disabled:hover, .button.clear.alert[disabled]:hover, .button.clear.alert.disabled:focus, .button.clear.alert[disabled]:focus {
    color: #cc4b37; }
  .button.clear.alert:hover, .button.clear.alert:focus {
    color: #67251a; }
  .button.clear.nero, .button.clear.nero.disabled, .button.clear.nero[disabled], .button.clear.nero.disabled:hover, .button.clear.nero[disabled]:hover, .button.clear.nero.disabled:focus, .button.clear.nero[disabled]:focus {
    color: #121212; }
  .button.clear.nero:hover, .button.clear.nero:focus {
    color: #090909; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.4em;
    content: '';
    border-bottom-width: 0;
    border-color: #ffffff transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.dropdown.hollow::after, .button.dropdown.clear::after {
    border-top-color: #d22533; }
  .button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after {
    border-top-color: #d22533; }
  .button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after {
    border-top-color: #767676; }
  .button.dropdown.hollow.success::after, .button.dropdown.clear.success::after {
    border-top-color: #3adb76; }
  .button.dropdown.hollow.warning::after, .button.dropdown.clear.warning::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after, .button.dropdown.clear.alert::after {
    border-top-color: #cc4b37; }
  .button.dropdown.hollow.nero::after, .button.dropdown.clear.nero::after {
    border-top-color: #121212; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

a.button:hover, a.button:focus {
  text-decoration: none; }

.accordion {
  margin-left: 0;
  background: #ffffff;
  list-style-type: none; }
  .accordion[disabled] .accordion-title {
    cursor: not-allowed; }

.accordion-item:first-child > :first-child {
  border-radius: 0 0 0 0; }

.accordion-item:last-child > :last-child {
  border-radius: 0 0 0 0; }

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: #d22533; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #e6e6e6;
    border-radius: 0 0 0 0; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #e6e6e6; }
  .accordion-title::before {
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -0.5rem;
    content: "+"; }
  .is-active > .accordion-title::before {
    content: "–"; }

.accordion-content {
  display: none;
  padding: 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  background-color: #ffffff;
  color: #000000; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #e6e6e6; }

.accordion-menu li {
  width: 100%; }

.accordion-menu a {
  padding: 0.7rem 1rem; }

.accordion-menu .is-accordion-submenu a {
  padding: 0.7rem 1rem; }

.accordion-menu .nested.is-accordion-submenu {
  margin-right: 0;
  margin-left: 1rem; }

.accordion-menu.align-right .nested.is-accordion-submenu {
  margin-right: 1rem;
  margin-left: 0; }

.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {
  position: relative; }
  .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: '';
    border-bottom-width: 0;
    border-color: #d22533 transparent transparent;
    position: absolute;
    top: 50%;
    margin-top: -3px;
    right: 1rem; }

.accordion-menu.align-left .is-accordion-submenu-parent > a::after {
  right: 1rem;
  left: auto; }

.accordion-menu.align-right .is-accordion-submenu-parent > a::after {
  right: auto;
  left: 1rem; }

.accordion-menu .is-accordion-submenu-parent[aria-expanded='true'] > a::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%; }

.is-accordion-submenu-parent {
  position: relative; }

.has-submenu-toggle > a {
  margin-right: 40px; }

.submenu-toggle {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  cursor: pointer; }
  .submenu-toggle::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: '';
    border-bottom-width: 0;
    border-color: #d22533 transparent transparent;
    top: 0;
    bottom: 0;
    margin: auto; }

.submenu-toggle[aria-expanded='true']::after {
  -webkit-transform: scaleY(-1);
          transform: scaleY(-1);
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%; }

.submenu-toggle-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important; }

.breadcrumbs {
  margin: 0 0 1rem 0;
  list-style: none; }
  .breadcrumbs::before, .breadcrumbs::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    font-size: 0.6875rem;
    color: #000000;
    cursor: default;
    text-transform: uppercase; }
    .breadcrumbs li:not(:last-child)::after {
      position: relative;
      margin: 0 0.75rem;
      opacity: 1;
      content: "/";
      color: #cacaca; }
  .breadcrumbs a {
    color: #d22533; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #cacaca;
    cursor: not-allowed; }

.button-group {
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .button-group::after {
    clear: both; }
  .button-group::before, .button-group::after {
    display: none; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 1.25rem; }
  .button-group.expanded .button {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .button-group.primary .button, .button-group.primary .button.disabled, .button-group.primary .button[disabled], .button-group.primary .button.disabled:hover, .button-group.primary .button[disabled]:hover, .button-group.primary .button.disabled:focus, .button-group.primary .button[disabled]:focus {
    background-color: #d22533;
    color: #ffffff; }
  .button-group.primary .button:hover, .button-group.primary .button:focus {
    background-color: #a81e29;
    color: #ffffff; }
  .button-group.secondary .button, .button-group.secondary .button.disabled, .button-group.secondary .button[disabled], .button-group.secondary .button.disabled:hover, .button-group.secondary .button[disabled]:hover, .button-group.secondary .button.disabled:focus, .button-group.secondary .button[disabled]:focus {
    background-color: #767676;
    color: #000000; }
  .button-group.secondary .button:hover, .button-group.secondary .button:focus {
    background-color: #5e5e5e;
    color: #000000; }
  .button-group.success .button, .button-group.success .button.disabled, .button-group.success .button[disabled], .button-group.success .button.disabled:hover, .button-group.success .button[disabled]:hover, .button-group.success .button.disabled:focus, .button-group.success .button[disabled]:focus {
    background-color: #3adb76;
    color: #000000; }
  .button-group.success .button:hover, .button-group.success .button:focus {
    background-color: #22bb5b;
    color: #000000; }
  .button-group.warning .button, .button-group.warning .button.disabled, .button-group.warning .button[disabled], .button-group.warning .button.disabled:hover, .button-group.warning .button[disabled]:hover, .button-group.warning .button.disabled:focus, .button-group.warning .button[disabled]:focus {
    background-color: #ffae00;
    color: #000000; }
  .button-group.warning .button:hover, .button-group.warning .button:focus {
    background-color: #cc8b00;
    color: #000000; }
  .button-group.alert .button, .button-group.alert .button.disabled, .button-group.alert .button[disabled], .button-group.alert .button.disabled:hover, .button-group.alert .button[disabled]:hover, .button-group.alert .button.disabled:focus, .button-group.alert .button[disabled]:focus {
    background-color: #cc4b37;
    color: #000000; }
  .button-group.alert .button:hover, .button-group.alert .button:focus {
    background-color: #a53b2a;
    color: #000000; }
  .button-group.nero .button, .button-group.nero .button.disabled, .button-group.nero .button[disabled], .button-group.nero .button.disabled:hover, .button-group.nero .button[disabled]:hover, .button-group.nero .button.disabled:focus, .button-group.nero .button[disabled]:focus {
    background-color: #121212;
    color: #ffffff; }
  .button-group.nero .button:hover, .button-group.nero .button:focus {
    background-color: #0e0e0e;
    color: #ffffff; }
  .button-group.hollow .button, .button-group.hollow .button:hover, .button-group.hollow .button:focus, .button-group.hollow .button.disabled, .button-group.hollow .button.disabled:hover, .button-group.hollow .button.disabled:focus, .button-group.hollow .button[disabled], .button-group.hollow .button[disabled]:hover, .button-group.hollow .button[disabled]:focus {
    background-color: transparent; }
  .button-group.hollow .button, .button-group.hollow .button.disabled, .button-group.hollow .button[disabled], .button-group.hollow .button.disabled:hover, .button-group.hollow .button[disabled]:hover, .button-group.hollow .button.disabled:focus, .button-group.hollow .button[disabled]:focus {
    border: 1px solid #d22533;
    color: #d22533; }
  .button-group.hollow .button:hover, .button-group.hollow .button:focus {
    border-color: #69131a;
    color: #69131a; }
  .button-group.hollow.primary .button, .button-group.hollow.primary .button.disabled, .button-group.hollow.primary .button[disabled], .button-group.hollow.primary .button.disabled:hover, .button-group.hollow.primary .button[disabled]:hover, .button-group.hollow.primary .button.disabled:focus, .button-group.hollow.primary .button[disabled]:focus, .button-group.hollow .button.primary, .button-group.hollow .button.primary.disabled, .button-group.hollow .button.primary[disabled], .button-group.hollow .button.primary.disabled:hover, .button-group.hollow .button.primary[disabled]:hover, .button-group.hollow .button.primary.disabled:focus, .button-group.hollow .button.primary[disabled]:focus {
    border: 1px solid #d22533;
    color: #d22533; }
  .button-group.hollow.primary .button:hover, .button-group.hollow.primary .button:focus, .button-group.hollow .button.primary:hover, .button-group.hollow .button.primary:focus {
    border-color: #69131a;
    color: #69131a; }
  .button-group.hollow.secondary .button, .button-group.hollow.secondary .button.disabled, .button-group.hollow.secondary .button[disabled], .button-group.hollow.secondary .button.disabled:hover, .button-group.hollow.secondary .button[disabled]:hover, .button-group.hollow.secondary .button.disabled:focus, .button-group.hollow.secondary .button[disabled]:focus, .button-group.hollow .button.secondary, .button-group.hollow .button.secondary.disabled, .button-group.hollow .button.secondary[disabled], .button-group.hollow .button.secondary.disabled:hover, .button-group.hollow .button.secondary[disabled]:hover, .button-group.hollow .button.secondary.disabled:focus, .button-group.hollow .button.secondary[disabled]:focus {
    border: 1px solid #767676;
    color: #767676; }
  .button-group.hollow.secondary .button:hover, .button-group.hollow.secondary .button:focus, .button-group.hollow .button.secondary:hover, .button-group.hollow .button.secondary:focus {
    border-color: #3b3b3b;
    color: #3b3b3b; }
  .button-group.hollow.success .button, .button-group.hollow.success .button.disabled, .button-group.hollow.success .button[disabled], .button-group.hollow.success .button.disabled:hover, .button-group.hollow.success .button[disabled]:hover, .button-group.hollow.success .button.disabled:focus, .button-group.hollow.success .button[disabled]:focus, .button-group.hollow .button.success, .button-group.hollow .button.success.disabled, .button-group.hollow .button.success[disabled], .button-group.hollow .button.success.disabled:hover, .button-group.hollow .button.success[disabled]:hover, .button-group.hollow .button.success.disabled:focus, .button-group.hollow .button.success[disabled]:focus {
    border: 1px solid #3adb76;
    color: #3adb76; }
  .button-group.hollow.success .button:hover, .button-group.hollow.success .button:focus, .button-group.hollow .button.success:hover, .button-group.hollow .button.success:focus {
    border-color: #157539;
    color: #157539; }
  .button-group.hollow.warning .button, .button-group.hollow.warning .button.disabled, .button-group.hollow.warning .button[disabled], .button-group.hollow.warning .button.disabled:hover, .button-group.hollow.warning .button[disabled]:hover, .button-group.hollow.warning .button.disabled:focus, .button-group.hollow.warning .button[disabled]:focus, .button-group.hollow .button.warning, .button-group.hollow .button.warning.disabled, .button-group.hollow .button.warning[disabled], .button-group.hollow .button.warning.disabled:hover, .button-group.hollow .button.warning[disabled]:hover, .button-group.hollow .button.warning.disabled:focus, .button-group.hollow .button.warning[disabled]:focus {
    border: 1px solid #ffae00;
    color: #ffae00; }
  .button-group.hollow.warning .button:hover, .button-group.hollow.warning .button:focus, .button-group.hollow .button.warning:hover, .button-group.hollow .button.warning:focus {
    border-color: #805700;
    color: #805700; }
  .button-group.hollow.alert .button, .button-group.hollow.alert .button.disabled, .button-group.hollow.alert .button[disabled], .button-group.hollow.alert .button.disabled:hover, .button-group.hollow.alert .button[disabled]:hover, .button-group.hollow.alert .button.disabled:focus, .button-group.hollow.alert .button[disabled]:focus, .button-group.hollow .button.alert, .button-group.hollow .button.alert.disabled, .button-group.hollow .button.alert[disabled], .button-group.hollow .button.alert.disabled:hover, .button-group.hollow .button.alert[disabled]:hover, .button-group.hollow .button.alert.disabled:focus, .button-group.hollow .button.alert[disabled]:focus {
    border: 1px solid #cc4b37;
    color: #cc4b37; }
  .button-group.hollow.alert .button:hover, .button-group.hollow.alert .button:focus, .button-group.hollow .button.alert:hover, .button-group.hollow .button.alert:focus {
    border-color: #67251a;
    color: #67251a; }
  .button-group.hollow.nero .button, .button-group.hollow.nero .button.disabled, .button-group.hollow.nero .button[disabled], .button-group.hollow.nero .button.disabled:hover, .button-group.hollow.nero .button[disabled]:hover, .button-group.hollow.nero .button.disabled:focus, .button-group.hollow.nero .button[disabled]:focus, .button-group.hollow .button.nero, .button-group.hollow .button.nero.disabled, .button-group.hollow .button.nero[disabled], .button-group.hollow .button.nero.disabled:hover, .button-group.hollow .button.nero[disabled]:hover, .button-group.hollow .button.nero.disabled:focus, .button-group.hollow .button.nero[disabled]:focus {
    border: 1px solid #121212;
    color: #121212; }
  .button-group.hollow.nero .button:hover, .button-group.hollow.nero .button:focus, .button-group.hollow .button.nero:hover, .button-group.hollow .button.nero:focus {
    border-color: #090909;
    color: #090909; }
  .button-group.clear .button, .button-group.clear .button:hover, .button-group.clear .button:focus, .button-group.clear .button.disabled, .button-group.clear .button.disabled:hover, .button-group.clear .button.disabled:focus, .button-group.clear .button[disabled], .button-group.clear .button[disabled]:hover, .button-group.clear .button[disabled]:focus {
    border-color: transparent;
    background-color: transparent; }
  .button-group.clear .button, .button-group.clear .button.disabled, .button-group.clear .button[disabled], .button-group.clear .button.disabled:hover, .button-group.clear .button[disabled]:hover, .button-group.clear .button.disabled:focus, .button-group.clear .button[disabled]:focus {
    color: #d22533; }
  .button-group.clear .button:hover, .button-group.clear .button:focus {
    color: #69131a; }
  .button-group.clear.primary .button, .button-group.clear.primary .button.disabled, .button-group.clear.primary .button[disabled], .button-group.clear.primary .button.disabled:hover, .button-group.clear.primary .button[disabled]:hover, .button-group.clear.primary .button.disabled:focus, .button-group.clear.primary .button[disabled]:focus, .button-group.clear .button.primary, .button-group.clear .button.primary.disabled, .button-group.clear .button.primary[disabled], .button-group.clear .button.primary.disabled:hover, .button-group.clear .button.primary[disabled]:hover, .button-group.clear .button.primary.disabled:focus, .button-group.clear .button.primary[disabled]:focus {
    color: #d22533; }
  .button-group.clear.primary .button:hover, .button-group.clear.primary .button:focus, .button-group.clear .button.primary:hover, .button-group.clear .button.primary:focus {
    color: #69131a; }
  .button-group.clear.secondary .button, .button-group.clear.secondary .button.disabled, .button-group.clear.secondary .button[disabled], .button-group.clear.secondary .button.disabled:hover, .button-group.clear.secondary .button[disabled]:hover, .button-group.clear.secondary .button.disabled:focus, .button-group.clear.secondary .button[disabled]:focus, .button-group.clear .button.secondary, .button-group.clear .button.secondary.disabled, .button-group.clear .button.secondary[disabled], .button-group.clear .button.secondary.disabled:hover, .button-group.clear .button.secondary[disabled]:hover, .button-group.clear .button.secondary.disabled:focus, .button-group.clear .button.secondary[disabled]:focus {
    color: #767676; }
  .button-group.clear.secondary .button:hover, .button-group.clear.secondary .button:focus, .button-group.clear .button.secondary:hover, .button-group.clear .button.secondary:focus {
    color: #3b3b3b; }
  .button-group.clear.success .button, .button-group.clear.success .button.disabled, .button-group.clear.success .button[disabled], .button-group.clear.success .button.disabled:hover, .button-group.clear.success .button[disabled]:hover, .button-group.clear.success .button.disabled:focus, .button-group.clear.success .button[disabled]:focus, .button-group.clear .button.success, .button-group.clear .button.success.disabled, .button-group.clear .button.success[disabled], .button-group.clear .button.success.disabled:hover, .button-group.clear .button.success[disabled]:hover, .button-group.clear .button.success.disabled:focus, .button-group.clear .button.success[disabled]:focus {
    color: #3adb76; }
  .button-group.clear.success .button:hover, .button-group.clear.success .button:focus, .button-group.clear .button.success:hover, .button-group.clear .button.success:focus {
    color: #157539; }
  .button-group.clear.warning .button, .button-group.clear.warning .button.disabled, .button-group.clear.warning .button[disabled], .button-group.clear.warning .button.disabled:hover, .button-group.clear.warning .button[disabled]:hover, .button-group.clear.warning .button.disabled:focus, .button-group.clear.warning .button[disabled]:focus, .button-group.clear .button.warning, .button-group.clear .button.warning.disabled, .button-group.clear .button.warning[disabled], .button-group.clear .button.warning.disabled:hover, .button-group.clear .button.warning[disabled]:hover, .button-group.clear .button.warning.disabled:focus, .button-group.clear .button.warning[disabled]:focus {
    color: #ffae00; }
  .button-group.clear.warning .button:hover, .button-group.clear.warning .button:focus, .button-group.clear .button.warning:hover, .button-group.clear .button.warning:focus {
    color: #805700; }
  .button-group.clear.alert .button, .button-group.clear.alert .button.disabled, .button-group.clear.alert .button[disabled], .button-group.clear.alert .button.disabled:hover, .button-group.clear.alert .button[disabled]:hover, .button-group.clear.alert .button.disabled:focus, .button-group.clear.alert .button[disabled]:focus, .button-group.clear .button.alert, .button-group.clear .button.alert.disabled, .button-group.clear .button.alert[disabled], .button-group.clear .button.alert.disabled:hover, .button-group.clear .button.alert[disabled]:hover, .button-group.clear .button.alert.disabled:focus, .button-group.clear .button.alert[disabled]:focus {
    color: #cc4b37; }
  .button-group.clear.alert .button:hover, .button-group.clear.alert .button:focus, .button-group.clear .button.alert:hover, .button-group.clear .button.alert:focus {
    color: #67251a; }
  .button-group.clear.nero .button, .button-group.clear.nero .button.disabled, .button-group.clear.nero .button[disabled], .button-group.clear.nero .button.disabled:hover, .button-group.clear.nero .button[disabled]:hover, .button-group.clear.nero .button.disabled:focus, .button-group.clear.nero .button[disabled]:focus, .button-group.clear .button.nero, .button-group.clear .button.nero.disabled, .button-group.clear .button.nero[disabled], .button-group.clear .button.nero.disabled:hover, .button-group.clear .button.nero[disabled]:hover, .button-group.clear .button.nero.disabled:focus, .button-group.clear .button.nero[disabled]:focus {
    color: #121212; }
  .button-group.clear.nero .button:hover, .button-group.clear.nero .button:focus, .button-group.clear .button.nero:hover, .button-group.clear .button.nero:focus {
    color: #090909; }
  .button-group.no-gaps .button {
    margin-right: -0.0625rem; }
    .button-group.no-gaps .button + .button {
      border-left-color: transparent; }
  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
      .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
        margin-bottom: 0; }
    .button-group.stacked.expanded .button, .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-medium.expanded .button {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
  @media print, screen and (min-width: 40em) {
    .button-group.stacked-for-small .button {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64.0625em) {
    .button-group.stacked-for-medium .button {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      margin-bottom: 0; } }
  @media print, screen and (max-width: 39.99875em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }
  @media print, screen and (max-width: 64.06125em) {
    .button-group.stacked-for-medium.expanded {
      display: block; }
      .button-group.stacked-for-medium.expanded .button {
        display: block;
        margin-right: 0; } }

.close-button {
  position: absolute;
  z-index: 10;
  color: #8a8a8a;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #000000; }
  .close-button.small {
    right: 0.66rem;
    top: 0.33em;
    font-size: 1.5em;
    line-height: 1; }
  .close-button, .close-button.medium {
    right: 1rem;
    top: 0.5rem;
    font-size: 2em;
    line-height: 1; }

.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 1rem;
  padding-bottom: 75%;
  overflow: hidden; }
  .responsive-embed iframe,
  .responsive-embed object,
  .responsive-embed embed,
  .responsive-embed video,
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .responsive-embed.widescreen,
  .flex-video.widescreen {
    padding-bottom: 56.25%; }

.media-object {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1rem;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
  .media-object img {
    max-width: none; }
  @media print, screen and (max-width: 39.99875em) {
    .media-object.stack-for-small {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }

.media-object-section {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section > :last-child {
    margin-bottom: 0; }
  @media print, screen and (max-width: 39.99875em) {
    .stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
      max-width: 100%; }
      .stack-for-small .media-object-section img {
        width: 100%; } }
  .media-object-section.main-section {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }

.is-off-canvas-open {
  overflow: hidden; }

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  -webkit-transition: opacity 0.5s ease, visibility 0.5s ease;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: rgba(255, 255, 255, 0.25);
  opacity: 0;
  visibility: hidden;
  overflow: hidden; }
  .js-off-canvas-overlay.is-visible {
    opacity: 1;
    visibility: visible; }
  .js-off-canvas-overlay.is-closable {
    cursor: pointer; }
  .js-off-canvas-overlay.is-overlay-absolute {
    position: absolute; }
  .js-off-canvas-overlay.is-overlay-fixed {
    position: fixed; }

.off-canvas-wrapper {
  position: relative;
  overflow: hidden; }

.off-canvas {
  position: fixed;
  z-index: 12;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #e6e6e6; }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.is-transition-push {
    z-index: 12; }
  .off-canvas.is-closed {
    visibility: hidden; }
  .off-canvas.is-transition-overlap {
    z-index: 13; }
    .off-canvas.is-transition-overlap.is-open {
      -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.7);
              box-shadow: 0 0 10px rgba(0, 0, 0, 0.7); }
  .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }

.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #e6e6e6; }
  [data-whatinput='mouse'] .off-canvas-absolute {
    outline: 0; }
  .off-canvas-absolute.is-transition-push {
    z-index: 12; }
  .off-canvas-absolute.is-closed {
    visibility: hidden; }
  .off-canvas-absolute.is-transition-overlap {
    z-index: 13; }
    .off-canvas-absolute.is-transition-overlap.is-open {
      -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.7);
              box-shadow: 0 0 10px rgba(0, 0, 0, 0.7); }
  .off-canvas-absolute.is-open {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  width: 250px;
  -webkit-transform: translateX(-250px);
          transform: translateX(-250px); }
  .off-canvas-content .off-canvas.position-left {
    -webkit-transform: translateX(-250px);
            transform: translateX(-250px); }
    .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-left.has-transition-push {
    -webkit-transform: translateX(250px);
            transform: translateX(250px); }
  .position-left.is-transition-push {
    -webkit-box-shadow: inset -13px 0 20px -13px rgba(0, 0, 0, 0.25);
            box-shadow: inset -13px 0 20px -13px rgba(0, 0, 0, 0.25); }

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  width: 250px;
  -webkit-transform: translateX(250px);
          transform: translateX(250px); }
  .off-canvas-content .off-canvas.position-right {
    -webkit-transform: translateX(250px);
            transform: translateX(250px); }
    .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-right.has-transition-push {
    -webkit-transform: translateX(-250px);
            transform: translateX(-250px); }
  .position-right.is-transition-push {
    -webkit-box-shadow: inset 13px 0 20px -13px rgba(0, 0, 0, 0.25);
            box-shadow: inset 13px 0 20px -13px rgba(0, 0, 0, 0.25); }

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  height: 250px;
  -webkit-transform: translateY(-250px);
          transform: translateY(-250px); }
  .off-canvas-content .off-canvas.position-top {
    -webkit-transform: translateY(-250px);
            transform: translateY(-250px); }
    .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-top.has-transition-push {
    -webkit-transform: translateY(250px);
            transform: translateY(250px); }
  .position-top.is-transition-push {
    -webkit-box-shadow: inset 0 -13px 20px -13px rgba(0, 0, 0, 0.25);
            box-shadow: inset 0 -13px 20px -13px rgba(0, 0, 0, 0.25); }

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  height: 250px;
  -webkit-transform: translateY(250px);
          transform: translateY(250px); }
  .off-canvas-content .off-canvas.position-bottom {
    -webkit-transform: translateY(250px);
            transform: translateY(250px); }
    .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-bottom.has-transition-push {
    -webkit-transform: translateY(-250px);
            transform: translateY(-250px); }
  .position-bottom.is-transition-push {
    -webkit-box-shadow: inset 0 13px 20px -13px rgba(0, 0, 0, 0.25);
            box-shadow: inset 0 13px 20px -13px rgba(0, 0, 0, 0.25); }

.off-canvas-content {
  -webkit-transform: none;
          transform: none;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }
  .off-canvas-content.has-transition-overlap, .off-canvas-content.has-transition-push {
    -webkit-transition: -webkit-transform 0.5s ease;
    transition: -webkit-transform 0.5s ease;
    transition: transform 0.5s ease;
    transition: transform 0.5s ease, -webkit-transform 0.5s ease; }
  .off-canvas-content.has-transition-push {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  .off-canvas-content .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }

@media print, screen and (min-width: 40em) {
  .position-left.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-medium {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-medium {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-medium {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-medium ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-medium {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-medium ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media print, screen and (min-width: 64.0625em) {
  .position-left.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-large {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-large {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-large {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-large {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-large ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media screen and (min-width: 75em) {
  .position-left.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-xlarge ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-xlarge ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-xlarge ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-xlarge ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media screen and (min-width: 90.0625em) {
  .position-left.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xxlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-xxlarge ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xxlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-xxlarge ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xxlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-xxlarge ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xxlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-xxlarge ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media print, screen and (min-width: 40em) {
  .off-canvas.in-canvas-for-medium {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    -webkit-transition: none;
    transition: none; }
    .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {
      -webkit-box-shadow: none;
              box-shadow: none;
      -webkit-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-medium .close-button {
      display: none; } }

@media print, screen and (min-width: 64.0625em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    -webkit-transition: none;
    transition: none; }
    .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {
      -webkit-box-shadow: none;
              box-shadow: none;
      -webkit-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-large .close-button {
      display: none; } }

@media screen and (min-width: 75em) {
  .off-canvas.in-canvas-for-xlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    -webkit-transition: none;
    transition: none; }
    .off-canvas.in-canvas-for-xlarge.position-left, .off-canvas.in-canvas-for-xlarge.position-right, .off-canvas.in-canvas-for-xlarge.position-top, .off-canvas.in-canvas-for-xlarge.position-bottom {
      -webkit-box-shadow: none;
              box-shadow: none;
      -webkit-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-xlarge .close-button {
      display: none; } }

@media screen and (min-width: 90.0625em) {
  .off-canvas.in-canvas-for-xxlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    -webkit-transition: none;
    transition: none; }
    .off-canvas.in-canvas-for-xxlarge.position-left, .off-canvas.in-canvas-for-xxlarge.position-right, .off-canvas.in-canvas-for-xxlarge.position-top, .off-canvas.in-canvas-for-xxlarge.position-bottom {
      -webkit-box-shadow: none;
              box-shadow: none;
      -webkit-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-xxlarge .close-button {
      display: none; } }

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .pagination::after {
    clear: both; }
  .pagination li {
    margin-right: 0.0625rem;
    border-radius: 0;
    font-size: 0.875rem;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media print, screen and (min-width: 40em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 0;
    color: #000000; }
    .pagination a:hover,
    .pagination button:hover {
      background: #e6e6e6; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #d22533;
    color: #ffffff;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #cacaca;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.1875rem 0.625rem;
    content: '\2026';
    color: #000000; }

.pagination-previous a::before,
.pagination-previous.disabled::before {
  display: inline-block;
  margin-right: 0.5rem;
  content: "«"; }

.pagination-next a::after,
.pagination-next.disabled::after {
  display: inline-block;
  margin-left: 0.5rem;
  content: "»"; }

.sticky-container {
  position: relative; }

.sticky {
  position: relative;
  z-index: 0;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }

.sticky.is-stuck {
  position: fixed;
  z-index: 5;
  width: 100%; }
  .sticky.is-stuck.is-at-top {
    top: 0; }
  .sticky.is-stuck.is-at-bottom {
    bottom: 0; }

.sticky.is-anchored {
  position: relative;
  right: auto;
  left: auto; }
  .sticky.is-anchored.is-at-bottom {
    bottom: 0; }

html.is-reveal-open {
  position: fixed;
  width: 100%;
  overflow-y: hidden; }
  html.is-reveal-open.zf-has-scroll {
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch; }
  html.is-reveal-open body {
    overflow-y: hidden; }

.reveal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1005;
  display: none;
  background-color: rgba(0, 0, 0, 0.45);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #ffffff;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      min-height: 0; } }
  .reveal .column, .reveal .columns {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      width: 600px;
      max-width: 87.5rem; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 87.5rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 87.5rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 87.5rem; } }
  .reveal.full {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    min-height: 100%;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media print, screen and (max-width: 39.99875em) {
    .reveal {
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      max-width: none;
      height: 100%;
      min-height: 100%;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  thead,
  tbody,
  tfoot {
    border: 1px solid #f2f2f2;
    background-color: #ffffff; }
  caption {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold; }
  thead {
    background: #f9f9f9;
    color: #000000; }
  tfoot {
    background: #f2f2f2;
    color: #000000; }
  thead tr,
  tfoot tr {
    background: transparent; }
  thead th,
  thead td,
  tfoot th,
  tfoot td {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold;
    text-align: left; }
  tbody th,
  tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }
  tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: #f2f2f2; }
  table.unstriped tbody {
    background-color: #ffffff; }
    table.unstriped tbody tr {
      border-bottom: 1px solid #f2f2f2;
      background-color: #ffffff; }

@media print, screen and (max-width: 64.06125em) {
  table.stack thead {
    display: none; }
  table.stack tfoot {
    display: none; }
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block; }
  table.stack td {
    border-top: 0; } }

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto; }

table.hover thead tr:hover {
  background-color: #f4f4f4; }

table.hover tfoot tr:hover {
  background-color: #ededed; }

table.hover tbody tr:hover {
  background-color: #fafafa; }

table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: #ededed; }

.table-scroll {
  overflow-x: auto; }

.tabs {
  margin: 0;
  border: 1px solid #e6e6e6;
  background: #ffffff;
  list-style-type: none; }
  .tabs::before, .tabs::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .tabs::after {
    clear: both; }

.tabs.vertical > li {
  display: block;
  float: none;
  width: auto; }

.tabs.simple > li > a {
  padding: 0; }
  .tabs.simple > li > a:hover {
    background: transparent; }

.tabs.primary {
  background: #d22533; }
  .tabs.primary > li > a {
    color: #ffffff; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #c82330; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    font-size: 0.75rem;
    line-height: 1;
    color: #d22533; }
    [data-whatinput='mouse'] .tabs-title > a {
      outline: 0; }
    .tabs-title > a:hover {
      background: #ffffff;
      color: #b5202c; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #e6e6e6;
      color: #d22533; }

.tabs-content {
  border: 1px solid #e6e6e6;
  border-top: 0;
  background: #ffffff;
  color: #000000;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.tabs-content.vertical {
  border: 1px solid #e6e6e6;
  border-left: 0; }

.tabs-panel {
  display: none;
  padding: 1rem; }
  .tabs-panel.is-active {
    display: block; }

.top-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.5rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .top-bar,
  .top-bar ul {
    background-color: #e6e6e6; }
  .top-bar input {
    max-width: 200px;
    margin-right: 1rem; }
  .top-bar .input-group-field {
    width: 100%;
    margin-right: 0; }
  .top-bar input.button {
    width: auto; }
  .top-bar .top-bar-left,
  .top-bar .top-bar-right {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  @media print, screen and (min-width: 40em) {
    .top-bar {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
      .top-bar .top-bar-left {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto;
        margin-right: auto; }
      .top-bar .top-bar-right {
        -webkit-box-flex: 0;
            -ms-flex: 0 1 auto;
                flex: 0 1 auto;
        margin-left: auto; } }
  @media print, screen and (max-width: 64.06125em) {
    .top-bar.stacked-for-medium {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .top-bar.stacked-for-medium .top-bar-left,
      .top-bar.stacked-for-medium .top-bar-right {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }
  @media print, screen and (max-width: 74.99875em) {
    .top-bar.stacked-for-large {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .top-bar.stacked-for-large .top-bar-left,
      .top-bar.stacked-for-large .top-bar-right {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }
  @media print, screen and (max-width: 90.06125em) {
    .top-bar.stacked-for-xlarge {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .top-bar.stacked-for-xlarge .top-bar-left,
      .top-bar.stacked-for-xlarge .top-bar-right {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }
  @media print, screen and (max-width: 119.99875em) {
    .top-bar.stacked-for-xxlarge {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .top-bar.stacked-for-xxlarge .top-bar-left,
      .top-bar.stacked-for-xxlarge .top-bar-right {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }

.top-bar-title {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin: 0.5rem 1rem 0.5rem 0; }

.top-bar-left,
.top-bar-right {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

.visible {
  visibility: visible; }

@media print, screen and (max-width: 39.99875em) {
  .hide-for-small-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 40em) {
  .show-for-small-only {
    display: none !important; } }

@media print, screen and (min-width: 40em) {
  .hide-for-medium {
    display: none !important; } }

@media screen and (max-width: 39.99875em) {
  .show-for-medium {
    display: none !important; } }

@media print, screen and (min-width: 40em) and (max-width: 64.06125em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 39.99875em), screen and (min-width: 64.0625em) {
  .show-for-medium-only {
    display: none !important; } }

@media print, screen and (min-width: 64.0625em) {
  .hide-for-large {
    display: none !important; } }

@media screen and (max-width: 64.06125em) {
  .show-for-large {
    display: none !important; } }

@media print, screen and (min-width: 64.0625em) and (max-width: 74.99875em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 64.06125em), screen and (min-width: 75em) {
  .show-for-large-only {
    display: none !important; } }

@media screen and (min-width: 75em) {
  .hide-for-xlarge {
    display: none !important; } }

@media screen and (max-width: 74.99875em) {
  .show-for-xlarge {
    display: none !important; } }

@media screen and (min-width: 75em) and (max-width: 90.06125em) {
  .hide-for-xlarge-only {
    display: none !important; } }

@media screen and (max-width: 74.99875em), screen and (min-width: 90.0625em) {
  .show-for-xlarge-only {
    display: none !important; } }

@media screen and (min-width: 90.0625em) {
  .hide-for-xxlarge {
    display: none !important; } }

@media screen and (max-width: 90.06125em) {
  .show-for-xxlarge {
    display: none !important; } }

@media screen and (min-width: 90.0625em) and (max-width: 119.99875em) {
  .hide-for-xxlarge-only {
    display: none !important; } }

@media screen and (max-width: 90.06125em), screen and (min-width: 120em) {
  .show-for-xxlarge-only {
    display: none !important; } }

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important; }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important; }

.show-for-landscape,
.hide-for-portrait {
  display: block !important; }
  @media screen and (orientation: landscape) {
    .show-for-landscape,
    .hide-for-portrait {
      display: block !important; } }
  @media screen and (orientation: portrait) {
    .show-for-landscape,
    .hide-for-portrait {
      display: none !important; } }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }
  @media screen and (orientation: landscape) {
    .hide-for-landscape,
    .show-for-portrait {
      display: none !important; } }
  @media screen and (orientation: portrait) {
    .hide-for-landscape,
    .show-for-portrait {
      display: block !important; } }

.show-for-dark-mode {
  display: none; }

.hide-for-dark-mode {
  display: block; }

@media screen and (prefers-color-scheme: dark) {
  .show-for-dark-mode {
    display: block !important; }
  .hide-for-dark-mode {
    display: none !important; } }

.show-for-ie {
  display: none; }

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .show-for-ie {
    display: block !important; }
  .hide-for-ie {
    display: none !important; } }

.show-for-sticky {
  display: none; }

.is-stuck .show-for-sticky {
  display: block; }

.is-stuck .hide-for-sticky {
  display: none; }

.float-left {
  float: left !important; }

.float-right {
  float: right !important; }

.float-center {
  display: block;
  margin-right: auto;
  margin-left: auto; }

.clearfix::before, .clearfix::after {
  display: table;
  content: ' ';
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

.clearfix::after {
  clear: both; }

/* Sentient - Regular */
@font-face {
  font-display: swap;
  font-family: "Sentient";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/Sentient-Regular.woff2") format("woff2"); }

/* Sentient - Medium */
@font-face {
  font-display: swap;
  font-family: "Sentient";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/Sentient-Medium.woff2") format("woff2"); }

/* Sentient - Bold */
@font-face {
  font-display: swap;
  font-family: "Sentient";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/Sentient-Bold.woff2") format("woff2"); }

/* Sentient - Italic */
@font-face {
  font-display: swap;
  font-family: "Sentient";
  font-style: italic;
  font-weight: 400;
  src: url("../fonts/Sentient-Italic.woff2") format("woff2"); }

/* Sentient - Medium Italic */
@font-face {
  font-display: swap;
  font-family: "Sentient";
  font-style: italic;
  font-weight: 500;
  src: url("../fonts/Sentient-MediumItalic.woff2") format("woff2"); }

/* Switzer - Regular */
@font-face {
  font-display: swap;
  font-family: "Switzer";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/Switzer-Regular.woff2") format("woff2"); }

/* Switzer - Semibold */
@font-face {
  font-display: swap;
  font-family: "Switzer";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/Switzer-Semibold.woff2") format("woff2"); }

/* Switzer - Bold */
@font-face {
  font-display: swap;
  font-family: "Switzer";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/Switzer-Bold.woff2") format("woff2"); }

/* Switzer - Bold italic */
@font-face {
  font-display: swap;
  font-family: "Switzer";
  font-style: italic;
  font-weight: 700;
  src: url("../fonts/Switzer-BoldItalic.woff2") format("woff2"); }

/* Switzer - Semibold italic */
@font-face {
  font-display: swap;
  font-family: "Switzer";
  font-style: italic;
  font-weight: 500;
  src: url("../fonts/Switzer-SemiboldItalic.woff2") format("woff2"); }

/* Switzer - Extrabold */
@font-face {
  font-display: swap;
  font-family: "Switzer";
  font-style: normal;
  font-weight: 800;
  src: url("../fonts/Switzer-Extrabold.woff2") format("woff2"); }

/* Switzer - Black */
@font-face {
  font-display: swap;
  font-family: "Switzer";
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/Switzer-Black.woff2") format("woff2"); }

.f_din {
  font-family: "din-2014-narrow", sans-serif;
  letter-spacing: -0.01em;
  font-weight: 600; }

.f_inter {
  font-family: "Inter", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; }

.ttu {
  text-transform: uppercase; }

/************************************************

Stylesheet: Global Stylesheet

*************************************************/
.row.ext {
  max-width: 120rem; }

/*********************
POSTS & CONTENT STYLES
*********************/
.page-title .vcard {
  border: 0px;
  padding: 0px; }

.byline {
  color: #999; }

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

.entry-content .imgSinistraFloat,
.entry-content .alignleft,
.entry-content img.alignleft {
  margin-right: 1.5em;
  display: inline;
  float: left; }

.entry-content .imgDestraFloat,
.entry-content .alignright,
.entry-content img.alignright {
  margin-left: 1.5em;
  display: inline;
  float: right; }

.entry-content .aligncenter,
.entry-content img.aligncenter {
  margin-right: auto;
  margin-left: auto;
  display: block;
  clear: both; }

.entry-content video,
.entry-content object {
  max-width: 100%;
  height: auto; }

.entry-content pre {
  background: #eee;
  border: 1px solid #cecece;
  padding: 10px; }

.wp-caption {
  max-width: 100%;
  background: #eee;
  padding: 5px; }
  .wp-caption img {
    max-width: 100%;
    margin-bottom: 0;
    width: 100%; }
  .wp-caption p.wp-caption-text {
    font-size: 0.85em;
    margin: 4px 0 7px;
    text-align: center; }

.post-password-form input[type="submit"] {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.85em 1em;
  border: 1px solid transparent;
  border-radius: 0;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-family: inherit;
  font-size: 0.9rem;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer; }
  [data-whatinput='mouse'] .post-password-form input[type="submit"] {
    outline: 0; }
  .post-password-form input[type="submit"], .post-password-form input[type="submit"].disabled, .post-password-form input[type="submit"][disabled], .post-password-form input[type="submit"].disabled:hover, .post-password-form input[type="submit"][disabled]:hover, .post-password-form input[type="submit"].disabled:focus, .post-password-form input[type="submit"][disabled]:focus {
    background-color: #d22533;
    color: #ffffff; }
  .post-password-form input[type="submit"]:hover, .post-password-form input[type="submit"]:focus {
    background-color: #b31f2b;
    color: #ffffff; }

/*********************
IMAGE GALLERY STYLES
*********************/
.gallery {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-right: -15px;
  margin-left: -15px; }

.gallery::before,
.gallery::after {
  content: " ";
  display: table; }

.gallery::after {
  clear: both; }

.gallery.gallery-columns-1 > dl {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  width: 100%;
  float: left; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-1 > dl {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .gallery.gallery-columns-1 > dl, .gallery.gallery-columns-1 > dl:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .gallery.gallery-columns-1 > dl:last-child:not(:first-child) {
    float: right; }

.gallery.gallery-columns-2 > dl {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  width: 50%;
  float: left; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-2 > dl {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .gallery.gallery-columns-2 > dl, .gallery.gallery-columns-2 > dl:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .gallery.gallery-columns-2 > dl:last-child:not(:first-child) {
    float: right; }

.gallery.gallery-columns-3 > dl {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  width: 33.33333%;
  float: left; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-3 > dl {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .gallery.gallery-columns-3 > dl, .gallery.gallery-columns-3 > dl:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .gallery.gallery-columns-3 > dl:last-child:not(:first-child) {
    float: right; }

.gallery.gallery-columns-4 > dl {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  width: 25%;
  float: left; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-4 > dl {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .gallery.gallery-columns-4 > dl, .gallery.gallery-columns-4 > dl:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .gallery.gallery-columns-4 > dl:last-child:not(:first-child) {
    float: right; }

.gallery.gallery-columns-5 > dl {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  width: 20%;
  float: left; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-5 > dl {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .gallery.gallery-columns-5 > dl, .gallery.gallery-columns-5 > dl:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .gallery.gallery-columns-5 > dl:last-child:not(:first-child) {
    float: right; }

.gallery.gallery-columns-6 > dl {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  width: 16.66667%;
  float: left; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-6 > dl {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .gallery.gallery-columns-6 > dl, .gallery.gallery-columns-6 > dl:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .gallery.gallery-columns-6 > dl:last-child:not(:first-child) {
    float: right; }

.gallery.gallery-columns-7 > dl {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  width: 14.28571%;
  float: left; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-7 > dl {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .gallery.gallery-columns-7 > dl, .gallery.gallery-columns-7 > dl:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .gallery.gallery-columns-7 > dl:last-child:not(:first-child) {
    float: right; }

.gallery.gallery-columns-8 > dl {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  width: 12.5%;
  float: left; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-8 > dl {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .gallery.gallery-columns-8 > dl, .gallery.gallery-columns-8 > dl:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .gallery.gallery-columns-8 > dl:last-child:not(:first-child) {
    float: right; }

.gallery dl {
  width: 100%;
  float: left;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem; }

.gallery dl:last-child:not(:first-child) {
  float: right; }

/*********************
PAGE NAVI STYLES
*********************/
.page-navigation {
  margin-top: 1rem; }

/*********************
COMMENT STYLES
*********************/
#comments .commentlist {
  margin-left: 0px; }

#respond ul {
  margin-left: 0px; }

.commentlist li {
  position: relative;
  clear: both;
  overflow: hidden;
  list-style-type: none;
  margin-bottom: 1.5em;
  padding: 0.7335em 10px; }
  .commentlist li:last-child {
    margin-bottom: 0; }
  .commentlist li ul.children {
    margin: 0; }

.commentlist li[class*="depth-"] {
  margin-top: 1.1em; }

.commentlist li.depth-1 {
  margin-left: 0;
  margin-top: 0; }

.commentlist li:not(.depth-1) {
  margin-left: 10px;
  margin-top: 0;
  padding-bottom: 0; }

.commentlist .vcard {
  margin-left: 50px; }
  .commentlist .vcard cite.fn {
    font-weight: 700;
    font-style: normal; }
  .commentlist .vcard time {
    float: right; }
    .commentlist .vcard time a {
      color: #999;
      text-decoration: none; }
      .commentlist .vcard time a:hover {
        text-decoration: underline; }
  .commentlist .vcard img.avatar {
    position: absolute;
    left: 10px;
    padding: 2px;
    border: 1px solid #cecece;
    background: #fff; }

.commentlist .comment_content p {
  margin: 0.7335em 0 1.5em;
  font-size: 1em;
  line-height: 1.5em; }

.commentlist .comment-reply-link {
  float: right; }

/*********************
COMMENT FORM STYLES
*********************/
.respond-form {
  margin: 1.5em 10px;
  padding-bottom: 2.2em; }
  .respond-form form {
    margin: 0.75em 0; }
    .respond-form form li {
      list-style-type: none;
      clear: both;
      margin-bottom: 0.7335em; }
      .respond-form form li label,
      .respond-form form li small {
        display: none; }
    .respond-form form input[type="text"],
    .respond-form form input[type="email"],
    .respond-form form input[type="url"],
    .respond-form form textarea {
      padding: 3px 6px;
      background: #efefef;
      border: 2px solid #cecece;
      line-height: 1.5em; }
      .respond-form form input[type="text"]:focus,
      .respond-form form input[type="email"]:focus,
      .respond-form form input[type="url"]:focus,
      .respond-form form textarea:focus {
        background: #fff; }
      .respond-form form input[type="text"]:invalid,
      .respond-form form input[type="email"]:invalid,
      .respond-form form input[type="url"]:invalid,
      .respond-form form textarea:invalid {
        outline: none;
        border-color: #fbc2c4;
        background-color: #f6e7eb;
        -webkit-box-shadow: none;
        -ms-box-shadow: none;
        box-shadow: none; }
    .respond-form form input[type="text"],
    .respond-form form input[type="email"],
    .respond-form form input[type="url"] {
      max-width: 400px;
      min-width: 250px; }
    .respond-form form textarea {
      resize: none;
      width: 97.3%;
      height: 150px; }

#comment-form-title {
  margin: 0 0 1.1em; }

#allowed_tags {
  margin: 1.5em 10px 0.7335em 0; }

.nocomments {
  margin: 0 20px 1.1em; }

/*********************
SIDEBARS & ASIDES
*********************/
.sidebar li {
  list-style: none; }

.widget ul {
  margin: 0; }

/*********************
FOOTER STYLES
*********************/
.footer {
  clear: both;
  margin-top: 1em; }

/*********************
VISUAL EDITOR STYLES
*********************/
body#tinymce {
  margin: 20px; }

/*********************
PLUGIN STYLES
*********************/
.gform_body ul {
  list-style: none outside none;
  margin: 0; }

.gform_validation_container,
.gform_wrapper .gform_validation_container,
body .gform_wrapper li.gform_validation_container,
body .gform_wrapper .gform_body ul.gform_fields li.gfield.gform_validation_container,
body .gform_wrapper ul.gform_fields li.gfield.gform_validation_container {
  display: none !important;
  position: absolute !important;
  left: -9000px; }

@use "sass:math";
@use "sass:map";
/* @function rnd($number, $places: 0) {
    $n: 1;
    @if $places > 0 {
        @for $i from 1 through $places {
            $n: $n * 10;
        }
    }
    @return (math.round($number * $n) / $n);
}
 */
.el {
  font-size: clamp(3rem, 5vw + -0.75rem, 5.25rem); }

.fullheight {
  height: calc(var(--vh, 1vh) * 100); }

body.logged-in.admin-bar .main-header {
  margin-top: 32px; }

.underline {
  position: relative; }
  .underline::before {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 3px;
    bottom: 0;
    left: 0;
    background-color: inherit;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: top left;
            transform-origin: top left;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease; }

.underline:hover::before, .underline:focus::before {
  -webkit-transform: scaleX(1);
          transform: scaleX(1); }

h1,
.h1,
h3,
.h3,
h4,
.h4,
h5,
.h5 {
  font-family: 'Switzer', sans-serif;
  font-weight: 700;
  line-height: 1.2; }

h3,
.h3,
h4,
.h4 {
  font-weight: 600; }

h1, .h1 {
  font-weight: 900; }

h2, .h2 {
  font-family: 'din-2014', sans-serif;
  font-size: 2.125rem;
  font-weight: 400;
  text-transform: uppercase; }
  @media screen and (max-width: 680px) {
    h2, .h2 {
      font-size: 1.75rem; } }

h3, .h3 {
  margin-bottom: 2rem;
  text-transform: initial; }
  h3 em,
  .h3 em {
    font-weight: 400; }

h6, .h6 {
  font-size: 1rem;
  line-height: 18px;
  letter-spacing: 1.2px;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  font-family: 'din-2014', sans-serif;
  font-weight: 400;
  font-style: normal; }

@media screen and (max-width: 1470px) {
  .row {
    max-width: 79.375rem; } }

.title-section h6,
.title-section .h6 {
  margin-bottom: 1rem; }

hr {
  margin: 0 auto;
  border-bottom: 1px solid #000; }

a {
  color: initial; }

.auto-width {
  width: 20.8333%; }
  @media screen and (max-width: 1025px) {
    .auto-width {
      width: 100%;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }

.hover_underline {
  color: initial;
  position: relative; }
  .hover_underline:after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    background-color: #d22533;
    left: 0;
    bottom: -10px;
    -webkit-transition: width 0.3s ease;
    transition: width 0.3s ease; }
  .hover_underline:hover:after {
    width: 100%; }

p {
  font-family: 'Sentient', serif; }
  p span {
    font-family: 'Sentient', serif;
    font-size: 1rem !important; }

.sticky-container {
  margin-top: 60px; }

blockquote {
  color: initial;
  font-size: 1.4375rem;
  font-family: 'Sentient';
  font-style: italic;
  line-height: 1.3;
  padding: 0;
  border: none;
  position: relative;
  padding-top: 40px; }
  blockquote:before {
    content: url("../images/virgolette.svg");
    position: absolute;
    top: 0;
    left: 0; }

.black .box-author .text_author a,
.blue .box-author .text_author a,
.red .box-author .text_author a,
.black blockquote,
.blue blockquote,
.red blockquote {
  color: #ffffff; }

.black .swiperCorrelato .swiper-pagination-bullet-active,
.black .swiper-pagination-bullet {
  background: #FFF; }

.title h2 {
  margin-bottom: 1rem; }
  .title h2.line {
    padding-left: 65px;
    position: relative; }
    @media screen and (max-width: 1025px) {
      .title h2.line {
        font-size: 1.75rem;
        padding-left: 2.5rem; } }
    @media screen and (max-width: 680px) {
      .title h2.line {
        font-size: 1.375rem; } }
    .title h2.line:before {
      position: absolute;
      top: 50%;
      left: 0;
      content: '';
      width: 50px;
      height: 1.5px;
      background-color: #d22533; }
      @media screen and (max-width: 1025px) {
        .title h2.line:before {
          width: 1.875rem; } }

.dflex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-line-pack: center;
      align-content: center; }

.row-large {
  max-width: 1920px; }

ul.social {
  margin: 0;
  list-style: none; }
  ul.social li {
    display: inline-block;
    margin-right: 20px; }
    ul.social li img {
      height: 30px; }

.red .intro .byline,
.blue .intro .byline,
.black .intro .byline {
  color: #ffffff; }
  .red .intro .byline span,
  .blue .intro .byline span,
  .black .intro .byline span {
    background-color: #ffffff; }
  .red .intro .byline .hover_underline,
  .blue .intro .byline .hover_underline,
  .black .intro .byline .hover_underline {
    color: #ffffff; }
    .red .intro .byline .hover_underline:after,
    .blue .intro .byline .hover_underline:after,
    .black .intro .byline .hover_underline:after {
      background-color: #d22533; }

.white .intro .byline {
  color: #000000; }
  .white .intro .byline .hover_underline {
    color: initial; }

.red .intro .byline .hover_underline:after {
  background-color: #ffffff; }

.video video {
  width: 100%; }

a.button {
  padding: 12px 80px;
  border-radius: 8px;
  font-family: 'Switzer', sans-serif;
  color: #000000;
  background-color: #ffffff;
  display: inline-block;
  margin-top: 10px;
  margin-bottom: 0; }
  a.button:hover {
    color: #ffffff;
    background-color: #000000; }

.darkgray a.button {
  color: #ffffff;
  background-color: #000000; }
  .darkgray a.button:hover {
    color: #000000;
    background-color: #ffffff; }

.white a.button {
  color: #ffffff;
  background-color: #000000; }
  .white a.button:hover {
    color: #000000;
    background-color: #c8c8c8; }

.white .text_author a:hover {
  color: #000000; }

.white .social-share:before {
  content: url("../images/share.svg"); }

.black a.button {
  color: #000000;
  background-color: #ffffff; }
  .black a.button:hover {
    color: #ffffff;
    background-color: #d22533; }

.black .text_author a:hover {
  color: #ffffff; }

.black .social-share:before {
  content: url("../images/share-w.svg"); }

.blue a.button {
  color: #ffffff;
  background-color: #d22533; }
  .blue a.button:hover {
    color: #ffffff;
    background-color: #000000; }

.blue .text_author a:hover {
  color: #ffffff; }

.blue .social-share:before {
  content: url("../images/share-w.svg"); }

.red a.button {
  color: #ffffff;
  background-color: #000000; }
  .red a.button:hover {
    color: #ffffff;
    background-color: #000000; }

.red .text_author a:hover {
  color: #ffffff; }

.red .social-share:before {
  content: url("../images/share-w.svg"); }

footer.footer {
  background-color: #000000;
  margin-top: 0;
  padding: 60px 0; }
  @media screen and (max-width: 680px) {
    footer.footer {
      padding: 2rem 0; } }
  footer.footer .h3 {
    margin-bottom: 2rem;
    font-size: 1.1875rem;
    font-weight: 400; }
  footer.footer p {
    font-family: 'Switzer', sans-serif;
    font-size: 0.875rem;
    color: #8a8a8a;
    font-weight: 400; }
  @media screen and (max-width: 680px) {
    footer.footer .logo {
      text-align: center;
      margin-bottom: 0; }
      footer.footer .logo .menu {
        display: none; } }
  footer.footer .logo img {
    margin-bottom: 30px; }
  footer.footer .logo .h3 {
    margin-bottom: 0; }
  @media screen and (max-width: 680px) {
    footer.footer ul.social {
      text-align: center; } }
  footer.footer ul.social li {
    margin-left: 25px;
    margin-right: 0; }
    @media screen and (max-width: 680px) {
      footer.footer ul.social li {
        margin: 0 1rem; } }
  footer.footer .soc {
    margin: 30px auto;
    text-align: right; }
  @media screen and (max-width: 680px) {
    footer.footer .footer_menu {
      display: none; } }
  footer.footer .footer_menu ul {
    margin: 0;
    list-style: none;
    text-align: right; }
    footer.footer .footer_menu ul li {
      display: inline-block;
      margin-left: 35px;
      font-weight: 600; }
      footer.footer .footer_menu ul li a {
        color: #ffffff; }
        footer.footer .footer_menu ul li a:hover, footer.footer .footer_menu ul li a:focus {
          color: #d22533; }
    footer.footer .footer_menu ul .menu-item span:after,
    footer.footer .footer_menu ul .hover_underline:after {
      background-color: #d22533;
      bottom: -5px; }
  footer.footer .menu_legale ul.menu {
    text-align: right;
    margin: 0; }
    @media screen and (max-width: 680px) {
      footer.footer .menu_legale ul.menu {
        text-align: center;
        margin-top: 1rem; } }
    footer.footer .menu_legale ul.menu li {
      display: inline-block;
      margin-left: 1rem; }
      footer.footer .menu_legale ul.menu li a {
        color: #8a8a8a;
        font-size: 14px; }
        footer.footer .menu_legale ul.menu li a:hover {
          color: #d22533; }
  footer.footer p.source-org {
    margin-bottom: 0; }
  footer.footer .right {
    text-align: right;
    position: absolute;
    bottom: 0;
    right: 0.9375rem; }
    @media screen and (max-width: 680px) {
      footer.footer .right {
        text-align: left;
        position: relative;
        bottom: 0;
        right: initial; } }
    footer.footer .right a {
      margin-left: 0.625rem;
      color: #8a8a8a; }
      @media screen and (max-width: 680px) {
        footer.footer .right a {
          margin-left: 0;
          display: block;
          margin-top: 10px; } }
      footer.footer .right a:hover {
        color: #d22533; }

.box-author {
  max-width: 26.25rem;
  margin: 30px 0; }
  @media screen and (max-width: 680px) {
    .box-author {
      margin: 0; } }
  .box-author .img_author {
    border-radius: 100%;
    overflow: hidden; }
    .box-author .img_author img {
      width: 100%; }
  .box-author .text_author {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    left: 0; }
    .box-author .text_author a {
      color: #000000; }
    .box-author .text_author .h6 {
      margin-bottom: 0; }
    .box-author .text_author .menu-item span:after,
    .box-author .text_author .hover_underline:after {
      bottom: -4px; }

.tax-firme .block-news h3 {
  margin-bottom: 2rem;
  font-size: 1.1875rem; }

.tax-firme .block-news h2 {
  font-size: 1.5625rem;
  text-transform: initial;
  font-family: 'Switzer';
  margin-bottom: 2rem;
  margin-top: 2.5rem; }

.tax-firme .block-news h1 {
  font-size: 3.125rem; }
  @media screen and (max-width: 680px) {
    .tax-firme .block-news h1 {
      font-size: 1.875rem; } }

.tax-firme .block-news hr {
  margin: 2rem 0;
  width: 100px;
  border-bottom: 2px solid #d22533; }
  @media screen and (max-width: 680px) {
    .tax-firme .block-news hr {
      margin: 1rem 0; } }

.tax-firme .block-news .medium-news .img {
  height: 11.25rem; }

@media screen and (max-width: 680px) {
  .tax-firme .block-news .box-author .img_author {
    width: 8.75rem;
    margin-bottom: 2rem; } }

.social-share {
  width: 40px;
  position: relative;
  -webkit-transition: width 2s linear;
  transition: width 2s linear; }
  @media screen and (max-width: 1025px) {
    .social-share {
      width: auto; } }
  @media screen and (max-width: 680px) {
    .social-share {
      margin-top: 1.5rem; } }
  .social-share:before {
    display: block;
    cursor: pointer;
    width: 40px;
    height: 40px;
    position: relative;
    top: -2px; }
  @media screen and (min-width: 1025px) {
    .social-share:hover {
      width: 200px;
      -webkit-transition: width 0.2s linear;
      transition: width 0.2s linear; } }
  @media screen and (min-width: 1025px) {
    .social-share:hover li {
      position: absolute;
      opacity: 1;
      top: 0; } }
  @media screen and (min-width: 1025px) {
    .social-share:hover li:nth-child(1) {
      left: 45px;
      -webkit-transition: opacity 0.4s ease, left 0.4s ease;
      transition: opacity 0.4s ease, left 0.4s ease; } }
  @media screen and (min-width: 1025px) {
    .social-share:hover li:nth-child(2) {
      left: 90px;
      -webkit-transition: opacity 0.5s ease, left 0.5s ease;
      transition: opacity 0.5s ease, left 0.5s ease; } }
  @media screen and (min-width: 1025px) {
    .social-share:hover li:nth-child(3) {
      left: 135px;
      -webkit-transition: opacity 0.6s ease, left 0.6s ease;
      transition: opacity 0.6s ease, left 0.6s ease; } }
  .social-share ul {
    margin: 0;
    list-style: none;
    position: relative;
    top: -44px; }
    @media screen and (max-width: 1025px) {
      .social-share ul {
        position: absolute;
        top: -3px;
        left: 45px; } }
    .social-share ul li {
      position: absolute;
      top: 0;
      left: 0;
      opacity: 0;
      -webkit-transition: opacity 0.2s ease, left 0.3s ease;
      transition: opacity 0.2s ease, left 0.3s ease; }
      @media screen and (max-width: 1025px) {
        .social-share ul li {
          position: relative;
          opacity: 1;
          display: inline-block; } }
      .social-share ul li:nth-child(1) {
        -webkit-transition: opacity 0.4s ease, left 0.4s ease;
        transition: opacity 0.4s ease, left 0.4s ease; }
      .social-share ul li:nth-child(2) {
        -webkit-transition: opacity 0.5s ease, left 0.5s ease;
        transition: opacity 0.5s ease, left 0.5s ease; }
      .social-share ul li:nth-child(3) {
        -webkit-transition: opacity 0.6s ease, left 0.6s ease;
        transition: opacity 0.6s ease, left 0.6s ease; }
      .social-share ul li img {
        width: 40px;
        padding: 0 !important; }

button.cmplz-btn.cmplz-manage-consent.manage-consent-1.cmplz-show {
  display: none; }

.block-news .news .txt hr.sky {
  border-bottom: 2px solid #236BAD; }

.block-news .news.single-news .txt {
  margin-top: 3rem; }

.listato .news .txt {
  margin-bottom: 0;
  margin-top: 0; }

.txt-page h3 {
  font-size: 30px;
  font-weight: 400; }

.box_ricerca {
  padding: 30px 15px;
  border: 0;
  margin-left: 3rem; }
  @media screen and (max-width: 1380px) {
    .box_ricerca {
      margin-left: 0; } }
  @media screen and (max-width: 1025px) {
    .box_ricerca {
      padding: 0 15px; } }
  .box_ricerca label {
    position: relative; }
    .box_ricerca label:after {
      content: url("../images/search_gr.svg");
      position: absolute;
      top: 15px; }
    .box_ricerca label input.search-field {
      border: none;
      -webkit-box-shadow: none;
              box-shadow: none;
      border-bottom: 1px solid #000000;
      font-size: 1rem;
      font-family: 'Sentient', serif;
      padding-left: 30px;
      height: 50px;
      margin-bottom: 2rem; }
  .box_ricerca input.search-submit.button {
    width: 100%;
    border-radius: 10px;
    background-color: #000000;
    font-size: 1rem;
    padding: 15px; }

.tag .box_ricerca,
.search .box_ricerca {
  margin-left: 0; }

.widget_search .h4 {
  margin-bottom: 1.5rem; }

.widget_search select {
  border-radius: 25px;
  padding-left: 20px;
  cursor: pointer; }

.search .block-news .medium-news .txt {
  margin-top: 0; }

.page-navigation {
  border-top: 2px solid #000000;
  padding-top: 2rem;
  text-align: center;
  margin-top: 2rem; }
  .page-navigation .pagination li {
    font-size: 1.625rem;
    font-family: 'din-2014';
    color: #c8c8c8; }
    @media screen and (max-width: 680px) {
      .page-navigation .pagination li {
        display: inline-block;
        font-size: 1.4375rem; } }
    .page-navigation .pagination li .current {
      padding: 0.1875rem 0.625rem;
      background: initial;
      color: #000000;
      cursor: default;
      border-bottom: 2px solid #d22533; }
    .page-navigation .pagination li a {
      color: #c8c8c8; }
    .page-navigation .pagination li a:hover {
      color: #d22533;
      background-color: initial; }

.menu-item.active span:after {
  width: 100%; }

.widget_archive {
  margin-top: 30px;
  padding-top: 30px;
  border-top: 1px solid #EBEBEB; }
  .widget_archive select {
    margin-top: 1rem;
    border-radius: 2.1875rem;
    padding-left: 1.25rem;
    cursor: pointer; }

.spazio_no_title {
  margin-top: 5.5rem; }

.collapse .txt {
  padding-right: 1rem; }

.red .page-navigation,
.black .page-navigation,
.blue .page-navigation {
  border-top: 2px solid #ffffff; }
  .red .page-navigation .pagination li,
  .black .page-navigation .pagination li,
  .blue .page-navigation .pagination li {
    color: #ffffff; }
    .red .page-navigation .pagination li .current,
    .black .page-navigation .pagination li .current,
    .blue .page-navigation .pagination li .current {
      color: #d22533;
      border-bottom: 2px solid #d22533; }
    .red .page-navigation .pagination li a,
    .black .page-navigation .pagination li a,
    .blue .page-navigation .pagination li a {
      color: #ffffff; }
    .red .page-navigation .pagination li a:hover,
    .black .page-navigation .pagination li a:hover,
    .blue .page-navigation .pagination li a:hover {
      color: #d22533; }

.red .box_ricerca label input.search-field,
.black .box_ricerca label input.search-field,
.blue .box_ricerca label input.search-field {
  background-color: initial;
  border-bottom: 0;
  color: #ffffff; }

.red .box_ricerca input.search-submit.button,
.black .box_ricerca input.search-submit.button,
.blue .box_ricerca input.search-submit.button {
  background-color: #ffffff;
  color: #000000; }

.m-tag a {
  display: inline-block;
  margin-right: 1rem; }

.single .block-news .img {
  overflow: hidden;
  position: relative;
  max-height: 70vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.single .block-news .img img {
  width: 100%;
  height: auto; }

.container {
  padding-top: 2rem; }

@media screen and (max-width: 1025px) {
  .single .container {
    padding-top: 0; } }

.container.cat-video,
.page-template-page-video .container,
.category-video .container {
  background-color: #000000; }

.width-min-cat img {
  width: 100%; }

.descr_variant_font h2 {
  font-family: 'Switzer', sans-serif;
  font-weight: 700;
  line-height: 1.2;
  font-size: 1.75rem; }

.descr_variant_font h3 {
  font-weight: 600;
  font-size: 1.5625rem; }

.background-img {
  background-size: cover;
  height: 40.625rem;
  background-position: center center;
  background-repeat: no-repeat;
  position: relative;
  max-width: 90rem;
  margin: 0 auto; }
  @media screen and (max-width: 1025px) {
    .background-img {
      height: 26.25rem; } }
  @media screen and (max-width: 680px) {
    .background-img {
      height: 23.125rem; } }
  .background-img .visual_title {
    position: absolute;
    color: #ffffff;
    left: 30px;
    bottom: 30px;
    max-width: 800px;
    z-index: 9; }
    @media screen and (max-width: 680px) {
      .background-img .visual_title {
        left: 0;
        bottom: 0;
        padding: 1rem; } }
    .background-img .visual_title h1 {
      font-size: 4.25rem; }
      @media screen and (max-width: 680px) {
        .background-img .visual_title h1 {
          font-size: 3rem; } }
    .background-img .visual_title .h3 {
      font-weight: 400;
      font-size: 1.5625rem; }
      @media screen and (max-width: 680px) {
        .background-img .visual_title .h3 {
          font-size: 1.3125rem; } }

.intro_cat .txt-page {
  margin-top: 6rem;
  position: relative; }
  @media screen and (max-width: 1025px) {
    .intro_cat .txt-page {
      margin-top: 3rem; } }
  @media screen and (max-width: 680px) {
    .intro_cat .txt-page {
      margin-top: 2rem; } }
  .intro_cat .txt-page h1 {
    font-size: 68px; }
    @media screen and (max-width: 1025px) {
      .intro_cat .txt-page h1 {
        font-size: 3.375rem; } }
    @media screen and (max-width: 680px) {
      .intro_cat .txt-page h1 {
        font-size: 3rem; } }
    .intro_cat .txt-page h1:after {
      content: '';
      width: 12.5rem;
      height: 0.125rem;
      background-color: #d22533;
      position: absolute;
      left: -9.375rem; }
      @media screen and (max-width: 680px) {
        .intro_cat .txt-page h1:after {
          width: 4rem;
          left: -10px;
          top: -9px; } }
  .intro_cat .txt-page .h3 {
    font-weight: 400;
    font-size: 1.5625rem;
    margin-bottom: 0; }

.block-news.black .intro .byline .h6 {
  color: #ffffff; }

.block-news.black .intro .byline span {
  background-color: #ffffff; }

.category-video .intro_cat {
  background-color: #000000;
  color: #ffffff; }

.form_ricerca,
header a.ricerca {
  padding-top: 0.75rem; }

.block-news:not(.blue) .news .img img {
  width: 100% !important;
  height: auto;
  min-height: auto; }

.mb-50 {
  margin-bottom: 1rem; }

.accordion-menu li {
  font-size: 1.125rem; }

.single .block-news .img.dim_nofull img {
  width: auto; }

.img a {
  display: block; }

.trending-toggle.desk img {
  margin-left: 1rem;
  position: relative;
  top: -1px; }

.mt-opzionale {
  margin-top: 4rem; }
  @media screen and (max-width: 680px) {
    .mt-opzionale {
      margin-top: 2rem; } }

.page-template-page-home .block-news {
  margin-bottom: 1rem; }

.page-template-page-home .block-news:not(.white) + .block-news:not(.white) {
  margin-top: -1rem; }

@media screen and (max-width: 680px) {
  .block-news .list-on-mobile .s-large-news,
  .block-news .list-on-mobile .small-news.news,
  .block-news .list-on-mobile .medium-news.news,
  .block-news .list-on-mobile .medium_large-news.news {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    padding-right: 0;
    padding-left: 0;
    margin-right: 1rem;
    margin-left: 1rem;
    border-bottom: 1px solid #EBEBEB; }
    .block-news .list-on-mobile .s-large-news:last-child,
    .block-news .list-on-mobile .small-news.news:last-child,
    .block-news .list-on-mobile .medium-news.news:last-child,
    .block-news .list-on-mobile .medium_large-news.news:last-child {
      border: none; }
    .block-news .list-on-mobile .s-large-news .img,
    .block-news .list-on-mobile .small-news.news .img,
    .block-news .list-on-mobile .medium-news.news .img,
    .block-news .list-on-mobile .medium_large-news.news .img {
      width: 33.33333%;
      float: left;
      padding-right: 15px;
      background: initial !important; }
      .block-news .list-on-mobile .s-large-news .img .play_button,
      .block-news .list-on-mobile .small-news.news .img .play_button,
      .block-news .list-on-mobile .medium-news.news .img .play_button,
      .block-news .list-on-mobile .medium_large-news.news .img .play_button {
        bottom: 10px;
        left: 10px; }
        .block-news .list-on-mobile .s-large-news .img .play_button img,
        .block-news .list-on-mobile .small-news.news .img .play_button img,
        .block-news .list-on-mobile .medium-news.news .img .play_button img,
        .block-news .list-on-mobile .medium_large-news.news .img .play_button img {
          width: 20px !important; }
    .block-news .list-on-mobile .s-large-news .txt,
    .block-news .list-on-mobile .small-news.news .txt,
    .block-news .list-on-mobile .medium-news.news .txt,
    .block-news .list-on-mobile .medium_large-news.news .txt {
      margin-top: 0;
      width: 66.66667%;
      float: left;
      margin-bottom: 0; }
      .block-news .list-on-mobile .s-large-news .txt h3,
      .block-news .list-on-mobile .small-news.news .txt h3,
      .block-news .list-on-mobile .medium-news.news .txt h3,
      .block-news .list-on-mobile .medium_large-news.news .txt h3 {
        font-size: 1.125rem !important; }
      .block-news .list-on-mobile .s-large-news .txt .h6, .block-news .list-on-mobile .s-large-news .txt h6,
      .block-news .list-on-mobile .small-news.news .txt .h6,
      .block-news .list-on-mobile .small-news.news .txt h6,
      .block-news .list-on-mobile .medium-news.news .txt .h6,
      .block-news .list-on-mobile .medium-news.news .txt h6,
      .block-news .list-on-mobile .medium_large-news.news .txt .h6,
      .block-news .list-on-mobile .medium_large-news.news .txt h6 {
        font-size: 0.875rem;
        margin-bottom: 0.1rem; }
  .archive .block-news {
    padding: 0; }
    .archive .block-news .griglia .news.other-news {
      margin-bottom: 0; }
  .archive .list-on-mobile .medium-news.news {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #EBEBEB;
    padding-right: 0;
    padding-left: 0;
    margin-right: 1rem;
    margin-left: 1rem; }
    .archive .list-on-mobile .medium-news.news:last-child {
      border: none; }
    .archive .list-on-mobile .medium-news.news .img {
      width: 33.33333%;
      float: left;
      padding-right: 15px;
      background: initial !important; }
      .archive .list-on-mobile .medium-news.news .img .play_button {
        bottom: 10px;
        left: 10px; }
        .archive .list-on-mobile .medium-news.news .img .play_button img {
          width: 20px !important; }
    .archive .list-on-mobile .medium-news.news .txt {
      margin-top: 0;
      width: 66.66667%;
      float: left;
      margin-bottom: 0; }
      .archive .list-on-mobile .medium-news.news .txt h3 {
        font-size: 1.125rem !important; }
      .archive .list-on-mobile .medium-news.news .txt .h6, .archive .list-on-mobile .medium-news.news .txt h6 {
        font-size: 0.875rem;
        margin-bottom: 0.1rem; }
  .archive .large-news .excerpt-news {
    display: block; }
  .archive .griglia .small-news {
    margin-bottom: 2rem; } }

@media screen and (max-width: 680px) and (max-width: 1025px) {
  .archive .medium_large-news .excerpt-news {
    display: none; } }

@media screen and (max-width: 680px) and (max-width: 680px) {
  .archive .medium-news .block_large .txt h3 {
    font-size: 1.125rem; } }

@media screen and (max-width: 680px) and (max-width: 680px) {
  .archive .medium-news .block_large .txt h6, .archive .medium-news .block_large .txt .h6 {
    font-size: 0.8125rem;
    margin-bottom: 0.2rem; } }

@media screen and (max-width: 680px) {
  .search .block-news .medium-news {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #EBEBEB;
    padding-right: 0;
    padding-left: 0;
    margin-right: 1rem;
    margin-left: 1rem; }
    .search .block-news .medium-news .block_large {
      border-bottom: none;
      padding-bottom: 0;
      margin-bottom: 0rem;
      margin-right: 0; }
      .search .block-news .medium-news .block_large .txt {
        margin-bottom: 0; }
        .search .block-news .medium-news .block_large .txt .h6, .search .block-news .medium-news .block_large .txt h6 {
          font-size: 0.8125rem;
          margin-bottom: 0.2rem; } }

@media screen and (max-width: 680px) {
  .sliding-news {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-line-pack: center;
        align-content: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    overflow-x: scroll; }
    .sliding-news .news {
      width: 85% !important;
      -ms-flex-negative: 0;
          flex-shrink: 0; }
  .block_tag {
    margin: 2rem 0; }
    .block_tag .social-share {
      margin-top: 0; }
  .space-resp .news {
    margin-bottom: 2rem; } }

.orario {
  margin-left: 15px; }
  @media screen and (max-width: 1025px) {
    .orario {
      text-align: right; } }
  @media screen and (max-width: 680px) {
    .orario {
      display: none; } }
  .orario p {
    margin-bottom: 0;
    font-weight: 600;
    font-family: 'Switzer';
    font-size: 0.875rem;
    line-height: 1.4;
    color: #d22533;
    text-transform: lowercase; }
    .orario p:first-child {
      text-transform: capitalize;
      color: #000000; }

.forminator-design--material .forminator-button-submit {
  padding: 0.5rem 1rem !important; }
  .forminator-design--material .forminator-button-submit span {
    font-family: 'Switzer' !important; }

.forminator-checkbox.forminator-consent .forminator-checkbox-box {
  top: 7px !important; }

a.forminator-save-draft-link.disabled {
  display: none !important; }

.linee {
  padding: 1.5rem 0;
  border-top: 2px solid #000;
  border-bottom: 2px solid; }

.lightbox .lb-image {
  border: 0;
  border-radius: 0; }

.lb-outerContainer {
  border-radius: 0;
  background-color: #000; }

.lb-cancel {
  width: 210px;
  height: 80px;
  background: url("../images/logo.svg") no-repeat; }

@media screen and (max-width: 680px) {
  .rubriche .title h2.line {
    margin-bottom: 0.5rem; } }

header ul {
  list-style: none; }
  header ul.social {
    background-color: initial;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    header ul.social li {
      margin-left: 1.25rem;
      margin-right: 0; }
      header ul.social li a {
        font-weight: 600; }
        header ul.social li a img {
          height: 1.4375rem; }

header .top-bar,
header .top-bar ul {
  background-color: initial; }

header .top-bar {
  padding-bottom: 0; }

header .logo img {
  margin: 5px auto;
  margin-top: 1.1875rem;
  display: block;
  width: 16.25rem; }
  @media screen and (max-width: 1470px) {
    header .logo img {
      width: 14.375rem; } }
  @media screen and (max-width: 639px) {
    header .logo img {
      margin-top: initial;
      margin: 15px auto;
      display: block;
      width: 12.5rem; } }

header .nav {
  background-color: #d22533;
  padding: 0;
  position: relative;
  top: 0.9375rem; }
  header .nav .menu {
    margin: 0;
    float: left; }
    header .nav .menu li {
      display: inline-block; }
      header .nav .menu li a {
        color: #ffffff;
        font-weight: 600;
        padding: 0.8rem 0.6rem;
        display: block; }
        header .nav .menu li a:hover {
          color: #ffffff; }
  header .nav .main-menu {
    width: calc(100% - 120px - 20px);
    float: left;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s; }
    header .nav .main-menu.slided {
      position: relative;
      -webkit-transform: translateY(100%);
              transform: translateY(100%); }
  header .nav .main-menu-cont {
    position: relative;
    padding-left: 0.5rem;
    overflow-y: hidden; }
    header .nav .main-menu-cont.overflow {
      overflow-y: initial; }
    header .nav .main-menu-cont .ricerca {
      position: absolute;
      right: 1rem;
      top: 0.2rem; }

header .form_ricerca {
  display: none; }
  header .form_ricerca form.search-form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    header .form_ricerca form.search-form button {
      margin-left: 1rem;
      cursor: pointer; }
      header .form_ricerca form.search-form button img {
        width: 1.375rem; }
    header .form_ricerca form.search-form label input.search-field {
      margin-bottom: 0;
      background-color: initial;
      border: none;
      -webkit-box-shadow: none;
              box-shadow: none;
      border-bottom: 1px solid #ffffff;
      color: #ffffff;
      font-family: 'Switzer', sans-serif;
      height: initial;
      padding: 0; }
      header .form_ricerca form.search-form label input.search-field:focus {
        background-color: initial;
        -webkit-box-shadow: none;
                box-shadow: none;
        border: none;
        border-bottom: 1px solid #ffffff; }
      header .form_ricerca form.search-form label input.search-field::-webkit-input-placeholder {
        /* Chrome, Firefox, Opera, Safari 10.1+ */
        color: #ffffff;
        opacity: 1;
        /* Firefox */ }
      header .form_ricerca form.search-form label input.search-field::-moz-placeholder {
        /* Chrome, Firefox, Opera, Safari 10.1+ */
        color: #ffffff;
        opacity: 1;
        /* Firefox */ }
      header .form_ricerca form.search-form label input.search-field:-ms-input-placeholder {
        /* Chrome, Firefox, Opera, Safari 10.1+ */
        color: #ffffff;
        opacity: 1;
        /* Firefox */ }
      header .form_ricerca form.search-form label input.search-field::-ms-input-placeholder {
        /* Chrome, Firefox, Opera, Safari 10.1+ */
        color: #ffffff;
        opacity: 1;
        /* Firefox */ }
      header .form_ricerca form.search-form label input.search-field::placeholder {
        /* Chrome, Firefox, Opera, Safari 10.1+ */
        color: #ffffff;
        opacity: 1;
        /* Firefox */ }

header a.ricerca {
  float: right; }

header.white a.button.hollow {
  color: #d22533;
  background-color: transparent;
  padding: 1rem 2rem;
  font-family: 'Switzer';
  font-weight: 500;
  letter-spacing: 3px;
  font-size: 0.9375rem;
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
  margin-top: 0;
  border-width: 1px; }
  @media screen and (max-width: 1470px) {
    header.white a.button.hollow {
      font-size: 0.875rem; } }
  header.white a.button.hollow:hover {
    background-color: #d22533;
    color: #ffffff;
    border-color: #d22533; }

.ricerca {
  text-align: right; }
  .ricerca img {
    height: 1.375rem;
    position: relative;
    top: -1px; }

.off-canvas.position-left {
  padding-top: 1rem;
  width: 100%;
  background-color: #ffffff;
  -webkit-box-shadow: none;
          box-shadow: none; }
  .off-canvas.position-left .social_block {
    text-align: center;
    margin-top: 3rem; }
    @media screen and (max-width: 639px) {
      .off-canvas.position-left .social_block {
        margin-top: 1.5rem; } }
  .off-canvas.position-left ul.social {
    margin-top: 3rem; }
    @media screen and (max-width: 639px) {
      .off-canvas.position-left ul.social {
        margin-top: 1.5rem; } }
  .off-canvas.position-left .dflex {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; }
  .off-canvas.position-left .block_off {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-line-pack: center;
        align-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .off-canvas.position-left .block_off .close_off {
      height: 1.25rem;
      padding: 0.9375rem; }
      .off-canvas.position-left .block_off .close_off div {
        content: '';
        position: relative;
        background-color: #000000;
        width: 25px;
        height: 1px; }
        .off-canvas.position-left .block_off .close_off div:first-child {
          -webkit-transform: rotate(45deg);
                  transform: rotate(45deg);
          top: 1px; }
        .off-canvas.position-left .block_off .close_off div:last-child {
          -webkit-transform: rotate(-45deg);
                  transform: rotate(-45deg); }
  .off-canvas.position-left .logo img {
    width: 200px;
    margin: 0 auto;
    margin-top: 0;
    display: block; }
  .off-canvas.position-left ul {
    margin: 0;
    list-style: none; }
    .off-canvas.position-left ul .accordion-menu li {
      width: 100%;
      margin-top: 0.625rem;
      margin-bottom: 0.5rem; }
  .off-canvas.position-left ul.vertical.menu.accordion-menu {
    position: relative; }
    .off-canvas.position-left ul.vertical.menu.accordion-menu:after {
      position: absolute;
      top: -1.25rem;
      left: -0.625rem;
      content: '';
      width: 3.75rem;
      height: 2px;
      background-color: #d22533; }
      @media screen and (max-width: 1025px) {
        .off-canvas.position-left ul.vertical.menu.accordion-menu:after .menu-item span:after {
          bottom: -5px; } }
  .off-canvas.position-left .search-form {
    position: relative;
    max-width: 500px;
    margin: 2rem auto;
    margin-bottom: 3rem; }
    .off-canvas.position-left .search-form input.search-field {
      border: none;
      -webkit-box-shadow: none;
              box-shadow: none;
      background-color: #EAEAEA;
      border-radius: 1.25rem;
      padding-left: 1.5625rem; }
      .off-canvas.position-left .search-form input.search-field::-webkit-input-placeholder {
        color: #6f6f6f; }
      .off-canvas.position-left .search-form input.search-field::-moz-placeholder {
        color: #6f6f6f; }
      .off-canvas.position-left .search-form input.search-field:-ms-input-placeholder {
        color: #6f6f6f; }
      .off-canvas.position-left .search-form input.search-field::-ms-input-placeholder {
        color: #6f6f6f; }
      .off-canvas.position-left .search-form input.search-field::placeholder {
        color: #6f6f6f; }
    .off-canvas.position-left .search-form button {
      position: absolute;
      top: 9px;
      right: 10px; }
      .off-canvas.position-left .search-form button img {
        width: 20px; }

.off-canvas-wrapper {
  overflow: clip; }

.accordion-menu a {
  padding: 0.3rem 1rem;
  display: block; }
  @media screen and (max-width: 639px) {
    .accordion-menu a {
      padding: 0.1rem 1rem; } }

.hide-for-large.block_off {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media screen and (max-width: 1025px) {
    .hide-for-large.block_off {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; } }
  .hide-for-large.block_off ul.menu {
    margin: 0;
    display: block; }
    .hide-for-large.block_off ul.menu a {
      padding: 1rem;
      display: block; }
      .hide-for-large.block_off ul.menu a .open_off div {
        content: '';
        position: relative;
        background-color: #000000;
        width: 25px;
        height: 1px; }
        .hide-for-large.block_off ul.menu a .open_off div:first-child {
          top: 8px; }
        .hide-for-large.block_off ul.menu a .open_off div:last-child {
          bottom: 8px; }

.position-left {
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%); }

.off-canvas-content.is-open-left.has-transition-push {
  -webkit-transform: translateX(0);
          transform: translateX(0); }

.sliding-menu {
  background-color: #eee;
  padding-right: 0;
  margin-top: 0.5rem; }
  .sliding-menu .menu {
    position: relative;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-line-pack: center;
        align-content: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    overflow-x: auto;
    margin: 0;
    padding: 1rem 0;
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0.5rem 0; }
    .sliding-menu .menu li.menu-item {
      display: inline-block;
      margin-right: 25px;
      white-space: nowrap;
      margin: 0; }
      .sliding-menu .menu li.menu-item.current-menu-item a {
        color: #d22533; }
      .sliding-menu .menu li.menu-item a {
        font-size: 17px;
        font-weight: 600;
        padding: 0.8rem 0.5rem;
        font-weight: normal; }
        .sliding-menu .menu li.menu-item a span:after {
          bottom: -5px;
          content: none; }
        .sliding-menu .menu li.menu-item a:hover, .sliding-menu .menu li.menu-item a:focus {
          color: #d22533; }
      .sliding-menu .menu li.menu-item .trending-toggle {
        font-weight: 600; }

.menu-item a span {
  position: relative; }
  .menu-item a span:after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    background-color: #d22533;
    left: 0;
    bottom: 2px;
    -webkit-transition: width 0.3s ease;
    transition: width 0.3s ease;
    background-color: #ffffff;
    bottom: -0.4375rem; }

.menu-item a:hover span:after {
  width: 100%; }

.row .nav {
  margin-right: 0;
  margin-left: 0; }

.trending-menu-toggle-cont {
  z-index: 1;
  position: relative; }

.menu-in-tendenza-desk {
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  position: absolute;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  top: 0;
  left: 120px;
  display: none; }
  .menu-in-tendenza-desk.active {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  .menu-in-tendenza-desk .trending-toggle {
    cursor: pointer; }

.main-header {
  z-index: 1;
  position: relative; }

/* questo deve essere uguale alle voci di menu normali, se cambi quelle (tipo in resp o che ne so) devi cambiare pure queste (TESTARE) */
.p-plus__toggle-btn {
  padding: 0.5rem 1rem;
  font-weight: 600;
  font-size: 20px;
  cursor: pointer;
  color: white;
  letter-spacing: 1px; }

.p-plus__toggle-btn:hover,
.p-plus__toggle-btn:active,
.p-plus__toggle-btn[aria-expanded=true] {
  background: #AD0B18; }

.p-plus__overflow {
  background: #AD0B18;
  margin: 0;
  padding: 1rem;
  list-style: none; }
  .p-plus__overflow li a {
    padding: 0.5rem;
    display: block;
    font-size: 16px;
    font-weight: 600;
    color: white; }

.p-plus__toggle-btn span {
  -webkit-transform: translateY(-7%);
          transform: translateY(-7%);
  position: relative;
  display: block; }

.p-plus-container {
  max-width: calc(100% - 130px);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  width: 100%;
  float: left;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.p-plus-container.slided {
  -webkit-transform: translateY(100%);
          transform: translateY(100%); }

.form_ricerca_modale {
  background-color: #000000;
  height: 100%;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  display: none; }
  .form_ricerca_modale .search-form {
    margin-top: 3rem; }
  .form_ricerca_modale .container_ricerca {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    max-width: 61.9375rem; }
  .form_ricerca_modale input.search-field {
    background-color: initial;
    border: none;
    border-bottom: 1px solid #ffffff;
    font-size: 1.2rem;
    margin-top: 20px;
    font-family: 'Sentient', serif;
    color: #ffffff;
    padding: 1.5rem 0.5rem; }
    .form_ricerca_modale input.search-field:focus {
      border: none;
      background-color: initial;
      -webkit-box-shadow: none;
              box-shadow: none;
      border-bottom: 1px solid #d22533;
      color: #ffffff; }
  .form_ricerca_modale .h1, .form_ricerca_modale .h4 {
    color: #ffffff; }
  .form_ricerca_modale .h4 {
    font-size: 1.3125rem;
    margin-bottom: 1rem; }
  .form_ricerca_modale .close-mod img {
    width: 38px;
    float: right; }
  .form_ricerca_modale select {
    border-radius: 10px;
    background-color: initial;
    color: #ffffff;
    font-family: 'Switzer', sans-serif; }
  .form_ricerca_modale button {
    color: #ffffff;
    font-family: 'din-2014';
    text-transform: uppercase;
    font-size: 1.3125rem;
    background-color: #d22533;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-line-pack: center;
        align-content: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 1rem 3rem;
    border-radius: 10px !important;
    float: right;
    margin-top: 2rem;
    cursor: pointer; }
    .form_ricerca_modale button img {
      width: 22px;
      margin-left: 15px; }

@media screen and (max-width: 680px) {
  .swiperArticle {
    padding: 2rem 0; } }

.swiperArticle .swiper-slide .dflex {
  -ms-flex-wrap: initial;
      flex-wrap: initial; }

@media screen and (max-width: 1025px) {
  .swiperArticle .swiper-slide .news {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }

.swiperArticle .swiper-slide .news .txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-right: 2rem; }
  @media screen and (max-width: 1025px) {
    .swiperArticle .swiper-slide .news .txt {
      padding-right: 0; } }
  .swiperArticle .swiper-slide .news .txt h3 {
    font-size: 2.625rem; }
    @media screen and (max-width: 1470px) {
      .swiperArticle .swiper-slide .news .txt h3 {
        font-size: 2.25rem; } }
    @media screen and (max-width: 1025px) {
      .swiperArticle .swiper-slide .news .txt h3 {
        font-size: 2rem; } }
    @media screen and (max-width: 680px) {
      .swiperArticle .swiper-slide .news .txt h3 {
        font-size: 1.75rem; } }
  .swiperArticle .swiper-slide .news .txt h4 {
    font-size: 1.4375rem;
    font-weight: 300; }
  .swiperArticle .swiper-slide .news .txt:before {
    content: '';
    margin-bottom: 1.2rem;
    position: relative;
    left: -80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 120px;
    height: 1.5px;
    background-color: #d22533; }
    @media screen and (max-width: 1025px) {
      .swiperArticle .swiper-slide .news .txt:before {
        width: 4.375rem;
        left: 0; } }
  .swiperArticle .swiper-slide .news .txt a.scheda {
    padding-left: 120px;
    text-transform: uppercase;
    font-family: 'din-2014';
    position: relative; }
    .swiperArticle .swiper-slide .news .txt a.scheda:before {
      width: 110px;
      height: 1.5px;
      content: '';
      position: absolute;
      top: 50%;
      left: 0;
      background-color: #d22533; }
  .swiperArticle .swiper-slide .news .txt hr {
    border-bottom: 2px solid #d22533;
    width: 120px;
    margin-left: 0;
    margin-top: 0.5rem;
    position: relative;
    top: 0; }

@media screen and (max-width: 1470px) {
  .swiperArticle .swiper-slide .news .img {
    height: 37.5rem; } }

@media screen and (max-width: 1025px) {
  .swiperArticle .swiper-slide .news .img {
    height: 25rem; } }

@media screen and (max-width: 680px) {
  .swiperArticle .swiper-slide .news .img {
    height: 16rem; } }

.swiperArticle .swiper-slide .news .img .play_button {
  bottom: 25px;
  left: 25px; }
  @media screen and (max-width: 680px) {
    .swiperArticle .swiper-slide .news .img .play_button {
      bottom: 15px;
      left: 25px; } }
  .swiperArticle .swiper-slide .news .img .play_button img {
    width: 85px !important; }
    @media screen and (max-width: 680px) {
      .swiperArticle .swiper-slide .news .img .play_button img {
        width: 50px !important; } }

.swiperArticle .swiper-button-next,
.swiperArticle .swiper-button-prev {
  top: initial;
  bottom: 0;
  right: 2rem; }
  @media screen and (max-width: 1025px) {
    .swiperArticle .swiper-button-next,
    .swiperArticle .swiper-button-prev {
      right: 0; } }
  @media screen and (max-width: 680px) {
    .swiperArticle .swiper-button-next,
    .swiperArticle .swiper-button-prev {
      bottom: 1rem; } }
  .swiperArticle .swiper-button-next:after,
  .swiperArticle .swiper-button-prev:after {
    content: url("../images/arrow-dx.svg");
    width: 26px; }

.swiperArticle .swiper-button-prev,
.swiperArticle .swiper-rtl .swiper-button-next {
  left: initial;
  right: 4rem; }
  @media screen and (max-width: 1025px) {
    .swiperArticle .swiper-button-prev,
    .swiperArticle .swiper-rtl .swiper-button-next {
      right: 2.5rem; } }
  .swiperArticle .swiper-button-prev:after,
  .swiperArticle .swiper-rtl .swiper-button-next:after {
    content: url("../images/arrow-sx.svg");
    width: 26px; }

.swiperArticleSmall {
  padding-bottom: 1rem; }
  @media screen and (max-width: 1025px) {
    .swiperArticleSmall {
      padding-bottom: 2rem; } }
  @media screen and (max-width: 680px) {
    .swiperArticleSmall {
      padding-bottom: 0; } }
  .swiperArticleSmall .swiper-button-next,
  .swiperArticleSmall .swiper-button-prev {
    top: initial;
    bottom: 0;
    right: 0; }
    .swiperArticleSmall .swiper-button-next:after,
    .swiperArticleSmall .swiper-button-prev:after {
      content: url("../images/arrow-dx.svg");
      width: 26px; }
  .swiperArticleSmall .swiper-button-prev,
  .swiperArticleSmall .swiper-rtl .swiper-button-next {
    left: initial;
    right: 40px; }
    .swiperArticleSmall .swiper-button-prev:after,
    .swiperArticleSmall .swiper-rtl .swiper-button-next:after {
      content: url("../images/arrow-sx.svg");
      width: 26px; }
    @media screen and (max-width: 680px) {
      .swiperArticleSmall .swiper-button-prev,
      .swiperArticleSmall .swiper-rtl .swiper-button-next {
        right: 25px; } }

.swiperArticleRub {
  padding: 1.5rem 0;
  border-top: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff; }
  @media screen and (max-width: 680px) {
    .swiperArticleRub {
      padding: 1rem 0; } }
  .swiperArticleRub .swiper-slide .dflex {
    -ms-flex-wrap: initial;
        flex-wrap: initial; }
  .swiperArticleRub .swiper-slide .news a:hover .small-5.large-3 img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  .swiperArticleRub .swiper-slide .news a:hover p {
    color: #000000; }
  .swiperArticleRub .swiper-slide .news .txt {
    margin-top: 0; }
    .swiperArticleRub .swiper-slide .news .txt h3 {
      font-size: 1.3125rem;
      margin-bottom: 0.5rem; }
      @media screen and (max-width: 680px) {
        .swiperArticleRub .swiper-slide .news .txt h3 {
          font-size: 1.125rem;
          margin-bottom: 0.2rem; } }
    .swiperArticleRub .swiper-slide .news .txt p {
      margin-bottom: 0;
      font-size: 0.9375rem;
      line-height: 1.1; }
  .swiperArticleRub .swiper-slide .news > a {
    width: 100%;
    float: left;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-line-pack: center;
        align-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
  .swiperArticleRub .swiper-slide .news .small-5.large-3 {
    overflow: hidden; }
    .swiperArticleRub .swiper-slide .news .small-5.large-3 img {
      -webkit-transition: -webkit-transform 0.3s ease;
      transition: -webkit-transform 0.3s ease;
      transition: transform 0.3s ease;
      transition: transform 0.3s ease, -webkit-transform 0.3s ease; }

.swiperCorrelato {
  padding-bottom: 2rem; }
  @media screen and (max-width: 1025px) {
    .swiperCorrelato {
      max-width: 300px; } }
  .swiperCorrelato.sticky-box {
    position: sticky;
    top: 0;
    -ms-flex-item-align: start;
        align-self: flex-start;
    margin-top: 4rem;
    padding-top: 1rem; }
    @media screen and (max-width: 680px) {
      .swiperCorrelato.sticky-box {
        width: 100%; } }
    .swiperCorrelato.sticky-box .news.small-news {
      padding: 0; }
      @media screen and (max-width: 680px) {
        .swiperCorrelato.sticky-box .news.small-news .img {
          margin-bottom: 1rem; } }
      .swiperCorrelato.sticky-box .news.small-news .txt h3 {
        margin-bottom: 0.5rem; }
      .swiperCorrelato.sticky-box .news.small-news .txt p {
        font-size: 0.9375rem; }
      .swiperCorrelato.sticky-box .news.small-news .txt h6, .swiperCorrelato.sticky-box .news.small-news .txt .h6 {
        font-size: 0.9375rem;
        margin-bottom: 0.5rem; }
      .swiperCorrelato.sticky-box .news.small-news .txt hr {
        top: -7px; }
      .swiperCorrelato.sticky-box .news.small-news .txt .excerpt-news {
        display: none; }
  .swiperCorrelato .swiper-pagination-bullet-active {
    background: #000000; }
  .swiperCorrelato .swiper-pagination-bullet {
    width: 12px;
    height: 12px; }

.white .swiperArticleRub {
  border-top: 2px solid #000000;
  border-bottom: 2px solid #000000; }

.sw-arrow .swiper-button-next,
.sw-arrow .swiper-button-prev {
  top: initial;
  top: 15px;
  bottom: initial; }
  @media screen and (max-width: 1025px) {
    .sw-arrow .swiper-button-next,
    .sw-arrow .swiper-button-prev {
      top: 10px; } }
  .sw-arrow .swiper-button-next:after,
  .sw-arrow .swiper-button-prev:after {
    content: url("../images/arrow-dx.svg");
    width: 26px; }

.sw-arrow .swiper-button-prev,
.sw-arrow .swiper-rtl .swiper-button-next {
  left: initial;
  right: 60px; }
  .sw-arrow .swiper-button-prev:after,
  .sw-arrow .swiper-rtl .swiper-button-next:after {
    content: url("../images/arrow-sx.svg");
    width: 26px; }

.articlesmall.swiper-button-prev,
.articlesmall.swiper-button-next {
  bottom: -25px;
  top: initial;
  right: 0; }
  @media screen and (max-width: 680px) {
    .articlesmall.swiper-button-prev,
    .articlesmall.swiper-button-next {
      bottom: initial;
      top: -2.3rem; }
      .articlesmall.swiper-button-prev:after,
      .articlesmall.swiper-button-next:after {
        width: 25px; } }
  @media screen and (max-width: 1025px) and (min-width: 680px) {
    .articlesmall.swiper-button-prev,
    .articlesmall.swiper-button-next {
      right: calc(50% - 2.5rem); } }
  @media screen and (max-width: 1025px) {
    .articlesmall.swiper-button-prev,
    .articlesmall.swiper-button-next {
      bottom: -15px; } }
  @media screen and (max-width: 680px) {
    .articlesmall.swiper-button-prev,
    .articlesmall.swiper-button-next {
      right: 0.9375rem; } }
  .articlesmall.swiper-button-prev:after,
  .articlesmall.swiper-button-next:after {
    content: url(../images/arrow-dx-b.svg);
    width: 30px; }

.articlesmall.swiper-button-prev {
  left: initial;
  right: 3rem; }
  @media screen and (max-width: 1025px) and (min-width: 680px) {
    .articlesmall.swiper-button-prev {
      right: calc(50% - -1.5rem); } }
  @media screen and (max-width: 680px) {
    .articlesmall.swiper-button-prev {
      right: 3.5rem; } }

.carosello-cat {
  padding-top: 1rem; }
  @media screen and (max-width: 680px) {
    .carosello-cat {
      margin-top: 3rem; } }
  .carosello-cat .sw-arrow {
    position: relative;
    position: absolute;
    top: -3rem;
    right: 0; }
  .carosello-cat > .row.dflex {
    position: relative; }

.home .swiperArticleRub {
  border-top: none;
  border-bottom: none;
  padding: 0; }
  @media screen and (max-width: 680px) {
    .home .swiperArticleRub {
      padding-top: 15px; } }
  .home .swiperArticleRub .txt {
    margin-top: 1rem; }
    @media screen and (max-width: 680px) {
      .home .swiperArticleRub .txt {
        margin-top: 0; } }
    .home .swiperArticleRub .txt h3 {
      font-size: 22px;
      margin-bottom: 0.5rem; }
  @media screen and (max-width: 680px) {
    .home .swiperArticleRub .img {
      width: 30%;
      float: left;
      margin-right: 15px; } }

.single .galleria_griglia {
  padding: 0.8rem; }
  .single .galleria_griglia .single-img {
    padding: 0.2rem; }
    .single .galleria_griglia .single-img a:hover img {
      opacity: 0.8; }

.single .galleria .mySwiper2 {
  text-align: center;
  margin-bottom: 0.5rem; }
  @media screen and (max-width: 680px) {
    .single .galleria .mySwiper2 {
      margin-bottom: 5px; } }
  .single .galleria .mySwiper2 img {
    height: auto;
    width: 100%;
    margin: 0 auto; }
  .single .galleria .mySwiper2 .swiper-button-next,
  .single .galleria .mySwiper2 .swiper-button-prev {
    height: 100%;
    top: 22px;
    width: 40px;
    padding: 10px 0;
    right: 0;
    opacity: 0.2;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease; }
    .single .galleria .mySwiper2 .swiper-button-next:after,
    .single .galleria .mySwiper2 .swiper-button-prev:after {
      content: url("../images/arrow-dx-single.svg");
      width: 100%;
      font-size: initial;
      padding: 8px;
      font-family: initial;
      -webkit-box-sizing: content-box;
              box-sizing: content-box; }
    .single .galleria .mySwiper2 .swiper-button-next:hover,
    .single .galleria .mySwiper2 .swiper-button-prev:hover {
      opacity: 1; }
  .single .galleria .mySwiper2 .swiper-button-prev,
  .single .galleria .mySwiper2 .swiper-rtl .swiper-button-next {
    left: 0;
    right: initial; }
    .single .galleria .mySwiper2 .swiper-button-prev:after,
    .single .galleria .mySwiper2 .swiper-rtl .swiper-button-next:after {
      content: url("../images/arrow-sx-single.svg");
      width: 100%;
      font-size: initial;
      padding: 8px;
      font-family: initial;
      -webkit-box-sizing: content-box;
              box-sizing: content-box; }
    .single .galleria .mySwiper2 .swiper-button-prev:hover,
    .single .galleria .mySwiper2 .swiper-rtl .swiper-button-next:hover {
      opacity: 1; }

.single .galleria .mySwiper {
  padding-right: 4rem; }
  .single .galleria .mySwiper .swiper-slide {
    position: relative;
    opacity: 0.5;
    cursor: pointer; }
    .single .galleria .mySwiper .swiper-slide:hover, .single .galleria .mySwiper .swiper-slide-thumb-active {
      opacity: 1; }
  .single .galleria .mySwiper .swiper-button-next,
  .single .galleria .mySwiper .swiper-button-prev {
    height: 100%;
    top: 22px;
    width: 30px;
    padding: 10px 0;
    right: 0;
    opacity: 0.2;
    background-color: #000000;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease; }
    .single .galleria .mySwiper .swiper-button-next:after,
    .single .galleria .mySwiper .swiper-button-prev:after {
      content: url("../images/arrow-dx-single.svg");
      width: 100%;
      font-size: initial;
      padding: 8px;
      font-family: initial;
      -webkit-box-sizing: content-box;
              box-sizing: content-box; }
    .single .galleria .mySwiper .swiper-button-next:hover,
    .single .galleria .mySwiper .swiper-button-prev:hover {
      opacity: 1; }
  .single .galleria .mySwiper .swiper-button-prev,
  .single .galleria .mySwiper .swiper-rtl .swiper-button-next {
    left: 0;
    right: initial; }
    .single .galleria .mySwiper .swiper-button-prev:after,
    .single .galleria .mySwiper .swiper-rtl .swiper-button-next:after {
      content: url("../images/arrow-sx-single.svg");
      width: 100%;
      font-size: initial;
      padding: 8px;
      font-family: initial;
      -webkit-box-sizing: content-box;
              box-sizing: content-box; }
    .single .galleria .mySwiper .swiper-button-prev:hover,
    .single .galleria .mySwiper .swiper-rtl .swiper-button-next:hover {
      opacity: 1; }

.intro .galleria {
  margin-top: 2rem; }

.block-news {
  padding: 2rem 0; }
  @media screen and (max-width: 1025px) {
    .block-news {
      padding: 1rem 0; } }
  @media screen and (max-width: 680px) {
    .block-news {
      padding: 0.5rem 0; } }
  .block-news p {
    line-height: 1.5; }
  @media screen and (max-width: 1470px) {
    .block-news h2, .block-news .h2 {
      font-size: 1.875rem; } }
  .block-news .title-section {
    position: relative; }
    .block-news .title-section:after {
      position: absolute;
      bottom: 60px;
      width: 250px;
      content: '';
      height: 2px;
      background-color: #d22533;
      left: -160px; }
      @media screen and (max-width: 1025px) {
        .block-news .title-section:after {
          bottom: 53px;
          width: 5rem;
          left: 0; } }
  .block-news .img {
    background: #000000; }
  .block-news .news {
    position: relative; }
    .block-news .news .img {
      position: relative;
      height: auto !important; }
      @media screen and (max-width: 1025px) {
        .block-news .news .img {
          height: 30rem; } }
      @media screen and (max-width: 680px) {
        .block-news .news .img {
          height: 12rem; } }
      .block-news .news .img:hover ~ .txt a {
        color: #d22533; }
      .block-news .news .img .play_button {
        bottom: 15px;
        left: 15px;
        position: absolute; }
        .block-news .news .img .play_button img {
          width: 80px !important;
          min-height: 100%; }
          @media screen and (max-width: 1025px) {
            .block-news .news .img .play_button img {
              width: 50px !important; } }
    .block-news .news .txt {
      margin-top: 1rem; }
      .block-news .news .txt .excerpt-news b, .block-news .news .txt .excerpt-news strong {
        font-weight: 500; }
      .block-news .news .txt hr {
        border-bottom: 2px solid #d22533;
        width: 40px;
        margin-left: 0;
        position: relative;
        top: -10px; }
      .block-news .news .txt h3 {
        line-height: 1.1;
        margin-bottom: 1rem; }
      .block-news .news .txt span, .block-news .news .txt em {
        font-family: 'Sentient', serif !important;
        font-size: 16px !important; }
  .block-news .banner img {
    width: 100%; }
  .block-news .xx-large-news .img {
    height: 600px; }
  .block-news .xx-large-news .txt {
    padding-left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .block-news .xx-large-news .txt:before {
      position: relative;
      top: -15px;
      width: 250px;
      content: '';
      height: 1.5px;
      background-color: #d22533;
      left: -160px;
      -webkit-box-orient: vertical;
      -webkit-box-direction: reverse;
          -ms-flex-direction: column-reverse;
              flex-direction: column-reverse;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
    .block-news .xx-large-news .txt h3 {
      font-size: 3rem;
      font-weight: 700; }
      @media screen and (max-width: 1470px) {
        .block-news .xx-large-news .txt h3 {
          font-size: 2.6875rem; } }
      @media screen and (max-width: 1025px) {
        .block-news .xx-large-news .txt h3 {
          font-size: 2.5rem; } }
      @media screen and (max-width: 680px) {
        .block-news .xx-large-news .txt h3 {
          font-size: 1.5rem; } }
    .block-news .xx-large-news .txt h4 {
      margin-bottom: 2rem; }
    .block-news .xx-large-news .txt h6 {
      margin-bottom: 0; }
  .block-news .x-large-news .img {
    height: 570px; }
    @media screen and (max-width: 1470px) {
      .block-news .x-large-news .img {
        height: 35rem; } }
    @media screen and (max-width: 1025px) {
      .block-news .x-large-news .img {
        height: 25rem; } }
    @media screen and (max-width: 768x) {
      .block-news .x-large-news .img {
        height: 15rem; } }
  .block-news .x-large-news .txt {
    padding-left: 120px;
    position: relative;
    margin-top: 2rem; }
    @media screen and (max-width: 1025px) {
      .block-news .x-large-news .txt {
        padding-left: 0; } }
    @media screen and (max-width: 680px) {
      .block-news .x-large-news .txt {
        margin-top: 2rem;
        margin-bottom: 3rem; } }
    .block-news .x-large-news .txt:after {
      position: absolute;
      top: 54px;
      width: 250px;
      content: '';
      height: 1.5px;
      background-color: #d22533;
      left: -160px; }
      @media screen and (max-width: 1025px) {
        .block-news .x-large-news .txt:after {
          content: none; } }
    .block-news .x-large-news .txt h3 {
      font-size: 3rem;
      font-weight: 700; }
      @media screen and (max-width: 1470px) {
        .block-news .x-large-news .txt h3 {
          font-size: 2.6875rem; } }
      @media screen and (max-width: 1025px) {
        .block-news .x-large-news .txt h3 {
          font-size: 2.5rem; } }
      @media screen and (max-width: 680px) {
        .block-news .x-large-news .txt h3 {
          font-size: 1.5rem; } }
    .block-news .x-large-news .txt h4 {
      margin-bottom: 2rem;
      font-weight: 400; }
      @media screen and (max-width: 1470px) {
        .block-news .x-large-news .txt h4 {
          font-size: 1.4375rem; } }
      @media screen and (max-width: 680px) {
        .block-news .x-large-news .txt h4 {
          font-size: 1.125rem; } }
    .block-news .x-large-news .txt h6 {
      margin-bottom: 0; }
  @media screen and (max-width: 680px) {
    .block-news .large-news {
      margin-bottom: 1.5rem; } }
  .block-news .large-news .img {
    height: 31.875rem; }
    @media screen and (max-width: 1470px) {
      .block-news .large-news .img {
        height: 28.75rem; } }
    @media screen and (max-width: 1025px) {
      .block-news .large-news .img {
        height: 20rem; } }
    @media screen and (max-width: 680px) {
      .block-news .large-news .img {
        height: 12rem; } }
  .block-news .large-news .txt {
    padding-left: 120px;
    position: relative;
    margin-top: 50px; }
    @media screen and (max-width: 1025px) {
      .block-news .large-news .txt {
        padding-left: 3.125rem;
        margin-top: 1.875rem; } }
    @media screen and (max-width: 1025px) {
      .block-news .large-news .txt {
        padding-left: 0;
        margin-top: 1.875rem; } }
    .block-news .large-news .txt:after {
      position: absolute;
      top: -10px;
      width: 180px;
      content: '';
      height: 1.5px;
      background-color: #d22533;
      left: 0; }
    .block-news .large-news .txt .excerpt-news {
      display: block; }
    .block-news .large-news .txt h3 {
      font-size: 3rem;
      font-weight: 700; }
      @media screen and (max-width: 1470px) {
        .block-news .large-news .txt h3 {
          font-size: 2.6875rem; } }
      @media screen and (max-width: 1025px) {
        .block-news .large-news .txt h3 {
          font-size: 2.125rem; } }
      @media screen and (max-width: 680px) {
        .block-news .large-news .txt h3 {
          font-size: 1.5rem; } }
    @media screen and (max-width: 680px) {
      .block-news .large-news .txt:after {
        width: 50px; } }
  .block-news .s-large-news .img {
    height: 23.75rem; }
    @media screen and (max-width: 1025px) {
      .block-news .s-large-news .img {
        height: 18.75rem; } }
  .block-news .s-large-news .txt h3 {
    font-size: 3rem;
    font-weight: 700; }
    @media screen and (max-width: 1470px) {
      .block-news .s-large-news .txt h3 {
        font-size: 2.6875rem; } }
    @media screen and (max-width: 1025px) {
      .block-news .s-large-news .txt h3 {
        font-size: 2.5rem; } }
    @media screen and (max-width: 680px) {
      .block-news .s-large-news .txt h3 {
        font-size: 1.5rem; } }
  @media screen and (max-width: 680px) {
    .block-news .s-large-news .txt .excerpt-news {
      display: block; } }
  .block-news .medium_large-news .img {
    height: 15rem; }
    @media screen and (max-width: 1470px) {
      .block-news .medium_large-news .img {
        height: 14.375rem; } }
    @media screen and (max-width: 1025px) {
      .block-news .medium_large-news .img {
        height: 9.375rem; } }
    .block-news .medium_large-news .img .play_button img {
      width: 65px !important; }
  .block-news .medium_large-news .txt {
    margin-bottom: 1.5rem; }
    .block-news .medium_large-news .txt h3 {
      font-size: 1.5625rem; }
      @media screen and (max-width: 1470px) {
        .block-news .medium_large-news .txt h3 {
          font-size: 1.5rem; } }
      @media screen and (max-width: 1025px) {
        .block-news .medium_large-news .txt h3 {
          font-size: 1.4375rem; } }
  .block-news .medium-news .img {
    height: 11.25rem; }
    @media screen and (max-width: 1025px) {
      .block-news .medium-news .img {
        height: 7.5rem; } }
    .block-news .medium-news .img .play_button img {
      width: 40px !important; }
  .block-news .medium-news .txt {
    margin-bottom: 1.5rem; }
    .block-news .medium-news .txt h3 {
      font-size: 1.375rem; }
      @media screen and (max-width: 1470px) {
        .block-news .medium-news .txt h3 {
          font-size: 1.3125rem; } }
      @media screen and (max-width: 1025px) {
        .block-news .medium-news .txt h3 {
          font-size: 1.25rem; } }
      @media screen and (max-width: 680px) {
        .block-news .medium-news .txt h3 {
          font-size: 1.125rem; } }
  .block-news .medium-news .block_large {
    border-bottom: 1px solid #EBEBEB;
    padding-bottom: 3rem;
    margin-bottom: 3rem;
    margin-right: 3rem; }
  .block-news .y-medium-news .img {
    height: 500px; }
  .block-news .small-news {
    padding: 0 10px;
    margin-bottom: 1rem; }
    @media screen and (max-width: 1025px) {
      .block-news .small-news {
        width: 50%; } }
    .block-news .small-news .img {
      height: 6.875rem; }
      @media screen and (max-width: 1470px) {
        .block-news .small-news .img {
          height: 8.125rem; } }
      @media screen and (max-width: 680px) {
        .block-news .small-news .img {
          height: 8rem; } }
      .block-news .small-news .img .play_button img {
        width: 30px !important; }
    @media screen and (max-width: 680px) {
      .block-news .small-news .txt {
        margin-top: 0.5rem; } }
    .block-news .small-news .txt .h3, .block-news .small-news .txt h3 {
      font-size: 1.125rem;
      line-height: 1.3;
      margin-bottom: 0.5rem; }
      @media screen and (max-width: 1470px) {
        .block-news .small-news .txt .h3, .block-news .small-news .txt h3 {
          font-size: 1.0625rem; } }
      @media screen and (max-width: 1025px) {
        .block-news .small-news .txt .h3, .block-news .small-news .txt h3 {
          font-size: 1rem; } }
    .block-news .small-news .txt .h6, .block-news .small-news .txt h6 {
      font-size: 0.9375rem; }
      @media screen and (max-width: 1470px) {
        .block-news .small-news .txt .h6, .block-news .small-news .txt h6 {
          font-size: 0.875rem; } }
      @media screen and (max-width: 1025px) {
        .block-news .small-news .txt .h6, .block-news .small-news .txt h6 {
          font-size: 0.8125rem; } }
  .block-news .x-small-news .img {
    height: 5.625rem; }
    @media screen and (max-width: 1025px) {
      .block-news .x-small-news .img {
        height: 9.375rem; } }
    @media screen and (max-width: 1025px) {
      .block-news .x-small-news .img {
        height: 6rem; } }
    .block-news .x-small-news .img .play_button {
      bottom: 10px;
      left: 10px; }
      .block-news .x-small-news .img .play_button img {
        width: 25px !important; }
  .block-news .x-small-news .txt {
    margin-top: 0.5rem; }
    .block-news .x-small-news .txt h3 {
      font-size: 1rem;
      margin-bottom: 0.7rem;
      margin-top: 0rem; }
      @media screen and (max-width: 1470px) {
        .block-news .x-small-news .txt h3 {
          font-size: 1rem; } }
      @media screen and (max-width: 1025px) and (min-width: 680px) {
        .block-news .x-small-news .txt h3 {
          font-size: 1.3125rem; } }
    .block-news .x-small-news .txt h6, .block-news .x-small-news .txt .h6 {
      font-size: 0.8125rem;
      margin-bottom: 0.3rem; }
  .block-news .other-news {
    margin-bottom: 0; }
    .block-news .other-news > div:last-child {
      border: 0; }
    .block-news .other-news .other-single-news {
      margin-bottom: 1rem;
      padding-bottom: 1rem;
      border-bottom: 1px solid #EBEBEB; }
      .block-news .other-news .other-single-news .img {
        height: 130px; }
        .block-news .other-news .other-single-news .img .play_button {
          bottom: 10px;
          left: 10px; }
          .block-news .other-news .other-single-news .img .play_button img {
            width: 25px !important; }
        @media screen and (max-width: 1470px) {
          .block-news .other-news .other-single-news .img {
            height: 7.5rem; } }
        @media screen and (max-width: 680px) {
          .block-news .other-news .other-single-news .img {
            padding-right: 15px;
            background-color: initial !important; } }
      .block-news .other-news .other-single-news .txt {
        margin-top: 0; }
        .block-news .other-news .other-single-news .txt h3 {
          font-size: 1.0625rem;
          line-height: 1.3;
          margin-bottom: 0; }
          @media screen and (max-width: 1470px) {
            .block-news .other-news .other-single-news .txt h3 {
              font-size: 1rem; } }
          @media screen and (max-width: 1025px) {
            .block-news .other-news .other-single-news .txt h3 {
              font-size: 1rem; } }
        .block-news .other-news .other-single-news .txt h6, .block-news .other-news .other-single-news .txt .h6 {
          font-size: 0.875rem; }
          @media screen and (max-width: 680px) {
            .block-news .other-news .other-single-news .txt h6, .block-news .other-news .other-single-news .txt .h6 {
              margin-bottom: 0.1rem; } }
  @media screen and (max-width: 1470px) {
    .block-news .medium-news .txt h3,
    .block-news .medium_large-news .txt h3 {
      margin-bottom: 0.5rem; } }
  @media screen and (max-width: 680px) {
    .block-news .large-news,
    .block-news .medium-news,
    .block-news .medium_large-news {
      width: 100%; } }
  @media screen and (max-width: 680px) {
    .block-news .large-news .img,
    .block-news .medium-news .img,
    .block-news .medium_large-news .img {
      height: 12rem; } }
  @media screen and (max-width: 1025px) {
    .block-news .excerpt-news {
      display: none; } }
  .block-news .single-news .txt strong {
    font-weight: 500; }
  .block-news .single-news .txt h3 {
    font-weight: 400;
    font-size: 1.5625rem;
    line-height: 1.3; }
  .block-news .single-news .txt p, .block-news .single-news .txt span, .block-news .single-news .txt em, .block-news .single-news .txt div, .block-news .single-news .txt li {
    line-height: 1.8;
    font-family: 'Sentient', serif !important;
    font-size: 1.25rem !important; }
    @media screen and (max-width: 680px) {
      .block-news .single-news .txt p, .block-news .single-news .txt span, .block-news .single-news .txt em, .block-news .single-news .txt div, .block-news .single-news .txt li {
        font-size: 1.125rem !important; } }
  .block-news .single-news .txt p.wp-caption-text {
    font-size: 1rem !important;
    margin-bottom: 0; }
  .block-news .single-news .txt hr {
    width: 90px;
    margin: 1.5rem 0; }
  .block-news .single-news .txt blockquote:not(.twitter-tweet) {
    width: calc(50% - 1.2rem);
    float: right;
    margin-left: 1.2rem; }
  .block-news .single-news .txt h2, .block-news .single-news .txt h2 *, .block-news .single-news .txt h4, .block-news .single-news .txt h4 * {
    font-family: 'Switzer' !important;
    text-transform: initial;
    font-size: 2.125rem !important; }
  .block-news .single-news .txt h3, .block-news .single-news .txt h3 * {
    font-family: 'Switzer' !important;
    text-transform: initial;
    font-size: 1.5625rem !important;
    font-weight: 600; }
  .block-news .single-news .txt h2 {
    font-weight: 600;
    font-size: 1.8125rem !important; }
  .block-news .single-news .txt h3 {
    font-weight: 600;
    font-size: 1.5625rem !important; }
  .block-news .single-news .txt a {
    text-decoration: underline;
    text-decoration-color: #d22533;
    font-weight: 600;
    text-decoration-thickness: 2px; }
  .block-news .single-news .txt img.alignleft {
    float: left;
    margin-left: 0;
    margin-right: 1rem; }
    @media screen and (max-width: 680px) {
      .block-news .single-news .txt img.alignleft {
        margin-right: 0.5rem; } }
  .block-news .single-news .txt img.alignright {
    float: right;
    margin-right: 0;
    margin-left: 1rem; }
    @media screen and (max-width: 680px) {
      .block-news .single-news .txt img.alignright {
        margin-left: 0.5rem; } }
  .block-news.red_ch {
    background-color: #F8EBDF;
    color: #000000; }
    .block-news.red_ch .img:hover ~ .txt a {
      color: #d22533; }
    .block-news.red_ch a {
      color: #000000; }
      .block-news.red_ch a:hover {
        color: #d22533; }
    .block-news.red_ch .swiper-button-next:after,
    .block-news.red_ch .swiper-button-prev:after {
      content: url("../images/arrow-dx-b.svg"); }
    .block-news.red_ch .swiper-button-prev:after,
    .block-news.red_ch .swiper-rtl .swiper-button-next:after {
      content: url("../images/arrow-sx-b.svg"); }
  .block-news.black {
    background-color: #000000;
    color: #ffffff; }
    @media screen and (max-width: 680px) {
      .block-news.black {
        padding: 2rem 0; } }
    .block-news.black a {
      color: #ffffff; }
      .block-news.black a:hover {
        color: #d22533; }
      .block-news.black a.button {
        color: #000000; }
    .block-news.black .line-section:after {
      background-color: #ffffff; }
    .block-news.black .logo-section img {
      margin: 0 auto;
      display: block;
      height: 130px;
      width: auto; }
  .block-news.white {
    margin-bottom: 1rem; }
  .block-news.block-gray, .block-news.white {
    background-color: #ffffff;
    color: #000000;
    margin-bottom: 1rem; }
    .block-news.block-gray a, .block-news.white a {
      color: #000000; }
      .block-news.block-gray a:hover, .block-news.white a:hover {
        color: #d22533; }
    .block-news.block-gray .swiper-button-next:after,
    .block-news.block-gray .swiper-button-prev:after, .block-news.white .swiper-button-next:after,
    .block-news.white .swiper-button-prev:after {
      content: url("../images/arrow-dx-b.svg"); }
    .block-news.block-gray .swiper-button-prev:after,
    .block-news.block-gray .swiper-rtl .swiper-button-next:after, .block-news.white .swiper-button-prev:after,
    .block-news.white .swiper-rtl .swiper-button-next:after {
      content: url("../images/arrow-sx-b.svg"); }
  .block-news.block-gray {
    background-color: #EFEFEF; }
    .block-news.block-gray.breaking-news .medium-news .txt {
      padding-left: 1.5rem;
      position: relative; }
      .block-news.block-gray.breaking-news .medium-news .txt:before {
        content: '';
        width: 12px;
        height: 12px;
        background-color: #d22533;
        position: absolute;
        left: 0;
        top: 8px;
        border-radius: 100%; }
      .block-news.block-gray.breaking-news .medium-news .txt h3 {
        font-size: 1.375rem;
        margin-bottom: 0.5rem; }
        @media screen and (max-width: 680px) {
          .block-news.block-gray.breaking-news .medium-news .txt h3 {
            font-size: 1.3125rem; } }
      .block-news.block-gray.breaking-news .medium-news .txt p {
        font-size: rem-cal(15px); }
    @media screen and (max-width: 1025px) {
      .block-news.block-gray.breaking-news .x-large-news .txt:after,
      .block-news.block-gray.breaking-news .xx-large-news .txt:after {
        content: none; } }
    .block-news.block-gray.breaking-news .x-large-news .txt h3,
    .block-news.block-gray.breaking-news .xx-large-news .txt h3 {
      font-size: 3rem; }
      @media screen and (max-width: 1470px) {
        .block-news.block-gray.breaking-news .x-large-news .txt h3,
        .block-news.block-gray.breaking-news .xx-large-news .txt h3 {
          font-size: 2.6875rem; } }
      @media screen and (max-width: 1025px) {
        .block-news.block-gray.breaking-news .x-large-news .txt h3,
        .block-news.block-gray.breaking-news .xx-large-news .txt h3 {
          font-size: 2.25rem; } }
      @media screen and (max-width: 680px) {
        .block-news.block-gray.breaking-news .x-large-news .txt h3,
        .block-news.block-gray.breaking-news .xx-large-news .txt h3 {
          font-size: 1.3125rem; } }
    @media screen and (max-width: 680px) {
      .block-news.block-gray.breaking-news .x-large-news .txt h4,
      .block-news.block-gray.breaking-news .xx-large-news .txt h4 {
        font-size: 1.125rem; } }
    .block-news.block-gray.breaking-news .x-large-news .title-bnews,
    .block-news.block-gray.breaking-news .xx-large-news .title-bnews {
      position: absolute;
      bottom: 15px;
      left: 20px;
      max-width: calc(100% - 2rem); }
      .block-news.block-gray.breaking-news .x-large-news .title-bnews h2,
      .block-news.block-gray.breaking-news .xx-large-news .title-bnews h2 {
        font-size: 2.5rem;
        font-size: clamp(1.3125rem, 3.42105vw + -0.14145rem, 2.9375rem);
        background-color: #FBFF2F;
        padding: 1rem;
        font-weight: 700;
        line-height: 1.1; }
        @media screen and (max-width: 680px) {
          .block-news.block-gray.breaking-news .x-large-news .title-bnews h2,
          .block-news.block-gray.breaking-news .xx-large-news .title-bnews h2 {
            padding: 0.5rem; } }
      .block-news.block-gray.breaking-news .x-large-news .title-bnews .h6,
      .block-news.block-gray.breaking-news .xx-large-news .title-bnews .h6 {
        font-size: 1.5625rem;
        font-size: clamp(1.125rem, 1.44737vw + 0.50987rem, 1.8125rem);
        margin-bottom: 0;
        padding: 1.5rem;
        color: #FFFFFF;
        background-color: #d22533;
        display: inline-block;
        position: relative;
        left: 25px;
        bottom: -15px;
        -webkit-transform: rotate(-2deg);
                transform: rotate(-2deg); }
        @media screen and (max-width: 1025px) {
          .block-news.block-gray.breaking-news .x-large-news .title-bnews .h6,
          .block-news.block-gray.breaking-news .xx-large-news .title-bnews .h6 {
            padding: 1rem;
            bottom: -8px; } }
        @media screen and (max-width: 680px) {
          .block-news.block-gray.breaking-news .x-large-news .title-bnews .h6,
          .block-news.block-gray.breaking-news .xx-large-news .title-bnews .h6 {
            padding: 0.5rem;
            bottom: -2px;
            left: 14px; } }
  .block-news.blue {
    padding: 3.5rem 0;
    background-color: #131725;
    color: #ffffff; }
    @media screen and (max-width: 680px) {
      .block-news.blue .title {
        padding-top: 2rem; } }
    @media screen and (max-width: 680px) {
      .block-news.blue .title h2.line {
        margin-bottom: -1rem; } }
    @media screen and (max-width: 680px) {
      .block-news.blue {
        padding: 0; } }
    .block-news.blue a {
      color: #ffffff; }
      .block-news.blue a:hover {
        color: #d22533; }
    .block-news.blue .line-section:after {
      background-color: #ffffff; }
    .block-news.blue .img {
      position: relative; }
      .block-news.blue .img > img {
        width: 100%; }
    .block-news.blue .txt h3 {
      font-size: 2.625rem; }
  .block-news.red {
    padding: 3rem 0;
    background-color: #d22533;
    color: #ffffff; }
    @media screen and (max-width: 680px) {
      .block-news.red {
        padding: 1.5rem 0; } }
    .block-news.red .img:hover ~ .txt a {
      color: #000000 !important; }
    .block-news.red .block-news {
      padding: 3.5rem; }
    .block-news.red a {
      color: #ffffff; }
      .block-news.red a:hover {
        color: #000000; }
    @media screen and (max-width: 1470px) {
      .block-news.red .small-news {
        padding: 0 10px; } }
    .block-news.red .small-news .txt h6, .block-news.red .small-news .txt .h6 {
      font-size: 0.875rem; }
    .block-news.red .small-news .txt h3 {
      font-size: 1.0625rem; }
    .block-news.red .small-news .txt p {
      font-size: 0.9375rem; }
    .block-news.red .title h2.line:before {
      background-color: #ffffff; }
    .block-news.red .large-news .txt:after {
      background-color: #ffffff; }
    .block-news.red .line-section:after {
      background-color: #ffffff; }
    .block-news.red .swiperArticle .swiper-slide .txt:before {
      background-color: #ffffff; }
    .block-news.red .swiperArticle .swiper-slide .txt a:before {
      background-color: #ffffff; }
  @media screen and (max-width: 1025px) {
    .block-news > .row.dflex.first-block > div:first-child {
      width: 35%; } }
  @media screen and (max-width: 680px) {
    .block-news > .row.dflex.first-block > div:first-child {
      width: initial; } }
  @media screen and (max-width: 1025px) {
    .block-news > .row.dflex.first-block > div:first-child .img {
      height: 8.125rem; } }
  @media screen and (max-width: 680px) {
    .block-news > .row.dflex.first-block > div:first-child .img {
      height: 14rem; } }
  @media screen and (max-width: 680px) {
    .block-news > .row.dflex.first-block > div:first-child .txt {
      margin-bottom: 2rem; } }
  @media screen and (max-width: 1025px) {
    .block-news > .row.dflex.first-block > div:first-child .txt h3 {
      font-size: 1.125rem; } }
  @media screen and (max-width: 680px) {
    .block-news > .row.dflex.first-block > div:first-child .txt h3 {
      font-size: 1.5rem; } }
  @media screen and (max-width: 1025px) {
    .block-news > .row.dflex.first-block > div:last-child {
      width: 65%; } }
  @media screen and (max-width: 680px) {
    .block-news > .row.dflex.first-block > div:last-child {
      width: initial; } }
  @media screen and (max-width: 1025px) {
    .block-news > .row.dflex.first-block > div:last-child .small-news {
      width: 33.33%; } }
  @media screen and (max-width: 680px) {
    .block-news > .row.dflex.first-block > div:last-child .small-news {
      width: initial;
      margin-bottom: 1rem;
      padding-bottom: 1rem;
      padding-right: 0;
      padding-left: 0;
      margin-right: 1rem;
      margin-left: 1rem; } }
  @media screen and (max-width: 680px) {
    .block-news > .row.dflex.first-block > div:last-child .small-news:last-child {
      border: none; } }
  @media screen and (max-width: 680px) {
    .block-news > .row.dflex.first-block > div:last-child .small-news .img {
      height: 14rem; } }
  @media screen and (max-width: 680px) {
    .block-news > .row.dflex.first-block > div:last-child .small-news .txt h3 {
      font-size: 1.5rem; } }
  .block-news.darkgray {
    background-color: #1F1F1F;
    color: #ffffff; }
    .block-news.darkgray .newsletterBlockLarge {
      padding: 0 35px;
      width: 100%; }
      @media screen and (max-width: 768px) {
        .block-news.darkgray .newsletterBlockLarge {
          padding: 0 15px; } }
      @media screen and (max-width: 680px) {
        .block-news.darkgray .newsletterBlockLarge {
          padding: 2rem 0;
          padding-bottom: 1rem; } }
      @media screen and (max-width: 768px) {
        .block-news.darkgray .newsletterBlockLarge h3, .block-news.darkgray .newsletterBlockLarge .h3 {
          margin-bottom: 1rem;
          font-size: 1.5rem; } }
      @media screen and (max-width: 680px) {
        .block-news.darkgray .newsletterBlockLarge h3, .block-news.darkgray .newsletterBlockLarge .h3 {
          font-size: 1.3125rem;
          margin-bottom: 0.5rem; } }
      @media screen and (max-width: 680px) {
        .block-news.darkgray .newsletterBlockLarge p {
          font-size: 0.875rem; } }
      @media screen and (max-width: 768px) {
        .block-news.darkgray .newsletterBlockLarge ul.social li {
          margin-right: 15px; } }
      @media screen and (max-width: 680px) {
        .block-news.darkgray .newsletterBlockLarge ul.social li {
          margin-bottom: 2rem; } }
      @media screen and (max-width: 768px) {
        .block-news.darkgray .newsletterBlockLarge ul.social li img {
          height: 24px; } }
    .block-news.darkgray .newsletterImage {
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center center;
      height: 50vh; }
      @media screen and (max-width: 680px) {
        .block-news.darkgray .newsletterImage {
          margin: 0;
          height: 200px; } }
  .block-news .double .img .play_button {
    bottom: 25px;
    left: 25px; }
    .block-news .double .img .play_button img {
      width: 70px !important; }
  @media screen and (max-width: 1025px) {
    .block-news ul.social li {
      margin-right: 15px; } }
  @media screen and (max-width: 680px) {
    .block-news > div:first-child > .large-news {
      margin-top: 0.5rem;
      padding: 0; }
      .block-news > div:first-child > .large-news > div.txt {
        padding-right: 0.625rem;
        padding-left: 0.625rem; }
        .block-news > div:first-child > .large-news > div.txt .excerpt-news {
          display: block; } }
  .block-news .intro {
    padding-bottom: 60px; }
    @media screen and (max-width: 680px) {
      .block-news .intro {
        padding-bottom: 30px; } }
    .block-news .intro h1 {
      font-size: 3.75rem;
      line-height: 1.1;
      margin-bottom: 2.5rem; }
      @media screen and (max-width: 1470px) {
        .block-news .intro h1 {
          font-size: 3.375rem; } }
      @media screen and (max-width: 680px) {
        .block-news .intro h1 {
          font-size: 2.5rem;
          margin-bottom: 1.5rem; } }
    .block-news .intro h2 {
      font-size: 1.75rem;
      font-weight: 400;
      font-family: 'Switzer';
      text-transform: initial;
      margin-bottom: 2.5rem; }
      @media screen and (max-width: 1470px) {
        .block-news .intro h2 {
          font-size: 1.5rem; } }
      @media screen and (max-width: 680px) {
        .block-news .intro h2 {
          margin: 1.5rem 0;
          font-size: 1.3125rem; } }
    .block-news .intro .byline {
      color: #000000;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      .block-news .intro .byline .h6 {
        display: inline-block;
        margin-bottom: 0; }
      .block-news .intro .byline span {
        display: inline-block;
        background-color: #000000;
        width: 80px;
        height: 2px;
        content: '';
        margin: 0 20px; }
        @media screen and (max-width: 680px) {
          .block-news .intro .byline span {
            display: inline-block;
            background-color: #000000;
            width: 20px; } }

.single .block-news .other-news .other-single-news .txt h3 {
  margin-bottom: 0; }

.single .block-news .other-news .other-single-news {
  margin-bottom: 2rem;
  padding: 20px 0;
  border-top: 1px solid #EBEBEB; }

.news.line-section:after {
  bottom: 0;
  margin: 0px 15px;
  width: calc(100% - 30px); }

.news.line-section {
  margin-bottom: 2rem; }

.line-section {
  position: relative; }

.line-section:after {
  content: '';
  width: 100%;
  height: 1px;
  background-color: #000000;
  margin: 0 auto;
  position: absolute;
  left: 0;
  bottom: -60px; }

.first-section {
  margin: 35px auto;
  margin-top: 0; }
  @media screen and (max-width: 680px) {
    .first-section {
      margin: 1rem auto; } }

.griglia .news {
  margin-bottom: 1rem; }

@media screen and (max-width: 680px) {
  .archive .block-news .large-news .txt {
    margin-top: 1rem; }
    .archive .block-news .large-news .txt:after {
      content: none; } }

.griglia .xx-large-news {
  padding-bottom: 2rem; }

.block_tag {
  margin: 60px 0; }
  @media screen and (max-width: 680px) {
    .block_tag {
      margin: 30px 0; } }
  .block_tag .m-tag {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
    @media screen and (max-width: 1025px) {
      .block_tag .m-tag {
        position: relative;
        top: initial;
        -webkit-transform: translateY(-50%);
        transform: initial;
        margin-bottom: 4rem; } }
    .block_tag .m-tag h6, .block_tag .m-tag .h6 {
      margin-bottom: 0;
      font-size: 1.5rem;
      line-height: 1.3; }
      @media screen and (max-width: 680px) {
        .block_tag .m-tag h6, .block_tag .m-tag .h6 {
          font-size: 1.375rem; } }

.tag .first-section {
  margin-bottom: 80px; }

.tag .block-news .xx-large-news .txt {
  padding-left: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .tag .block-news .xx-large-news .txt .h1 {
    font-weight: 700;
    text-transform: initial;
    line-height: 1.1;
    margin-bottom: 1.5rem; }
  .tag .block-news .xx-large-news .txt .h4 {
    font-size: 25px;
    font-weight: 400; }

@media screen and (max-width: 680px) {
  .page-template-page-home .container {
    padding-top: 0; } }

.page-template-page-home .container section:first-of-type {
  padding-top: 1rem; }
  @media screen and (max-width: 680px) {
    .page-template-page-home .container section:first-of-type {
      margin-top: 0;
      padding-top: 0; } }

.page-template-page-home .container section:last-of-type {
  margin-bottom: 0; }

.page-template-page-home .container section.black:first-of-type {
  margin-top: -2rem;
  padding-top: 5rem; }

.page-template-page-home .container section.block-gray:first-of-type {
  margin-top: -2rem;
  padding-top: 3rem; }

.tag .white .swiperArticleRub,
.category .white .swiperArticleRub {
  border: none;
  border-bottom: 2px solid #000000;
  margin-bottom: 1rem; }
  .tag .white .swiperArticleRub h3,
  .category .white .swiperArticleRub h3 {
    margin-bottom: 0.5rem;
    font-size: 24px; }
    @media screen and (max-width: 680px) {
      .tag .white .swiperArticleRub h3,
      .category .white .swiperArticleRub h3 {
        font-size: 21px; } }
  @media screen and (max-width: 680px) {
    .tag .white .swiperArticleRub p,
    .category .white .swiperArticleRub p {
      font-size: 15px; } }
  .tag .white .swiperArticleRub .img,
  .category .white .swiperArticleRub .img {
    margin-bottom: 1rem;
    width: 100%; }

@media screen and (min-width: 1025px) {
  .archive .griglia .news.large-news {
    margin-bottom: 2rem; } }

.archive .block-news.white.carosello-cat {
  padding: 0;
  margin-bottom: 0; }

@media screen and (max-width: 680px) {
  .page-template-page-video .xx-large-news .txt:before {
    content: none; } }

@media screen and (max-width: 680px) {
  .block-news .news .img .play_button img {
    width: 50px !important; }
  .block-news .news.x-small-news .img .play_button img {
    width: 35px !important; }
  .block-news .news.small-news .img .play_button {
    bottom: 10px;
    left: 10px; }
    .block-news .news.small-news .img .play_button img {
      width: 30px !important; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyIsInN0eWxlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2tleWZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc2xpZGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19mYWRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9lZmZlY3RzL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fem9vbS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NwaW4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2FuaW1hdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy92ZW5kb3Ivbm9ybWFsaXplLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19ndXR0ZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fc2l6ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19tYXRoLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NvbHVtbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3RpY2t5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Zsb2F0LnNjc3MiLCJfdHlwb2dyYXBoeS5zY3NzIiwiX2dsb2JhbC5zY3NzIiwiX2NvbW1vbi5zY3NzIiwiX2Nhcm91c2VsLnNjc3MiLCJfYmxvY2suc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7Ozs7O2tFRFNrRTtBRVRsRTs7Ozs7RUZlRTtBR29LTTtFQ3RJTjtJQUNFLFdBQVc7SUFDWCxVQUFVO0lBQ1YsY0FBYyxFQUFBLEVBQ2Y7O0FDNUJDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixvQ0FGeUI7VUFFekIsNEJBRnlCO0VDdEJ2Qix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFHekMsbUNBQTJCO1VBQTNCLDJCQUEyQixFQUFBOztBSkMzQjtFR29CQSxnQ0FGeUI7VUFFekIsd0JBRnlCLEVBQUE7O0FIOUJ6QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsb0NBRnlCO1VBRXpCLDRCQUZ5QjtFQ3RCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBR3pDLG1DQUEyQjtVQUEzQiwyQkFBMkIsRUFBQTs7QUpDM0I7RUdvQkEsZ0NBRnlCO1VBRXpCLHdCQUZ5QixFQUFBOztBSDlCekI7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1DQUZ5QjtVQUV6QiwyQkFGeUI7RUN0QnZCLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUd6QyxtQ0FBMkI7VUFBM0IsMkJBQTJCLEVBQUE7O0FKQzNCO0VHb0JBLGdDQUZ5QjtVQUV6Qix3QkFGeUIsRUFBQTs7QUg5QnpCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixtQ0FGeUI7VUFFekIsMkJBRnlCO0VDdEJ2Qix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFHekMsbUNBQTJCO1VBQTNCLDJCQUEyQixFQUFBOztBSkMzQjtFR29CQSxnQ0FGeUI7VUFFekIsd0JBRnlCLEVBQUE7O0FIOUJ6QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsZ0NBRnlCO1VBRXpCLHdCQUZ5QjtFQ3RCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBR3pDLG1DQUEyQjtVQUEzQiwyQkFBMkIsRUFBQTs7QUpDM0I7RUdvQkEsbUNBRnlCO1VBRXpCLDJCQUZ5QixFQUFBOztBSDlCekI7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLGdDQUZ5QjtVQUV6Qix3QkFGeUI7RUN0QnZCLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUd6QyxtQ0FBMkI7VUFBM0IsMkJBQTJCLEVBQUE7O0FKQzNCO0VHb0JBLG1DQUZ5QjtVQUV6QiwyQkFGeUIsRUFBQTs7QUg5QnpCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixnQ0FGeUI7VUFFekIsd0JBRnlCO0VDdEJ2Qix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFHekMsbUNBQTJCO1VBQTNCLDJCQUEyQixFQUFBOztBSkMzQjtFR29CQSxvQ0FGeUI7VUFFekIsNEJBRnlCLEVBQUE7O0FIOUJ6QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsZ0NBRnlCO1VBRXpCLHdCQUZ5QjtFQ3RCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBR3pDLG1DQUEyQjtVQUEzQiwyQkFBMkIsRUFBQTs7QUpDM0I7RUdvQkEsb0NBRnlCO1VBRXpCLDRCQUZ5QixFQUFBOztBSDlCekI7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLFVGaENrQztFSUVsQyxvQ0FBNEI7RUFBNUIsNEJBQTRCLEVBQUE7O0FMVTVCO0VHb0JBLFVGaENxQyxFQUFBOztBREFyQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsVUYvQmtDO0VJQ2xDLG9DQUE0QjtFQUE1Qiw0QkFBNEIsRUFBQTs7QUxVNUI7RUdvQkEsVUYvQnFDLEVBQUE7O0FERHJDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixzREdyQ21DO1VIcUNuQyw4Q0dyQ21DO0VIcUNuQyw2QkY1Qm1EO1VFNEJuRCxxQkY1Qm1EO0VNSWpELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUEc3QjtFR29CQSxtREdUNEM7VUhTNUMsMkNHVDRDO0VDSjFDLFVBQTJCLEVBQUE7O0FQbkI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsc0RHcENxQztVSG9DckMsOENHcENxQztFSG9DckMsK0JGM0JxRDtVRTJCckQsdUJGM0JxRDtFTUduRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVBHN0I7RUdvQkEsbURHVDRDO1VIUzVDLDJDR1Q0QztFQ0oxQyxVQUEyQixFQUFBOztBUG5CN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLHFER25DaUM7VUhtQ2pDLDZDR25DaUM7RUhtQ2pDLGdDRjFCc0Q7VUUwQnRELHdCRjFCc0Q7RU1FcEQsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQTJCLEVBQUE7O0FQRzdCO0VHb0JBLG1ER1Q0QztVSFM1QywyQ0dUNEM7RUNKMUMsVUFBMkIsRUFBQTs7QVBuQjdCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixxREdsQytCO1VIa0MvQiw2Q0dsQytCO0VIa0MvQiw4QkZ6Qm9EO1VFeUJwRCxzQkZ6Qm9EO0VNQ2xELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUEc3QjtFR29CQSxtREdUNEM7VUhTNUMsMkNHVDRDO0VDSjFDLFVBQTJCLEVBQUE7O0FQbkI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsc0RHckNtQztVSHFDbkMsOENHckNtQztFSHFDbkMsZ0NHRWU7VUhGZix3QkdFZTtFQzFCYix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVBHN0I7RUdvQkEsbURHVDRDO1VIUzVDLDJDR1Q0QztFQ0oxQyxVQUEyQixFQUFBOztBUG5CN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLHNER3BDcUM7VUhvQ3JDLDhDR3BDcUM7RUhvQ3JDLGdDR0VlO1VIRmYsd0JHRWU7RUMxQmIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQTJCLEVBQUE7O0FQRzdCO0VHb0JBLG1ER1Q0QztVSFM1QywyQ0dUNEM7RUNKMUMsVUFBMkIsRUFBQTs7QVBuQjdCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixtREdQOEM7VUhPOUMsMkNHUDhDO0VITzlDLDZCRnRCbUQ7VUVzQm5ELHFCRnRCbUQ7RU1GakQsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQThCLEVBQUE7O0FQR2hDO0VHb0JBLHFERy9COEI7VUgrQjlCLDZDRy9COEI7RUNrQjVCLFVBQThCLEVBQUE7O0FQbkJoQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsbURHUDhDO1VITzlDLDJDR1A4QztFSE85QywrQkZyQnFEO1VFcUJyRCx1QkZyQnFEO0VNSG5ELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixFQUFBOztBUEdoQztFR29CQSxxREc5QmdDO1VIOEJoQyw2Q0c5QmdDO0VDaUI5QixVQUE4QixFQUFBOztBUG5CaEM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1ER1A4QztVSE85QywyQ0dQOEM7RUhPOUMsZ0NGcEJzRDtVRW9CdEQsd0JGcEJzRDtFTUpwRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBOEIsRUFBQTs7QVBHaEM7RUdvQkEsc0RHN0JzQztVSDZCdEMsOENHN0JzQztFQ2dCcEMsVUFBOEIsRUFBQTs7QVBuQmhDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixtREdQOEM7VUhPOUMsMkNHUDhDO0VITzlDLDhCRm5Cb0Q7VUVtQnBELHNCRm5Cb0Q7RU1MbEQsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQThCLEVBQUE7O0FQR2hDO0VHb0JBLHNERzVCb0M7VUg0QnBDLDhDRzVCb0M7RUNlbEMsVUFBOEIsRUFBQTs7QVBuQmhDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixtREdQOEM7VUhPOUMsMkNHUDhDO0VITzlDLGdDR0VlO1VIRmYsd0JHRWU7RUMxQmIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQThCLEVBQUE7O0FQR2hDO0VHb0JBLHFERy9COEI7VUgrQjlCLDZDRy9COEI7RUNrQjVCLFVBQThCLEVBQUE7O0FQbkJoQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsbURHUDhDO1VITzlDLDJDR1A4QztFSE85QyxnQ0dFZTtVSEZmLHdCR0VlO0VDMUJiLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixFQUFBOztBUEdoQztFR29CQSxxREc5QmdDO1VIOEJoQyw2Q0c5QmdDO0VDaUI5QixVQUE4QixFQUFBOztBUG5CaEM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLDZCQUZ5QjtVQUV6QixxQkFGeUI7RUt6QnZCLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUk03QjtFR29CQSwyQkFGeUI7VUFFekIsbUJBRnlCO0VLZHZCLFVBQTJCLEVBQUE7O0FSaEI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixr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cEMxRDtFT3pFTixrQkFBa0I7RUFDbEIsU0FIMEQsRUFBQTs7QVBpRnBEO0VPL0VOLGtCQUFrQjtFQUNsQixVQUgwRCxFQUFBOztBUDJGdEQ7RU8zRE4sc0JGK0VrRSxFQUFBOztBTDNDOUQ7RUl4RkosZ0JDbUlrRSxFQUFBOztBTHBDMUQ7RU96RU4sa0JBQWtCO0VBQ2xCLGVBSDBELEVBQUE7O0FQaUZwRDtFTy9FTixrQkFBa0I7RUFDbEIsZ0JBSDBELEVBQUE7O0FQMkZ0RDtFTzNETixnQkYrRWtFLEVBQUE7O0FMM0M5RDtFSXhGSixnQkNtSWtFLEVBQUE7O0FMcEMxRDtFT3pFTixrQkFBa0I7RUFDbEIsZUFIMEQsRUFBQTs7QVBpRnBEO0VPL0VOLGtCQUFrQjtFQUNsQixnQkFIMEQsRUFBQTs7QVAyRnREO0VPM0ROLHNCRitFa0UsRUFBQTs7QUwzQzlEO0VJeEZKLFVDbUlrRSxFQUFBOztBTHBDMUQ7RU96RU4sa0JBQWtCO0VBQ2xCLFNBSDBELEVBQUE7O0FQaUZwRDtFTy9FTixrQkFBa0I7RUFDbEIsVUFIMEQsRUFBQTs7QVAyRnREO0VPM0ROLHNCRitFa0UsRUFBQTs7QUwzQzlEO0VJeEZKLGdCQ21Ja0UsRUFBQTs7QUxwQzFEO0VPekVOLGtCQUFrQjtFQUNsQixlQUgwRCxFQUFBOztBUGlGcEQ7RU8vRU4sa0JBQWtCO0VBQ2xCLGdCQUgwRCxFQUFBOztBUDJGdEQ7RU8zRE4sZ0JGK0VrRSxFQUFBOztBTDNDOUQ7RUl4RkosZ0JDbUlrRSxFQUFBOztBTHBDMUQ7RU96RU4sa0JBQWtCO0VBQ2xCLGVBSDBELEVBQUE7O0FQaUZwRDtFTy9FTixrQkFBa0I7RUFDbEIsZ0JBSDBELEVBQUE7O0FQMkZ0RDtFTzNETixzQkYrRWtFLEVBQUE7O0FMM0M5RDtFSXhGSixVQ21Ja0UsRUFBQTs7QUxwQzFEO0VPekVOLGtCQUFrQjtFQUNsQixTQUgwRCxFQUFBOztBUGlGcEQ7RU8vRU4sa0JBQWtCO0VBQ2xCLFVBSDBELEVBQUE7O0FQMkZ0RDtFTzNETixzQkYrRWtFLEVBQUE7O0FMM0M5RDtFSXhGSixnQkNtSWtFLEVBQUE7O0FMcEMxRDtFT3pFTixrQkFBa0I7RUFDbEIsZUFIMEQsRUFBQTs7QVBpRnBEO0VPL0VOLGtCQUFrQjtFQUNsQixnQkFIMEQsRUFBQTs7QVAyRnREO0VPM0ROLGdCRitFa0UsRUFBQTs7QUwzQzlEO0VJeEZKLGdCQ21Ja0UsRUFBQTs7QUxwQzFEO0VPekVOLGtCQUFrQjtFQUNsQixlQUgwRCxFQUFBOztBUGlGcEQ7RU8vRU4sa0JBQWtCO0VBQ2xCLGdCQUgwRCxFQUFBOztBUDJGdEQ7RU8zRE4sc0JGK0VrRSxFQUFBOztBTDNDOUQ7RUl4RkosV0NtSWtFLEVBQUE7O0FMcEI1RDtFTzNETixzQkYrRWtFLEVBQUE7O0FMWjlEO0VRL0dGLFdYd0d1RDtFV3ZHdkQsV0FBZ0MsRUFBQTtFUjhHOUI7SVF2RkEsV0FBVyxFQUFBO0VSdUZYO0lRbkZBLFdBQVcsRUFBQTtFUm1GWDtJUS9FQSxXWHdFcUQsRUFBQTs7QUdPckQ7RVEvR0YsV1h3R3VEO0VXdkd2RCxVQUFnQyxFQUFBO0VSOEc5QjtJUXZGQSxXQUFXLEVBQUE7RVJ1Rlg7SVFuRkEsV0FBVyxFQUFBO0VSbUZYO0lRL0VBLFdYd0VxRCxFQUFBOztBR09yRDtFUS9HRixXWHdHdUQ7RVd2R3ZELGdCQUFnQyxFQUFBO0VSOEc5QjtJUXZGQSxXQUFXLEVBQUE7RVJ1Rlg7SVFuRkEsV0FBVyxFQUFBO0VSbUZYO0lRL0VBLFdYd0VxRCxFQUFBOztBR09yRDtFUS9HRixXWHdHdUQ7RVd2R3ZELFVBQWdDLEVBQUE7RVI4RzlCO0lRdkZBLFdBQVcsRUFBQTtFUnVGWDtJUW5GQSxXQUFXLEVBQUE7RVJtRlg7SVEvRUEsV1h3RXFELEVBQUE7O0FHT3JEO0VRL0dGLFdYd0d1RDtFV3ZHdkQsVUFBZ0MsRUFBQTtFUjhHOUI7SVF2RkEsV0FBVyxFQUFBO0VSdUZYO0lRbkZBLFdBQVcsRUFBQTtFUm1GWDtJUS9FQSxXWHdFcUQsRUFBQTs7QUdPckQ7RVEvR0YsV1h3R3VEO0VXdkd2RCxnQkFBZ0MsRUFBQTtFUjhHOUI7SVF2RkEsV0FBVyxFQUFBO0VSdUZYO0lRbkZBLFdBQVcsRUFBQTtFUm1GWDtJUS9FQSxXWHdFcUQsRUFBQTs7QUdPckQ7RVEvR0YsV1h3R3VEO0VXdkd2RCxnQkFBZ0MsRUFBQTtFUjhHOUI7SVF2RkEsV0FBVyxFQUFBO0VSdUZYO0lRbkZBLFdBQVcsRUFBQTtFUm1GWDtJUS9FQSxXWHdFcUQsRUFBQTs7QUdPckQ7RVEvR0YsV1h3R3VEO0VXdkd2RCxZQUFnQyxFQUFBO0VSOEc5QjtJUXZGQSxXQUFXLEVBQUE7RVJ1Rlg7SVFuRkEsV0FBVyxFQUFBO0VSbUZYO0lRL0VBLFdYd0VxRCxFQUFBOztBR2F2RDtFR3JIQSxnQkQ2RVM7RUM1RVQsZUQ0RVMsRUFBQTs7QUZ3Q1Q7RUFJSSxlQUFlO0VBQ2YsY0FBYyxFQUFBOztBQUlsQjtFQUNFLGVBQWU7RUFDZixjQUFjLEVBQUE7O0FBR2hCO0VHbklBLHVCQUZ1QztFQUd2QyxzQkFIdUMsRUFBQTs7QUgySXJDO0VPakhGLGtCQUFrQjtFQUNsQixpQkFBaUIsRUFBQTtFQUxqQjtJQUNFLFdBQVc7SUFDWCxXQUFXLEVBQUE7O0FQK0hYO0VPakhKLGdCQUFnQjtFQUNoQixlQUFlO0VBQ2YsY0FBYyxFQUFBO0VBekNaO0lBQ0UsV1YwR3FEO0lVekdyRCxXQUFXLEVBQUE7RUFLWDtJQUNFLFlWb0dvRCxFQUFBOztBZG9EcEQ7RWlCN0VGO0lJeEZKLGVDbUlrRSxFQUFBO0VMcEMxRDtJT3pFTixrQkFBa0I7SUFDbEIsY0FIMEQsRUFBQTtFUGlGcEQ7SU8vRU4sa0JBQWtCO0lBQ2xCLGVBSDBELEVBQUE7RVAyRnREO0lPM0ROLGVGK0VrRSxFQUFBO0VMM0M5RDtJSXhGSixnQkNtSWtFLEVBQUE7RUxwQzFEO0lPekVOLGtCQUFrQjtJQUNsQixlQUgwRCxFQUFBO0VQaUZwRDtJTy9FTixrQkFBa0I7SUFDbEIsZ0JBSDBELEVBQUE7RVAyRnREO0lPM0ROLHFCRitFa0UsRUFBQTtFTDNDOUQ7SUl4RkosVUNtSWtFLEVBQUE7RUxwQzFEO0lPekVOLGtCQUFrQjtJQUNsQixTQUgwRCxFQUFBO0VQaUZwRDtJTy9FTixrQkFBa0I7SUFDbEIsVUFIMEQsRUFBQTtFUDJGdEQ7SU8zRE4sc0JGK0VrRSxFQUFBO0VMM0M5RDtJSXhGSixnQkNtSWtFLEVBQUE7RUxwQzFEO0lPekVOLGtCQUFrQjtJQUNsQixlQUgwRCxFQUFBO0VQaUZwRDtJTy9FTixrQkFBa0I7SUFDbEIsZ0JBSDBELEVBQUE7RVAyRnREO0lPM0ROLGdCRitFa0UsRUFBQTtFTDNDOUQ7SUl4RkosZ0JDbUlrRSxFQUFBO0VMcEMxRDtJT3pFTixrQkFBa0I7SUFDbEIsZUFIMEQsRUFBQTtFUGlGcEQ7SU8vRU4sa0JBQWtCO0lBQ2xCLGdCQUgwRCxFQUFBO0VQMkZ0RDtJTzNETixzQkYrRWtFLEVBQUE7RUwzQzlEO0lJeEZKLFVDbUlrRSxFQUFBO0VMcEMxRDtJT3pFTixrQkFBa0I7SUFDbEIsU0FIMEQsRUFBQTtFUGlGcEQ7SU8vRU4sa0JBQWtCO0lBQ2xCLFVBSDBELEVBQUE7RVAyRnREO0lPM0ROLHNCRitFa0UsRUFBQTtFTDNDOUQ7SUl4RkosZ0JDbUlrRSxFQUFBO0VMcEMxRDtJT3pFTixrQkFBa0I7SUFDbEIsZUFIMEQsRUFBQTtFUGlGcEQ7SU8vRU4sa0JBQWtCO0lBQ2xCLGdCQUgwRCxFQUFBO0VQMkZ0RDtJTzNETixnQkYrRWtFLEVBQUE7RUwzQzlEO0lJeEZKLGdCQ21Ja0UsRUFBQTtFTHBDMUQ7SU96RU4sa0JBQWtCO0lBQ2xCLGVBSDBELEVBQUE7RVBpRnBEO0lPL0VOLGtCQUFrQjtJQUNsQixnQkFIMEQsRUFBQTtFUDJGdEQ7SU8zRE4sc0JGK0VrRSxFQUFBO0VMM0M5RDtJSXhGSixVQ21Ja0UsRUFBQTtFTHBDMUQ7SU96RU4sa0JBQWtCO0lBQ2xCLFNBSDBELEVBQUE7RVBpRnBEO0lPL0VOLGtCQUFrQjtJQUNsQixVQUgwRCxFQUFBO0VQMkZ0RDtJTzNETixzQkYrRWtFLEVBQUE7RUwzQzlEO0lJeEZKLGdCQ21Ja0UsRUFBQTtFTHBDMUQ7SU96RU4sa0JBQWtCO0lBQ2xCLGVBSDBELEVBQUE7RVBpRnBEO0lPL0VOLGtCQUFrQjtJQUNsQixnQkFIMEQsRUFBQTtFUDJGdEQ7SU8zRE4sZ0JGK0VrRSxFQUFBO0VMM0M5RDtJSXhGSixnQkNtSWtFLEVBQUE7RUxwQzFEO0lPekVOLGtCQUFrQjtJQUNsQixlQUgwRCxFQUFBO0VQaUZwRDtJTy9FTixrQkFBa0I7SUFDbEIsZ0JBSDBELEVBQUE7RVAyRnREO0lPM0ROLHNCRitFa0UsRUFBQTtFTDNDOUQ7SUl4RkosV0NtSWtFLEVBQUE7RUxwQjVEO0lPM0ROLHNCRitFa0UsRUFBQTtFTFo5RDtJUS9HRixXWHdHdUQ7SVd2R3ZELFdBQWdDLEVBQUE7SVI4RzlCO01RdkZBLFdBQVcsRUFBQTtJUnVGWDtNUW5GQSxXQUFXLEVBQUE7SVJtRlg7TVEvRUEsV1h3RXFELEVBQUE7RUdPckQ7SVEvR0YsV1h3R3VEO0lXdkd2RCxVQUFnQyxFQUFBO0lSOEc5QjtNUXZGQSxXQUFXLEVBQUE7SVJ1Rlg7TVFuRkEsV0FBVyxFQUFBO0lSbUZYO01RL0VBLFdYd0VxRCxFQUFBO0VHT3JEO0lRL0dGLFdYd0d1RDtJV3ZHdkQsZ0JBQWdDLEVBQUE7SVI4RzlCO01RdkZBLFdBQVcsRUFBQTtJUnVGWDtNUW5GQSxXQUFXLEVBQUE7SVJtRlg7TVEvRUEsV1h3RXFELEVBQUE7RUdPckQ7SVEvR0YsV1h3R3VEO0lXdkd2RCxVQUFnQyxFQUFBO0lSOEc5QjtNUXZGQSxXQUFXLEVBQUE7SVJ1Rlg7TVFuRkEsV0FBVyxFQUFBO0lSbUZYO01RL0VBLFdYd0VxRCxFQUFBO0VHT3JEO0lRL0dGLFdYd0d1RDtJV3ZHdkQsVUFBZ0MsRUFBQTtJUjhHOUI7TVF2RkEsV0FBVyxFQUFBO0lSdUZYO01RbkZBLFdBQVcsRUFBQTtJUm1GWDtNUS9FQSxXWHdFcUQsRUFBQTtFR09yRDtJUS9HRixXWHdHdUQ7SVd2R3ZELGdCQUFnQyxFQUFBO0lSOEc5QjtNUXZGQSxXQUFXLEVBQUE7SVJ1Rlg7TVFuRkEsV0FBVyxFQUFBO0lSbUZYO01RL0VBLFdYd0VxRCxFQUFBO0VHT3JEO0lRL0dGLFdYd0d1RDtJV3ZHdkQsZ0JBQWdDLEVBQUE7SVI4RzlCO01RdkZBLFdBQVcsRUFBQTtJUnVGWDtNUW5GQSxXQUFXLEVBQUE7SVJtRlg7TVEvRUEsV1h3RXFELEVBQUE7RUdPckQ7SVEvR0YsV1h3R3VEO0lXdkd2RCxZQUFnQyxFQUFBO0lSOEc5QjtNUXZGQSxXQUFXLEVBQUE7SVJ1Rlg7TVFuRkEsV0FBVyxFQUFBO0lSbUZYO01RL0VBLFdYd0VxRCxFQUFBO0VHYXZEO0lHckhBLGdCRDZFUztJQzVFVCxlRDRFUyxFQUFBO0VGd0NUO0lBSUksZUFBZTtJQUNmLGNBQWMsRUFBQTtFQUlsQjtJQUNFLGVBQWU7SUFDZixjQUFjLEVBQUE7RUFHaEI7SUduSUEsd0JBRnVDO0lBR3ZDLHVCQUh1QyxFQUFBO0VIMklyQztJT2pIRixrQkFBa0I7SUFDbEIsaUJBQWlCLEVBQUE7SUFMakI7TUFDRSxXQUFXO01BQ1gsV0FBVyxFQUFBO0VQK0hYO0lPakhKLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsY0FBYyxFQUFBO0lBekNaO01BQ0UsV1YwR3FEO01VekdyRCxXQUFXLEVBQUE7SUFLWDtNQUNFLFlWb0dvRCxFQUFBLEVVbkdyRDs7QXhCdUpDO0VpQjdFRjtJSXhGSixlQ21Ja0UsRUFBQTtFTHBDMUQ7SU96RU4sa0JBQWtCO0lBQ2xCLGNBSDBELEVBQUE7RVBpRnBEO0lPL0VOLGtCQUFrQjtJQUNsQixlQUgwRCxFQUFBO0VQMkZ0RDtJTzNETixlRitFa0UsRUFBQTtFTDNDOUQ7SUl4RkosZ0JDbUlrRSxFQUFBO0VMcEMxRDtJT3pFTixrQkFBa0I7SUFDbEIsZUFIMEQsRUFBQTtFUGlGcEQ7SU8vRU4sa0JBQWtCO0lBQ2xCLGdCQUgwRCxFQUFBO0VQMkZ0RDtJTzNETixxQkYrRWtFLEVBQUE7RUwzQzlEO0lJeEZKLFVDbUlrRSxFQUFBO0VMcEMxRDtJT3pFTixrQkFBa0I7SUFDbEIsU0FIMEQsRUFBQTtFUGlGcEQ7SU8vRU4sa0JBQWtCO0lBQ2xCLFVBSDBELEVBQUE7RVAyRnREO0lPM0ROLHNCRitFa0UsRUFBQTtFTDNDOUQ7SUl4RkosZ0JDbUlrRSxFQUFBO0VMcEMxRDtJT3pFTixrQkFBa0I7SUFDbEIsZUFIMEQsRUFBQTtFUGlGcEQ7SU8vRU4sa0JBQWtCO0lBQ2xCLGdCQUgwRCxFQUFBO0VQMkZ0RDtJTzNETixnQkYrRWtFLEVBQUE7RUwzQzlEO0lJeEZKLGdCQ21Ja0UsRUFBQTtFTHBDMUQ7SU96RU4sa0JBQWtCO0lBQ2xCLGVBSDBELEVBQUE7RVBpRnBEO0lPL0VOLGtCQUFrQjtJQUNsQixnQkFIMEQsRUFBQTtFUDJGdEQ7SU8zRE4sc0JGK0VrRSxFQUFBO0VMM0M5RDtJSXhGSixVQ21Ja0UsRUFBQTtFTHBDMUQ7SU96RU4sa0JBQWtCO0lBQ2xCLFNBSDBELEVBQUE7RVBpRnBEO0lPL0VOLGtCQUFrQjtJQUNsQixVQUgwRCxFQUFBO0VQMkZ0RDtJTzNETixzQkYrRWtFLEVBQUE7RUwzQzlEO0lJeEZKLGdCQ21Ja0UsRUFBQTtFTHBDMUQ7SU96RU4sa0JBQWtCO0lBQ2xCLGVBSDBELEVBQUE7RVBpRnBEO0lPL0VOLGtCQUFrQjtJQUNsQixnQkFIMEQsRUFBQTtFUDJGdEQ7SU8zRE4sZ0JGK0VrRSxFQUFBO0VMM0M5RDtJSXhGSixnQkNtSWtFLEVBQUE7RUxwQzFEO0lPekVOLGtCQUFrQjtJQUNsQixlQUgwRCxFQUFBO0VQaUZwRDtJTy9FTixrQkFBa0I7SUFDbEIsZ0JBSDBELEVBQUE7RVAyRnREO0lPM0ROLHNCRitFa0UsRUFBQTtFTDNDOUQ7SUl4RkosVUNtSWtFLEVBQUE7RUxwQzFEO0lPekVOLGtCQUFrQjtJQUNsQixTQUgwRCxFQUFBO0VQaUZwRDtJTy9FTixrQkFBa0I7SUFDbEIsVUFIMEQsRUFBQTtFUDJGdEQ7SU8zRE4sc0JGK0VrRSxFQUFBO0VMM0M5RDtJSXhGSixnQkNtSWtFLEVBQUE7RUxwQzFEO0lPekVOLGtCQUFrQjtJQUNsQixlQUgwRCxFQUFBO0VQaUZwRDtJTy9FTixrQkFBa0I7SUFDbEIsZ0JBSDBELEVBQUE7RVAyRnREO0lPM0ROLGdCRitFa0UsRUFBQTtFTDNDOUQ7SUl4RkosZ0JDbUlrRSxFQUFBO0VMcEMxRDtJT3pFTixrQkFBa0I7SUFDbEIsZUFIMEQsRUFBQTtFUGlGcEQ7SU8vRU4sa0JBQWtCO0lBQ2xCLGdCQUgwRCxFQUFBO0VQMkZ0RDtJTzNETixzQkYrRWtFLEVBQUE7RUwzQzlEO0lJeEZKLFdDbUlrRSxFQUFBO0VMcEI1RDtJTzNETixzQkYrRWtFLEVBQUE7RUxaOUQ7SVEvR0YsV1h3R3VEO0lXdkd2RCxXQUFnQyxFQUFBO0lSOEc5QjtNUXZGQSxXQUFXLEVBQUE7SVJ1Rlg7TVFuRkEsV0FBVyxFQUFBO0lSbUZYO01RL0VBLFdYd0VxRCxFQUFBO0VHT3JEO0lRL0dGLFdYd0d1RDtJV3ZHdkQsVUFBZ0MsRUFBQTtJUjhHOUI7TVF2RkEsV0FBVyxFQUFBO0lSdUZYO01RbkZBLFdBQVcsRUFBQTtJUm1GWDtNUS9FQSxXWHdFcUQsRUFBQTtFR09yRDtJUS9HRixXWHdHdUQ7SVd2R3ZELGdCQUFnQyxFQUFBO0lSOEc5QjtNUXZGQSxXQUFXLEVBQUE7SVJ1Rlg7TVFuRkEsV0FBVyxFQUFBO0lSbUZYO01RL0VBLFdYd0VxRCxFQUFBO0VHT3JEO0lRL0dGLFdYd0d1RDtJV3ZHdkQsVUFBZ0MsRUFBQTtJUjhHOUI7TVF2RkEsV0FBVyxFQUFBO0lSdUZYO01RbkZBLFdBQVcsRUFBQTtJUm1GWDtNUS9FQSxXWHdFcUQsRUFBQTtFR09yRDtJUS9HRixXWHdHdUQ7SVd2R3ZELFVBQWdDLEVBQUE7SVI4RzlCO01RdkZBLFdBQVcsRUFBQTtJUnVGWDtNUW5GQSxXQUFXLEVBQUE7SVJtRlg7TVEvRUEsV1h3RXFELEVBQUE7RUdPckQ7SVEvR0YsV1h3R3VEO0lXdkd2RCxnQkFBZ0MsRUFBQTtJUjhHOUI7TVF2RkEsV0FBVyxFQUFBO0lSdUZYO01RbkZBLFdBQVcsRUFBQTtJUm1GWDtNUS9FQSxXWHdFcUQsRUFBQTtFR09yRDtJUS9HRixXWHdHdUQ7SVd2R3ZELGdCQUFnQyxFQUFBO0lSOEc5QjtNUXZGQSxXQUFXLEVBQUE7SVJ1Rlg7TVFuRkEsV0FBVyxFQUFBO0lSbUZYO01RL0VBLFdYd0VxRCxFQUFBO0VHT3JEO0lRL0dGLFdYd0d1RDtJV3ZHdkQsWUFBZ0MsRUFBQTtJUjhHOUI7TVF2RkEsV0FBVyxFQUFBO0lSdUZYO01RbkZBLFdBQVcsRUFBQTtJUm1GWDtNUS9FQSxXWHdFcUQsRUFBQTtFR2F2RDtJR3JIQSxnQkQ2RVM7SUM1RVQsZUQ0RVMsRUFBQTtFRndDVDtJQUlJLGVBQWU7SUFDZixjQUFjLEVBQUE7RUFJbEI7SUFDRSxlQUFlO0lBQ2YsY0FBYyxFQUFBO0VBR2hCO0lHbklBLHdCQUZ1QztJQUd2Qyx1QkFIdUMsRUFBQTtFSDJJckM7SU9qSEYsa0JBQWtCO0lBQ2xCLGlCQUFpQixFQUFBO0lBTGpCO01BQ0UsV0FBVztNQUNYLFdBQVcsRUFBQTtFUCtIWDtJT2pISixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLGNBQWMsRUFBQTtJQXpDWjtNQUNFLFdWMEdxRDtNVXpHckQsV0FBVyxFQUFBO0lBS1g7TUFDRSxZVm9Hb0QsRUFBQSxFVW5HckQ7O0F4QjRKQztFaUJsRkY7SUl4RkosZUNtSWtFLEVBQUE7RUxwQzFEO0lPekVOLGtCQUFrQjtJQUNsQixjQUgwRCxFQUFBO0VQaUZwRDtJTy9FTixrQkFBa0I7SUFDbEIsZUFIMEQsRUFBQTtFUDJGdEQ7SU8zRE4sZUYrRWtFLEVBQUE7RUwzQzlEO0lJeEZKLGdCQ21Ja0UsRUFBQTtFTHBDMUQ7SU96RU4sa0JBQWtCO0lBQ2xCLGVBSDBELEVBQUE7RVBpRnBEO0lPL0VOLGtCQUFrQjtJQUNsQixnQkFIMEQsRUFBQTtFUDJGdEQ7SU8zRE4scUJGK0VrRSxFQUFBO0VMM0M5RDtJSXhGSixVQ21Ja0UsRUFBQTtFTHBDMUQ7SU96RU4sa0JBQWtCO0lBQ2xCLFNBSDBELEVBQUE7RVBpRnBEO0lPL0VOLGtCQUFrQjtJQUNsQixVQUgwRCxFQUFBO0VQMkZ0RDtJTzNETixzQkYrRWtFLEVBQUE7RUwzQzlEO0lJeEZKLGdCQ21Ja0UsRUFBQTtFTHBDMUQ7SU96RU4sa0JBQWtCO0lBQ2xCLGVBSDBELEVBQUE7RVBpRnBEO0lPL0VOLGtCQUFrQjtJQUNsQixnQkFIMEQsRUFBQTtFUDJGdEQ7SU8zRE4sZ0JGK0VrRSxFQUFBO0VMM0M5RDtJSXhGSixnQkNtSWtFLEVBQUE7RUxwQzFEO0lPekVOLGtCQUFrQjtJQUNsQixlQUgwRCxFQUFBO0VQaUZwRDtJTy9FTixrQkFBa0I7SUFDbEIsZ0JBSDBELEVBQUE7RVAyRnREO0lPM0ROLHNCRitFa0UsRUFBQTtFTDNDOUQ7SUl4RkosVUNtSWtFLEVBQUE7RUxwQzFEO0lPekVOLGtCQUFrQjtJQUNsQixTQUgwRCxFQUFBO0VQaUZwRDtJTy9FTixrQkFBa0I7SUFDbEIsVUFIMEQsRUFBQTtFUDJGdEQ7SU8zRE4sc0JGK0VrRSxFQUFBO0VMM0M5RDtJSXhGSixnQkNtSWtFLEVBQUE7RUxwQzFEO0lPekVOLGtCQUFrQjtJQUNsQixlQUgwRCxFQUFBO0VQaUZwRDtJTy9FTixrQkFBa0I7SUFDbEIsZ0JBSDBELEVBQUE7RVAyRnREO0lPM0ROLGdCRitFa0UsRUFBQTtFTDNDOUQ7SUl4RkosZ0JDbUlrRSxFQUFBO0VMcEMxRDtJT3pFTixrQkFBa0I7SUFDbEIsZUFIMEQsRUFBQTtFUGlGcEQ7SU8vRU4sa0JBQWtCO0lBQ2xCLGdCQUgwRCxFQUFBO0VQMkZ0RDtJTzNETixzQkYrRWtFLEVBQUE7RUwzQzlEO0lJeEZKLFVDbUlrRSxFQUFBO0VMcEMxRDtJT3pFTixrQkFBa0I7SUFDbEIsU0FIMEQsRUFBQTtFUGlGcEQ7SU8vRU4sa0JBQWtCO0lBQ2xCLFVBSDBELEVBQUE7RVAyRnREO0lPM0ROLHNCRitFa0UsRUFBQTtFTDNDOUQ7SUl4RkosZ0JDbUlrRSxFQUFBO0VMcEMxRDtJT3pFTixrQkFBa0I7SUFDbEIsZUFIMEQsRUFBQTtFUGlGcEQ7SU8vRU4sa0JBQWtCO0lBQ2xCLGdCQUgwRCxFQUFBO0VQMkZ0RDtJTzNETixnQkYrRWtFLEVBQUE7RUwzQzlEO0lJeEZKLGdCQ21Ja0UsRUFBQTtFTHBDMUQ7SU96RU4sa0JBQWtCO0lBQ2xCLGVBSDBELEVBQUE7RVBpRnBEO0lPL0VOLGtCQUFrQjtJQUNsQixnQkFIMEQsRUFBQTtFUDJGdEQ7SU8zRE4sc0JGK0VrRSxFQUFBO0VMM0M5RDtJSXhGSixXQ21Ja0UsRUFBQTtFTHBCNUQ7SU8zRE4sc0JGK0VrRSxFQUFBO0VMWjlEO0lRL0dGLFdYd0d1RDtJV3ZHdkQsV0FBZ0MsRUFBQTtJUjhHOUI7TVF2RkEsV0FBVyxFQUFBO0lSdUZYO01RbkZBLFdBQVcsRUFBQTtJUm1GWDtNUS9FQSxXWHdFcUQsRUFBQTtFR09yRDtJUS9HRixXWHdHdUQ7SVd2R3ZELFVBQWdDLEVBQUE7SVI4RzlCO01RdkZBLFdBQVcsRUFBQTtJUnVGWDtNUW5GQSxXQUFXLEVBQUE7SVJtRlg7TVEvRUEsV1h3RXFELEVBQUE7RUdPckQ7SVEvR0YsV1h3R3VEO0lXdkd2RCxnQkFBZ0MsRUFBQTtJUjhHOUI7TVF2RkEsV0FBVyxFQUFBO0lSdUZYO01RbkZBLFdBQVcsRUFBQTtJUm1GWDtNUS9FQSxXWHdFcUQsRUFBQTtFR09yRDtJUS9HRixXWHdHdUQ7SVd2R3ZELFVBQWdDLEVBQUE7SVI4RzlCO01RdkZBLFdBQVcsRUFBQTtJUnVGWDtNUW5GQSxXQUFXLEVBQUE7SVJtRlg7TVEvRUEsV1h3RXFELEVBQUE7RUdPckQ7SVEvR0YsV1h3R3VEO0lXdkd2RCxVQUFnQyxFQUFBO0lSOEc5QjtNUXZGQSxXQUFXLEVBQUE7SVJ1Rlg7TVFuRkEsV0FBVyxFQUFBO0lSbUZYO01RL0VBLFdYd0VxRCxFQUFBO0VHT3JEO0lRL0dGLFdYd0d1RDtJV3ZHdkQsZ0JBQWdDLEVBQUE7SVI4RzlCO01RdkZBLFdBQVcsRUFBQTtJUnVGWDtNUW5GQSxXQUFXLEVBQUE7SVJtRlg7TVEvRUEsV1h3RXFELEVBQUE7RUdPckQ7SVEvR0YsV1h3R3VEO0lXdkd2RCxnQkFBZ0MsRUFBQTtJUjhHOUI7TVF2RkEsV0FBVyxFQUFBO0lSdUZYO01RbkZBLFdBQVcsRUFBQTtJUm1GWDtNUS9FQSxXWHdFcUQsRUFBQTtFR09yRDtJUS9HRixXWHdHdUQ7SVd2R3ZELFlBQWdDLEVBQUE7SVI4RzlCO01RdkZBLFdBQVcsRUFBQTtJUnVGWDtNUW5GQSxXQUFXLEVBQUE7SVJtRlg7TVEvRUEsV1h3RXFELEVBQUE7RUdhdkQ7SUdySEEsZ0JENkVTO0lDNUVULGVENEVTLEVBQUE7RUZ3Q1Q7SUFJSSxlQUFlO0lBQ2YsY0FBYyxFQUFBO0VBSWxCO0lBQ0UsZUFBZTtJQUNmLGNBQWMsRUFBQTtFQUdoQjtJR25JQSx3QkFGdUM7SUFHdkMsdUJBSHVDLEVBQUE7RUgySXJDO0lPakhGLGtCQUFrQjtJQUNsQixpQkFBaUIsRUFBQTtJQUxqQjtNQUNFLFdBQVc7TUFDWCxXQUFXLEVBQUE7RVArSFg7SU9qSEosZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixjQUFjLEVBQUE7SUF6Q1o7TUFDRSxXVjBHcUQ7TVV6R3JELFdBQVcsRUFBQTtJQUtYO01BQ0UsWVZvR29ELEVBQUEsRVVuR3JEOztBeEI0SkM7RWlCbEZGO0lJeEZKLGVDbUlrRSxFQUFBO0VMcEMxRDtJT3pFTixrQkFBa0I7SUFDbEIsY0FIMEQsRUFBQTtFUGlGcEQ7SU8vRU4sa0JBQWtCO0lBQ2xCLGVBSDBELEVBQUE7RVAyRnREO0lPM0ROLGVGK0VrRSxFQUFBO0VMM0M5RDtJSXhGSixnQkNtSWtFLEVBQUE7RUxwQzFEO0lPekVOLGtCQUFrQjtJQUNsQixlQUgwRCxFQUFBO0VQaUZwRDtJTy9FTixrQkFBa0I7SUFDbEIsZ0JBSDBELEVBQUE7RVAyRnREO0lPM0ROLHFCRitFa0UsRUFBQTtFTDNDOUQ7SUl4RkosVUNtSWtFLEVBQUE7RUxwQzFEO0lPekVOLGtCQUFrQjtJQUNsQixTQUgwRCxFQUFBO0VQaUZwRDtJTy9FTixrQkFBa0I7SUFDbEIsVUFIMEQsRUFBQTtFUDJGdEQ7SU8zRE4sc0JGK0VrRSxFQUFBO0VMM0M5RDtJSXhGSixnQkNtSWtFLEVBQUE7RUxwQzFEO0lPekVOLGtCQUFrQjtJQUNsQixlQUgwRCxFQUFBO0VQaUZwRDtJTy9FTixrQkFBa0I7SUFDbEIsZ0JBSDBELEVBQUE7RVAyRnREO0lPM0ROLGdCRitFa0UsRUFBQTtFTDNDOUQ7SUl4RkosZ0JDbUlrRSxFQUFBO0VMcEMxRDtJT3pFTixrQkFBa0I7SUFDbEIsZUFIMEQsRUFBQTtFUGlGcEQ7SU8vRU4sa0JBQWtCO0lBQ2xCLGdCQUgwRCxFQUFBO0VQMkZ0RDtJTzNETixzQkYrRWtFLEVBQUE7RUwzQzlEO0lJeEZKLFVDbUlrRSxFQUFBO0VMcEMxRDtJT3pFTixrQkFBa0I7SUFDbEIsU0FIMEQsRUFBQTtFUGlGcEQ7SU8vRU4sa0JBQWtCO0lBQ2xCLFVBSDBELEVBQUE7RVAyRnREO0lPM0ROLHNCRitFa0UsRUFBQTtFTDNDOUQ7SUl4RkosZ0JDbUlrRSxFQUFBO0VMcEMxRDtJT3pFTixrQkFBa0I7SUFDbEIsZUFIMEQsRUFBQTtFUGlGcEQ7SU8vRU4sa0JBQWtCO0lBQ2xCLGdCQUgwRCxFQUFBO0VQMkZ0RDtJTzNETixnQkYrRWtFLEVBQUE7RUwzQzlEO0lJeEZKLGdCQ21Ja0UsRUFBQTtFTHBDMUQ7SU96RU4sa0JBQWtCO0lBQ2xCLGVBSDBELEVBQUE7RVBpRnBEO0lPL0VOLGtCQUFrQjtJQUNsQixnQkFIMEQsRUFBQTtFUDJGdEQ7SU8zRE4sc0JGK0VrRSxFQUFBO0VMM0M5RDtJSXhGSixVQ21Ja0UsRUFBQTtFTHBDMUQ7SU96RU4sa0JBQWtCO0lBQ2xCLFNBSDBELEVBQUE7RVBpRnBEO0lPL0VOLGtCQUFrQjtJQUNsQixVQUgwRCxFQUFBO0VQMkZ0RDtJTzNETixzQkYrRWtFLEVBQUE7RUwzQzlEO0lJeEZKLGdCQ21Ja0UsRUFBQTtFTHBDMUQ7SU96RU4sa0JBQWtCO0lBQ2xCLGVBSDBELEVBQUE7RVBpRnBEO0lPL0VOLGtCQUFrQjtJQUNsQixnQkFIMEQsRUFBQTtFUDJGdEQ7SU8zRE4sZ0JGK0VrRSxFQUFBO0VMM0M5RDtJSXhGSixnQkNtSWtFLEVBQUE7RUxwQzFEO0lPekVOLGtCQUFrQjtJQUNsQixlQUgwRCxFQUFBO0VQaUZwRDtJTy9FTixrQkFBa0I7SUFDbEIsZ0JBSDBELEVBQUE7RVAyRnREO0lPM0ROLHNCRitFa0UsRUFBQTtFTDNDOUQ7SUl4RkosV0NtSWtFLEVBQUE7RUxwQjVEO0lPM0ROLHNCRitFa0UsRUFBQTtFTFo5RDtJUS9HRixXWHdHdUQ7SVd2R3ZELFdBQWdDLEVBQUE7SVI4RzlCO01RdkZBLFdBQVcsRUFBQTtJUnVGWDtNUW5GQSxXQUFXLEVBQUE7SVJtRlg7TVEvRUEsV1h3RXFELEVBQUE7RUdPckQ7SVEvR0YsV1h3R3VEO0lXdkd2RCxVQUFnQyxFQUFBO0lSOEc5QjtNUXZGQSxXQUFXLEVBQUE7SVJ1Rlg7TVFuRkEsV0FBVyxFQUFBO0lSbUZYO01RL0VBLFdYd0VxRCxFQUFBO0VHT3JEO0lRL0dGLFdYd0d1RDtJV3ZHdkQsZ0JBQWdDLEVBQUE7SVI4RzlCO01RdkZBLFdBQVcsRUFBQTtJUnVGWDtNUW5GQSxXQUFXLEVBQUE7SVJtRlg7TVEvRUEsV1h3RXFELEVBQUE7RUdPckQ7SVEvR0YsV1h3R3VEO0lXdkd2RCxVQUFnQyxFQUFBO0lSOEc5QjtNUXZGQSxXQUFXLEVBQUE7SVJ1Rlg7TVFuRkEsV0FBVyxFQUFBO0lSbUZYO01RL0VBLFdYd0VxRCxFQUFBO0VHT3JEO0lRL0dGLFdYd0d1RDtJV3ZHdkQsVUFBZ0MsRUFBQTtJUjhHOUI7TVF2RkEsV0FBVyxFQUFBO0lSdUZYO01RbkZBLFdBQVcsRUFBQTtJUm1GWDtNUS9FQSxXWHdFcUQsRUFBQTtFR09yRDtJUS9HRixXWHdHdUQ7SVd2R3ZELGdCQUFnQyxFQUFBO0lSOEc5QjtNUXZGQSxXQUFXLEVBQUE7SVJ1Rlg7TVFuRkEsV0FBVyxFQUFBO0lSbUZYO01RL0VBLFdYd0VxRCxFQUFBO0VHT3JEO0lRL0dGLFdYd0d1RDtJV3ZHdkQsZ0JBQWdDLEVBQUE7SVI4RzlCO01RdkZBLFdBQVcsRUFBQTtJUnVGWDtNUW5GQSxXQUFXLEVBQUE7SVJtRlg7TVEvRUEsV1h3RXFELEVBQUE7RUdPckQ7SVEvR0YsV1h3R3VEO0lXdkd2RCxZQUFnQyxFQUFBO0lSOEc5QjtNUXZGQSxXQUFXLEVBQUE7SVJ1Rlg7TVFuRkEsV0FBVyxFQUFBO0lSbUZYO01RL0VBLFdYd0VxRCxFQUFBO0VHYXZEO0lHckhBLGdCRDZFUztJQzVFVCxlRDRFUyxFQUFBO0VGd0NUO0lBSUksZUFBZTtJQUNmLGNBQWMsRUFBQTtFQUlsQjtJQUNFLGVBQWU7SUFDZixjQUFjLEVBQUE7RUFHaEI7SUduSUEsd0JBRnVDO0lBR3ZDLHVCQUh1QyxFQUFBO0VIMklyQztJT2pIRixrQkFBa0I7SUFDbEIsaUJBQWlCLEVBQUE7SUFMakI7TUFDRSxXQUFXO01BQ1gsV0FBVyxFQUFBO0VQK0hYO0lPakhKLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsY0FBYyxFQUFBO0lBekNaO01BQ0UsV1YwR3FEO01VekdyRCxXQUFXLEVBQUE7SUFLWDtNQUNFLFlWb0dvRCxFQUFBLEVVbkdyRDs7QVBzSkw7RUd0SEUsc0JEa0M0RCxFQUFBO0VDaEM1RDtJQUNFLGdCQUFnQixFQUFBO0VwQm9IZDtJaUJETjtNR3RIRSx1QkRrQzRELEVBQUE7TUNoQzVEO1FBQ0UsZ0JBQWdCLEVBQUEsRUFDakI7O0FNbUtIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFNBQVM7RUFDVCxVQUFVLEVBQUE7O0FBSVo7RUFDRSxtQlg3QzBCO0VXK0MxQixrQkFBa0I7RUFDbEIsZ0JYakRzQjtFV2tEdEIsa0NYaER5QyxFQUFBOztBV29EM0M7O0VBRUUsa0JBQWtCO0VBQ2xCLG9CQUFvQixFQUFBOztBQUl0Qjs7RUFFRSxpQlh4S3FCO0VXeUtyQixvQkFBb0IsRUFBQTs7QWJyTHRCO0VhMExFLGNYdkVpQjtFV3dFakIsb0JBQW9CLEVBQUE7O0FBSXRCOzs7Ozs7RUFNRSxzRlhySTBGO0VXc0kxRixrQlhuSXNCO0VXb0l0QixnQlhySW9CO0VXc0lwQixjWG5Ja0I7RVdvSWxCLGtDWHZGc0MsRUFBQTtFVzZFeEM7Ozs7OztJQWFJLGNBQWM7SUFDZCxjWHZOZSxFQUFBOztBV2dPYjtFQUlJLGlCUHJOb0Q7RU9pT3BELGdCWGhLVztFV3dLWCxhQUFhO0VBT2IscUJYOUtpQixFQUFBOztBVytJckI7RUFJSSxrQlByTm9EO0VPaU9wRCxnQlhoS1c7RVd3S1gsYUFBYTtFQU9iLHFCWDlLaUIsRUFBQTs7QVcrSXJCO0VBSUksb0JQck5vRDtFT2lPcEQsZ0JYaEtXO0VXd0tYLGFBQWE7RUFPYixxQlg5S2lCLEVBQUE7O0FXK0lyQjtFQUlJLG1CUHJOb0Q7RU9pT3BELGdCWGhLVztFV3dLWCxhQUFhO0VBT2IscUJYOUtpQixFQUFBOztBVytJckI7RUFJSSxvQlByTm9EO0VPaU9wRCxnQlhoS1c7RVd3S1gsYUFBYTtFQU9iLHFCWDlLaUIsRUFBQTs7QVcrSXJCO0VBSUksZVByTm9EO0VPaU9wRCxnQlhoS1c7RVd3S1gsYUFBYTtFQU9iLHFCWDlLaUIsRUFBQTs7QWZtQnJCO0UwQjRIQTtJQUlJLGVQck5vRCxFQUFBO0VPaU54RDtJQUlJLGVQck5vRCxFQUFBO0VPaU54RDtJQUlJLGtCUHJOb0QsRUFBQTtFT2lOeEQ7SUFJSSxvQlByTm9ELEVBQUE7RU9pTnhEO0lBSUksa0JQck5vRCxFQUFBO0VPaU54RDtJQUlJLGVQck5vRCxFQUFBLEVPa1B2RDs7QWJ0UlA7RWE2UkUsb0JBQW9CO0VBQ3BCLGNYalJjO0VXa1JkLHFCWHJJeUI7RVd1SXpCLGVBQWUsRUFBQTtFQUxqQjtJQVNJLGNYNUkyRCxFQUFBO0VXbUkvRDtJQWdCSSxTQUFTLEVBQUE7O0FiL1RiO0VhcVVFLFdBQVc7RUFFWCxrQlBoUjREO0VPaVI1RCxTQUFTO0VBQ1Qsb0JYeEp5QjtFVzBKekIsYUFBYTtFQUNiLGVBQWU7RUFDZixnQ1hyU2lCO0VXc1NqQixjQUFjLEVBQUE7O0FBSWhCOzs7RUFHRSxtQlg3SzBCO0VXOEsxQiw0QlhqS3lCO0VXa0t6QixnQlhoTHNCLEVBQUE7O0FXb0x4QjtFQUNFLGtCQUFrQixFQUFBOztBQUlwQjtFQUNFLG9CWDNLc0I7RVc0S3RCLHFCWDlLa0IsRUFBQTs7QVdrTHBCO0VBQ0Usb0JYakxzQixFQUFBOztBV3FMeEI7RUFFSSxvQlh0TDJCO0VXdUwzQixnQkFBZ0IsRUFBQTs7QUFLcEI7RUFDRSxtQlg1THlCLEVBQUE7RVcyTDNCO0lBSUkscUJYN0w4QjtJVzhMOUIsaUJYMVRtQixFQUFBOztBVytUdkI7RUFDRSxnQlh0TjBCO0VXdU4xQixzQ1B4VTREO0VPeVU1RCw4Qlh4VmlCLEVBQUE7RVdxVm5CO0lBTUksZ0JYNU5vQjtJVzZOcEIsY1gzVmEsRUFBQTs7QVd5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VixTQUFTLEVBQUE7RUFJWDs7SUFDSyx1QkFBdUIsRUFBQTtFQUc1QjtJQUNFLHVCQUF1QixFQUFBLEVBQ3hCOztBaEMrbkVMOztFaUNyb0VFLGNBQWM7RUFDZCw4QkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLFdBQVc7RUFDWCxpQkFMc0o7RUFNdEosZ0JYRzhEO0VXRjlELGVmeVppQztFZXZaakMseUJmZm1CO0VlZ0JuQixnQmZPZTtFZU5mLHlCZmRhO0VlZWIsc0RmaEJhO1VlZ0JiLDhDZmhCYTtFZWtCYixvQmZ5WXlCO0VleFl6QixlWE44RDtFV085RCxtQmZEMkI7RWVFM0IsZ0JmakNxQjtFZWtDckIsY2Z0QmE7RWV5QlgsMkVmK1k4RDtFZS9ZOUQsbUVmK1k4RDtFZS9ZOUQsMkRmK1k4RDtFZS9ZOUQsb0ZmK1k4RDtFZTFYOUQsd0JBQWdCO0tBQWhCLHFCQUFnQjtVQUFoQixnQkFBZ0IsRUFBQTtFakNnbkVsQjs7SWlDaG9FRSxhQUFhO0lBQ2IseUJmaENlO0llaUNmLHlCZi9CVztJZWdDWCxtQ2ZuQ2lCO1llbUNqQiwyQmZuQ2lCO0llc0NmLDJFZm9ZNEQ7SWVwWTVELG1FZm9ZNEQ7SWVwWTVELDJEZm9ZNEQ7SWVwWTVELG9GZm9ZNEQsRUFBQTs7QUZ2U2hFO0VpQjlFRSxlQUFlLEVBQUE7RUFEakI7SUFJSSxZQUFZLEVBQUE7O0FBSWhCOzs7RUFLSSx5QmZsRWM7RWVtRWQsbUJmdVc2QixFQUFBOztBbEIwd0RuQzs7RWlDMW1FSSx3QkFBZ0I7S0FBaEIscUJBQWdCO1VBQWhCLGdCQUFnQjtFQUNoQixnQmZuRGEsRUFBQTs7QWV1RGY7RUFDRSw4QkFBc0I7VUFBdEIsc0JBQXNCLEVBQUE7O0FBaUJ4QjtFQUNFLGNmakdpQixFQUFBOztBZWdHbkI7RUFDRSxjZmpHaUIsRUFBQTs7QWVnR25CO0VBQ0UsY2ZqR2lCLEVBQUE7O0FlZ0duQjtFQUNFLGNmakdpQixFQUFBOztBZWdHbkI7RUFDRSxjZmpHaUIsRUFBQTs7QWxCOHJFckI7OztFa0Nqd0VJLGdCWmtGNEQsRUFBQTs7QXRCb3JFaEU7O0Vr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TnpDLFVDbUlrRTtFQzlHbEUsV1QyRnlELEVBQUE7RWRxRG5EO0l5RG5FUjtNckMxRkksd0JBRnVDO01BR3ZDLHVCQUh1QyxFQUFBLEVxQzhGMUM7RWpDL0ZHO0lBQ0UsV1YwR3FEO0lVekdyRCxXQUFXLEVBQUE7RUFLWDtJQUNFLFlWb0dvRCxFQUFBOztBMkNaNUQ7RXJDN0ZJLHVCQUZ1QztFQUd2QyxzQkFIdUM7RUNOekMsZ0JDbUlrRTtFQzlHbEUsV1QyRnlELEVBQUE7RWRxRG5EO0l5RGhFUjtNckM3Rkksd0JBRnVDO01BR3ZDLHVCQUh1QyxFQUFBLEVxQ2lHMUM7RWpDbEdHO0lBQ0UsV1YwR3FEO0lVekdyRCxXQUFXLEVBQUE7RUFLWDtJQUNFLFlWb0dvRCxFQUFBOztBMkNUNUQ7RXJDaEdJLHVCQUZ1QztFQUd2QyxzQkFIdUM7RUNOekMsVUNtSWtFO0VDOUdsRSxXVDJGeUQsRUFBQTtFZHFEbkQ7SXlEN0RSO01yQ2hHSSx3QkFGdUM7TUFHdkMsdUJBSHVDLEVBQUEsRXFDb0cxQztFakNyR0c7SUFDRSxXVjBHcUQ7SVV6R3JELFdBQVcsRUFBQTtFQUtYO0lBQ0UsWVZvR29ELEVBQUE7O0EyQ041RDtFckNuR0ksdUJBRnVDO0VBR3ZDLHNCQUh1QztFQ056QyxVQ21Ja0U7RUM5R2xFLFdUMkZ5RCxFQUFBO0VkcURuRDtJeUQxRFI7TXJDbkdJLHdCQUZ1QztNQUd2Qyx1QkFIdUMsRUFBQSxFcUN1RzFDO0VqQ3hHRztJQUNFLFdWMEdxRDtJVXpHckQsV0FBVyxFQUFBO0VBS1g7SUFDRSxZVm9Hb0QsRUFBQTs7QTJDSDVEO0VyQ3RHSSx1QkFGdUM7RUFHdkMsc0JBSHVDO0VDTnpDLGdCQ21Ja0U7RUM5R2xFLFdUMkZ5RCxFQUFBO0VkcURuRDtJeUR2RFI7TXJDdEdJLHdCQUZ1QztNQUd2Qyx1QkFIdUMsRUFBQSxFcUMwRzFDO0VqQzNHRztJQUNFLFdWMEdxRDtJVXpHckQsV0FBVyxFQUFBO0VBS1g7SUFDRSxZVm9Hb0QsRUFBQTs7QTJDQTVEO0VyQ3pHSSx1QkFGdUM7RUFHdkMsc0JBSHVDO0VDTnpD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QUFBLEVBRWI7RUFFSDtJQWJGOztNQWNHLGVBQWUsRUFBQSxFQUVoQjtFQWhCRjs7SUFrQlEsbUJBQW1CO0lBQ25CLFdBQVcsRUFBQTs7QUFLbEI7RUFERDtJQUVLLG1CQUFtQixFQUFBLEVBRXZCOztBQUVEO0VBQ0ksVUFBVTtFQUNiLGdCQUFnQixFQUFBOztBQUdqQjtFQUNDO0lBQ0MsYUFBYSxFQUFBLEVBQ2I7O0FBSUY7RUFoMENBO0lBbzBDSSxzQkFBc0IsRUFBQTtFQUh6QjtJQVFHLHNCQUFzQixFQUFBO0VBUnpCO0lBWUUsWUFBWTtJQUNaLFVBQVUsRUFBQTtJQWJaO01BZUcsc0JBQXNCLEVBQUEsRUFDdEIiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXHRcblN0eWxlc2hlZXQ6IE1haW4gU3R5bGVzaGVldFxuXG5IZXJlJ3Mgd2hlcmUgdGhlIG1hZ2ljIGhhcHBlbnMuIEhlcmUgaXMgd2hlcmUgeW91IGltcG9ydFxuYWxsIG9mIHlvdXIgU2FzcyBmaWxlcyBzbyB0aGV5IGNhbiBjb21waWxlIGludG8gb25lXG5DU1MgZmlsZS4gXG5cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXNcbiAqIFZlcnNpb24gNi43LjVcbiAqIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmV2ZWFsLCAucmV2ZWFsLnRpbnksIC5yZXZlYWwuc21hbGwsIC5yZXZlYWwubGFyZ2Uge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG5cbi5mYWRlLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2xvdyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4uc2hha2Uge1xuICBhbmltYXRpb24tbmFtZTogc2hha2UtNzsgfVxuXG5Aa2V5ZnJhbWVzIHNoYWtlLTcge1xuICAwJSwgMTAlLCAyMCUsIDMwJSwgNDAlLCA1MCUsIDYwJSwgNzAlLCA4MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDclKTsgfVxuICA1JSwgMTUlLCAyNSUsIDM1JSwgNDUlLCA1NSUsIDY1JSwgNzUlLCA4NSUsIDk1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03JSk7IH0gfVxuXG4uc3Bpbi1jdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNwaW4tY2N3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY2N3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTsgfSB9XG5cbi53aWdnbGUge1xuICBhbmltYXRpb24tbmFtZTogd2lnZ2xlLTdkZWc7IH1cblxuQGtleWZyYW1lcyB3aWdnbGUtN2RlZyB7XG4gIDQwJSwgNTAlLCA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDdkZWcpOyB9XG4gIDM1JSwgNDUlLCA1NSUsIDY1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpOyB9XG4gIDAlLCAzMCUsIDcwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc2hha2UsXG4uc3Bpbi1jdyxcbi5zcGluLWNjdyxcbi53aWdnbGUge1xuICBhbmltYXRpb24tZHVyYXRpb246IDUwMG1zOyB9XG5cbi5pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbi5zbG93IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyB9XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgbWFyZ2luOiAwOyB9XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTsgfVxuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDsgfVxuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyB9XG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgZm9udDogaW5oZXJpdDsgfVxuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltkYXRhLXdoYXRpbnRlbnQ9XCJtb3VzZVwiXSAqLCBbZGF0YS13aGF0aW50ZW50PVwibW91c2VcIl0gKjpmb2N1cyxcbltkYXRhLXdoYXRpbnRlbnQ9XCJ0b3VjaFwiXSAqLFxuW2RhdGEtd2hhdGludGVudD1cInRvdWNoXCJdICo6Zm9jdXMsXG5bZGF0YS13aGF0aW5wdXQ9XCJtb3VzZVwiXSAqLFxuW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0gKjpmb2N1cyxcbltkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdICosXG5bZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSAqOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG5bZHJhZ2dhYmxlPWZhbHNlXSB7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDBlbSZsYXJnZT02NC4wNjI1ZW0meGxhcmdlPTc1ZW0meHhsYXJnZT05MC4wNjI1ZW0meHh4bGFyZ2U9MTIwZW1cIjsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgZm9udC1mYW1pbHk6IFwiU3dpdHplclwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5yb3cge1xuICBtYXgtd2lkdGg6IDg3LjVyZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnJvdzo6YmVmb3JlLCAucm93OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnJvdzo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5yb3cuY29sbGFwc2UgPiAuY29sdW1uLCAucm93LmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5yb3cgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MC4wNjI1ZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIC5yb3cgLnJvdy5jb2xsYXBzZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAucm93LmV4cGFuZGVkIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgICAucm93LmV4cGFuZGVkIC5yb3cge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnJvdzpub3QoLmV4cGFuZGVkKSAucm93IHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLnJvdy5ndXR0ZXItc21hbGwgPiAuY29sdW1uLCAucm93Lmd1dHRlci1zbWFsbCA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIC5yb3cuZ3V0dGVyLW1lZGl1bSA+IC5jb2x1bW4sIC5yb3cuZ3V0dGVyLW1lZGl1bSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH1cblxuLmNvbHVtbiwgLmNvbHVtbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbHVtbiwgLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuY29sdW1uLCAuY29sdW1ucywgLmNvbHVtbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAuY29sdW1uczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuY29sdW1uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5jb2x1bW5zOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuY29sdW1uLmVuZDpsYXN0LWNoaWxkOmxhc3QtY2hpbGQsIC5lbmQuY29sdW1uczpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5jb2x1bW4ucm93LnJvdywgLnJvdy5yb3cuY29sdW1ucyB7XG4gIGZsb2F0OiBub25lOyB9XG5cbi5yb3cgLmNvbHVtbi5yb3cucm93LCAucm93IC5yb3cucm93LmNvbHVtbnMge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0xNi42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC0zIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtcHVzaC0zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAyNSU7IH1cblxuLnNtYWxsLXB1bGwtMyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTI1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC00IHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC00IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtNCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTMzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC01IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtNSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTQxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC02IHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtcHVzaC02IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1MCU7IH1cblxuLnNtYWxsLXB1bGwtNiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTUwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC03IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtNyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTU4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC04IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtOCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTY2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTsgfVxuXG4uc21hbGwtcHVzaC05IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA3NSU7IH1cblxuLnNtYWxsLXB1bGwtOSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTc1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtMTAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC0xMCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTgzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5zbWFsbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtMTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC0xMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTkxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtdXAtMSA+IC5jb2x1bW4sIC5zbWFsbC11cC0xID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTIgPiAuY29sdW1uLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTMgPiAuY29sdW1uLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTQgPiAuY29sdW1uLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTUgPiAuY29sdW1uLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyMCU7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTYgPiAuY29sdW1uLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTcgPiAuY29sdW1uLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTggPiAuY29sdW1uLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMi41JTsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uc21hbGwtY29sbGFwc2UgLnJvdyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmV4cGFuZGVkLnJvdyAuc21hbGwtY29sbGFwc2Uucm93IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuXG4uc21hbGwtY2VudGVyZWQge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5zbWFsbC1jZW50ZXJlZCwgLnNtYWxsLWNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi5zbWFsbC11bmNlbnRlcmVkLCAuc21hbGwtcHVzaC0wLCAuc21hbGwtcHVsbC0wIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtdW5jZW50ZXJlZCwgLnNtYWxsLXVuY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLnNtYWxsLXB1c2gtMCwgLnNtYWxsLXB1c2gtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAuc21hbGwtcHVsbC0wLCAuc21hbGwtcHVsbC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11bmNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5zbWFsbC1wdXNoLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLnNtYWxsLXB1bGwtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tcHVzaC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMjUlOyB9XG4gIC5tZWRpdW0tcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTI1JTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0zMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tcHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlOyB9XG4gIC5tZWRpdW0tcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTsgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tcHVzaC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNzUlOyB9XG4gIC5tZWRpdW0tcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTc1JTsgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTIgPiAuY29sdW1uLCAubWVkaXVtLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAubWVkaXVtLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTMgPiAuY29sdW1uLCAubWVkaXVtLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAubWVkaXVtLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTQgPiAuY29sdW1uLCAubWVkaXVtLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTUgPiAuY29sdW1uLCAubWVkaXVtLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTYgPiAuY29sdW1uLCAubWVkaXVtLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAubWVkaXVtLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTcgPiAuY29sdW1uLCAubWVkaXVtLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTggPiAuY29sdW1uLCAubWVkaXVtLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5tZWRpdW0tY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5leHBhbmRlZC5yb3cgLm1lZGl1bS1jb2xsYXBzZS5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG4gIC5tZWRpdW0tY2VudGVyZWQge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIC5tZWRpdW0tY2VudGVyZWQsIC5tZWRpdW0tY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5tZWRpdW0tdW5jZW50ZXJlZCwgLm1lZGl1bS1wdXNoLTAsIC5tZWRpdW0tcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tdW5jZW50ZXJlZCwgLm1lZGl1bS11bmNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5tZWRpdW0tcHVzaC0wLCAubWVkaXVtLXB1c2gtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAubWVkaXVtLXB1bGwtMCwgLm1lZGl1bS1wdWxsLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11bmNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5tZWRpdW0tcHVzaC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5tZWRpdW0tcHVsbC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTI1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTMzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTU4LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAubGFyZ2UtcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTc1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTgzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC5sYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC0yID4gLmNvbHVtbiwgLmxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC5sYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY29sdW1uLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC01ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC5sYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY29sdW1uLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC04ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAubGFyZ2UtY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5leHBhbmRlZC5yb3cgLmxhcmdlLWNvbGxhcHNlLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG4gIC5sYXJnZS1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLmxhcmdlLWNlbnRlcmVkLCAubGFyZ2UtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sYXJnZS11bmNlbnRlcmVkLCAubGFyZ2UtcHVzaC0wLCAubGFyZ2UtcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS11bmNlbnRlcmVkLCAubGFyZ2UtdW5jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAubGFyZ2UtcHVzaC0wLCAubGFyZ2UtcHVzaC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5sYXJnZS1wdWxsLTAsIC5sYXJnZS1wdWxsLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVuY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLmxhcmdlLXB1c2gtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAubGFyZ2UtcHVsbC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLXB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTguMzMzMzMlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMTYuNjY2NjclOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7IH1cbiAgLnhsYXJnZS1wdWxsLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMjUlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtcHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLXB1bGwtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC00MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1wdXNoLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgLnhsYXJnZS1wdWxsLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTAlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtcHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLXB1bGwtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC02Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7IH1cbiAgLnhsYXJnZS1wdWxsLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNzUlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLXB1c2gtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC05MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS11cC0xID4gLmNvbHVtbiwgLnhsYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnhsYXJnZS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC54bGFyZ2UtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC54bGFyZ2UtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC54bGFyZ2UtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnhsYXJnZS11cC0xID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAueGxhcmdlLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC54bGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgLnhsYXJnZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC54bGFyZ2UtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC54bGFyZ2UtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC54bGFyZ2UtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnhsYXJnZS11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAueGxhcmdlLXVwLTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC54bGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnhsYXJnZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC54bGFyZ2UtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC54bGFyZ2UtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC54bGFyZ2UtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnhsYXJnZS11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAueGxhcmdlLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC54bGFyZ2UtdXAtNCA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgLnhsYXJnZS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC54bGFyZ2UtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC54bGFyZ2UtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC54bGFyZ2UtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnhsYXJnZS11cC00ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAueGxhcmdlLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC54bGFyZ2UtdXAtNSA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjAlOyB9XG4gICAgLnhsYXJnZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC54bGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC54bGFyZ2UtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC54bGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnhsYXJnZS11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAueGxhcmdlLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC54bGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnhsYXJnZS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC54bGFyZ2UtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC54bGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC54bGFyZ2UtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnhsYXJnZS11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAueGxhcmdlLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC54bGFyZ2UtdXAtNyA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgLnhsYXJnZS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC54bGFyZ2UtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC54bGFyZ2UtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC54bGFyZ2UtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnhsYXJnZS11cC03ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAueGxhcmdlLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC54bGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtOCA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgICAueGxhcmdlLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnhsYXJnZS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnhsYXJnZS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg4bisxKSwgLnhsYXJnZS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAueGxhcmdlLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQsIC54bGFyZ2UtdXAtOCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnhsYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC54bGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnhsYXJnZS1jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmV4cGFuZGVkLnJvdyAueGxhcmdlLWNvbGxhcHNlLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC54bGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC54bGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgLnhsYXJnZS1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLnhsYXJnZS1jZW50ZXJlZCwgLnhsYXJnZS1jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLnhsYXJnZS11bmNlbnRlcmVkLCAueGxhcmdlLXB1c2gtMCwgLnhsYXJnZS1wdWxsLTAge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnhsYXJnZS11bmNlbnRlcmVkLCAueGxhcmdlLXVuY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLnhsYXJnZS1wdXNoLTAsIC54bGFyZ2UtcHVzaC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC54bGFyZ2UtcHVsbC0wLCAueGxhcmdlLXB1bGwtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueGxhcmdlLXVuY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLnhsYXJnZS1wdXNoLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLnhsYXJnZS1wdWxsLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MC4wNjI1ZW0pIHtcbiAgLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLXB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLXB1bGwtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04LjMzMzMzJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAueHhsYXJnZS1wdWxsLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMjUlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtcHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0zMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAueHhsYXJnZS1wdWxsLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTAlOyB9XG4gIC54eGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtcHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1wdXNoLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54eGxhcmdlLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAueHhsYXJnZS1wdWxsLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNzUlOyB9XG4gIC54eGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLXB1c2gtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtcHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS11cC0xID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC54eGxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnh4bGFyZ2UtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC54eGxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAueHhsYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAueHhsYXJnZS11cC0xID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAueHhsYXJnZS11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAueHhsYXJnZS11cC0yID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgLnh4bGFyZ2UtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAueHhsYXJnZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnh4bGFyZ2UtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC54eGxhcmdlLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC54eGxhcmdlLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC54eGxhcmdlLXVwLTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC54eGxhcmdlLXVwLTMgPiAuY29sdW1uLCAueHhsYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAueHhsYXJnZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC54eGxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueHhsYXJnZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLnh4bGFyZ2UtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnh4bGFyZ2UtdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnh4bGFyZ2UtdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnh4bGFyZ2UtdXAtNCA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAgIC54eGxhcmdlLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnh4bGFyZ2UtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC54eGxhcmdlLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAueHhsYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAueHhsYXJnZS11cC00ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAueHhsYXJnZS11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAueHhsYXJnZS11cC01ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjAlOyB9XG4gICAgLnh4bGFyZ2UtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAueHhsYXJnZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnh4bGFyZ2UtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC54eGxhcmdlLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC54eGxhcmdlLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC54eGxhcmdlLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC54eGxhcmdlLXVwLTYgPiAuY29sdW1uLCAueHhsYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAueHhsYXJnZS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC54eGxhcmdlLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueHhsYXJnZS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLnh4bGFyZ2UtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnh4bGFyZ2UtdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnh4bGFyZ2UtdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnh4bGFyZ2UtdXAtNyA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAgIC54eGxhcmdlLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnh4bGFyZ2UtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC54eGxhcmdlLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAueHhsYXJnZS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAueHhsYXJnZS11cC03ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAueHhsYXJnZS11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAueHhsYXJnZS11cC04ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtOCA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgICAueHhsYXJnZS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC54eGxhcmdlLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueHhsYXJnZS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg4bisxKSwgLnh4bGFyZ2UtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnh4bGFyZ2UtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnh4bGFyZ2UtdXAtOCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnh4bGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAueHhsYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAueHhsYXJnZS1jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmV4cGFuZGVkLnJvdyAueHhsYXJnZS1jb2xsYXBzZS5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAueHhsYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnh4bGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgLnh4bGFyZ2UtY2VudGVyZWQge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIC54eGxhcmdlLWNlbnRlcmVkLCAueHhsYXJnZS1jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLnh4bGFyZ2UtdW5jZW50ZXJlZCwgLnh4bGFyZ2UtcHVzaC0wLCAueHhsYXJnZS1wdWxsLTAge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnh4bGFyZ2UtdW5jZW50ZXJlZCwgLnh4bGFyZ2UtdW5jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAueHhsYXJnZS1wdXNoLTAsIC54eGxhcmdlLXB1c2gtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAueHhsYXJnZS1wdWxsLTAsIC54eGxhcmdlLXB1bGwtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueHhsYXJnZS11bmNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC54eGxhcmdlLXB1c2gtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAueHhsYXJnZS1wdWxsLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4uY29sdW1uLWJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuY29sdW1uLWJsb2NrID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29sdW1uLWJsb2NrIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgICAuY29sdW1uLWJsb2NrID4gOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS42O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMsXG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBmb250LWZhbWlseTogXCJkaW4tMjAxNC1uYXJyb3dcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cbiAgaDEgc21hbGwsIC5oMSBzbWFsbCxcbiAgaDIgc21hbGwsIC5oMiBzbWFsbCxcbiAgaDMgc21hbGwsIC5oMyBzbWFsbCxcbiAgaDQgc21hbGwsIC5oNCBzbWFsbCxcbiAgaDUgc21hbGwsIC5oNSBzbWFsbCxcbiAgaDYgc21hbGwsIC5oNiBzbWFsbCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgY29sb3I6ICNjYWNhY2E7IH1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgzLCAuaDMge1xuICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg0LCAuaDQge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDUsIC5oNSB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDYsIC5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogM3JlbTsgfVxuICBoMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDRyZW07IH1cbiAgaDMsIC5oMyB7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtOyB9XG4gIGg0LCAuaDQge1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtOyB9XG4gIGg1LCAuaDUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBoNiwgLmg2IHtcbiAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG5hIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjZDIyNTMzO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogI2I1MjAyYzsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1heC13aWR0aDogODcuNXJlbTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzhhOGE4YTsgfVxuXG5hYmJyLCBhYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzAwMDAwMDtcbiAgY3Vyc29yOiBoZWxwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzhhOGE4YTsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbnVsLm5vLWJ1bGxldCwgb2wubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuY2l0ZSwgLmNpdGUtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICM4YThhOGE7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIGNpdGU6YmVmb3JlLCAuY2l0ZS1ibG9jazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oCUIFwiOyB9XG5cbmNvZGUsIC5jb2RlLWlubGluZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTsgfVxuXG4uY29kZS1ibG9jayB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICBwYWRkaW5nOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC54bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC54bGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAuMDYyNWVtKSB7XG4gIC54eGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAueHhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAueHhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC54eGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIHByaW50LWNvbG9yLWFkanVzdDogZWNvbm9teTtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gIGFbaHJlZl49JyMnXTphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvOyB9IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGV4dGFyZWFbcm93c10ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2NhY2FjYTsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCwgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24sIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbi5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbi5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZmxleDogMSAxIDBweDtcbiAgbWluLXdpZHRoOiAwOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAuMTg3NXJlbTsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAzMiAyNFwiPjxwb2x5Z29uIHBvaW50cz1cIjAsMCAzMiwwIDE2LDI0XCIgc3R5bGU9XCJmaWxsOiByZ2IlMjgxMzgsIDEzOCwgMTM4JTI5XCI+PC9wb2x5Z29uPjwvc3ZnPicpO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuICBzZWxlY3Q6bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI2NjNGIzNztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZWRlYjsgfVxuICAuaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2NjNGIzNzsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnV0dG9uLnRpbnkge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24uc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLmxhcmdlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5idXR0b24sIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkMjI1MzM7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2IzMWYyYjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLnByaW1hcnksIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkMjI1MzM7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhODFlMjk7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnksIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU1ZTVlO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24uc3VjY2VzcywgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLndhcm5pbmcsIC5idXR0b24ud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi5hbGVydCwgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTUzYjJhO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24ubmVybywgLmJ1dHRvbi5uZXJvLmRpc2FibGVkLCAuYnV0dG9uLm5lcm9bZGlzYWJsZWRdLCAuYnV0dG9uLm5lcm8uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24ubmVyb1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24ubmVyby5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5uZXJvW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzEyMTIxMjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLm5lcm86aG92ZXIsIC5idXR0b24ubmVybzpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBlMGUwZTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2QyMjUzMztcbiAgICBjb2xvcjogI2QyMjUzMzsgfVxuICAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzY5MTMxYTtcbiAgICBjb2xvcjogIzY5MTMxYTsgfVxuICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDIyNTMzO1xuICAgIGNvbG9yOiAjZDIyNTMzOyB9XG4gIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzY5MTMxYTtcbiAgICBjb2xvcjogIzY5MTMxYTsgfVxuICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnksIC5idXR0b24uaG9sbG93LnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzNiM2IzYjtcbiAgICBjb2xvcjogIzNiM2IzYjsgfVxuICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93Lndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAuYnV0dG9uLmhvbGxvdy5hbGVydCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzY3MjUxYTtcbiAgICBjb2xvcjogIzY3MjUxYTsgfVxuICAuYnV0dG9uLmhvbGxvdy5uZXJvLCAuYnV0dG9uLmhvbGxvdy5uZXJvLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5uZXJvW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cubmVyby5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cubmVyb1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93Lm5lcm8uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93Lm5lcm9bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMTIxMjEyO1xuICAgIGNvbG9yOiAjMTIxMjEyOyB9XG4gIC5idXR0b24uaG9sbG93Lm5lcm86aG92ZXIsIC5idXR0b24uaG9sbG93Lm5lcm86Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzA5MDkwOTtcbiAgICBjb2xvcjogIzA5MDkwOTsgfVxuICAuYnV0dG9uLmNsZWFyLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjZDIyNTMzOyB9XG4gIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMge1xuICAgIGNvbG9yOiAjNjkxMzFhOyB9XG4gIC5idXR0b24uY2xlYXIucHJpbWFyeSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNkMjI1MzM7IH1cbiAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMge1xuICAgIGNvbG9yOiAjNjkxMzFhOyB9XG4gIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMge1xuICAgIGNvbG9yOiAjM2IzYjNiOyB9XG4gIC5idXR0b24uY2xlYXIuc3VjY2VzcywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMge1xuICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gIC5idXR0b24uY2xlYXIud2FybmluZywgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMge1xuICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gIC5idXR0b24uY2xlYXIuYWxlcnQsIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMge1xuICAgIGNvbG9yOiAjNjcyNTFhOyB9XG4gIC5idXR0b24uY2xlYXIubmVybywgLmJ1dHRvbi5jbGVhci5uZXJvLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLm5lcm9bZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLm5lcm8uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIubmVyb1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIubmVyby5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci5uZXJvW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMxMjEyMTI7IH1cbiAgLmJ1dHRvbi5jbGVhci5uZXJvOmhvdmVyLCAuYnV0dG9uLmNsZWFyLm5lcm86Zm9jdXMge1xuICAgIGNvbG9yOiAjMDkwOTA5OyB9XG4gIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMC40ZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6ICNmZmZmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMWVtOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhcjo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNkMjI1MzM7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cucHJpbWFyeTo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIucHJpbWFyeTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNkMjI1MzM7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5zZWNvbmRhcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjNzY3Njc2OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3M6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnN1Y2Nlc3M6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjM2FkYjc2OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93Lndhcm5pbmc6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLndhcm5pbmc6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LmFsZXJ0OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5hbGVydDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cubmVybzo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIubmVybzo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMxMjEyMTI7IH1cbiAgLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgdG9wOiAtMC4xZW07XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuYS5idXR0b246aG92ZXIsIGEuYnV0dG9uOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5hY2NvcmRpb25bZGlzYWJsZWRdIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogI2QyMjUzMzsgfVxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cbiAgLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICBjb250ZW50OiBcIitcIjsgfVxuICAuaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKAk1wiOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2OyB9XG5cbi5hY2NvcmRpb24tbWVudSBsaSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5hY2NvcmRpb24tbWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogI2QyMjUzMyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogMXJlbTtcbiAgbGVmdDogYXV0bzsgfVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICBtYXJnaW4tcmlnaHQ6IDQwcHg7IH1cblxuLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnN1Ym1lbnUtdG9nZ2xlOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6ICNkMjI1MzMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IGF1dG87IH1cblxuLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7IH1cblxuLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG5cbi5icmVhZGNydW1icyB7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuYnJlYWRjcnVtYnM6OmJlZm9yZSwgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJyZWFkY3J1bWJzIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDAgMC43NXJlbTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgIGNvbG9yOiAjY2FjYWNhOyB9XG4gIC5icmVhZGNydW1icyBhIHtcbiAgICBjb2xvcjogI2QyMjUzMzsgfVxuICAgIC5icmVhZGNydW1icyBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5icmVhZGNydW1icyAuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjY2FjYWNhO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmJ1dHRvbi1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGZsZXgtZ3JvdzogMTsgfVxuICAuYnV0dG9uLWdyb3VwOjpiZWZvcmUsIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuYnV0dG9uLWdyb3VwIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ1dHRvbi1ncm91cC50aW55IC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuc21hbGwgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAubGFyZ2UgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QyMjUzMztcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhODFlMjk7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU1ZTVlO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTUzYjJhO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAubmVybyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLm5lcm8gLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5uZXJvIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLm5lcm8gLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5uZXJvIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLm5lcm8gLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5uZXJvIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTIxMjEyO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24tZ3JvdXAubmVybyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLm5lcm8gLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBlMGUwZTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDIyNTMzO1xuICAgIGNvbG9yOiAjZDIyNTMzOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b246Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzY5MTMxYTtcbiAgICBjb2xvcjogIzY5MTMxYTsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2QyMjUzMztcbiAgICBjb2xvcjogI2QyMjUzMzsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzY5MTMxYTtcbiAgICBjb2xvcjogIzY5MTMxYTsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnksIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzNiM2IzYjtcbiAgICBjb2xvcjogIzNiM2IzYjsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2VzcywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0LCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzY3MjUxYTtcbiAgICBjb2xvcjogIzY3MjUxYTsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5uZXJvIC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93Lm5lcm8gLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cubmVybyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cubmVybyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5uZXJvIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5uZXJvIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93Lm5lcm8gLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ubmVybywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5uZXJvLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLm5lcm9bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLm5lcm8uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ubmVyb1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ubmVyby5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5uZXJvW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzEyMTIxMjtcbiAgICBjb2xvcjogIzEyMTIxMjsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5uZXJvIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93Lm5lcm8gLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5uZXJvOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLm5lcm86Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzA5MDkwOTtcbiAgICBjb2xvcjogIzA5MDkwOTsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNkMjI1MzM7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b246Zm9jdXMge1xuICAgIGNvbG9yOiAjNjkxMzFhOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNkMjI1MzM7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgIGNvbG9yOiAjNjkxMzFhOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnksIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgIGNvbG9yOiAjM2IzYjNiOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2VzcywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0LCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnQuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgIGNvbG9yOiAjNjcyNTFhOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIubmVybyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLm5lcm8gLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5uZXJvIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLm5lcm8gLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5uZXJvIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLm5lcm8gLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5uZXJvIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ubmVybywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLm5lcm8uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5uZXJvW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLm5lcm8uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5uZXJvW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLm5lcm8uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5uZXJvW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMxMjEyMTI7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5uZXJvIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIubmVybyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ubmVybzpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLm5lcm86Zm9jdXMge1xuICAgIGNvbG9yOiAjMDkwOTA5OyB9XG4gIC5idXR0b24tZ3JvdXAubm8tZ2FwcyAuYnV0dG9uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjA2MjVyZW07IH1cbiAgICAuYnV0dG9uLWdyb3VwLm5vLWdhcHMgLmJ1dHRvbiArIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgICAgZmxleDogMCAwIDEwMCU7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NC4wNjEyNWVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLmNsb3NlLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIGNvbG9yOiAjOGE4YThhO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jbG9zZS1idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmNsb3NlLWJ1dHRvbi5zbWFsbCB7XG4gICAgcmlnaHQ6IDAuNjZyZW07XG4gICAgdG9wOiAwLjMzZW07XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuY2xvc2UtYnV0dG9uLCAuY2xvc2UtYnV0dG9uLm1lZGl1bSB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgdG9wOiAwLjVyZW07XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuICAucmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGlhLW9iamVjdCBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLm1haW4tc2VjdGlvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuXG4uaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDExO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZSwgdmlzaWJpbGl0eSAwLjVzIGVhc2U7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLXZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLWNsb3NhYmxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub2ZmLWNhbnZhcyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAxMjsgfVxuICAub2ZmLWNhbnZhcy5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6IDEzOyB9XG4gICAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjcpOyB9XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTM7IH1cbiAgICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuNyk7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLnBvc2l0aW9uLWxlZnQge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB3aWR0aDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWxlZnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IC0xM3B4IDAgMjBweCAtMTNweCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1yaWdodCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB3aWR0aDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXJpZ2h0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDEzcHggMCAyMHB4IC0xM3B4IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cblxuLnBvc2l0aW9uLXRvcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3Age1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXRvcC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xM3B4IDIwcHggLTEzcHggcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWJvdHRvbS5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxM3B4IDIwcHggLTEzcHggcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1vdmVybGFwLCAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwLjA2MjVlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MC4wNjI1ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjA2MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGFnaW5hdGlvbiBsaTpsYXN0LWNoaWxkLCAucGFnaW5hdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2luYXRpb24gbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAucGFnaW5hdGlvbiBhLFxuICAucGFnaW5hdGlvbiBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLnBhZ2luYXRpb24gYTpob3ZlcixcbiAgICAucGFnaW5hdGlvbiBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICAucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNkMjI1MzM7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5wYWdpbmF0aW9uIC5kaXNhYmxlZCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjY2FjYWNhO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAucGFnaW5hdGlvbiAuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLnBhZ2luYXRpb24gLmVsbGlwc2lzOjphZnRlciB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbi5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBjb250ZW50OiBcIsKrXCI7IH1cblxuLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbi5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBjb250ZW50OiBcIsK7XCI7IH1cblxuLnN0aWNreS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnN0aWNreSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uc3RpY2t5LmlzLXN0dWNrIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA1O1xuICB3aWR0aDogMTAwJTsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LXRvcCB7XG4gICAgdG9wOiAwOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IGF1dG87IH1cbiAgLnN0aWNreS5pcy1hbmNob3JlZC5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG5odG1sLmlzLXJldmVhbC1vcGVuIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4uemYtaGFzLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwNTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbi5yZXZlYWwge1xuICB6LWluZGV4OiAxMDA2O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAucmV2ZWFsIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICBtaW4taGVpZ2h0OiAwOyB9IH1cbiAgLnJldmVhbCAuY29sdW1uLCAucmV2ZWFsIC5jb2x1bW5zIHtcbiAgICBtaW4td2lkdGg6IDA7IH1cbiAgLnJldmVhbCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDg3LjVyZW07IH0gfVxuICAucmV2ZWFsLmNvbGxhcHNlIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC50aW55IHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBtYXgtd2lkdGg6IDg3LjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwuc21hbGwge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1heC13aWR0aDogODcuNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5sYXJnZSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWF4LXdpZHRoOiA4Ny41cmVtOyB9IH1cbiAgLnJldmVhbC5mdWxsIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuICAucmV2ZWFsLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2YyZjJmMjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICB0aGVhZCB0cixcbiAgdGZvb3QgdHIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIHRoZWFkIHRoLFxuICB0aGVhZCB0ZCxcbiAgdGZvb3QgdGgsXG4gIHRmb290IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0Ym9keSB0aCxcbiAgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuICB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjsgfVxuICB0YWJsZS51bnN0cmlwZWQgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICB0YWJsZS51bnN0cmlwZWQgdGJvZHkgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMmYyZjI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NC4wNjEyNWVtKSB7XG4gIHRhYmxlLnN0YWNrIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRyLFxuICB0YWJsZS5zdGFjayB0aCxcbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBib3JkZXItdG9wOiAwOyB9IH1cblxudGFibGUuc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbnRhYmxlLmhvdmVyIHRoZWFkIHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDsgfVxuXG50YWJsZS5ob3ZlciB0Zm9vdCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7IH1cblxudGFibGUuaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhOyB9XG5cbnRhYmxlLmhvdmVyOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7IH1cblxuLnRhYmxlLXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxuLnRhYnMge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAudGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC50YWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnRhYnMudmVydGljYWwgPiBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMuc2ltcGxlID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMDsgfVxuICAudGFicy5zaW1wbGUgPiBsaSA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi50YWJzLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjZDIyNTMzOyB9XG4gIC50YWJzLnByaW1hcnkgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjYzgyMzMwOyB9XG5cbi50YWJzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnRhYnMtdGl0bGUgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICNkMjI1MzM7IH1cbiAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnRhYnMtdGl0bGUgPiBhIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAudGFicy10aXRsZSA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgIGNvbG9yOiAjYjUyMDJjOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmZvY3VzLCAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gICAgICBjb2xvcjogI2QyMjUzMzsgfVxuXG4udGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7IH1cblxuLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi50YWJzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTsgfVxuICAudGFicy1wYW5lbC5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi50b3AtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC41cmVtO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnRvcC1iYXIsXG4gIC50b3AtYmFyIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG4gIC50b3AtYmFyIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAudG9wLWJhciAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAudG9wLWJhciBpbnB1dC5idXR0b24ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC50b3AtYmFyIC50b3AtYmFyLWxlZnQsXG4gIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudG9wLWJhciB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0LjA2MTI1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItbGVmdCxcbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTk4NzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MC4wNjEyNWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteGxhcmdlIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteGxhcmdlIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci14bGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOS45OTg3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXh4bGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXh4bGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuLnRvcC1iYXItdGl0bGUge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWFyZ2luOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDsgfVxuXG4udG9wLWJhci1sZWZ0LFxuLnRvcC1iYXItcmlnaHQge1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjQuMDYxMjVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NC4wNjEyNWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkgYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0LjA2MTI1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmhpZGUtZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTk4NzVlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1heC13aWR0aDogOTAuMDYxMjVlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwLjA2MjVlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwLjA2MjVlbSkge1xuICAuaGlkZS1mb3IteHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAuMDYxMjVlbSkge1xuICAuc2hvdy1mb3IteHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAuMDYyNWVtKSBhbmQgKG1heC13aWR0aDogMTE5Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAuMDYxMjVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLnNob3ctZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDsgfVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLWRhcmstbW9kZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmhpZGUtZm9yLWRhcmstbW9kZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAuc2hvdy1mb3ItZGFyay1tb2RlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1kYXJrLW1vZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1pZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgLnNob3ctZm9yLWllIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1pZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXN0aWNreSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmlzLXN0dWNrIC5zaG93LWZvci1zdGlja3kge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uaXMtc3R1Y2sgLmhpZGUtZm9yLXN0aWNreSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4uY2xlYXJmaXg6OmJlZm9yZSwgLmNsZWFyZml4OjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxOyB9XG5cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4vKiBpbnRlci0xMDAgLSBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgLyogQ2hlY2sgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL0Bmb250LWZhY2UvZm9udC1kaXNwbGF5IGZvciBvdGhlciBvcHRpb25zLiAqL1xuICBmb250LWZhbWlseTogXCJJbnRlclwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvaW50ZXItdjEyLWxhdGluLTEwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgLyogQ2hyb21lIDM2KywgT3BlcmEgMjMrLCBGaXJlZm94IDM5KywgU2FmYXJpIDEyKywgaU9TIDEwKyAqLyB9XG5cbi8qIGludGVyLTIwMCAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAvKiBDaGVjayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvQGZvbnQtZmFjZS9mb250LWRpc3BsYXkgZm9yIG90aGVyIG9wdGlvbnMuICovXG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9pbnRlci12MTItbGF0aW4tMjAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xuICAvKiBDaHJvbWUgMzYrLCBPcGVyYSAyMyssIEZpcmVmb3ggMzkrLCBTYWZhcmkgMTIrLCBpT1MgMTArICovIH1cblxuLyogaW50ZXItMzAwIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIC8qIENoZWNrIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9AZm9udC1mYWNlL2ZvbnQtZGlzcGxheSBmb3Igb3RoZXIgb3B0aW9ucy4gKi9cbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMzAwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2ludGVyLXYxMi1sYXRpbi0zMDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG4gIC8qIENocm9tZSAzNissIE9wZXJhIDIzKywgRmlyZWZveCAzOSssIFNhZmFyaSAxMissIGlPUyAxMCsgKi8gfVxuXG4vKiBpbnRlci1yZWd1bGFyIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIC8qIENoZWNrIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9AZm9udC1mYWNlL2ZvbnQtZGlzcGxheSBmb3Igb3RoZXIgb3B0aW9ucy4gKi9cbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2ludGVyLXYxMi1sYXRpbi1yZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xuICAvKiBDaHJvbWUgMzYrLCBPcGVyYSAyMyssIEZpcmVmb3ggMzkrLCBTYWZhcmkgMTIrLCBpT1MgMTArICovIH1cblxuLyogaW50ZXItNTAwIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIC8qIENoZWNrIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9AZm9udC1mYWNlL2ZvbnQtZGlzcGxheSBmb3Igb3RoZXIgb3B0aW9ucy4gKi9cbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2ludGVyLXYxMi1sYXRpbi01MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG4gIC8qIENocm9tZSAzNissIE9wZXJhIDIzKywgRmlyZWZveCAzOSssIFNhZmFyaSAxMissIGlPUyAxMCsgKi8gfVxuXG4vKiBpbnRlci02MDAgLSBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgLyogQ2hlY2sgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL0Bmb250LWZhY2UvZm9udC1kaXNwbGF5IGZvciBvdGhlciBvcHRpb25zLiAqL1xuICBmb250LWZhbWlseTogXCJJbnRlclwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvaW50ZXItdjEyLWxhdGluLTYwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgLyogQ2hyb21lIDM2KywgT3BlcmEgMjMrLCBGaXJlZm94IDM5KywgU2FmYXJpIDEyKywgaU9TIDEwKyAqLyB9XG5cbi8qIGludGVyLTcwMCAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAvKiBDaGVjayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvQGZvbnQtZmFjZS9mb250LWRpc3BsYXkgZm9yIG90aGVyIG9wdGlvbnMuICovXG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9pbnRlci12MTItbGF0aW4tNzAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xuICAvKiBDaHJvbWUgMzYrLCBPcGVyYSAyMyssIEZpcmVmb3ggMzkrLCBTYWZhcmkgMTIrLCBpT1MgMTArICovIH1cblxuLyogaW50ZXItODAwIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIC8qIENoZWNrIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9AZm9udC1mYWNlL2ZvbnQtZGlzcGxheSBmb3Igb3RoZXIgb3B0aW9ucy4gKi9cbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogODAwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2ludGVyLXYxMi1sYXRpbi04MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG4gIC8qIENocm9tZSAzNissIE9wZXJhIDIzKywgRmlyZWZveCAzOSssIFNhZmFyaSAxMissIGlPUyAxMCsgKi8gfVxuXG4vKiBpbnRlci05MDAgLSBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgLyogQ2hlY2sgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL0Bmb250LWZhY2UvZm9udC1kaXNwbGF5IGZvciBvdGhlciBvcHRpb25zLiAqL1xuICBmb250LWZhbWlseTogXCJJbnRlclwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvaW50ZXItdjEyLWxhdGluLTkwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgLyogQ2hyb21lIDM2KywgT3BlcmEgMjMrLCBGaXJlZm94IDM5KywgU2FmYXJpIDEyKywgaU9TIDEwKyAqLyB9XG5cbi8qIFNlbnRpZW50IC0gUmVndWxhciAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGllbnRcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL1NlbnRpZW50LVJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7IH1cblxuLyogU2VudGllbnQgLSBNZWRpdW0gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpZW50XCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9TZW50aWVudC1NZWRpdW0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7IH1cblxuLyogU2VudGllbnQgLSBCb2xkICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJTZW50aWVudFwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvU2VudGllbnQtQm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTsgfVxuXG4vKiBTZW50aWVudCAtIEl0YWxpYyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGllbnRcIjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL1NlbnRpZW50LUl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTsgfVxuXG4vKiBTZW50aWVudCAtIE1lZGl1bSBJdGFsaWMgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpZW50XCI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9TZW50aWVudC1NZWRpdW1JdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7IH1cblxuLyogU3dpdHplciAtIFJlZ3VsYXIgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIlN3aXR6ZXJcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL1N3aXR6ZXItUmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTsgfVxuXG4vKiBTd2l0emVyIC0gU2VtaWJvbGQgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIlN3aXR6ZXJcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL1N3aXR6ZXItU2VtaWJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7IH1cblxuLyogU3dpdHplciAtIEJvbGQgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIlN3aXR6ZXJcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL1N3aXR6ZXItQm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTsgfVxuXG4vKiBTd2l0emVyIC0gQm9sZCBpdGFsaWMgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIlN3aXR6ZXJcIjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL1N3aXR6ZXItQm9sZEl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTsgfVxuXG4vKiBTd2l0emVyIC0gU2VtaWJvbGQgaXRhbGljICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJTd2l0emVyXCI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9Td2l0emVyLVNlbWlib2xkSXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpOyB9XG5cbi8qIFN3aXR6ZXIgLSBFeHRyYWJvbGQgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIlN3aXR6ZXJcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogODAwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL1N3aXR6ZXItRXh0cmFib2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpOyB9XG5cbi8qIFN3aXR6ZXIgLSBCbGFjayAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiU3dpdHplclwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvU3dpdHplci1CbGFjay53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTsgfVxuXG4uZl9kaW4ge1xuICBmb250LWZhbWlseTogXCJkaW4tMjAxNC1uYXJyb3dcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmZfaW50ZXIge1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG4udHR1IHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cblN0eWxlc2hlZXQ6IEdsb2JhbCBTdHlsZXNoZWV0XG5cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ucm93LmV4dCB7XG4gIG1heC13aWR0aDogMTIwcmVtOyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKipcblBPU1RTICYgQ09OVEVOVCBTVFlMRVNcbioqKioqKioqKioqKioqKioqKioqKi9cbi5wYWdlLXRpdGxlIC52Y2FyZCB7XG4gIGJvcmRlcjogMHB4O1xuICBwYWRkaW5nOiAwcHg7IH1cblxuLmJ5bGluZSB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi5lbnRyeS1jb250ZW50IGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5lbnRyeS1jb250ZW50IC5pbWdTaW5pc3RyYUZsb2F0LFxuLmVudHJ5LWNvbnRlbnQgLmFsaWdubGVmdCxcbi5lbnRyeS1jb250ZW50IGltZy5hbGlnbmxlZnQge1xuICBtYXJnaW4tcmlnaHQ6IDEuNWVtO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5lbnRyeS1jb250ZW50IC5pbWdEZXN0cmFGbG9hdCxcbi5lbnRyeS1jb250ZW50IC5hbGlnbnJpZ2h0LFxuLmVudHJ5LWNvbnRlbnQgaW1nLmFsaWducmlnaHQge1xuICBtYXJnaW4tbGVmdDogMS41ZW07XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5lbnRyeS1jb250ZW50IC5hbGlnbmNlbnRlcixcbi5lbnRyeS1jb250ZW50IGltZy5hbGlnbmNlbnRlciB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDsgfVxuXG4uZW50cnktY29udGVudCB2aWRlbyxcbi5lbnRyeS1jb250ZW50IG9iamVjdCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5lbnRyeS1jb250ZW50IHByZSB7XG4gIGJhY2tncm91bmQ6ICNlZWU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjZWNlY2U7XG4gIHBhZGRpbmc6IDEwcHg7IH1cblxuLndwLWNhcHRpb24ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNlZWU7XG4gIHBhZGRpbmc6IDVweDsgfVxuICAud3AtY2FwdGlvbiBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC53cC1jYXB0aW9uIHAud3AtY2FwdGlvbi10ZXh0IHtcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICBtYXJnaW46IDRweCAwIDdweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnBvc3QtcGFzc3dvcmQtZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnBvc3QtcGFzc3dvcmQtZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5wb3N0LXBhc3N3b3JkLWZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLnBvc3QtcGFzc3dvcmQtZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLmRpc2FibGVkLCAucG9zdC1wYXNzd29yZC1mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl1bZGlzYWJsZWRdLCAucG9zdC1wYXNzd29yZC1mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uZGlzYWJsZWQ6aG92ZXIsIC5wb3N0LXBhc3N3b3JkLWZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXVtkaXNhYmxlZF06aG92ZXIsIC5wb3N0LXBhc3N3b3JkLWZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5kaXNhYmxlZDpmb2N1cywgLnBvc3QtcGFzc3dvcmQtZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QyMjUzMztcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAucG9zdC1wYXNzd29yZC1mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5wb3N0LXBhc3N3b3JkLWZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2IzMWYyYjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqXG5JTUFHRSBHQUxMRVJZIFNUWUxFU1xuKioqKioqKioqKioqKioqKioqKioqL1xuLmdhbGxlcnkge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDsgfVxuXG4uZ2FsbGVyeTo6YmVmb3JlLFxuLmdhbGxlcnk6OmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5nYWxsZXJ5OjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy0xID4gZGwge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTEgPiBkbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy0xID4gZGwsIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy0xID4gZGw6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTEgPiBkbDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTIgPiBkbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICB3aWR0aDogNTAlO1xuICBmbG9hdDogbGVmdDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy0yID4gZGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMiA+IGRsLCAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMiA+IGRsOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy0yID4gZGw6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy0zID4gZGwge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMyA+IGRsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTMgPiBkbCwgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTMgPiBkbDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMyA+IGRsOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNCA+IGRsIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHdpZHRoOiAyNSU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTQgPiBkbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy00ID4gZGwsIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy00ID4gZGw6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTQgPiBkbDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTUgPiBkbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICB3aWR0aDogMjAlO1xuICBmbG9hdDogbGVmdDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy01ID4gZGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNSA+IGRsLCAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNSA+IGRsOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy01ID4gZGw6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy02ID4gZGwge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNiA+IGRsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTYgPiBkbCwgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTYgPiBkbDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNiA+IGRsOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNyA+IGRsIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHdpZHRoOiAxNC4yODU3MSU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTcgPiBkbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy03ID4gZGwsIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy03ID4gZGw6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTcgPiBkbDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTggPiBkbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICB3aWR0aDogMTIuNSU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTggPiBkbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy04ID4gZGwsIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy04ID4gZGw6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTggPiBkbDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLmdhbGxlcnkgZGwge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH1cblxuLmdhbGxlcnkgZGw6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqXG5QQUdFIE5BVkkgU1RZTEVTXG4qKioqKioqKioqKioqKioqKioqKiovXG4ucGFnZS1uYXZpZ2F0aW9uIHtcbiAgbWFyZ2luLXRvcDogMXJlbTsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqXG5DT01NRU5UIFNUWUxFU1xuKioqKioqKioqKioqKioqKioqKioqL1xuI2NvbW1lbnRzIC5jb21tZW50bGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAwcHg7IH1cblxuI3Jlc3BvbmQgdWwge1xuICBtYXJnaW4tbGVmdDogMHB4OyB9XG5cbi5jb21tZW50bGlzdCBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY2xlYXI6IGJvdGg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gIHBhZGRpbmc6IDAuNzMzNWVtIDEwcHg7IH1cbiAgLmNvbW1lbnRsaXN0IGxpOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNvbW1lbnRsaXN0IGxpIHVsLmNoaWxkcmVuIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmNvbW1lbnRsaXN0IGxpW2NsYXNzKj1cImRlcHRoLVwiXSB7XG4gIG1hcmdpbi10b3A6IDEuMWVtOyB9XG5cbi5jb21tZW50bGlzdCBsaS5kZXB0aC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLmNvbW1lbnRsaXN0IGxpOm5vdCguZGVwdGgtMSkge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLmNvbW1lbnRsaXN0IC52Y2FyZCB7XG4gIG1hcmdpbi1sZWZ0OiA1MHB4OyB9XG4gIC5jb21tZW50bGlzdCAudmNhcmQgY2l0ZS5mbiB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7IH1cbiAgLmNvbW1lbnRsaXN0IC52Y2FyZCB0aW1lIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAuY29tbWVudGxpc3QgLnZjYXJkIHRpbWUgYSB7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLmNvbW1lbnRsaXN0IC52Y2FyZCB0aW1lIGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuY29tbWVudGxpc3QgLnZjYXJkIGltZy5hdmF0YXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIHBhZGRpbmc6IDJweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2VjZWNlO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLmNvbW1lbnRsaXN0IC5jb21tZW50X2NvbnRlbnQgcCB7XG4gIG1hcmdpbjogMC43MzM1ZW0gMCAxLjVlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTsgfVxuXG4uY29tbWVudGxpc3QgLmNvbW1lbnQtcmVwbHktbGluayB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqXG5DT01NRU5UIEZPUk0gU1RZTEVTXG4qKioqKioqKioqKioqKioqKioqKiovXG4ucmVzcG9uZC1mb3JtIHtcbiAgbWFyZ2luOiAxLjVlbSAxMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMi4yZW07IH1cbiAgLnJlc3BvbmQtZm9ybSBmb3JtIHtcbiAgICBtYXJnaW46IDAuNzVlbSAwOyB9XG4gICAgLnJlc3BvbmQtZm9ybSBmb3JtIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC43MzM1ZW07IH1cbiAgICAgIC5yZXNwb25kLWZvcm0gZm9ybSBsaSBsYWJlbCxcbiAgICAgIC5yZXNwb25kLWZvcm0gZm9ybSBsaSBzbWFsbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucmVzcG9uZC1mb3JtIGZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgLnJlc3BvbmQtZm9ybSBmb3JtIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgICAucmVzcG9uZC1mb3JtIGZvcm0gaW5wdXRbdHlwZT1cInVybFwiXSxcbiAgICAucmVzcG9uZC1mb3JtIGZvcm0gdGV4dGFyZWEge1xuICAgICAgcGFkZGluZzogM3B4IDZweDtcbiAgICAgIGJhY2tncm91bmQ6ICNlZmVmZWY7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjY2VjZWNlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtOyB9XG4gICAgICAucmVzcG9uZC1mb3JtIGZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG4gICAgICAucmVzcG9uZC1mb3JtIGZvcm0gaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuICAgICAgLnJlc3BvbmQtZm9ybSBmb3JtIGlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsXG4gICAgICAucmVzcG9uZC1mb3JtIGZvcm0gdGV4dGFyZWE6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gICAgICAucmVzcG9uZC1mb3JtIGZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl06aW52YWxpZCxcbiAgICAgIC5yZXNwb25kLWZvcm0gZm9ybSBpbnB1dFt0eXBlPVwiZW1haWxcIl06aW52YWxpZCxcbiAgICAgIC5yZXNwb25kLWZvcm0gZm9ybSBpbnB1dFt0eXBlPVwidXJsXCJdOmludmFsaWQsXG4gICAgICAucmVzcG9uZC1mb3JtIGZvcm0gdGV4dGFyZWE6aW52YWxpZCB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZiYzJjNDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZTdlYjtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgICAgICAtbW96LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIC1tcy1ib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLnJlc3BvbmQtZm9ybSBmb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgIC5yZXNwb25kLWZvcm0gZm9ybSBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gICAgLnJlc3BvbmQtZm9ybSBmb3JtIGlucHV0W3R5cGU9XCJ1cmxcIl0ge1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgIG1pbi13aWR0aDogMjUwcHg7IH1cbiAgICAucmVzcG9uZC1mb3JtIGZvcm0gdGV4dGFyZWEge1xuICAgICAgcmVzaXplOiBub25lO1xuICAgICAgd2lkdGg6IDk3LjMlO1xuICAgICAgaGVpZ2h0OiAxNTBweDsgfVxuXG4jY29tbWVudC1mb3JtLXRpdGxlIHtcbiAgbWFyZ2luOiAwIDAgMS4xZW07IH1cblxuI2FsbG93ZWRfdGFncyB7XG4gIG1hcmdpbjogMS41ZW0gMTBweCAwLjczMzVlbSAwOyB9XG5cbi5ub2NvbW1lbnRzIHtcbiAgbWFyZ2luOiAwIDIwcHggMS4xZW07IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuU0lERUJBUlMgJiBBU0lERVNcbioqKioqKioqKioqKioqKioqKioqKi9cbi5zaWRlYmFyIGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ud2lkZ2V0IHVsIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKipcbkZPT1RFUiBTVFlMRVNcbioqKioqKioqKioqKioqKioqKioqKi9cbi5mb290ZXIge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luLXRvcDogMWVtOyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKipcblZJU1VBTCBFRElUT1IgU1RZTEVTXG4qKioqKioqKioqKioqKioqKioqKiovXG5ib2R5I3RpbnltY2Uge1xuICBtYXJnaW46IDIwcHg7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuUExVR0lOIFNUWUxFU1xuKioqKioqKioqKioqKioqKioqKioqL1xuLmdmb3JtX2JvZHkgdWwge1xuICBsaXN0LXN0eWxlOiBub25lIG91dHNpZGUgbm9uZTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5nZm9ybV92YWxpZGF0aW9uX2NvbnRhaW5lcixcbi5nZm9ybV93cmFwcGVyIC5nZm9ybV92YWxpZGF0aW9uX2NvbnRhaW5lcixcbmJvZHkgLmdmb3JtX3dyYXBwZXIgbGkuZ2Zvcm1fdmFsaWRhdGlvbl9jb250YWluZXIsXG5ib2R5IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2Zvcm1fdmFsaWRhdGlvbl9jb250YWluZXIsXG5ib2R5IC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2Zvcm1fdmFsaWRhdGlvbl9jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBsZWZ0OiAtOTAwMHB4OyB9XG5cbkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyogQGZ1bmN0aW9uIHJuZCgkbnVtYmVyLCAkcGxhY2VzOiAwKSB7XG4gICAgJG46IDE7XG4gICAgQGlmICRwbGFjZXMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkcGxhY2VzIHtcbiAgICAgICAgICAgICRuOiAkbiAqIDEwO1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gKG1hdGgucm91bmQoJG51bWJlciAqICRuKSAvICRuKTtcbn1cbiAqL1xuLmVsIHtcbiAgZm9udC1zaXplOiBjbGFtcCgzcmVtLCA1dncgKyAtMC43NXJlbSwgNS4yNXJlbSk7IH1cblxuLmZ1bGxoZWlnaHQge1xuICBoZWlnaHQ6IGNhbGModmFyKC0tdmgsIDF2aCkgKiAxMDApOyB9XG5cbmJvZHkubG9nZ2VkLWluLmFkbWluLWJhciAubWFpbi1oZWFkZXIge1xuICBtYXJnaW4tdG9wOiAzMnB4OyB9XG5cbi51bmRlcmxpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnVuZGVybGluZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7IH1cblxuLnVuZGVybGluZTpob3Zlcjo6YmVmb3JlLCAudW5kZXJsaW5lOmZvY3VzOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsgfVxuXG5oMSxcbi5oMSxcbmgzLFxuLmgzLFxuaDQsXG4uaDQsXG5oNSxcbi5oNSB7XG4gIGZvbnQtZmFtaWx5OiAnU3dpdHplcicsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cblxuaDMsXG4uaDMsXG5oNCxcbi5oNCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuaDEsIC5oMSB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuaDIsIC5oMiB7XG4gIGZvbnQtZmFtaWx5OiAnZGluLTIwMTQnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDIuMTI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgaDIsIC5oMiB7XG4gICAgICBmb250LXNpemU6IDEuNzVyZW07IH0gfVxuXG5oMywgLmgzIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7IH1cbiAgaDMgZW0sXG4gIC5oMyBlbSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG5oNiwgLmg2IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDEuMnB4O1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtZmFtaWx5OiAnZGluLTIwMTQnLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ3MHB4KSB7XG4gIC5yb3cge1xuICAgIG1heC13aWR0aDogNzkuMzc1cmVtOyB9IH1cblxuLnRpdGxlLXNlY3Rpb24gaDYsXG4udGl0bGUtc2VjdGlvbiAuaDYge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbmhyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwOyB9XG5cbmEge1xuICBjb2xvcjogaW5pdGlhbDsgfVxuXG4uYXV0by13aWR0aCB7XG4gIHdpZHRoOiAyMC44MzMzJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuYXV0by13aWR0aCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cblxuLmhvdmVyX3VuZGVybGluZSB7XG4gIGNvbG9yOiBpbml0aWFsO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmhvdmVyX3VuZGVybGluZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkMjI1MzM7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IC0xMHB4O1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZTsgfVxuICAuaG92ZXJfdW5kZXJsaW5lOmhvdmVyOmFmdGVyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG5wIHtcbiAgZm9udC1mYW1pbHk6ICdTZW50aWVudCcsIHNlcmlmOyB9XG4gIHAgc3BhbiB7XG4gICAgZm9udC1mYW1pbHk6ICdTZW50aWVudCcsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5zdGlja3ktY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogNjBweDsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgY29sb3I6IGluaXRpYWw7XG4gIGZvbnQtc2l6ZTogMS40Mzc1cmVtO1xuICBmb250LWZhbWlseTogJ1NlbnRpZW50JztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDQwcHg7IH1cbiAgYmxvY2txdW90ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IHVybChcIi4uL2ltYWdlcy92aXJnb2xldHRlLnN2Z1wiKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cblxuLmJsYWNrIC5ib3gtYXV0aG9yIC50ZXh0X2F1dGhvciBhLFxuLmJsdWUgLmJveC1hdXRob3IgLnRleHRfYXV0aG9yIGEsXG4ucmVkIC5ib3gtYXV0aG9yIC50ZXh0X2F1dGhvciBhLFxuLmJsYWNrIGJsb2NrcXVvdGUsXG4uYmx1ZSBibG9ja3F1b3RlLFxuLnJlZCBibG9ja3F1b3RlIHtcbiAgY29sb3I6ICNmZmZmZmY7IH1cblxuLmJsYWNrIC5zd2lwZXJDb3JyZWxhdG8gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUsXG4uYmxhY2sgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGJhY2tncm91bmQ6ICNGRkY7IH1cblxuLnRpdGxlIGgyIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAudGl0bGUgaDIubGluZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA2NXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAgICAgLnRpdGxlIGgyLmxpbmUge1xuICAgICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMi41cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgICAgLnRpdGxlIGgyLmxpbmUge1xuICAgICAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9IH1cbiAgICAudGl0bGUgaDIubGluZTpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogNTBweDtcbiAgICAgIGhlaWdodDogMS41cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDIyNTMzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgLnRpdGxlIGgyLmxpbmU6YmVmb3JlIHtcbiAgICAgICAgICB3aWR0aDogMS44NzVyZW07IH0gfVxuXG4uZGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ucm93LWxhcmdlIHtcbiAgbWF4LXdpZHRoOiAxOTIwcHg7IH1cblxudWwuc29jaWFsIHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIHVsLnNvY2lhbCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAgIHVsLnNvY2lhbCBsaSBpbWcge1xuICAgICAgaGVpZ2h0OiAzMHB4OyB9XG5cbi5yZWQgLmludHJvIC5ieWxpbmUsXG4uYmx1ZSAuaW50cm8gLmJ5bGluZSxcbi5ibGFjayAuaW50cm8gLmJ5bGluZSB7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5yZWQgLmludHJvIC5ieWxpbmUgc3BhbixcbiAgLmJsdWUgLmludHJvIC5ieWxpbmUgc3BhbixcbiAgLmJsYWNrIC5pbnRybyAuYnlsaW5lIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgLnJlZCAuaW50cm8gLmJ5bGluZSAuaG92ZXJfdW5kZXJsaW5lLFxuICAuYmx1ZSAuaW50cm8gLmJ5bGluZSAuaG92ZXJfdW5kZXJsaW5lLFxuICAuYmxhY2sgLmludHJvIC5ieWxpbmUgLmhvdmVyX3VuZGVybGluZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAucmVkIC5pbnRybyAuYnlsaW5lIC5ob3Zlcl91bmRlcmxpbmU6YWZ0ZXIsXG4gICAgLmJsdWUgLmludHJvIC5ieWxpbmUgLmhvdmVyX3VuZGVybGluZTphZnRlcixcbiAgICAuYmxhY2sgLmludHJvIC5ieWxpbmUgLmhvdmVyX3VuZGVybGluZTphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDIyNTMzOyB9XG5cbi53aGl0ZSAuaW50cm8gLmJ5bGluZSB7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC53aGl0ZSAuaW50cm8gLmJ5bGluZSAuaG92ZXJfdW5kZXJsaW5lIHtcbiAgICBjb2xvcjogaW5pdGlhbDsgfVxuXG4ucmVkIC5pbnRybyAuYnlsaW5lIC5ob3Zlcl91bmRlcmxpbmU6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbi52aWRlbyB2aWRlbyB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmEuYnV0dG9uIHtcbiAgcGFkZGluZzogMTJweCA4MHB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGZvbnQtZmFtaWx5OiAnU3dpdHplcicsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgYS5idXR0b246aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IH1cblxuLmRhcmtncmF5IGEuYnV0dG9uIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IH1cbiAgLmRhcmtncmF5IGEuYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbi53aGl0ZSBhLmJ1dHRvbiB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9XG4gIC53aGl0ZSBhLmJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M4YzhjODsgfVxuXG4ud2hpdGUgLnRleHRfYXV0aG9yIGE6aG92ZXIge1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG4ud2hpdGUgLnNvY2lhbC1zaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiB1cmwoXCIuLi9pbWFnZXMvc2hhcmUuc3ZnXCIpOyB9XG5cbi5ibGFjayBhLmJ1dHRvbiB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIC5ibGFjayBhLmJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QyMjUzMzsgfVxuXG4uYmxhY2sgLnRleHRfYXV0aG9yIGE6aG92ZXIge1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uYmxhY2sgLnNvY2lhbC1zaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiB1cmwoXCIuLi9pbWFnZXMvc2hhcmUtdy5zdmdcIik7IH1cblxuLmJsdWUgYS5idXR0b24ge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QyMjUzMzsgfVxuICAuYmx1ZSBhLmJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgfVxuXG4uYmx1ZSAudGV4dF9hdXRob3IgYTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5ibHVlIC5zb2NpYWwtc2hhcmU6YmVmb3JlIHtcbiAgY29udGVudDogdXJsKFwiLi4vaW1hZ2VzL3NoYXJlLXcuc3ZnXCIpOyB9XG5cbi5yZWQgYS5idXR0b24ge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgfVxuICAucmVkIGEuYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9XG5cbi5yZWQgLnRleHRfYXV0aG9yIGE6aG92ZXIge1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4ucmVkIC5zb2NpYWwtc2hhcmU6YmVmb3JlIHtcbiAgY29udGVudDogdXJsKFwiLi4vaW1hZ2VzL3NoYXJlLXcuc3ZnXCIpOyB9XG5cbmZvb3Rlci5mb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBtYXJnaW4tdG9wOiAwO1xuICBwYWRkaW5nOiA2MHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICBmb290ZXIuZm9vdGVyIHtcbiAgICAgIHBhZGRpbmc6IDJyZW0gMDsgfSB9XG4gIGZvb3Rlci5mb290ZXIgLmgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgZm9vdGVyLmZvb3RlciBwIHtcbiAgICBmb250LWZhbWlseTogJ1N3aXR6ZXInLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgY29sb3I6ICM4YThhOGE7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgIGZvb3Rlci5mb290ZXIgLmxvZ28ge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgZm9vdGVyLmZvb3RlciAubG9nbyAubWVudSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBmb290ZXIuZm9vdGVyIC5sb2dvIGltZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICBmb290ZXIuZm9vdGVyIC5sb2dvIC5oMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgIGZvb3Rlci5mb290ZXIgdWwuc29jaWFsIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIGZvb3Rlci5mb290ZXIgdWwuc29jaWFsIGxpIHtcbiAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgICAgZm9vdGVyLmZvb3RlciB1bC5zb2NpYWwgbGkge1xuICAgICAgICBtYXJnaW46IDAgMXJlbTsgfSB9XG4gIGZvb3Rlci5mb290ZXIgLnNvYyB7XG4gICAgbWFyZ2luOiAzMHB4IGF1dG87XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICBmb290ZXIuZm9vdGVyIC5mb290ZXJfbWVudSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgZm9vdGVyLmZvb3RlciAuZm9vdGVyX21lbnUgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgZm9vdGVyLmZvb3RlciAuZm9vdGVyX21lbnUgdWwgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICBmb290ZXIuZm9vdGVyIC5mb290ZXJfbWVudSB1bCBsaSBhIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgZm9vdGVyLmZvb3RlciAuZm9vdGVyX21lbnUgdWwgbGkgYTpob3ZlciwgZm9vdGVyLmZvb3RlciAuZm9vdGVyX21lbnUgdWwgbGkgYTpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6ICNkMjI1MzM7IH1cbiAgICBmb290ZXIuZm9vdGVyIC5mb290ZXJfbWVudSB1bCAubWVudS1pdGVtIHNwYW46YWZ0ZXIsXG4gICAgZm9vdGVyLmZvb3RlciAuZm9vdGVyX21lbnUgdWwgLmhvdmVyX3VuZGVybGluZTphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDIyNTMzO1xuICAgICAgYm90dG9tOiAtNXB4OyB9XG4gIGZvb3Rlci5mb290ZXIgLm1lbnVfbGVnYWxlIHVsLm1lbnUge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgICBmb290ZXIuZm9vdGVyIC5tZW51X2xlZ2FsZSB1bC5tZW51IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtOyB9IH1cbiAgICBmb290ZXIuZm9vdGVyIC5tZW51X2xlZ2FsZSB1bC5tZW51IGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gICAgICBmb290ZXIuZm9vdGVyIC5tZW51X2xlZ2FsZSB1bC5tZW51IGxpIGEge1xuICAgICAgICBjb2xvcjogIzhhOGE4YTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgICAgIGZvb3Rlci5mb290ZXIgLm1lbnVfbGVnYWxlIHVsLm1lbnUgbGkgYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNkMjI1MzM7IH1cbiAgZm9vdGVyLmZvb3RlciBwLnNvdXJjZS1vcmcge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgZm9vdGVyLmZvb3RlciAucmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgICBmb290ZXIuZm9vdGVyIC5yaWdodCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogaW5pdGlhbDsgfSB9XG4gICAgZm9vdGVyLmZvb3RlciAucmlnaHQgYSB7XG4gICAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgICBjb2xvcjogIzhhOGE4YTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAgICAgZm9vdGVyLmZvb3RlciAucmlnaHQgYSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTBweDsgfSB9XG4gICAgICBmb290ZXIuZm9vdGVyIC5yaWdodCBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNkMjI1MzM7IH1cblxuLmJveC1hdXRob3Ige1xuICBtYXgtd2lkdGg6IDI2LjI1cmVtO1xuICBtYXJnaW46IDMwcHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgIC5ib3gtYXV0aG9yIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5ib3gtYXV0aG9yIC5pbWdfYXV0aG9yIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuYm94LWF1dGhvciAuaW1nX2F1dGhvciBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmJveC1hdXRob3IgLnRleHRfYXV0aG9yIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGxlZnQ6IDA7IH1cbiAgICAuYm94LWF1dGhvciAudGV4dF9hdXRob3IgYSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5ib3gtYXV0aG9yIC50ZXh0X2F1dGhvciAuaDYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5ib3gtYXV0aG9yIC50ZXh0X2F1dGhvciAubWVudS1pdGVtIHNwYW46YWZ0ZXIsXG4gICAgLmJveC1hdXRob3IgLnRleHRfYXV0aG9yIC5ob3Zlcl91bmRlcmxpbmU6YWZ0ZXIge1xuICAgICAgYm90dG9tOiAtNHB4OyB9XG5cbi50YXgtZmlybWUgLmJsb2NrLW5ld3MgaDMge1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICBmb250LXNpemU6IDEuMTg3NXJlbTsgfVxuXG4udGF4LWZpcm1lIC5ibG9jay1uZXdzIGgyIHtcbiAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICBmb250LWZhbWlseTogJ1N3aXR6ZXInO1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICBtYXJnaW4tdG9wOiAyLjVyZW07IH1cblxuLnRheC1maXJtZSAuYmxvY2stbmV3cyBoMSB7XG4gIGZvbnQtc2l6ZTogMy4xMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAudGF4LWZpcm1lIC5ibG9jay1uZXdzIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07IH0gfVxuXG4udGF4LWZpcm1lIC5ibG9jay1uZXdzIGhyIHtcbiAgbWFyZ2luOiAycmVtIDA7XG4gIHdpZHRoOiAxMDBweDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkMjI1MzM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAudGF4LWZpcm1lIC5ibG9jay1uZXdzIGhyIHtcbiAgICAgIG1hcmdpbjogMXJlbSAwOyB9IH1cblxuLnRheC1maXJtZSAuYmxvY2stbmV3cyAubWVkaXVtLW5ld3MgLmltZyB7XG4gIGhlaWdodDogMTEuMjVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgLnRheC1maXJtZSAuYmxvY2stbmV3cyAuYm94LWF1dGhvciAuaW1nX2F1dGhvciB7XG4gICAgd2lkdGg6IDguNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfSB9XG5cbi5zb2NpYWwtc2hhcmUge1xuICB3aWR0aDogNDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAycyBsaW5lYXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gICAgLnNvY2lhbC1zaGFyZSB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgLnNvY2lhbC1zaGFyZSB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjVyZW07IH0gfVxuICAuc29jaWFsLXNoYXJlOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMnB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5zb2NpYWwtc2hhcmU6aG92ZXIge1xuICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4ycyBsaW5lYXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuc29jaWFsLXNoYXJlOmhvdmVyIGxpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0b3A6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuc29jaWFsLXNoYXJlOmhvdmVyIGxpOm50aC1jaGlsZCgxKSB7XG4gICAgICBsZWZ0OiA0NXB4O1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2UsIGxlZnQgMC40cyBlYXNlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLnNvY2lhbC1zaGFyZTpob3ZlciBsaTpudGgtY2hpbGQoMikge1xuICAgICAgbGVmdDogOTBweDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLCBsZWZ0IDAuNXMgZWFzZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5zb2NpYWwtc2hhcmU6aG92ZXIgbGk6bnRoLWNoaWxkKDMpIHtcbiAgICAgIGxlZnQ6IDEzNXB4O1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzIGVhc2UsIGxlZnQgMC42cyBlYXNlOyB9IH1cbiAgLnNvY2lhbC1zaGFyZSB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTQ0cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5zb2NpYWwtc2hhcmUgdWwge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTNweDtcbiAgICAgICAgbGVmdDogNDVweDsgfSB9XG4gICAgLnNvY2lhbC1zaGFyZSB1bCBsaSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCBsZWZ0IDAuM3MgZWFzZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgIC5zb2NpYWwtc2hhcmUgdWwgbGkge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gICAgICAuc29jaWFsLXNoYXJlIHVsIGxpOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlLCBsZWZ0IDAuNHMgZWFzZTsgfVxuICAgICAgLnNvY2lhbC1zaGFyZSB1bCBsaTpudGgtY2hpbGQoMikge1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZSwgbGVmdCAwLjVzIGVhc2U7IH1cbiAgICAgIC5zb2NpYWwtc2hhcmUgdWwgbGk6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzIGVhc2UsIGxlZnQgMC42cyBlYXNlOyB9XG4gICAgICAuc29jaWFsLXNoYXJlIHVsIGxpIGltZyB7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uLmNtcGx6LWJ0bi5jbXBsei1tYW5hZ2UtY29uc2VudC5tYW5hZ2UtY29uc2VudC0xLmNtcGx6LXNob3cge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5ibG9jay1uZXdzIC5uZXdzIC50eHQgaHIuc2t5IHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyMzZCQUQ7IH1cblxuLmJsb2NrLW5ld3MgLm5ld3Muc2luZ2xlLW5ld3MgLnR4dCB7XG4gIG1hcmdpbi10b3A6IDNyZW07IH1cblxuLmxpc3RhdG8gLm5ld3MgLnR4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLnR4dC1wYWdlIGgzIHtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5ib3hfcmljZXJjYSB7XG4gIHBhZGRpbmc6IDMwcHggMTVweDtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW4tbGVmdDogM3JlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzgwcHgpIHtcbiAgICAuYm94X3JpY2VyY2Ege1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuYm94X3JpY2VyY2Ege1xuICAgICAgcGFkZGluZzogMCAxNXB4OyB9IH1cbiAgLmJveF9yaWNlcmNhIGxhYmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuYm94X3JpY2VyY2EgbGFiZWw6YWZ0ZXIge1xuICAgICAgY29udGVudDogdXJsKFwiLi4vaW1hZ2VzL3NlYXJjaF9nci5zdmdcIik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDE1cHg7IH1cbiAgICAuYm94X3JpY2VyY2EgbGFiZWwgaW5wdXQuc2VhcmNoLWZpZWxkIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU2VudGllbnQnLCBzZXJpZjtcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgLmJveF9yaWNlcmNhIGlucHV0LnNlYXJjaC1zdWJtaXQuYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHBhZGRpbmc6IDE1cHg7IH1cblxuLnRhZyAuYm94X3JpY2VyY2EsXG4uc2VhcmNoIC5ib3hfcmljZXJjYSB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi53aWRnZXRfc2VhcmNoIC5oNCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuXG4ud2lkZ2V0X3NlYXJjaCBzZWxlY3Qge1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uc2VhcmNoIC5ibG9jay1uZXdzIC5tZWRpdW0tbmV3cyAudHh0IHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4ucGFnZS1uYXZpZ2F0aW9uIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMwMDAwMDA7XG4gIHBhZGRpbmctdG9wOiAycmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDJyZW07IH1cbiAgLnBhZ2UtbmF2aWdhdGlvbiAucGFnaW5hdGlvbiBsaSB7XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgICBmb250LWZhbWlseTogJ2Rpbi0yMDE0JztcbiAgICBjb2xvcjogI2M4YzhjODsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgICAucGFnZS1uYXZpZ2F0aW9uIC5wYWdpbmF0aW9uIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDEuNDM3NXJlbTsgfSB9XG4gICAgLnBhZ2UtbmF2aWdhdGlvbiAucGFnaW5hdGlvbiBsaSAuY3VycmVudCB7XG4gICAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgICBiYWNrZ3JvdW5kOiBpbml0aWFsO1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2QyMjUzMzsgfVxuICAgIC5wYWdlLW5hdmlnYXRpb24gLnBhZ2luYXRpb24gbGkgYSB7XG4gICAgICBjb2xvcjogI2M4YzhjODsgfVxuICAgIC5wYWdlLW5hdmlnYXRpb24gLnBhZ2luYXRpb24gbGkgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI2QyMjUzMztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7IH1cblxuLm1lbnUtaXRlbS5hY3RpdmUgc3BhbjphZnRlciB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi53aWRnZXRfYXJjaGl2ZSB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0VCRUJFQjsgfVxuICAud2lkZ2V0X2FyY2hpdmUgc2VsZWN0IHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDIuMTg3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5zcGF6aW9fbm9fdGl0bGUge1xuICBtYXJnaW4tdG9wOiA1LjVyZW07IH1cblxuLmNvbGxhcHNlIC50eHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG5cbi5yZWQgLnBhZ2UtbmF2aWdhdGlvbixcbi5ibGFjayAucGFnZS1uYXZpZ2F0aW9uLFxuLmJsdWUgLnBhZ2UtbmF2aWdhdGlvbiB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZmZmZmZmOyB9XG4gIC5yZWQgLnBhZ2UtbmF2aWdhdGlvbiAucGFnaW5hdGlvbiBsaSxcbiAgLmJsYWNrIC5wYWdlLW5hdmlnYXRpb24gLnBhZ2luYXRpb24gbGksXG4gIC5ibHVlIC5wYWdlLW5hdmlnYXRpb24gLnBhZ2luYXRpb24gbGkge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLnJlZCAucGFnZS1uYXZpZ2F0aW9uIC5wYWdpbmF0aW9uIGxpIC5jdXJyZW50LFxuICAgIC5ibGFjayAucGFnZS1uYXZpZ2F0aW9uIC5wYWdpbmF0aW9uIGxpIC5jdXJyZW50LFxuICAgIC5ibHVlIC5wYWdlLW5hdmlnYXRpb24gLnBhZ2luYXRpb24gbGkgLmN1cnJlbnQge1xuICAgICAgY29sb3I6ICNkMjI1MzM7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2QyMjUzMzsgfVxuICAgIC5yZWQgLnBhZ2UtbmF2aWdhdGlvbiAucGFnaW5hdGlvbiBsaSBhLFxuICAgIC5ibGFjayAucGFnZS1uYXZpZ2F0aW9uIC5wYWdpbmF0aW9uIGxpIGEsXG4gICAgLmJsdWUgLnBhZ2UtbmF2aWdhdGlvbiAucGFnaW5hdGlvbiBsaSBhIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLnJlZCAucGFnZS1uYXZpZ2F0aW9uIC5wYWdpbmF0aW9uIGxpIGE6aG92ZXIsXG4gICAgLmJsYWNrIC5wYWdlLW5hdmlnYXRpb24gLnBhZ2luYXRpb24gbGkgYTpob3ZlcixcbiAgICAuYmx1ZSAucGFnZS1uYXZpZ2F0aW9uIC5wYWdpbmF0aW9uIGxpIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNkMjI1MzM7IH1cblxuLnJlZCAuYm94X3JpY2VyY2EgbGFiZWwgaW5wdXQuc2VhcmNoLWZpZWxkLFxuLmJsYWNrIC5ib3hfcmljZXJjYSBsYWJlbCBpbnB1dC5zZWFyY2gtZmllbGQsXG4uYmx1ZSAuYm94X3JpY2VyY2EgbGFiZWwgaW5wdXQuc2VhcmNoLWZpZWxkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgY29sb3I6ICNmZmZmZmY7IH1cblxuLnJlZCAuYm94X3JpY2VyY2EgaW5wdXQuc2VhcmNoLXN1Ym1pdC5idXR0b24sXG4uYmxhY2sgLmJveF9yaWNlcmNhIGlucHV0LnNlYXJjaC1zdWJtaXQuYnV0dG9uLFxuLmJsdWUgLmJveF9yaWNlcmNhIGlucHV0LnNlYXJjaC1zdWJtaXQuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxuLm0tdGFnIGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuXG4uc2luZ2xlIC5ibG9jay1uZXdzIC5pbWcge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC1oZWlnaHQ6IDcwdmg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5zaW5nbGUgLmJsb2NrLW5ld3MgLmltZyBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5jb250YWluZXIge1xuICBwYWRkaW5nLXRvcDogMnJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgLnNpbmdsZSAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG5cbi5jb250YWluZXIuY2F0LXZpZGVvLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS12aWRlbyAuY29udGFpbmVyLFxuLmNhdGVnb3J5LXZpZGVvIC5jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9XG5cbi53aWR0aC1taW4tY2F0IGltZyB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5kZXNjcl92YXJpYW50X2ZvbnQgaDIge1xuICBmb250LWZhbWlseTogJ1N3aXR6ZXInLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBmb250LXNpemU6IDEuNzVyZW07IH1cblxuLmRlc2NyX3ZhcmlhbnRfZm9udCBoMyB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMS41NjI1cmVtOyB9XG5cbi5iYWNrZ3JvdW5kLWltZyB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGhlaWdodDogNDAuNjI1cmVtO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogOTByZW07XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAgIC5iYWNrZ3JvdW5kLWltZyB7XG4gICAgICBoZWlnaHQ6IDI2LjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAuYmFja2dyb3VuZC1pbWcge1xuICAgICAgaGVpZ2h0OiAyMy4xMjVyZW07IH0gfVxuICAuYmFja2dyb3VuZC1pbWcgLnZpc3VhbF90aXRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGxlZnQ6IDMwcHg7XG4gICAgYm90dG9tOiAzMHB4O1xuICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgei1pbmRleDogOTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgICAuYmFja2dyb3VuZC1pbWcgLnZpc3VhbF90aXRsZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzogMXJlbTsgfSB9XG4gICAgLmJhY2tncm91bmQtaW1nIC52aXN1YWxfdGl0bGUgaDEge1xuICAgICAgZm9udC1zaXplOiA0LjI1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgICAgICAuYmFja2dyb3VuZC1pbWcgLnZpc3VhbF90aXRsZSBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiAzcmVtOyB9IH1cbiAgICAuYmFja2dyb3VuZC1pbWcgLnZpc3VhbF90aXRsZSAuaDMge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgICAgICAuYmFja2dyb3VuZC1pbWcgLnZpc3VhbF90aXRsZSAuaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtOyB9IH1cblxuLmludHJvX2NhdCAudHh0LXBhZ2Uge1xuICBtYXJnaW4tdG9wOiA2cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gICAgLmludHJvX2NhdCAudHh0LXBhZ2Uge1xuICAgICAgbWFyZ2luLXRvcDogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgLmludHJvX2NhdCAudHh0LXBhZ2Uge1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTsgfSB9XG4gIC5pbnRyb19jYXQgLnR4dC1wYWdlIGgxIHtcbiAgICBmb250LXNpemU6IDY4cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5pbnRyb19jYXQgLnR4dC1wYWdlIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAgIC5pbnRyb19jYXQgLnR4dC1wYWdlIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAzcmVtOyB9IH1cbiAgICAuaW50cm9fY2F0IC50eHQtcGFnZSBoMTphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMi41cmVtO1xuICAgICAgaGVpZ2h0OiAwLjEyNXJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkMjI1MzM7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAtOS4zNzVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgICAgIC5pbnRyb19jYXQgLnR4dC1wYWdlIGgxOmFmdGVyIHtcbiAgICAgICAgICB3aWR0aDogNHJlbTtcbiAgICAgICAgICBsZWZ0OiAtMTBweDtcbiAgICAgICAgICB0b3A6IC05cHg7IH0gfVxuICAuaW50cm9fY2F0IC50eHQtcGFnZSAuaDMge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uYmxvY2stbmV3cy5ibGFjayAuaW50cm8gLmJ5bGluZSAuaDYge1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uYmxvY2stbmV3cy5ibGFjayAuaW50cm8gLmJ5bGluZSBzcGFuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG4uY2F0ZWdvcnktdmlkZW8gLmludHJvX2NhdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5mb3JtX3JpY2VyY2EsXG5oZWFkZXIgYS5yaWNlcmNhIHtcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07IH1cblxuLmJsb2NrLW5ld3M6bm90KC5ibHVlKSAubmV3cyAuaW1nIGltZyB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogYXV0bzsgfVxuXG4ubWItNTAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudSBsaSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuLnNpbmdsZSAuYmxvY2stbmV3cyAuaW1nLmRpbV9ub2Z1bGwgaW1nIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmltZyBhIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRyZW5kaW5nLXRvZ2dsZS5kZXNrIGltZyB7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDsgfVxuXG4ubXQtb3B6aW9uYWxlIHtcbiAgbWFyZ2luLXRvcDogNHJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgIC5tdC1vcHppb25hbGUge1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTsgfSB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtaG9tZSAuYmxvY2stbmV3cyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1ob21lIC5ibG9jay1uZXdzOm5vdCgud2hpdGUpICsgLmJsb2NrLW5ld3M6bm90KC53aGl0ZSkge1xuICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAuYmxvY2stbmV3cyAubGlzdC1vbi1tb2JpbGUgLnMtbGFyZ2UtbmV3cyxcbiAgLmJsb2NrLW5ld3MgLmxpc3Qtb24tbW9iaWxlIC5zbWFsbC1uZXdzLm5ld3MsXG4gIC5ibG9jay1uZXdzIC5saXN0LW9uLW1vYmlsZSAubWVkaXVtLW5ld3MubmV3cyxcbiAgLmJsb2NrLW5ld3MgLmxpc3Qtb24tbW9iaWxlIC5tZWRpdW1fbGFyZ2UtbmV3cy5uZXdzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VCRUJFQjsgfVxuICAgIC5ibG9jay1uZXdzIC5saXN0LW9uLW1vYmlsZSAucy1sYXJnZS1uZXdzOmxhc3QtY2hpbGQsXG4gICAgLmJsb2NrLW5ld3MgLmxpc3Qtb24tbW9iaWxlIC5zbWFsbC1uZXdzLm5ld3M6bGFzdC1jaGlsZCxcbiAgICAuYmxvY2stbmV3cyAubGlzdC1vbi1tb2JpbGUgLm1lZGl1bS1uZXdzLm5ld3M6bGFzdC1jaGlsZCxcbiAgICAuYmxvY2stbmV3cyAubGlzdC1vbi1tb2JpbGUgLm1lZGl1bV9sYXJnZS1uZXdzLm5ld3M6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAuYmxvY2stbmV3cyAubGlzdC1vbi1tb2JpbGUgLnMtbGFyZ2UtbmV3cyAuaW1nLFxuICAgIC5ibG9jay1uZXdzIC5saXN0LW9uLW1vYmlsZSAuc21hbGwtbmV3cy5uZXdzIC5pbWcsXG4gICAgLmJsb2NrLW5ld3MgLmxpc3Qtb24tbW9iaWxlIC5tZWRpdW0tbmV3cy5uZXdzIC5pbWcsXG4gICAgLmJsb2NrLW5ld3MgLmxpc3Qtb24tbW9iaWxlIC5tZWRpdW1fbGFyZ2UtbmV3cy5uZXdzIC5pbWcge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgIGJhY2tncm91bmQ6IGluaXRpYWwgIWltcG9ydGFudDsgfVxuICAgICAgLmJsb2NrLW5ld3MgLmxpc3Qtb24tbW9iaWxlIC5zLWxhcmdlLW5ld3MgLmltZyAucGxheV9idXR0b24sXG4gICAgICAuYmxvY2stbmV3cyAubGlzdC1vbi1tb2JpbGUgLnNtYWxsLW5ld3MubmV3cyAuaW1nIC5wbGF5X2J1dHRvbixcbiAgICAgIC5ibG9jay1uZXdzIC5saXN0LW9uLW1vYmlsZSAubWVkaXVtLW5ld3MubmV3cyAuaW1nIC5wbGF5X2J1dHRvbixcbiAgICAgIC5ibG9jay1uZXdzIC5saXN0LW9uLW1vYmlsZSAubWVkaXVtX2xhcmdlLW5ld3MubmV3cyAuaW1nIC5wbGF5X2J1dHRvbiB7XG4gICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgbGVmdDogMTBweDsgfVxuICAgICAgICAuYmxvY2stbmV3cyAubGlzdC1vbi1tb2JpbGUgLnMtbGFyZ2UtbmV3cyAuaW1nIC5wbGF5X2J1dHRvbiBpbWcsXG4gICAgICAgIC5ibG9jay1uZXdzIC5saXN0LW9uLW1vYmlsZSAuc21hbGwtbmV3cy5uZXdzIC5pbWcgLnBsYXlfYnV0dG9uIGltZyxcbiAgICAgICAgLmJsb2NrLW5ld3MgLmxpc3Qtb24tbW9iaWxlIC5tZWRpdW0tbmV3cy5uZXdzIC5pbWcgLnBsYXlfYnV0dG9uIGltZyxcbiAgICAgICAgLmJsb2NrLW5ld3MgLmxpc3Qtb24tbW9iaWxlIC5tZWRpdW1fbGFyZ2UtbmV3cy5uZXdzIC5pbWcgLnBsYXlfYnV0dG9uIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDIwcHggIWltcG9ydGFudDsgfVxuICAgIC5ibG9jay1uZXdzIC5saXN0LW9uLW1vYmlsZSAucy1sYXJnZS1uZXdzIC50eHQsXG4gICAgLmJsb2NrLW5ld3MgLmxpc3Qtb24tbW9iaWxlIC5zbWFsbC1uZXdzLm5ld3MgLnR4dCxcbiAgICAuYmxvY2stbmV3cyAubGlzdC1vbi1tb2JpbGUgLm1lZGl1bS1uZXdzLm5ld3MgLnR4dCxcbiAgICAuYmxvY2stbmV3cyAubGlzdC1vbi1tb2JpbGUgLm1lZGl1bV9sYXJnZS1uZXdzLm5ld3MgLnR4dCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLmJsb2NrLW5ld3MgLmxpc3Qtb24tbW9iaWxlIC5zLWxhcmdlLW5ld3MgLnR4dCBoMyxcbiAgICAgIC5ibG9jay1uZXdzIC5saXN0LW9uLW1vYmlsZSAuc21hbGwtbmV3cy5uZXdzIC50eHQgaDMsXG4gICAgICAuYmxvY2stbmV3cyAubGlzdC1vbi1tb2JpbGUgLm1lZGl1bS1uZXdzLm5ld3MgLnR4dCBoMyxcbiAgICAgIC5ibG9jay1uZXdzIC5saXN0LW9uLW1vYmlsZSAubWVkaXVtX2xhcmdlLW5ld3MubmV3cyAudHh0IGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgICAuYmxvY2stbmV3cyAubGlzdC1vbi1tb2JpbGUgLnMtbGFyZ2UtbmV3cyAudHh0IC5oNiwgLmJsb2NrLW5ld3MgLmxpc3Qtb24tbW9iaWxlIC5zLWxhcmdlLW5ld3MgLnR4dCBoNixcbiAgICAgIC5ibG9jay1uZXdzIC5saXN0LW9uLW1vYmlsZSAuc21hbGwtbmV3cy5uZXdzIC50eHQgLmg2LFxuICAgICAgLmJsb2NrLW5ld3MgLmxpc3Qtb24tbW9iaWxlIC5zbWFsbC1uZXdzLm5ld3MgLnR4dCBoNixcbiAgICAgIC5ibG9jay1uZXdzIC5saXN0LW9uLW1vYmlsZSAubWVkaXVtLW5ld3MubmV3cyAudHh0IC5oNixcbiAgICAgIC5ibG9jay1uZXdzIC5saXN0LW9uLW1vYmlsZSAubWVkaXVtLW5ld3MubmV3cyAudHh0IGg2LFxuICAgICAgLmJsb2NrLW5ld3MgLmxpc3Qtb24tbW9iaWxlIC5tZWRpdW1fbGFyZ2UtbmV3cy5uZXdzIC50eHQgLmg2LFxuICAgICAgLmJsb2NrLW5ld3MgLmxpc3Qtb24tbW9iaWxlIC5tZWRpdW1fbGFyZ2UtbmV3cy5uZXdzIC50eHQgaDYge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjFyZW07IH1cbiAgLmFyY2hpdmUgLmJsb2NrLW5ld3Mge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuYXJjaGl2ZSAuYmxvY2stbmV3cyAuZ3JpZ2xpYSAubmV3cy5vdGhlci1uZXdzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmFyY2hpdmUgLmxpc3Qtb24tbW9iaWxlIC5tZWRpdW0tbmV3cy5uZXdzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUJFQkVCO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAgIC5hcmNoaXZlIC5saXN0LW9uLW1vYmlsZSAubWVkaXVtLW5ld3MubmV3czpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgIC5hcmNoaXZlIC5saXN0LW9uLW1vYmlsZSAubWVkaXVtLW5ld3MubmV3cyAuaW1nIHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiBpbml0aWFsICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5hcmNoaXZlIC5saXN0LW9uLW1vYmlsZSAubWVkaXVtLW5ld3MubmV3cyAuaW1nIC5wbGF5X2J1dHRvbiB7XG4gICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgbGVmdDogMTBweDsgfVxuICAgICAgICAuYXJjaGl2ZSAubGlzdC1vbi1tb2JpbGUgLm1lZGl1bS1uZXdzLm5ld3MgLmltZyAucGxheV9idXR0b24gaW1nIHtcbiAgICAgICAgICB3aWR0aDogMjBweCAhaW1wb3J0YW50OyB9XG4gICAgLmFyY2hpdmUgLmxpc3Qtb24tbW9iaWxlIC5tZWRpdW0tbmV3cy5uZXdzIC50eHQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5hcmNoaXZlIC5saXN0LW9uLW1vYmlsZSAubWVkaXVtLW5ld3MubmV3cyAudHh0IGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgICAuYXJjaGl2ZSAubGlzdC1vbi1tb2JpbGUgLm1lZGl1bS1uZXdzLm5ld3MgLnR4dCAuaDYsIC5hcmNoaXZlIC5saXN0LW9uLW1vYmlsZSAubWVkaXVtLW5ld3MubmV3cyAudHh0IGg2IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4xcmVtOyB9XG4gIC5hcmNoaXZlIC5sYXJnZS1uZXdzIC5leGNlcnB0LW5ld3Mge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5hcmNoaXZlIC5ncmlnbGlhIC5zbWFsbC1uZXdzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgLmFyY2hpdmUgLm1lZGl1bV9sYXJnZS1uZXdzIC5leGNlcnB0LW5ld3Mge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkgYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gIC5hcmNoaXZlIC5tZWRpdW0tbmV3cyAuYmxvY2tfbGFyZ2UgLnR4dCBoMyB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgLmFyY2hpdmUgLm1lZGl1bS1uZXdzIC5ibG9ja19sYXJnZSAudHh0IGg2LCAuYXJjaGl2ZSAubWVkaXVtLW5ld3MgLmJsb2NrX2xhcmdlIC50eHQgLmg2IHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjJyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAuc2VhcmNoIC5ibG9jay1uZXdzIC5tZWRpdW0tbmV3cyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VCRUJFQjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAuc2VhcmNoIC5ibG9jay1uZXdzIC5tZWRpdW0tbmV3cyAuYmxvY2tfbGFyZ2Uge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgLnNlYXJjaCAuYmxvY2stbmV3cyAubWVkaXVtLW5ld3MgLmJsb2NrX2xhcmdlIC50eHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIC5zZWFyY2ggLmJsb2NrLW5ld3MgLm1lZGl1bS1uZXdzIC5ibG9ja19sYXJnZSAudHh0IC5oNiwgLnNlYXJjaCAuYmxvY2stbmV3cyAubWVkaXVtLW5ld3MgLmJsb2NrX2xhcmdlIC50eHQgaDYge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuMnJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gIC5zbGlkaW5nLW5ld3Mge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIG92ZXJmbG93LXg6IHNjcm9sbDsgfVxuICAgIC5zbGlkaW5nLW5ld3MgLm5ld3Mge1xuICAgICAgd2lkdGg6IDg1JSAhaW1wb3J0YW50O1xuICAgICAgZmxleC1zaHJpbms6IDA7IH1cbiAgLmJsb2NrX3RhZyB7XG4gICAgbWFyZ2luOiAycmVtIDA7IH1cbiAgICAuYmxvY2tfdGFnIC5zb2NpYWwtc2hhcmUge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAuc3BhY2UtcmVzcCAubmV3cyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfSB9XG5cbi5vcmFyaW8ge1xuICBtYXJnaW4tbGVmdDogMTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgICAub3JhcmlvIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAub3JhcmlvIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAub3JhcmlvIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LWZhbWlseTogJ1N3aXR6ZXInO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBjb2xvcjogI2QyMjUzMztcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG4gICAgLm9yYXJpbyBwOmZpcnN0LWNoaWxkIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cblxuLmZvcm1pbmF0b3ItZGVzaWduLS1tYXRlcmlhbCAuZm9ybWluYXRvci1idXR0b24tc3VibWl0IHtcbiAgcGFkZGluZzogMC41cmVtIDFyZW0gIWltcG9ydGFudDsgfVxuICAuZm9ybWluYXRvci1kZXNpZ24tLW1hdGVyaWFsIC5mb3JtaW5hdG9yLWJ1dHRvbi1zdWJtaXQgc3BhbiB7XG4gICAgZm9udC1mYW1pbHk6ICdTd2l0emVyJyAhaW1wb3J0YW50OyB9XG5cbi5mb3JtaW5hdG9yLWNoZWNrYm94LmZvcm1pbmF0b3ItY29uc2VudCAuZm9ybWluYXRvci1jaGVja2JveC1ib3gge1xuICB0b3A6IDdweCAhaW1wb3J0YW50OyB9XG5cbmEuZm9ybWluYXRvci1zYXZlLWRyYWZ0LWxpbmsuZGlzYWJsZWQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmxpbmVlIHtcbiAgcGFkZGluZzogMS41cmVtIDA7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjMDAwO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQ7IH1cblxuLmxpZ2h0Ym94IC5sYi1pbWFnZSB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ubGItb3V0ZXJDb250YWluZXIge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG5cbi5sYi1jYW5jZWwge1xuICB3aWR0aDogMjEwcHg7XG4gIGhlaWdodDogODBweDtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2xvZ28uc3ZnXCIpIG5vLXJlcGVhdDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAucnVicmljaGUgLnRpdGxlIGgyLmxpbmUge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfSB9XG5cbmhlYWRlciB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgaGVhZGVyIHVsLnNvY2lhbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICBoZWFkZXIgdWwuc29jaWFsIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICBoZWFkZXIgdWwuc29jaWFsIGxpIGEge1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAgIGhlYWRlciB1bC5zb2NpYWwgbGkgYSBpbWcge1xuICAgICAgICAgIGhlaWdodDogMS40Mzc1cmVtOyB9XG5cbmhlYWRlciAudG9wLWJhcixcbmhlYWRlciAudG9wLWJhciB1bCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7IH1cblxuaGVhZGVyIC50b3AtYmFyIHtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuaGVhZGVyIC5sb2dvIGltZyB7XG4gIG1hcmdpbjogNXB4IGF1dG87XG4gIG1hcmdpbi10b3A6IDEuMTg3NXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxNi4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpIHtcbiAgICBoZWFkZXIgLmxvZ28gaW1nIHtcbiAgICAgIHdpZHRoOiAxNC4zNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIGhlYWRlciAubG9nbyBpbWcge1xuICAgICAgbWFyZ2luLXRvcDogaW5pdGlhbDtcbiAgICAgIG1hcmdpbjogMTVweCBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTIuNXJlbTsgfSB9XG5cbmhlYWRlciAubmF2IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QyMjUzMztcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDAuOTM3NXJlbTsgfVxuICBoZWFkZXIgLm5hdiAubWVudSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgaGVhZGVyIC5uYXYgLm1lbnUgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICBoZWFkZXIgLm5hdiAubWVudSBsaSBhIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHBhZGRpbmc6IDAuOHJlbSAwLjZyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIGhlYWRlciAubmF2IC5tZW51IGxpIGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIGhlYWRlciAubmF2IC5tYWluLW1lbnUge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMjBweCAtIDIwcHgpO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzOyB9XG4gICAgaGVhZGVyIC5uYXYgLm1haW4tbWVudS5zbGlkZWQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG4gIGhlYWRlciAubmF2IC5tYWluLW1lbnUtY29udCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuICAgIGhlYWRlciAubmF2IC5tYWluLW1lbnUtY29udC5vdmVyZmxvdyB7XG4gICAgICBvdmVyZmxvdy15OiBpbml0aWFsOyB9XG4gICAgaGVhZGVyIC5uYXYgLm1haW4tbWVudS1jb250IC5yaWNlcmNhIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgdG9wOiAwLjJyZW07IH1cblxuaGVhZGVyIC5mb3JtX3JpY2VyY2Ege1xuICBkaXNwbGF5OiBub25lOyB9XG4gIGhlYWRlciAuZm9ybV9yaWNlcmNhIGZvcm0uc2VhcmNoLWZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIGhlYWRlciAuZm9ybV9yaWNlcmNhIGZvcm0uc2VhcmNoLWZvcm0gYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICBoZWFkZXIgLmZvcm1fcmljZXJjYSBmb3JtLnNlYXJjaC1mb3JtIGJ1dHRvbiBpbWcge1xuICAgICAgICB3aWR0aDogMS4zNzVyZW07IH1cbiAgICBoZWFkZXIgLmZvcm1fcmljZXJjYSBmb3JtLnNlYXJjaC1mb3JtIGxhYmVsIGlucHV0LnNlYXJjaC1maWVsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZmZmZjtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZm9udC1mYW1pbHk6ICdTd2l0emVyJywgc2Fucy1zZXJpZjtcbiAgICAgIGhlaWdodDogaW5pdGlhbDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIGhlYWRlciAuZm9ybV9yaWNlcmNhIGZvcm0uc2VhcmNoLWZvcm0gbGFiZWwgaW5wdXQuc2VhcmNoLWZpZWxkOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZmZmZjsgfVxuICAgICAgaGVhZGVyIC5mb3JtX3JpY2VyY2EgZm9ybS5zZWFyY2gtZm9ybSBsYWJlbCBpbnB1dC5zZWFyY2gtZmllbGQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgLyogQ2hyb21lLCBGaXJlZm94LCBPcGVyYSwgU2FmYXJpIDEwLjErICovXG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAvKiBGaXJlZm94ICovIH1cblxuaGVhZGVyIGEucmljZXJjYSB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG5oZWFkZXIud2hpdGUgYS5idXR0b24uaG9sbG93IHtcbiAgY29sb3I6ICNkMjI1MzM7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAxcmVtIDJyZW07XG4gIGZvbnQtZmFtaWx5OiAnU3dpdHplcic7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxldHRlci1zcGFjaW5nOiAzcHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDVweDtcbiAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMXB4O1xuICBtYXJnaW4tdG9wOiAwO1xuICBib3JkZXItd2lkdGg6IDFweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpIHtcbiAgICBoZWFkZXIud2hpdGUgYS5idXR0b24uaG9sbG93IHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICBoZWFkZXIud2hpdGUgYS5idXR0b24uaG9sbG93OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDIyNTMzO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogI2QyMjUzMzsgfVxuXG4ucmljZXJjYSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5yaWNlcmNhIGltZyB7XG4gICAgaGVpZ2h0OiAxLjM3NXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMXB4OyB9XG5cbi5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQge1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCAuc29jaWFsX2Jsb2NrIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogM3JlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0IC5zb2NpYWxfYmxvY2sge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07IH0gfVxuICAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0IHVsLnNvY2lhbCB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0IHVsLnNvY2lhbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTsgfSB9XG4gIC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQgLmRmbGV4IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0IC5ibG9ja19vZmYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCAuYmxvY2tfb2ZmIC5jbG9zZV9vZmYge1xuICAgICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgcGFkZGluZzogMC45Mzc1cmVtOyB9XG4gICAgICAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0IC5ibG9ja19vZmYgLmNsb3NlX29mZiBkaXYge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7IH1cbiAgICAgICAgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCAuYmxvY2tfb2ZmIC5jbG9zZV9vZmYgZGl2OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgdG9wOiAxcHg7IH1cbiAgICAgICAgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCAuYmxvY2tfb2ZmIC5jbG9zZV9vZmYgZGl2Omxhc3QtY2hpbGQge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCAubG9nbyBpbWcge1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB1bCAuYWNjb3JkaW9uLW1lbnUgbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuICAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0IHVsLnZlcnRpY2FsLm1lbnUuYWNjb3JkaW9uLW1lbnUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQgdWwudmVydGljYWwubWVudS5hY2NvcmRpb24tbWVudTphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0xLjI1cmVtO1xuICAgICAgbGVmdDogLTAuNjI1cmVtO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMy43NXJlbTtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2QyMjUzMzsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgIC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQgdWwudmVydGljYWwubWVudS5hY2NvcmRpb24tbWVudTphZnRlciAubWVudS1pdGVtIHNwYW46YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogLTVweDsgfSB9XG4gIC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQgLnNlYXJjaC1mb3JtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICBtYXJnaW46IDJyZW0gYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtOyB9XG4gICAgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCAuc2VhcmNoLWZvcm0gaW5wdXQuc2VhcmNoLWZpZWxkIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUFFQUVBO1xuICAgICAgYm9yZGVyLXJhZGl1czogMS4yNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMS41NjI1cmVtOyB9XG4gICAgICAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0IC5zZWFyY2gtZm9ybSBpbnB1dC5zZWFyY2gtZmllbGQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICM2ZjZmNmY7IH1cbiAgICAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0IC5zZWFyY2gtZm9ybSBidXR0b24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA5cHg7XG4gICAgICByaWdodDogMTBweDsgfVxuICAgICAgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCAuc2VhcmNoLWZvcm0gYnV0dG9uIGltZyB7XG4gICAgICAgIHdpZHRoOiAyMHB4OyB9XG5cbi5vZmYtY2FudmFzLXdyYXBwZXIge1xuICBvdmVyZmxvdzogY2xpcDsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuM3JlbSAxcmVtO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5hY2NvcmRpb24tbWVudSBhIHtcbiAgICAgIHBhZGRpbmc6IDAuMXJlbSAxcmVtOyB9IH1cblxuLmhpZGUtZm9yLWxhcmdlLmJsb2NrX29mZiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gICAgLmhpZGUtZm9yLWxhcmdlLmJsb2NrX29mZiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAuaGlkZS1mb3ItbGFyZ2UuYmxvY2tfb2ZmIHVsLm1lbnUge1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5oaWRlLWZvci1sYXJnZS5ibG9ja19vZmYgdWwubWVudSBhIHtcbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmhpZGUtZm9yLWxhcmdlLmJsb2NrX29mZiB1bC5tZW51IGEgLm9wZW5fb2ZmIGRpdiB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICBoZWlnaHQ6IDFweDsgfVxuICAgICAgICAuaGlkZS1mb3ItbGFyZ2UuYmxvY2tfb2ZmIHVsLm1lbnUgYSAub3Blbl9vZmYgZGl2OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICB0b3A6IDhweDsgfVxuICAgICAgICAuaGlkZS1mb3ItbGFyZ2UuYmxvY2tfb2ZmIHVsLm1lbnUgYSAub3Blbl9vZmYgZGl2Omxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvdHRvbTogOHB4OyB9XG5cbi5wb3NpdGlvbi1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tbGVmdC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkaW5nLW1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cbiAgLnNsaWRpbmctbWVudSAubWVudSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMXJlbSAwO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMDsgfVxuICAgIC5zbGlkaW5nLW1lbnUgLm1lbnUgbGkubWVudS1pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5zbGlkaW5nLW1lbnUgLm1lbnUgbGkubWVudS1pdGVtLmN1cnJlbnQtbWVudS1pdGVtIGEge1xuICAgICAgICBjb2xvcjogI2QyMjUzMzsgfVxuICAgICAgLnNsaWRpbmctbWVudSAubWVudSBsaS5tZW51LWl0ZW0gYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgcGFkZGluZzogMC44cmVtIDAuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgICAuc2xpZGluZy1tZW51IC5tZW51IGxpLm1lbnUtaXRlbSBhIHNwYW46YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogLTVweDtcbiAgICAgICAgICBjb250ZW50OiBub25lOyB9XG4gICAgICAgIC5zbGlkaW5nLW1lbnUgLm1lbnUgbGkubWVudS1pdGVtIGE6aG92ZXIsIC5zbGlkaW5nLW1lbnUgLm1lbnUgbGkubWVudS1pdGVtIGE6Zm9jdXMge1xuICAgICAgICAgIGNvbG9yOiAjZDIyNTMzOyB9XG4gICAgICAuc2xpZGluZy1tZW51IC5tZW51IGxpLm1lbnUtaXRlbSAudHJlbmRpbmctdG9nZ2xlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4ubWVudS1pdGVtIGEgc3BhbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubWVudS1pdGVtIGEgc3BhbjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkMjI1MzM7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDJweDtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2U7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3R0b206IC0wLjQzNzVyZW07IH1cblxuLm1lbnUtaXRlbSBhOmhvdmVyIHNwYW46YWZ0ZXIge1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucm93IC5uYXYge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi50cmVuZGluZy1tZW51LXRvZ2dsZS1jb250IHtcbiAgei1pbmRleDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5tZW51LWluLXRlbmRlbnphLWRlc2sge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEyMHB4O1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5tZW51LWluLXRlbmRlbnphLWRlc2suYWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgLm1lbnUtaW4tdGVuZGVuemEtZGVzayAudHJlbmRpbmctdG9nZ2xlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLm1haW4taGVhZGVyIHtcbiAgei1pbmRleDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qIHF1ZXN0byBkZXZlIGVzc2VyZSB1Z3VhbGUgYWxsZSB2b2NpIGRpIG1lbnUgbm9ybWFsaSwgc2UgY2FtYmkgcXVlbGxlICh0aXBvIGluIHJlc3AgbyBjaGUgbmUgc28pIGRldmkgY2FtYmlhcmUgcHVyZSBxdWVzdGUgKFRFU1RBUkUpICovXG4ucC1wbHVzX190b2dnbGUtYnRuIHtcbiAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogd2hpdGU7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7IH1cblxuLnAtcGx1c19fdG9nZ2xlLWJ0bjpob3Zlcixcbi5wLXBsdXNfX3RvZ2dsZS1idG46YWN0aXZlLFxuLnAtcGx1c19fdG9nZ2xlLWJ0blthcmlhLWV4cGFuZGVkPXRydWVdIHtcbiAgYmFja2dyb3VuZDogI0FEMEIxODsgfVxuXG4ucC1wbHVzX19vdmVyZmxvdyB7XG4gIGJhY2tncm91bmQ6ICNBRDBCMTg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAucC1wbHVzX19vdmVyZmxvdyBsaSBhIHtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHdoaXRlOyB9XG5cbi5wLXBsdXNfX3RvZ2dsZS1idG4gc3BhbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNyUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wLXBsdXMtY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxMzBweCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4ucC1wbHVzLWNvbnRhaW5lci5zbGlkZWQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cblxuLmZvcm1fcmljZXJjYV9tb2RhbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogOTk7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZvcm1fcmljZXJjYV9tb2RhbGUgLnNlYXJjaC1mb3JtIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtOyB9XG4gIC5mb3JtX3JpY2VyY2FfbW9kYWxlIC5jb250YWluZXJfcmljZXJjYSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1heC13aWR0aDogNjEuOTM3NXJlbTsgfVxuICAuZm9ybV9yaWNlcmNhX21vZGFsZSBpbnB1dC5zZWFyY2gtZmllbGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgZm9udC1mYW1pbHk6ICdTZW50aWVudCcsIHNlcmlmO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHBhZGRpbmc6IDEuNXJlbSAwLjVyZW07IH1cbiAgICAuZm9ybV9yaWNlcmNhX21vZGFsZSBpbnB1dC5zZWFyY2gtZmllbGQ6Zm9jdXMge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QyMjUzMztcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5mb3JtX3JpY2VyY2FfbW9kYWxlIC5oMSwgLmZvcm1fcmljZXJjYV9tb2RhbGUgLmg0IHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuZm9ybV9yaWNlcmNhX21vZGFsZSAuaDQge1xuICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLmZvcm1fcmljZXJjYV9tb2RhbGUgLmNsb3NlLW1vZCBpbWcge1xuICAgIHdpZHRoOiAzOHB4O1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuZm9ybV9yaWNlcmNhX21vZGFsZSBzZWxlY3Qge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LWZhbWlseTogJ1N3aXR6ZXInLCBzYW5zLXNlcmlmOyB9XG4gIC5mb3JtX3JpY2VyY2FfbW9kYWxlIGJ1dHRvbiB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1mYW1pbHk6ICdkaW4tMjAxNCc7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDIyNTMzO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxcmVtIDNyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5mb3JtX3JpY2VyY2FfbW9kYWxlIGJ1dHRvbiBpbWcge1xuICAgICAgd2lkdGg6IDIycHg7XG4gICAgICBtYXJnaW4tbGVmdDogMTVweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAuc3dpcGVyQXJ0aWNsZSB7XG4gICAgcGFkZGluZzogMnJlbSAwOyB9IH1cblxuLnN3aXBlckFydGljbGUgLnN3aXBlci1zbGlkZSAuZGZsZXgge1xuICBmbGV4LXdyYXA6IGluaXRpYWw7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gIC5zd2lwZXJBcnRpY2xlIC5zd2lwZXItc2xpZGUgLm5ld3Mge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG5cbi5zd2lwZXJBcnRpY2xlIC5zd2lwZXItc2xpZGUgLm5ld3MgLnR4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy1yaWdodDogMnJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuc3dpcGVyQXJ0aWNsZSAuc3dpcGVyLXNsaWRlIC5uZXdzIC50eHQge1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIC5zd2lwZXJBcnRpY2xlIC5zd2lwZXItc2xpZGUgLm5ld3MgLnR4dCBoMyB7XG4gICAgZm9udC1zaXplOiAyLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NzBweCkge1xuICAgICAgLnN3aXBlckFydGljbGUgLnN3aXBlci1zbGlkZSAubmV3cyAudHh0IGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5zd2lwZXJBcnRpY2xlIC5zd2lwZXItc2xpZGUgLm5ld3MgLnR4dCBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAgIC5zd2lwZXJBcnRpY2xlIC5zd2lwZXItc2xpZGUgLm5ld3MgLnR4dCBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTsgfSB9XG4gIC5zd2lwZXJBcnRpY2xlIC5zd2lwZXItc2xpZGUgLm5ld3MgLnR4dCBoNCB7XG4gICAgZm9udC1zaXplOiAxLjQzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAuc3dpcGVyQXJ0aWNsZSAuc3dpcGVyLXNsaWRlIC5uZXdzIC50eHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMTIwcHg7XG4gICAgaGVpZ2h0OiAxLjVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDIyNTMzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gICAgICAuc3dpcGVyQXJ0aWNsZSAuc3dpcGVyLXNsaWRlIC5uZXdzIC50eHQ6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDQuMzc1cmVtO1xuICAgICAgICBsZWZ0OiAwOyB9IH1cbiAgLnN3aXBlckFydGljbGUgLnN3aXBlci1zbGlkZSAubmV3cyAudHh0IGEuc2NoZWRhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1mYW1pbHk6ICdkaW4tMjAxNCc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnN3aXBlckFydGljbGUgLnN3aXBlci1zbGlkZSAubmV3cyAudHh0IGEuc2NoZWRhOmJlZm9yZSB7XG4gICAgICB3aWR0aDogMTEwcHg7XG4gICAgICBoZWlnaHQ6IDEuNXB4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDIyNTMzOyB9XG4gIC5zd2lwZXJBcnRpY2xlIC5zd2lwZXItc2xpZGUgLm5ld3MgLnR4dCBociB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkMjI1MzM7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NzBweCkge1xuICAuc3dpcGVyQXJ0aWNsZSAuc3dpcGVyLXNsaWRlIC5uZXdzIC5pbWcge1xuICAgIGhlaWdodDogMzcuNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAuc3dpcGVyQXJ0aWNsZSAuc3dpcGVyLXNsaWRlIC5uZXdzIC5pbWcge1xuICAgIGhlaWdodDogMjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAuc3dpcGVyQXJ0aWNsZSAuc3dpcGVyLXNsaWRlIC5uZXdzIC5pbWcge1xuICAgIGhlaWdodDogMTZyZW07IH0gfVxuXG4uc3dpcGVyQXJ0aWNsZSAuc3dpcGVyLXNsaWRlIC5uZXdzIC5pbWcgLnBsYXlfYnV0dG9uIHtcbiAgYm90dG9tOiAyNXB4O1xuICBsZWZ0OiAyNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgLnN3aXBlckFydGljbGUgLnN3aXBlci1zbGlkZSAubmV3cyAuaW1nIC5wbGF5X2J1dHRvbiB7XG4gICAgICBib3R0b206IDE1cHg7XG4gICAgICBsZWZ0OiAyNXB4OyB9IH1cbiAgLnN3aXBlckFydGljbGUgLnN3aXBlci1zbGlkZSAubmV3cyAuaW1nIC5wbGF5X2J1dHRvbiBpbWcge1xuICAgIHdpZHRoOiA4NXB4ICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgICAgLnN3aXBlckFydGljbGUgLnN3aXBlci1zbGlkZSAubmV3cyAuaW1nIC5wbGF5X2J1dHRvbiBpbWcge1xuICAgICAgICB3aWR0aDogNTBweCAhaW1wb3J0YW50OyB9IH1cblxuLnN3aXBlckFydGljbGUgLnN3aXBlci1idXR0b24tbmV4dCxcbi5zd2lwZXJBcnRpY2xlIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICB0b3A6IGluaXRpYWw7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDJyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gICAgLnN3aXBlckFydGljbGUgLnN3aXBlci1idXR0b24tbmV4dCxcbiAgICAuc3dpcGVyQXJ0aWNsZSAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICAgIHJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAuc3dpcGVyQXJ0aWNsZSAuc3dpcGVyLWJ1dHRvbi1uZXh0LFxuICAgIC5zd2lwZXJBcnRpY2xlIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgICAgYm90dG9tOiAxcmVtOyB9IH1cbiAgLnN3aXBlckFydGljbGUgLnN3aXBlci1idXR0b24tbmV4dDphZnRlcixcbiAgLnN3aXBlckFydGljbGUgLnN3aXBlci1idXR0b24tcHJldjphZnRlciB7XG4gICAgY29udGVudDogdXJsKFwiLi4vaW1hZ2VzL2Fycm93LWR4LnN2Z1wiKTtcbiAgICB3aWR0aDogMjZweDsgfVxuXG4uc3dpcGVyQXJ0aWNsZSAuc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlckFydGljbGUgLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIGxlZnQ6IGluaXRpYWw7XG4gIHJpZ2h0OiA0cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAgIC5zd2lwZXJBcnRpY2xlIC5zd2lwZXItYnV0dG9uLXByZXYsXG4gICAgLnN3aXBlckFydGljbGUgLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgICByaWdodDogMi41cmVtOyB9IH1cbiAgLnN3aXBlckFydGljbGUgLnN3aXBlci1idXR0b24tcHJldjphZnRlcixcbiAgLnN3aXBlckFydGljbGUgLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tbmV4dDphZnRlciB7XG4gICAgY29udGVudDogdXJsKFwiLi4vaW1hZ2VzL2Fycm93LXN4LnN2Z1wiKTtcbiAgICB3aWR0aDogMjZweDsgfVxuXG4uc3dpcGVyQXJ0aWNsZVNtYWxsIHtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gICAgLnN3aXBlckFydGljbGVTbWFsbCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgLnN3aXBlckFydGljbGVTbWFsbCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gIC5zd2lwZXJBcnRpY2xlU21hbGwgLnN3aXBlci1idXR0b24tbmV4dCxcbiAgLnN3aXBlckFydGljbGVTbWFsbCAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICB0b3A6IGluaXRpYWw7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwOyB9XG4gICAgLnN3aXBlckFydGljbGVTbWFsbCAuc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyLFxuICAgIC5zd2lwZXJBcnRpY2xlU21hbGwgLnN3aXBlci1idXR0b24tcHJldjphZnRlciB7XG4gICAgICBjb250ZW50OiB1cmwoXCIuLi9pbWFnZXMvYXJyb3ctZHguc3ZnXCIpO1xuICAgICAgd2lkdGg6IDI2cHg7IH1cbiAgLnN3aXBlckFydGljbGVTbWFsbCAuc3dpcGVyLWJ1dHRvbi1wcmV2LFxuICAuc3dpcGVyQXJ0aWNsZVNtYWxsIC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgcmlnaHQ6IDQwcHg7IH1cbiAgICAuc3dpcGVyQXJ0aWNsZVNtYWxsIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIsXG4gICAgLnN3aXBlckFydGljbGVTbWFsbCAuc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IHVybChcIi4uL2ltYWdlcy9hcnJvdy1zeC5zdmdcIik7XG4gICAgICB3aWR0aDogMjZweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgICAuc3dpcGVyQXJ0aWNsZVNtYWxsIC5zd2lwZXItYnV0dG9uLXByZXYsXG4gICAgICAuc3dpcGVyQXJ0aWNsZVNtYWxsIC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICAgICAgICByaWdodDogMjVweDsgfSB9XG5cbi5zd2lwZXJBcnRpY2xlUnViIHtcbiAgcGFkZGluZzogMS41cmVtIDA7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZmZmZmZmO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmZmZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgIC5zd2lwZXJBcnRpY2xlUnViIHtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMDsgfSB9XG4gIC5zd2lwZXJBcnRpY2xlUnViIC5zd2lwZXItc2xpZGUgLmRmbGV4IHtcbiAgICBmbGV4LXdyYXA6IGluaXRpYWw7IH1cbiAgLnN3aXBlckFydGljbGVSdWIgLnN3aXBlci1zbGlkZSAubmV3cyBhOmhvdmVyIC5zbWFsbC01LmxhcmdlLTMgaW1nIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cbiAgLnN3aXBlckFydGljbGVSdWIgLnN3aXBlci1zbGlkZSAubmV3cyBhOmhvdmVyIHAge1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5zd2lwZXJBcnRpY2xlUnViIC5zd2lwZXItc2xpZGUgLm5ld3MgLnR4dCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5zd2lwZXJBcnRpY2xlUnViIC5zd2lwZXItc2xpZGUgLm5ld3MgLnR4dCBoMyB7XG4gICAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAgICAgLnN3aXBlckFydGljbGVSdWIgLnN3aXBlci1zbGlkZSAubmV3cyAudHh0IGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuMnJlbTsgfSB9XG4gICAgLnN3aXBlckFydGljbGVSdWIgLnN3aXBlci1zbGlkZSAubmV3cyAudHh0IHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTsgfVxuICAuc3dpcGVyQXJ0aWNsZVJ1YiAuc3dpcGVyLXNsaWRlIC5uZXdzID4gYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAuc3dpcGVyQXJ0aWNsZVJ1YiAuc3dpcGVyLXNsaWRlIC5uZXdzIC5zbWFsbC01LmxhcmdlLTMge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuc3dpcGVyQXJ0aWNsZVJ1YiAuc3dpcGVyLXNsaWRlIC5uZXdzIC5zbWFsbC01LmxhcmdlLTMgaW1nIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7IH1cblxuLnN3aXBlckNvcnJlbGF0byB7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAgIC5zd2lwZXJDb3JyZWxhdG8ge1xuICAgICAgbWF4LXdpZHRoOiAzMDBweDsgfSB9XG4gIC5zd2lwZXJDb3JyZWxhdG8uc3RpY2t5LWJveCB7XG4gICAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgICAuc3dpcGVyQ29ycmVsYXRvLnN0aWNreS1ib3gge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLnN3aXBlckNvcnJlbGF0by5zdGlja3ktYm94IC5uZXdzLnNtYWxsLW5ld3Mge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAgICAgLnN3aXBlckNvcnJlbGF0by5zdGlja3ktYm94IC5uZXdzLnNtYWxsLW5ld3MgLmltZyB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfSB9XG4gICAgICAuc3dpcGVyQ29ycmVsYXRvLnN0aWNreS1ib3ggLm5ld3Muc21hbGwtbmV3cyAudHh0IGgzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gICAgICAuc3dpcGVyQ29ycmVsYXRvLnN0aWNreS1ib3ggLm5ld3Muc21hbGwtbmV3cyAudHh0IHAge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgICAgLnN3aXBlckNvcnJlbGF0by5zdGlja3ktYm94IC5uZXdzLnNtYWxsLW5ld3MgLnR4dCBoNiwgLnN3aXBlckNvcnJlbGF0by5zdGlja3ktYm94IC5uZXdzLnNtYWxsLW5ld3MgLnR4dCAuaDYge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gICAgICAuc3dpcGVyQ29ycmVsYXRvLnN0aWNreS1ib3ggLm5ld3Muc21hbGwtbmV3cyAudHh0IGhyIHtcbiAgICAgICAgdG9wOiAtN3B4OyB9XG4gICAgICAuc3dpcGVyQ29ycmVsYXRvLnN0aWNreS1ib3ggLm5ld3Muc21hbGwtbmV3cyAudHh0IC5leGNlcnB0LW5ld3Mge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zd2lwZXJDb3JyZWxhdG8gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7IH1cbiAgLnN3aXBlckNvcnJlbGF0byAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7IH1cblxuLndoaXRlIC5zd2lwZXJBcnRpY2xlUnViIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMwMDAwMDA7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMDAwMDAwOyB9XG5cbi5zdy1hcnJvdyAuc3dpcGVyLWJ1dHRvbi1uZXh0LFxuLnN3LWFycm93IC5zd2lwZXItYnV0dG9uLXByZXYge1xuICB0b3A6IGluaXRpYWw7XG4gIHRvcDogMTVweDtcbiAgYm90dG9tOiBpbml0aWFsOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAgIC5zdy1hcnJvdyAuc3dpcGVyLWJ1dHRvbi1uZXh0LFxuICAgIC5zdy1hcnJvdyAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICAgIHRvcDogMTBweDsgfSB9XG4gIC5zdy1hcnJvdyAuc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyLFxuICAuc3ctYXJyb3cgLnN3aXBlci1idXR0b24tcHJldjphZnRlciB7XG4gICAgY29udGVudDogdXJsKFwiLi4vaW1hZ2VzL2Fycm93LWR4LnN2Z1wiKTtcbiAgICB3aWR0aDogMjZweDsgfVxuXG4uc3ctYXJyb3cgLnN3aXBlci1idXR0b24tcHJldixcbi5zdy1hcnJvdyAuc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgbGVmdDogaW5pdGlhbDtcbiAgcmlnaHQ6IDYwcHg7IH1cbiAgLnN3LWFycm93IC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIsXG4gIC5zdy1hcnJvdyAuc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyIHtcbiAgICBjb250ZW50OiB1cmwoXCIuLi9pbWFnZXMvYXJyb3ctc3guc3ZnXCIpO1xuICAgIHdpZHRoOiAyNnB4OyB9XG5cbi5hcnRpY2xlc21hbGwuc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLmFydGljbGVzbWFsbC5zd2lwZXItYnV0dG9uLW5leHQge1xuICBib3R0b206IC0yNXB4O1xuICB0b3A6IGluaXRpYWw7XG4gIHJpZ2h0OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgLmFydGljbGVzbWFsbC5zd2lwZXItYnV0dG9uLXByZXYsXG4gICAgLmFydGljbGVzbWFsbC5zd2lwZXItYnV0dG9uLW5leHQge1xuICAgICAgYm90dG9tOiBpbml0aWFsO1xuICAgICAgdG9wOiAtMi4zcmVtOyB9XG4gICAgICAuYXJ0aWNsZXNtYWxsLnN3aXBlci1idXR0b24tcHJldjphZnRlcixcbiAgICAgIC5hcnRpY2xlc21hbGwuc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDI1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIGFuZCAobWluLXdpZHRoOiA2ODBweCkge1xuICAgIC5hcnRpY2xlc21hbGwuc3dpcGVyLWJ1dHRvbi1wcmV2LFxuICAgIC5hcnRpY2xlc21hbGwuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICAgIHJpZ2h0OiBjYWxjKDUwJSAtIDIuNXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuYXJ0aWNsZXNtYWxsLnN3aXBlci1idXR0b24tcHJldixcbiAgICAuYXJ0aWNsZXNtYWxsLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgICBib3R0b206IC0xNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAuYXJ0aWNsZXNtYWxsLnN3aXBlci1idXR0b24tcHJldixcbiAgICAuYXJ0aWNsZXNtYWxsLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgICByaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgLmFydGljbGVzbWFsbC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIsXG4gIC5hcnRpY2xlc21hbGwuc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyIHtcbiAgICBjb250ZW50OiB1cmwoLi4vaW1hZ2VzL2Fycm93LWR4LWIuc3ZnKTtcbiAgICB3aWR0aDogMzBweDsgfVxuXG4uYXJ0aWNsZXNtYWxsLnN3aXBlci1idXR0b24tcHJldiB7XG4gIGxlZnQ6IGluaXRpYWw7XG4gIHJpZ2h0OiAzcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkgYW5kIChtaW4td2lkdGg6IDY4MHB4KSB7XG4gICAgLmFydGljbGVzbWFsbC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgICAgcmlnaHQ6IGNhbGMoNTAlIC0gLTEuNXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgIC5hcnRpY2xlc21hbGwuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICAgIHJpZ2h0OiAzLjVyZW07IH0gfVxuXG4uY2Fyb3NlbGxvLWNhdCB7XG4gIHBhZGRpbmctdG9wOiAxcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgLmNhcm9zZWxsby1jYXQge1xuICAgICAgbWFyZ2luLXRvcDogM3JlbTsgfSB9XG4gIC5jYXJvc2VsbG8tY2F0IC5zdy1hcnJvdyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0zcmVtO1xuICAgIHJpZ2h0OiAwOyB9XG4gIC5jYXJvc2VsbG8tY2F0ID4gLnJvdy5kZmxleCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5ob21lIC5zd2lwZXJBcnRpY2xlUnViIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgIC5ob21lIC5zd2lwZXJBcnRpY2xlUnViIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxNXB4OyB9IH1cbiAgLmhvbWUgLnN3aXBlckFydGljbGVSdWIgLnR4dCB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgICAuaG9tZSAuc3dpcGVyQXJ0aWNsZVJ1YiAudHh0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgLmhvbWUgLnN3aXBlckFydGljbGVSdWIgLnR4dCBoMyB7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAuaG9tZSAuc3dpcGVyQXJ0aWNsZVJ1YiAuaW1nIHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDsgfSB9XG5cbi5zaW5nbGUgLmdhbGxlcmlhX2dyaWdsaWEge1xuICBwYWRkaW5nOiAwLjhyZW07IH1cbiAgLnNpbmdsZSAuZ2FsbGVyaWFfZ3JpZ2xpYSAuc2luZ2xlLWltZyB7XG4gICAgcGFkZGluZzogMC4ycmVtOyB9XG4gICAgLnNpbmdsZSAuZ2FsbGVyaWFfZ3JpZ2xpYSAuc2luZ2xlLWltZyBhOmhvdmVyIGltZyB7XG4gICAgICBvcGFjaXR5OiAwLjg7IH1cblxuLnNpbmdsZSAuZ2FsbGVyaWEgLm15U3dpcGVyMiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgLnNpbmdsZSAuZ2FsbGVyaWEgLm15U3dpcGVyMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH0gfVxuICAuc2luZ2xlIC5nYWxsZXJpYSAubXlTd2lwZXIyIGltZyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5zaW5nbGUgLmdhbGxlcmlhIC5teVN3aXBlcjIgLnN3aXBlci1idXR0b24tbmV4dCxcbiAgLnNpbmdsZSAuZ2FsbGVyaWEgLm15U3dpcGVyMiAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAyMnB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICByaWdodDogMDtcbiAgICBvcGFjaXR5OiAwLjI7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7IH1cbiAgICAuc2luZ2xlIC5nYWxsZXJpYSAubXlTd2lwZXIyIC5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsXG4gICAgLnNpbmdsZSAuZ2FsbGVyaWEgLm15U3dpcGVyMiAuc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IHVybChcIi4uL2ltYWdlcy9hcnJvdy1keC1zaW5nbGUuc3ZnXCIpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmb250LXNpemU6IGluaXRpYWw7XG4gICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICBmb250LWZhbWlseTogaW5pdGlhbDtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG4gICAgLnNpbmdsZSAuZ2FsbGVyaWEgLm15U3dpcGVyMiAuc3dpcGVyLWJ1dHRvbi1uZXh0OmhvdmVyLFxuICAgIC5zaW5nbGUgLmdhbGxlcmlhIC5teVN3aXBlcjIgLnN3aXBlci1idXR0b24tcHJldjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5zaW5nbGUgLmdhbGxlcmlhIC5teVN3aXBlcjIgLnN3aXBlci1idXR0b24tcHJldixcbiAgLnNpbmdsZSAuZ2FsbGVyaWEgLm15U3dpcGVyMiAuc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiBpbml0aWFsOyB9XG4gICAgLnNpbmdsZSAuZ2FsbGVyaWEgLm15U3dpcGVyMiAuc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyLFxuICAgIC5zaW5nbGUgLmdhbGxlcmlhIC5teVN3aXBlcjIgLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tbmV4dDphZnRlciB7XG4gICAgICBjb250ZW50OiB1cmwoXCIuLi9pbWFnZXMvYXJyb3ctc3gtc2luZ2xlLnN2Z1wiKTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udC1zaXplOiBpbml0aWFsO1xuICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgZm9udC1mYW1pbHk6IGluaXRpYWw7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuICAgIC5zaW5nbGUgLmdhbGxlcmlhIC5teVN3aXBlcjIgLnN3aXBlci1idXR0b24tcHJldjpob3ZlcixcbiAgICAuc2luZ2xlIC5nYWxsZXJpYSAubXlTd2lwZXIyIC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQ6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuXG4uc2luZ2xlIC5nYWxsZXJpYSAubXlTd2lwZXIge1xuICBwYWRkaW5nLXJpZ2h0OiA0cmVtOyB9XG4gIC5zaW5nbGUgLmdhbGxlcmlhIC5teVN3aXBlciAuc3dpcGVyLXNsaWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5zaW5nbGUgLmdhbGxlcmlhIC5teVN3aXBlciAuc3dpcGVyLXNsaWRlOmhvdmVyLCAuc2luZ2xlIC5nYWxsZXJpYSAubXlTd2lwZXIgLnN3aXBlci1zbGlkZS10aHVtYi1hY3RpdmUge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuc2luZ2xlIC5nYWxsZXJpYSAubXlTd2lwZXIgLnN3aXBlci1idXR0b24tbmV4dCxcbiAgLnNpbmdsZSAuZ2FsbGVyaWEgLm15U3dpcGVyIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0b3A6IDIycHg7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIG9wYWNpdHk6IDAuMjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlOyB9XG4gICAgLnNpbmdsZSAuZ2FsbGVyaWEgLm15U3dpcGVyIC5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsXG4gICAgLnNpbmdsZSAuZ2FsbGVyaWEgLm15U3dpcGVyIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIge1xuICAgICAgY29udGVudDogdXJsKFwiLi4vaW1hZ2VzL2Fycm93LWR4LXNpbmdsZS5zdmdcIik7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogaW5pdGlhbDtcbiAgICAgIHBhZGRpbmc6IDhweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBpbml0aWFsO1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cbiAgICAuc2luZ2xlIC5nYWxsZXJpYSAubXlTd2lwZXIgLnN3aXBlci1idXR0b24tbmV4dDpob3ZlcixcbiAgICAuc2luZ2xlIC5nYWxsZXJpYSAubXlTd2lwZXIgLnN3aXBlci1idXR0b24tcHJldjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5zaW5nbGUgLmdhbGxlcmlhIC5teVN3aXBlciAuc3dpcGVyLWJ1dHRvbi1wcmV2LFxuICAuc2luZ2xlIC5nYWxsZXJpYSAubXlTd2lwZXIgLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogaW5pdGlhbDsgfVxuICAgIC5zaW5nbGUgLmdhbGxlcmlhIC5teVN3aXBlciAuc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyLFxuICAgIC5zaW5nbGUgLmdhbGxlcmlhIC5teVN3aXBlciAuc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IHVybChcIi4uL2ltYWdlcy9hcnJvdy1zeC1zaW5nbGUuc3ZnXCIpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmb250LXNpemU6IGluaXRpYWw7XG4gICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICBmb250LWZhbWlseTogaW5pdGlhbDtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG4gICAgLnNpbmdsZSAuZ2FsbGVyaWEgLm15U3dpcGVyIC5zd2lwZXItYnV0dG9uLXByZXY6aG92ZXIsXG4gICAgLnNpbmdsZSAuZ2FsbGVyaWEgLm15U3dpcGVyIC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQ6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuXG4uaW50cm8gLmdhbGxlcmlhIHtcbiAgbWFyZ2luLXRvcDogMnJlbTsgfVxuXG4uYmxvY2stbmV3cyB7XG4gIHBhZGRpbmc6IDJyZW0gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuYmxvY2stbmV3cyB7XG4gICAgICBwYWRkaW5nOiAxcmVtIDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgIC5ibG9jay1uZXdzIHtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAwOyB9IH1cbiAgLmJsb2NrLW5ld3MgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpIHtcbiAgICAuYmxvY2stbmV3cyBoMiwgLmJsb2NrLW5ld3MgLmgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07IH0gfVxuICAuYmxvY2stbmV3cyAudGl0bGUtc2VjdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmJsb2NrLW5ld3MgLnRpdGxlLXNlY3Rpb246YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiA2MHB4O1xuICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkMjI1MzM7XG4gICAgICBsZWZ0OiAtMTYwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAgICAgICAuYmxvY2stbmV3cyAudGl0bGUtc2VjdGlvbjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiA1M3B4O1xuICAgICAgICAgIHdpZHRoOiA1cmVtO1xuICAgICAgICAgIGxlZnQ6IDA7IH0gfVxuICAuYmxvY2stbmV3cyAuaW1nIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwOyB9XG4gIC5ibG9jay1uZXdzIC5uZXdzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuYmxvY2stbmV3cyAubmV3cyAuaW1nIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgLmJsb2NrLW5ld3MgLm5ld3MgLmltZyB7XG4gICAgICAgICAgaGVpZ2h0OiAzMHJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgICAgICAuYmxvY2stbmV3cyAubmV3cyAuaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IDEycmVtOyB9IH1cbiAgICAgIC5ibG9jay1uZXdzIC5uZXdzIC5pbWc6aG92ZXIgfiAudHh0IGEge1xuICAgICAgICBjb2xvcjogI2QyMjUzMzsgfVxuICAgICAgLmJsb2NrLW5ld3MgLm5ld3MgLmltZyAucGxheV9idXR0b24ge1xuICAgICAgICBib3R0b206IDE1cHg7XG4gICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgICAgICAuYmxvY2stbmV3cyAubmV3cyAuaW1nIC5wbGF5X2J1dHRvbiBpbWcge1xuICAgICAgICAgIHdpZHRoOiA4MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbWluLWhlaWdodDogMTAwJTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAgICAgICAgICAgLmJsb2NrLW5ld3MgLm5ld3MgLmltZyAucGxheV9idXR0b24gaW1nIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDUwcHggIWltcG9ydGFudDsgfSB9XG4gICAgLmJsb2NrLW5ld3MgLm5ld3MgLnR4dCB7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gICAgICAuYmxvY2stbmV3cyAubmV3cyAudHh0IC5leGNlcnB0LW5ld3MgYiwgLmJsb2NrLW5ld3MgLm5ld3MgLnR4dCAuZXhjZXJwdC1uZXdzIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAgIC5ibG9jay1uZXdzIC5uZXdzIC50eHQgaHIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2QyMjUzMztcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLTEwcHg7IH1cbiAgICAgIC5ibG9jay1uZXdzIC5uZXdzIC50eHQgaDMge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgICAuYmxvY2stbmV3cyAubmV3cyAudHh0IHNwYW4sIC5ibG9jay1uZXdzIC5uZXdzIC50eHQgZW0ge1xuICAgICAgICBmb250LWZhbWlseTogJ1NlbnRpZW50Jywgc2VyaWYgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmJsb2NrLW5ld3MgLmJhbm5lciBpbWcge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5ibG9jay1uZXdzIC54eC1sYXJnZS1uZXdzIC5pbWcge1xuICAgIGhlaWdodDogNjAwcHg7IH1cbiAgLmJsb2NrLW5ld3MgLnh4LWxhcmdlLW5ld3MgLnR4dCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLmJsb2NrLW5ld3MgLnh4LWxhcmdlLW5ld3MgLnR4dDpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtMTVweDtcbiAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAxLjVweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkMjI1MzM7XG4gICAgICBsZWZ0OiAtMTYwcHg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuYmxvY2stbmV3cyAueHgtbGFyZ2UtbmV3cyAudHh0IGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NzBweCkge1xuICAgICAgICAuYmxvY2stbmV3cyAueHgtbGFyZ2UtbmV3cyAudHh0IGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IDIuNjg3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgLmJsb2NrLW5ld3MgLnh4LWxhcmdlLW5ld3MgLnR4dCBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAgICAgLmJsb2NrLW5ld3MgLnh4LWxhcmdlLW5ld3MgLnR4dCBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuICAgIC5ibG9jay1uZXdzIC54eC1sYXJnZS1uZXdzIC50eHQgaDQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAgIC5ibG9jay1uZXdzIC54eC1sYXJnZS1uZXdzIC50eHQgaDYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuYmxvY2stbmV3cyAueC1sYXJnZS1uZXdzIC5pbWcge1xuICAgIGhlaWdodDogNTcwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpIHtcbiAgICAgIC5ibG9jay1uZXdzIC54LWxhcmdlLW5ld3MgLmltZyB7XG4gICAgICAgIGhlaWdodDogMzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAgICAgLmJsb2NrLW5ld3MgLngtbGFyZ2UtbmV3cyAuaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4eCkge1xuICAgICAgLmJsb2NrLW5ld3MgLngtbGFyZ2UtbmV3cyAuaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAxNXJlbTsgfSB9XG4gIC5ibG9jay1uZXdzIC54LWxhcmdlLW5ld3MgLnR4dCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogMnJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAgICAgLmJsb2NrLW5ld3MgLngtbGFyZ2UtbmV3cyAudHh0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgICAgLmJsb2NrLW5ld3MgLngtbGFyZ2UtbmV3cyAudHh0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfSB9XG4gICAgLmJsb2NrLW5ld3MgLngtbGFyZ2UtbmV3cyAudHh0OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTRweDtcbiAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAxLjVweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkMjI1MzM7XG4gICAgICBsZWZ0OiAtMTYwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAgICAgICAuYmxvY2stbmV3cyAueC1sYXJnZS1uZXdzIC50eHQ6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7IH0gfVxuICAgIC5ibG9jay1uZXdzIC54LWxhcmdlLW5ld3MgLnR4dCBoMyB7XG4gICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpIHtcbiAgICAgICAgLmJsb2NrLW5ld3MgLngtbGFyZ2UtbmV3cyAudHh0IGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IDIuNjg3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgLmJsb2NrLW5ld3MgLngtbGFyZ2UtbmV3cyAudHh0IGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IDIuNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgICAgICAuYmxvY2stbmV3cyAueC1sYXJnZS1uZXdzIC50eHQgaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cbiAgICAuYmxvY2stbmV3cyAueC1sYXJnZS1uZXdzIC50eHQgaDQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NzBweCkge1xuICAgICAgICAuYmxvY2stbmV3cyAueC1sYXJnZS1uZXdzIC50eHQgaDQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS40Mzc1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgICAgIC5ibG9jay1uZXdzIC54LWxhcmdlLW5ld3MgLnR4dCBoNCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG4gICAgLmJsb2NrLW5ld3MgLngtbGFyZ2UtbmV3cyAudHh0IGg2IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAuYmxvY2stbmV3cyAubGFyZ2UtbmV3cyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH0gfVxuICAuYmxvY2stbmV3cyAubGFyZ2UtbmV3cyAuaW1nIHtcbiAgICBoZWlnaHQ6IDMxLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NzBweCkge1xuICAgICAgLmJsb2NrLW5ld3MgLmxhcmdlLW5ld3MgLmltZyB7XG4gICAgICAgIGhlaWdodDogMjguNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAgICAgLmJsb2NrLW5ld3MgLmxhcmdlLW5ld3MgLmltZyB7XG4gICAgICAgIGhlaWdodDogMjByZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgICAuYmxvY2stbmV3cyAubGFyZ2UtbmV3cyAuaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAxMnJlbTsgfSB9XG4gIC5ibG9jay1uZXdzIC5sYXJnZS1uZXdzIC50eHQge1xuICAgIHBhZGRpbmctbGVmdDogMTIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IDUwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5ibG9jay1uZXdzIC5sYXJnZS1uZXdzIC50eHQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMuMTI1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gICAgICAuYmxvY2stbmV3cyAubGFyZ2UtbmV3cyAudHh0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfSB9XG4gICAgLmJsb2NrLW5ld3MgLmxhcmdlLW5ld3MgLnR4dDphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0xMHB4O1xuICAgICAgd2lkdGg6IDE4MHB4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDEuNXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2QyMjUzMztcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAuYmxvY2stbmV3cyAubGFyZ2UtbmV3cyAudHh0IC5leGNlcnB0LW5ld3Mge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuYmxvY2stbmV3cyAubGFyZ2UtbmV3cyAudHh0IGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NzBweCkge1xuICAgICAgICAuYmxvY2stbmV3cyAubGFyZ2UtbmV3cyAudHh0IGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IDIuNjg3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgLmJsb2NrLW5ld3MgLmxhcmdlLW5ld3MgLnR4dCBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiAyLjEyNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgICAgICAuYmxvY2stbmV3cyAubGFyZ2UtbmV3cyAudHh0IGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAgIC5ibG9jay1uZXdzIC5sYXJnZS1uZXdzIC50eHQ6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogNTBweDsgfSB9XG4gIC5ibG9jay1uZXdzIC5zLWxhcmdlLW5ld3MgLmltZyB7XG4gICAgaGVpZ2h0OiAyMy43NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAgICAgLmJsb2NrLW5ld3MgLnMtbGFyZ2UtbmV3cyAuaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAxOC43NXJlbTsgfSB9XG4gIC5ibG9jay1uZXdzIC5zLWxhcmdlLW5ld3MgLnR4dCBoMyB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpIHtcbiAgICAgIC5ibG9jay1uZXdzIC5zLWxhcmdlLW5ld3MgLnR4dCBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi42ODc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5ibG9jay1uZXdzIC5zLWxhcmdlLW5ld3MgLnR4dCBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgICAgLmJsb2NrLW5ld3MgLnMtbGFyZ2UtbmV3cyAudHh0IGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgIC5ibG9jay1uZXdzIC5zLWxhcmdlLW5ld3MgLnR4dCAuZXhjZXJwdC1uZXdzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLmJsb2NrLW5ld3MgLm1lZGl1bV9sYXJnZS1uZXdzIC5pbWcge1xuICAgIGhlaWdodDogMTVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpIHtcbiAgICAgIC5ibG9jay1uZXdzIC5tZWRpdW1fbGFyZ2UtbmV3cyAuaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAxNC4zNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAgICAgLmJsb2NrLW5ld3MgLm1lZGl1bV9sYXJnZS1uZXdzIC5pbWcge1xuICAgICAgICBoZWlnaHQ6IDkuMzc1cmVtOyB9IH1cbiAgICAuYmxvY2stbmV3cyAubWVkaXVtX2xhcmdlLW5ld3MgLmltZyAucGxheV9idXR0b24gaW1nIHtcbiAgICAgIHdpZHRoOiA2NXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmJsb2NrLW5ld3MgLm1lZGl1bV9sYXJnZS1uZXdzIC50eHQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICAgIC5ibG9jay1uZXdzIC5tZWRpdW1fbGFyZ2UtbmV3cyAudHh0IGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpIHtcbiAgICAgICAgLmJsb2NrLW5ld3MgLm1lZGl1bV9sYXJnZS1uZXdzIC50eHQgaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAgICAgICAuYmxvY2stbmV3cyAubWVkaXVtX2xhcmdlLW5ld3MgLnR4dCBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjQzNzVyZW07IH0gfVxuICAuYmxvY2stbmV3cyAubWVkaXVtLW5ld3MgLmltZyB7XG4gICAgaGVpZ2h0OiAxMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAgICAgLmJsb2NrLW5ld3MgLm1lZGl1bS1uZXdzIC5pbWcge1xuICAgICAgICBoZWlnaHQ6IDcuNXJlbTsgfSB9XG4gICAgLmJsb2NrLW5ld3MgLm1lZGl1bS1uZXdzIC5pbWcgLnBsYXlfYnV0dG9uIGltZyB7XG4gICAgICB3aWR0aDogNDBweCAhaW1wb3J0YW50OyB9XG4gIC5ibG9jay1uZXdzIC5tZWRpdW0tbmV3cyAudHh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgICAuYmxvY2stbmV3cyAubWVkaXVtLW5ld3MgLnR4dCBoMyB7XG4gICAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpIHtcbiAgICAgICAgLmJsb2NrLW5ld3MgLm1lZGl1bS1uZXdzIC50eHQgaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAgICAgICAuYmxvY2stbmV3cyAubWVkaXVtLW5ld3MgLnR4dCBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgICAgIC5ibG9jay1uZXdzIC5tZWRpdW0tbmV3cyAudHh0IGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cbiAgLmJsb2NrLW5ld3MgLm1lZGl1bS1uZXdzIC5ibG9ja19sYXJnZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFQkVCRUI7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW07IH1cbiAgLmJsb2NrLW5ld3MgLnktbWVkaXVtLW5ld3MgLmltZyB7XG4gICAgaGVpZ2h0OiA1MDBweDsgfVxuICAuYmxvY2stbmV3cyAuc21hbGwtbmV3cyB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5ibG9jay1uZXdzIC5zbWFsbC1uZXdzIHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgLmJsb2NrLW5ld3MgLnNtYWxsLW5ld3MgLmltZyB7XG4gICAgICBoZWlnaHQ6IDYuODc1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpIHtcbiAgICAgICAgLmJsb2NrLW5ld3MgLnNtYWxsLW5ld3MgLmltZyB7XG4gICAgICAgICAgaGVpZ2h0OiA4LjEyNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgICAgICAuYmxvY2stbmV3cyAuc21hbGwtbmV3cyAuaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IDhyZW07IH0gfVxuICAgICAgLmJsb2NrLW5ld3MgLnNtYWxsLW5ld3MgLmltZyAucGxheV9idXR0b24gaW1nIHtcbiAgICAgICAgd2lkdGg6IDMwcHggIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgICAuYmxvY2stbmV3cyAuc21hbGwtbmV3cyAudHh0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtOyB9IH1cbiAgICAuYmxvY2stbmV3cyAuc21hbGwtbmV3cyAudHh0IC5oMywgLmJsb2NrLW5ld3MgLnNtYWxsLW5ld3MgLnR4dCBoMyB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ3MHB4KSB7XG4gICAgICAgIC5ibG9jay1uZXdzIC5zbWFsbC1uZXdzIC50eHQgLmgzLCAuYmxvY2stbmV3cyAuc21hbGwtbmV3cyAudHh0IGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgLmJsb2NrLW5ld3MgLnNtYWxsLW5ld3MgLnR4dCAuaDMsIC5ibG9jay1uZXdzIC5zbWFsbC1uZXdzIC50eHQgaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gICAgLmJsb2NrLW5ld3MgLnNtYWxsLW5ld3MgLnR4dCAuaDYsIC5ibG9jay1uZXdzIC5zbWFsbC1uZXdzIC50eHQgaDYge1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NzBweCkge1xuICAgICAgICAuYmxvY2stbmV3cyAuc21hbGwtbmV3cyAudHh0IC5oNiwgLmJsb2NrLW5ld3MgLnNtYWxsLW5ld3MgLnR4dCBoNiB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgLmJsb2NrLW5ld3MgLnNtYWxsLW5ld3MgLnR4dCAuaDYsIC5ibG9jay1uZXdzIC5zbWFsbC1uZXdzIC50eHQgaDYge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9IH1cbiAgLmJsb2NrLW5ld3MgLngtc21hbGwtbmV3cyAuaW1nIHtcbiAgICBoZWlnaHQ6IDUuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gICAgICAuYmxvY2stbmV3cyAueC1zbWFsbC1uZXdzIC5pbWcge1xuICAgICAgICBoZWlnaHQ6IDkuMzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5ibG9jay1uZXdzIC54LXNtYWxsLW5ld3MgLmltZyB7XG4gICAgICAgIGhlaWdodDogNnJlbTsgfSB9XG4gICAgLmJsb2NrLW5ld3MgLngtc21hbGwtbmV3cyAuaW1nIC5wbGF5X2J1dHRvbiB7XG4gICAgICBib3R0b206IDEwcHg7XG4gICAgICBsZWZ0OiAxMHB4OyB9XG4gICAgICAuYmxvY2stbmV3cyAueC1zbWFsbC1uZXdzIC5pbWcgLnBsYXlfYnV0dG9uIGltZyB7XG4gICAgICAgIHdpZHRoOiAyNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmJsb2NrLW5ld3MgLngtc21hbGwtbmV3cyAudHh0IHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cbiAgICAuYmxvY2stbmV3cyAueC1zbWFsbC1uZXdzIC50eHQgaDMge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC43cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMHJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ3MHB4KSB7XG4gICAgICAgIC5ibG9jay1uZXdzIC54LXNtYWxsLW5ld3MgLnR4dCBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkgYW5kIChtaW4td2lkdGg6IDY4MHB4KSB7XG4gICAgICAgIC5ibG9jay1uZXdzIC54LXNtYWxsLW5ld3MgLnR4dCBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjMxMjVyZW07IH0gfVxuICAgIC5ibG9jay1uZXdzIC54LXNtYWxsLW5ld3MgLnR4dCBoNiwgLmJsb2NrLW5ld3MgLngtc21hbGwtbmV3cyAudHh0IC5oNiB7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTsgfVxuICAuYmxvY2stbmV3cyAub3RoZXItbmV3cyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5ibG9jay1uZXdzIC5vdGhlci1uZXdzID4gZGl2Omxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyOiAwOyB9XG4gICAgLmJsb2NrLW5ld3MgLm90aGVyLW5ld3MgLm90aGVyLXNpbmdsZS1uZXdzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUJFQkVCOyB9XG4gICAgICAuYmxvY2stbmV3cyAub3RoZXItbmV3cyAub3RoZXItc2luZ2xlLW5ld3MgLmltZyB7XG4gICAgICAgIGhlaWdodDogMTMwcHg7IH1cbiAgICAgICAgLmJsb2NrLW5ld3MgLm90aGVyLW5ld3MgLm90aGVyLXNpbmdsZS1uZXdzIC5pbWcgLnBsYXlfYnV0dG9uIHtcbiAgICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICAgICAgbGVmdDogMTBweDsgfVxuICAgICAgICAgIC5ibG9jay1uZXdzIC5vdGhlci1uZXdzIC5vdGhlci1zaW5nbGUtbmV3cyAuaW1nIC5wbGF5X2J1dHRvbiBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDI1cHggIWltcG9ydGFudDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpIHtcbiAgICAgICAgICAuYmxvY2stbmV3cyAub3RoZXItbmV3cyAub3RoZXItc2luZ2xlLW5ld3MgLmltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDcuNXJlbTsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgICAgICAgLmJsb2NrLW5ld3MgLm90aGVyLW5ld3MgLm90aGVyLXNpbmdsZS1uZXdzIC5pbWcge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWwgIWltcG9ydGFudDsgfSB9XG4gICAgICAuYmxvY2stbmV3cyAub3RoZXItbmV3cyAub3RoZXItc2luZ2xlLW5ld3MgLnR4dCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICAgLmJsb2NrLW5ld3MgLm90aGVyLW5ld3MgLm90aGVyLXNpbmdsZS1uZXdzIC50eHQgaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NzBweCkge1xuICAgICAgICAgICAgLmJsb2NrLW5ld3MgLm90aGVyLW5ld3MgLm90aGVyLXNpbmdsZS1uZXdzIC50eHQgaDMge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAgICAgICAgICAgLmJsb2NrLW5ld3MgLm90aGVyLW5ld3MgLm90aGVyLXNpbmdsZS1uZXdzIC50eHQgaDMge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAgICAgICAuYmxvY2stbmV3cyAub3RoZXItbmV3cyAub3RoZXItc2luZ2xlLW5ld3MgLnR4dCBoNiwgLmJsb2NrLW5ld3MgLm90aGVyLW5ld3MgLm90aGVyLXNpbmdsZS1uZXdzIC50eHQgLmg2IHtcbiAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAgICAgICAgIC5ibG9jay1uZXdzIC5vdGhlci1uZXdzIC5vdGhlci1zaW5nbGUtbmV3cyAudHh0IGg2LCAuYmxvY2stbmV3cyAub3RoZXItbmV3cyAub3RoZXItc2luZ2xlLW5ld3MgLnR4dCAuaDYge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjFyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpIHtcbiAgICAuYmxvY2stbmV3cyAubWVkaXVtLW5ld3MgLnR4dCBoMyxcbiAgICAuYmxvY2stbmV3cyAubWVkaXVtX2xhcmdlLW5ld3MgLnR4dCBoMyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgIC5ibG9jay1uZXdzIC5sYXJnZS1uZXdzLFxuICAgIC5ibG9jay1uZXdzIC5tZWRpdW0tbmV3cyxcbiAgICAuYmxvY2stbmV3cyAubWVkaXVtX2xhcmdlLW5ld3Mge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgIC5ibG9jay1uZXdzIC5sYXJnZS1uZXdzIC5pbWcsXG4gICAgLmJsb2NrLW5ld3MgLm1lZGl1bS1uZXdzIC5pbWcsXG4gICAgLmJsb2NrLW5ld3MgLm1lZGl1bV9sYXJnZS1uZXdzIC5pbWcge1xuICAgICAgaGVpZ2h0OiAxMnJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAgIC5ibG9jay1uZXdzIC5leGNlcnB0LW5ld3Mge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5ibG9jay1uZXdzIC5zaW5nbGUtbmV3cyAudHh0IHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAuYmxvY2stbmV3cyAuc2luZ2xlLW5ld3MgLnR4dCBoMyB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zOyB9XG4gIC5ibG9jay1uZXdzIC5zaW5nbGUtbmV3cyAudHh0IHAsIC5ibG9jay1uZXdzIC5zaW5nbGUtbmV3cyAudHh0IHNwYW4sIC5ibG9jay1uZXdzIC5zaW5nbGUtbmV3cyAudHh0IGVtLCAuYmxvY2stbmV3cyAuc2luZ2xlLW5ld3MgLnR4dCBkaXYsIC5ibG9jay1uZXdzIC5zaW5nbGUtbmV3cyAudHh0IGxpIHtcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICAgIGZvbnQtZmFtaWx5OiAnU2VudGllbnQnLCBzZXJpZiAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAgIC5ibG9jay1uZXdzIC5zaW5nbGUtbmV3cyAudHh0IHAsIC5ibG9jay1uZXdzIC5zaW5nbGUtbmV3cyAudHh0IHNwYW4sIC5ibG9jay1uZXdzIC5zaW5nbGUtbmV3cyAudHh0IGVtLCAuYmxvY2stbmV3cyAuc2luZ2xlLW5ld3MgLnR4dCBkaXYsIC5ibG9jay1uZXdzIC5zaW5nbGUtbmV3cyAudHh0IGxpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgLmJsb2NrLW5ld3MgLnNpbmdsZS1uZXdzIC50eHQgcC53cC1jYXB0aW9uLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmJsb2NrLW5ld3MgLnNpbmdsZS1uZXdzIC50eHQgaHIge1xuICAgIHdpZHRoOiA5MHB4O1xuICAgIG1hcmdpbjogMS41cmVtIDA7IH1cbiAgLmJsb2NrLW5ld3MgLnNpbmdsZS1uZXdzIC50eHQgYmxvY2txdW90ZTpub3QoLnR3aXR0ZXItdHdlZXQpIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjJyZW0pO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMS4ycmVtOyB9XG4gIC5ibG9jay1uZXdzIC5zaW5nbGUtbmV3cyAudHh0IGgyLCAuYmxvY2stbmV3cyAuc2luZ2xlLW5ld3MgLnR4dCBoMiAqLCAuYmxvY2stbmV3cyAuc2luZ2xlLW5ld3MgLnR4dCBoNCwgLmJsb2NrLW5ld3MgLnNpbmdsZS1uZXdzIC50eHQgaDQgKiB7XG4gICAgZm9udC1mYW1pbHk6ICdTd2l0emVyJyAhaW1wb3J0YW50O1xuICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgIGZvbnQtc2l6ZTogMi4xMjVyZW0gIWltcG9ydGFudDsgfVxuICAuYmxvY2stbmV3cyAuc2luZ2xlLW5ld3MgLnR4dCBoMywgLmJsb2NrLW5ld3MgLnNpbmdsZS1uZXdzIC50eHQgaDMgKiB7XG4gICAgZm9udC1mYW1pbHk6ICdTd2l0emVyJyAhaW1wb3J0YW50O1xuICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuYmxvY2stbmV3cyAuc2luZ2xlLW5ld3MgLnR4dCBoMiB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDEuODEyNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5ibG9jay1uZXdzIC5zaW5nbGUtbmV3cyAudHh0IGgzIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmJsb2NrLW5ld3MgLnNpbmdsZS1uZXdzIC50eHQgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiAjZDIyNTMzO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMnB4OyB9XG4gIC5ibG9jay1uZXdzIC5zaW5nbGUtbmV3cyAudHh0IGltZy5hbGlnbmxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgICAuYmxvY2stbmV3cyAuc2luZ2xlLW5ld3MgLnR4dCBpbWcuYWxpZ25sZWZ0IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH0gfVxuICAuYmxvY2stbmV3cyAuc2luZ2xlLW5ld3MgLnR4dCBpbWcuYWxpZ25yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgICAuYmxvY2stbmV3cyAuc2luZ2xlLW5ld3MgLnR4dCBpbWcuYWxpZ25yaWdodCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH0gfVxuICAuYmxvY2stbmV3cy5yZWRfY2gge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGOEVCREY7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYmxvY2stbmV3cy5yZWRfY2ggLmltZzpob3ZlciB+IC50eHQgYSB7XG4gICAgICBjb2xvcjogI2QyMjUzMzsgfVxuICAgIC5ibG9jay1uZXdzLnJlZF9jaCBhIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAuYmxvY2stbmV3cy5yZWRfY2ggYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZDIyNTMzOyB9XG4gICAgLmJsb2NrLW5ld3MucmVkX2NoIC5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsXG4gICAgLmJsb2NrLW5ld3MucmVkX2NoIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIge1xuICAgICAgY29udGVudDogdXJsKFwiLi4vaW1hZ2VzL2Fycm93LWR4LWIuc3ZnXCIpOyB9XG4gICAgLmJsb2NrLW5ld3MucmVkX2NoIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIsXG4gICAgLmJsb2NrLW5ld3MucmVkX2NoIC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogdXJsKFwiLi4vaW1hZ2VzL2Fycm93LXN4LWIuc3ZnXCIpOyB9XG4gIC5ibG9jay1uZXdzLmJsYWNrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAgIC5ibG9jay1uZXdzLmJsYWNrIHtcbiAgICAgICAgcGFkZGluZzogMnJlbSAwOyB9IH1cbiAgICAuYmxvY2stbmV3cy5ibGFjayBhIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAuYmxvY2stbmV3cy5ibGFjayBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNkMjI1MzM7IH1cbiAgICAgIC5ibG9jay1uZXdzLmJsYWNrIGEuYnV0dG9uIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYmxvY2stbmV3cy5ibGFjayAubGluZS1zZWN0aW9uOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuYmxvY2stbmV3cy5ibGFjayAubG9nby1zZWN0aW9uIGltZyB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMzBweDtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ibG9jay1uZXdzLndoaXRlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5ibG9jay1uZXdzLmJsb2NrLWdyYXksIC5ibG9jay1uZXdzLndoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAuYmxvY2stbmV3cy5ibG9jay1ncmF5IGEsIC5ibG9jay1uZXdzLndoaXRlIGEge1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgIC5ibG9jay1uZXdzLmJsb2NrLWdyYXkgYTpob3ZlciwgLmJsb2NrLW5ld3Mud2hpdGUgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZDIyNTMzOyB9XG4gICAgLmJsb2NrLW5ld3MuYmxvY2stZ3JheSAuc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyLFxuICAgIC5ibG9jay1uZXdzLmJsb2NrLWdyYXkgLnN3aXBlci1idXR0b24tcHJldjphZnRlciwgLmJsb2NrLW5ld3Mud2hpdGUgLnN3aXBlci1idXR0b24tbmV4dDphZnRlcixcbiAgICAuYmxvY2stbmV3cy53aGl0ZSAuc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IHVybChcIi4uL2ltYWdlcy9hcnJvdy1keC1iLnN2Z1wiKTsgfVxuICAgIC5ibG9jay1uZXdzLmJsb2NrLWdyYXkgLnN3aXBlci1idXR0b24tcHJldjphZnRlcixcbiAgICAuYmxvY2stbmV3cy5ibG9jay1ncmF5IC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsIC5ibG9jay1uZXdzLndoaXRlIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIsXG4gICAgLmJsb2NrLW5ld3Mud2hpdGUgLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tbmV4dDphZnRlciB7XG4gICAgICBjb250ZW50OiB1cmwoXCIuLi9pbWFnZXMvYXJyb3ctc3gtYi5zdmdcIik7IH1cbiAgLmJsb2NrLW5ld3MuYmxvY2stZ3JheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VGRUZFRjsgfVxuICAgIC5ibG9jay1uZXdzLmJsb2NrLWdyYXkuYnJlYWtpbmctbmV3cyAubWVkaXVtLW5ld3MgLnR4dCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmJsb2NrLW5ld3MuYmxvY2stZ3JheS5icmVha2luZy1uZXdzIC5tZWRpdW0tbmV3cyAudHh0OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDIyNTMzO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogOHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlOyB9XG4gICAgICAuYmxvY2stbmV3cy5ibG9jay1ncmF5LmJyZWFraW5nLW5ld3MgLm1lZGl1bS1uZXdzIC50eHQgaDMge1xuICAgICAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAgICAgICAuYmxvY2stbmV3cy5ibG9jay1ncmF5LmJyZWFraW5nLW5ld3MgLm1lZGl1bS1uZXdzIC50eHQgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjMxMjVyZW07IH0gfVxuICAgICAgLmJsb2NrLW5ld3MuYmxvY2stZ3JheS5icmVha2luZy1uZXdzIC5tZWRpdW0tbmV3cyAudHh0IHAge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWwoMTVweCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5ibG9jay1uZXdzLmJsb2NrLWdyYXkuYnJlYWtpbmctbmV3cyAueC1sYXJnZS1uZXdzIC50eHQ6YWZ0ZXIsXG4gICAgICAuYmxvY2stbmV3cy5ibG9jay1ncmF5LmJyZWFraW5nLW5ld3MgLnh4LWxhcmdlLW5ld3MgLnR4dDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7IH0gfVxuICAgIC5ibG9jay1uZXdzLmJsb2NrLWdyYXkuYnJlYWtpbmctbmV3cyAueC1sYXJnZS1uZXdzIC50eHQgaDMsXG4gICAgLmJsb2NrLW5ld3MuYmxvY2stZ3JheS5icmVha2luZy1uZXdzIC54eC1sYXJnZS1uZXdzIC50eHQgaDMge1xuICAgICAgZm9udC1zaXplOiAzcmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpIHtcbiAgICAgICAgLmJsb2NrLW5ld3MuYmxvY2stZ3JheS5icmVha2luZy1uZXdzIC54LWxhcmdlLW5ld3MgLnR4dCBoMyxcbiAgICAgICAgLmJsb2NrLW5ld3MuYmxvY2stZ3JheS5icmVha2luZy1uZXdzIC54eC1sYXJnZS1uZXdzIC50eHQgaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMi42ODc1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAgICAgICAuYmxvY2stbmV3cy5ibG9jay1ncmF5LmJyZWFraW5nLW5ld3MgLngtbGFyZ2UtbmV3cyAudHh0IGgzLFxuICAgICAgICAuYmxvY2stbmV3cy5ibG9jay1ncmF5LmJyZWFraW5nLW5ld3MgLnh4LWxhcmdlLW5ld3MgLnR4dCBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiAyLjI1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgICAgIC5ibG9jay1uZXdzLmJsb2NrLWdyYXkuYnJlYWtpbmctbmV3cyAueC1sYXJnZS1uZXdzIC50eHQgaDMsXG4gICAgICAgIC5ibG9jay1uZXdzLmJsb2NrLWdyYXkuYnJlYWtpbmctbmV3cyAueHgtbGFyZ2UtbmV3cyAudHh0IGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMzEyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAgIC5ibG9jay1uZXdzLmJsb2NrLWdyYXkuYnJlYWtpbmctbmV3cyAueC1sYXJnZS1uZXdzIC50eHQgaDQsXG4gICAgICAuYmxvY2stbmV3cy5ibG9jay1ncmF5LmJyZWFraW5nLW5ld3MgLnh4LWxhcmdlLW5ld3MgLnR4dCBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuICAgIC5ibG9jay1uZXdzLmJsb2NrLWdyYXkuYnJlYWtpbmctbmV3cyAueC1sYXJnZS1uZXdzIC50aXRsZS1ibmV3cyxcbiAgICAuYmxvY2stbmV3cy5ibG9jay1ncmF5LmJyZWFraW5nLW5ld3MgLnh4LWxhcmdlLW5ld3MgLnRpdGxlLWJuZXdzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMTVweDtcbiAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pOyB9XG4gICAgICAuYmxvY2stbmV3cy5ibG9jay1ncmF5LmJyZWFraW5nLW5ld3MgLngtbGFyZ2UtbmV3cyAudGl0bGUtYm5ld3MgaDIsXG4gICAgICAuYmxvY2stbmV3cy5ibG9jay1ncmF5LmJyZWFraW5nLW5ld3MgLnh4LWxhcmdlLW5ld3MgLnRpdGxlLWJuZXdzIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMS4zMTI1cmVtLCAzLjQyMTA1dncgKyAtMC4xNDE0NXJlbSwgMi45Mzc1cmVtKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZCRkYyRjtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgICAgICAgIC5ibG9jay1uZXdzLmJsb2NrLWdyYXkuYnJlYWtpbmctbmV3cyAueC1sYXJnZS1uZXdzIC50aXRsZS1ibmV3cyBoMixcbiAgICAgICAgICAuYmxvY2stbmV3cy5ibG9jay1ncmF5LmJyZWFraW5nLW5ld3MgLnh4LWxhcmdlLW5ld3MgLnRpdGxlLWJuZXdzIGgyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbTsgfSB9XG4gICAgICAuYmxvY2stbmV3cy5ibG9jay1ncmF5LmJyZWFraW5nLW5ld3MgLngtbGFyZ2UtbmV3cyAudGl0bGUtYm5ld3MgLmg2LFxuICAgICAgLmJsb2NrLW5ld3MuYmxvY2stZ3JheS5icmVha2luZy1uZXdzIC54eC1sYXJnZS1uZXdzIC50aXRsZS1ibmV3cyAuaDYge1xuICAgICAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjEyNXJlbSwgMS40NDczN3Z3ICsgMC41MDk4N3JlbSwgMS44MTI1cmVtKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzogMS41cmVtO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2QyMjUzMztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxlZnQ6IDI1cHg7XG4gICAgICAgIGJvdHRvbTogLTE1cHg7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0yZGVnKTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgICAuYmxvY2stbmV3cy5ibG9jay1ncmF5LmJyZWFraW5nLW5ld3MgLngtbGFyZ2UtbmV3cyAudGl0bGUtYm5ld3MgLmg2LFxuICAgICAgICAgIC5ibG9jay1uZXdzLmJsb2NrLWdyYXkuYnJlYWtpbmctbmV3cyAueHgtbGFyZ2UtbmV3cyAudGl0bGUtYm5ld3MgLmg2IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgICAgICBib3R0b206IC04cHg7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgICAgICAgIC5ibG9jay1uZXdzLmJsb2NrLWdyYXkuYnJlYWtpbmctbmV3cyAueC1sYXJnZS1uZXdzIC50aXRsZS1ibmV3cyAuaDYsXG4gICAgICAgICAgLmJsb2NrLW5ld3MuYmxvY2stZ3JheS5icmVha2luZy1uZXdzIC54eC1sYXJnZS1uZXdzIC50aXRsZS1ibmV3cyAuaDYge1xuICAgICAgICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgICAgICAgICAgYm90dG9tOiAtMnB4O1xuICAgICAgICAgICAgbGVmdDogMTRweDsgfSB9XG4gIC5ibG9jay1uZXdzLmJsdWUge1xuICAgIHBhZGRpbmc6IDMuNXJlbSAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMzE3MjU7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgICAgLmJsb2NrLW5ld3MuYmx1ZSAudGl0bGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAgIC5ibG9jay1uZXdzLmJsdWUgLnRpdGxlIGgyLmxpbmUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAgIC5ibG9jay1uZXdzLmJsdWUge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuYmxvY2stbmV3cy5ibHVlIGEge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5ibG9jay1uZXdzLmJsdWUgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZDIyNTMzOyB9XG4gICAgLmJsb2NrLW5ld3MuYmx1ZSAubGluZS1zZWN0aW9uOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuYmxvY2stbmV3cy5ibHVlIC5pbWcge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuYmxvY2stbmV3cy5ibHVlIC5pbWcgPiBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5ibG9jay1uZXdzLmJsdWUgLnR4dCBoMyB7XG4gICAgICBmb250LXNpemU6IDIuNjI1cmVtOyB9XG4gIC5ibG9jay1uZXdzLnJlZCB7XG4gICAgcGFkZGluZzogM3JlbSAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkMjI1MzM7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgICAgLmJsb2NrLW5ld3MucmVkIHtcbiAgICAgICAgcGFkZGluZzogMS41cmVtIDA7IH0gfVxuICAgIC5ibG9jay1uZXdzLnJlZCAuaW1nOmhvdmVyIH4gLnR4dCBhIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7IH1cbiAgICAuYmxvY2stbmV3cy5yZWQgLmJsb2NrLW5ld3Mge1xuICAgICAgcGFkZGluZzogMy41cmVtOyB9XG4gICAgLmJsb2NrLW5ld3MucmVkIGEge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5ibG9jay1uZXdzLnJlZCBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpIHtcbiAgICAgIC5ibG9jay1uZXdzLnJlZCAuc21hbGwtbmV3cyB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDsgfSB9XG4gICAgLmJsb2NrLW5ld3MucmVkIC5zbWFsbC1uZXdzIC50eHQgaDYsIC5ibG9jay1uZXdzLnJlZCAuc21hbGwtbmV3cyAudHh0IC5oNiB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLmJsb2NrLW5ld3MucmVkIC5zbWFsbC1uZXdzIC50eHQgaDMge1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cbiAgICAuYmxvY2stbmV3cy5yZWQgLnNtYWxsLW5ld3MgLnR4dCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gICAgLmJsb2NrLW5ld3MucmVkIC50aXRsZSBoMi5saW5lOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJsb2NrLW5ld3MucmVkIC5sYXJnZS1uZXdzIC50eHQ6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5ibG9jay1uZXdzLnJlZCAubGluZS1zZWN0aW9uOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuYmxvY2stbmV3cy5yZWQgLnN3aXBlckFydGljbGUgLnN3aXBlci1zbGlkZSAudHh0OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJsb2NrLW5ld3MucmVkIC5zd2lwZXJBcnRpY2xlIC5zd2lwZXItc2xpZGUgLnR4dCBhOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAgIC5ibG9jay1uZXdzID4gLnJvdy5kZmxleC5maXJzdC1ibG9jayA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogMzUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAuYmxvY2stbmV3cyA+IC5yb3cuZGZsZXguZmlyc3QtYmxvY2sgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IGluaXRpYWw7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuYmxvY2stbmV3cyA+IC5yb3cuZGZsZXguZmlyc3QtYmxvY2sgPiBkaXY6Zmlyc3QtY2hpbGQgLmltZyB7XG4gICAgICBoZWlnaHQ6IDguMTI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAuYmxvY2stbmV3cyA+IC5yb3cuZGZsZXguZmlyc3QtYmxvY2sgPiBkaXY6Zmlyc3QtY2hpbGQgLmltZyB7XG4gICAgICBoZWlnaHQ6IDE0cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAuYmxvY2stbmV3cyA+IC5yb3cuZGZsZXguZmlyc3QtYmxvY2sgPiBkaXY6Zmlyc3QtY2hpbGQgLnR4dCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gICAgLmJsb2NrLW5ld3MgPiAucm93LmRmbGV4LmZpcnN0LWJsb2NrID4gZGl2OmZpcnN0LWNoaWxkIC50eHQgaDMge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgLmJsb2NrLW5ld3MgPiAucm93LmRmbGV4LmZpcnN0LWJsb2NrID4gZGl2OmZpcnN0LWNoaWxkIC50eHQgaDMge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuYmxvY2stbmV3cyA+IC5yb3cuZGZsZXguZmlyc3QtYmxvY2sgPiBkaXY6bGFzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogNjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAuYmxvY2stbmV3cyA+IC5yb3cuZGZsZXguZmlyc3QtYmxvY2sgPiBkaXY6bGFzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogaW5pdGlhbDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAgIC5ibG9jay1uZXdzID4gLnJvdy5kZmxleC5maXJzdC1ibG9jayA+IGRpdjpsYXN0LWNoaWxkIC5zbWFsbC1uZXdzIHtcbiAgICAgIHdpZHRoOiAzMy4zMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgIC5ibG9jay1uZXdzID4gLnJvdy5kZmxleC5maXJzdC1ibG9jayA+IGRpdjpsYXN0LWNoaWxkIC5zbWFsbC1uZXdzIHtcbiAgICAgIHdpZHRoOiBpbml0aWFsO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAuYmxvY2stbmV3cyA+IC5yb3cuZGZsZXguZmlyc3QtYmxvY2sgPiBkaXY6bGFzdC1jaGlsZCAuc21hbGwtbmV3czpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlcjogbm9uZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgLmJsb2NrLW5ld3MgPiAucm93LmRmbGV4LmZpcnN0LWJsb2NrID4gZGl2Omxhc3QtY2hpbGQgLnNtYWxsLW5ld3MgLmltZyB7XG4gICAgICBoZWlnaHQ6IDE0cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAuYmxvY2stbmV3cyA+IC5yb3cuZGZsZXguZmlyc3QtYmxvY2sgPiBkaXY6bGFzdC1jaGlsZCAuc21hbGwtbmV3cyAudHh0IGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cbiAgLmJsb2NrLW5ld3MuZGFya2dyYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxRjFGMUY7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuYmxvY2stbmV3cy5kYXJrZ3JheSAubmV3c2xldHRlckJsb2NrTGFyZ2Uge1xuICAgICAgcGFkZGluZzogMCAzNXB4O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5ibG9jay1uZXdzLmRhcmtncmF5IC5uZXdzbGV0dGVyQmxvY2tMYXJnZSB7XG4gICAgICAgICAgcGFkZGluZzogMCAxNXB4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgICAgIC5ibG9jay1uZXdzLmRhcmtncmF5IC5uZXdzbGV0dGVyQmxvY2tMYXJnZSB7XG4gICAgICAgICAgcGFkZGluZzogMnJlbSAwO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5ibG9jay1uZXdzLmRhcmtncmF5IC5uZXdzbGV0dGVyQmxvY2tMYXJnZSBoMywgLmJsb2NrLW5ld3MuZGFya2dyYXkgLm5ld3NsZXR0ZXJCbG9ja0xhcmdlIC5oMyB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgICAgICAuYmxvY2stbmV3cy5kYXJrZ3JheSAubmV3c2xldHRlckJsb2NrTGFyZ2UgaDMsIC5ibG9jay1uZXdzLmRhcmtncmF5IC5uZXdzbGV0dGVyQmxvY2tMYXJnZSAuaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgICAgICAuYmxvY2stbmV3cy5kYXJrZ3JheSAubmV3c2xldHRlckJsb2NrTGFyZ2UgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuYmxvY2stbmV3cy5kYXJrZ3JheSAubmV3c2xldHRlckJsb2NrTGFyZ2UgdWwuc29jaWFsIGxpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAgICAgLmJsb2NrLW5ld3MuZGFya2dyYXkgLm5ld3NsZXR0ZXJCbG9ja0xhcmdlIHVsLnNvY2lhbCBsaSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuYmxvY2stbmV3cy5kYXJrZ3JheSAubmV3c2xldHRlckJsb2NrTGFyZ2UgdWwuc29jaWFsIGxpIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiAyNHB4OyB9IH1cbiAgICAuYmxvY2stbmV3cy5kYXJrZ3JheSAubmV3c2xldHRlckltYWdlIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIGhlaWdodDogNTB2aDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAgICAgLmJsb2NrLW5ld3MuZGFya2dyYXkgLm5ld3NsZXR0ZXJJbWFnZSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGhlaWdodDogMjAwcHg7IH0gfVxuICAuYmxvY2stbmV3cyAuZG91YmxlIC5pbWcgLnBsYXlfYnV0dG9uIHtcbiAgICBib3R0b206IDI1cHg7XG4gICAgbGVmdDogMjVweDsgfVxuICAgIC5ibG9jay1uZXdzIC5kb3VibGUgLmltZyAucGxheV9idXR0b24gaW1nIHtcbiAgICAgIHdpZHRoOiA3MHB4ICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gICAgLmJsb2NrLW5ld3MgdWwuc29jaWFsIGxpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgLmJsb2NrLW5ld3MgPiBkaXY6Zmlyc3QtY2hpbGQgPiAubGFyZ2UtbmV3cyB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuYmxvY2stbmV3cyA+IGRpdjpmaXJzdC1jaGlsZCA+IC5sYXJnZS1uZXdzID4gZGl2LnR4dCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgICAgIC5ibG9jay1uZXdzID4gZGl2OmZpcnN0LWNoaWxkID4gLmxhcmdlLW5ld3MgPiBkaXYudHh0IC5leGNlcnB0LW5ld3Mge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLmJsb2NrLW5ld3MgLmludHJvIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgICAuYmxvY2stbmV3cyAuaW50cm8ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfSB9XG4gICAgLmJsb2NrLW5ld3MgLmludHJvIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMy43NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NzBweCkge1xuICAgICAgICAuYmxvY2stbmV3cyAuaW50cm8gaDEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMy4zNzVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAgICAgLmJsb2NrLW5ld3MgLmludHJvIGgxIHtcbiAgICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH0gfVxuICAgIC5ibG9jay1uZXdzIC5pbnRybyBoMiB7XG4gICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1mYW1pbHk6ICdTd2l0emVyJztcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpIHtcbiAgICAgICAgLmJsb2NrLW5ld3MgLmludHJvIGgyIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgICAgICAuYmxvY2stbmV3cyAuaW50cm8gaDIge1xuICAgICAgICAgIG1hcmdpbjogMS41cmVtIDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjMxMjVyZW07IH0gfVxuICAgIC5ibG9jay1uZXdzIC5pbnRybyAuYnlsaW5lIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5ibG9jay1uZXdzIC5pbnRybyAuYnlsaW5lIC5oNiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLmJsb2NrLW5ld3MgLmludHJvIC5ieWxpbmUgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgbWFyZ2luOiAwIDIwcHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAgICAgICAuYmxvY2stbmV3cyAuaW50cm8gLmJ5bGluZSBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgICB3aWR0aDogMjBweDsgfSB9XG5cbi5zaW5nbGUgLmJsb2NrLW5ld3MgLm90aGVyLW5ld3MgLm90aGVyLXNpbmdsZS1uZXdzIC50eHQgaDMge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5zaW5nbGUgLmJsb2NrLW5ld3MgLm90aGVyLW5ld3MgLm90aGVyLXNpbmdsZS1uZXdzIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgcGFkZGluZzogMjBweCAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0VCRUJFQjsgfVxuXG4ubmV3cy5saW5lLXNlY3Rpb246YWZ0ZXIge1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogMHB4IDE1cHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTsgfVxuXG4ubmV3cy5saW5lLXNlY3Rpb24ge1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG5cbi5saW5lLXNlY3Rpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmxpbmUtc2VjdGlvbjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogLTYwcHg7IH1cblxuLmZpcnN0LXNlY3Rpb24ge1xuICBtYXJnaW46IDM1cHggYXV0bztcbiAgbWFyZ2luLXRvcDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgIC5maXJzdC1zZWN0aW9uIHtcbiAgICAgIG1hcmdpbjogMXJlbSBhdXRvOyB9IH1cblxuLmdyaWdsaWEgLm5ld3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gIC5hcmNoaXZlIC5ibG9jay1uZXdzIC5sYXJnZS1uZXdzIC50eHQge1xuICAgIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgICAuYXJjaGl2ZSAuYmxvY2stbmV3cyAubGFyZ2UtbmV3cyAudHh0OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7IH0gfVxuXG4uZ3JpZ2xpYSAueHgtbGFyZ2UtbmV3cyB7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG5cbi5ibG9ja190YWcge1xuICBtYXJnaW46IDYwcHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgIC5ibG9ja190YWcge1xuICAgICAgbWFyZ2luOiAzMHB4IDA7IH0gfVxuICAuYmxvY2tfdGFnIC5tLXRhZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAgICAgLmJsb2NrX3RhZyAubS10YWcge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogaW5pdGlhbDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHJlbTsgfSB9XG4gICAgLmJsb2NrX3RhZyAubS10YWcgaDYsIC5ibG9ja190YWcgLm0tdGFnIC5oNiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4zOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgICAgICAuYmxvY2tfdGFnIC5tLXRhZyBoNiwgLmJsb2NrX3RhZyAubS10YWcgLmg2IHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9IH1cblxuLnRhZyAuZmlyc3Qtc2VjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDgwcHg7IH1cblxuLnRhZyAuYmxvY2stbmV3cyAueHgtbGFyZ2UtbmV3cyAudHh0IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAudGFnIC5ibG9jay1uZXdzIC54eC1sYXJnZS1uZXdzIC50eHQgLmgxIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gIC50YWcgLmJsb2NrLW5ld3MgLnh4LWxhcmdlLW5ld3MgLnR4dCAuaDQge1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtaG9tZSAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtaG9tZSAuY29udGFpbmVyIHNlY3Rpb246Zmlyc3Qtb2YtdHlwZSB7XG4gIHBhZGRpbmctdG9wOiAxcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1ob21lIC5jb250YWluZXIgc2VjdGlvbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtaG9tZSAuY29udGFpbmVyIHNlY3Rpb246bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLWhvbWUgLmNvbnRhaW5lciBzZWN0aW9uLmJsYWNrOmZpcnN0LW9mLXR5cGUge1xuICBtYXJnaW4tdG9wOiAtMnJlbTtcbiAgcGFkZGluZy10b3A6IDVyZW07IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1ob21lIC5jb250YWluZXIgc2VjdGlvbi5ibG9jay1ncmF5OmZpcnN0LW9mLXR5cGUge1xuICBtYXJnaW4tdG9wOiAtMnJlbTtcbiAgcGFkZGluZy10b3A6IDNyZW07IH1cblxuLnRhZyAud2hpdGUgLnN3aXBlckFydGljbGVSdWIsXG4uY2F0ZWdvcnkgLndoaXRlIC5zd2lwZXJBcnRpY2xlUnViIHtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwMDAwMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAudGFnIC53aGl0ZSAuc3dpcGVyQXJ0aWNsZVJ1YiBoMyxcbiAgLmNhdGVnb3J5IC53aGl0ZSAuc3dpcGVyQXJ0aWNsZVJ1YiBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMjRweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgICAudGFnIC53aGl0ZSAuc3dpcGVyQXJ0aWNsZVJ1YiBoMyxcbiAgICAgIC5jYXRlZ29yeSAud2hpdGUgLnN3aXBlckFydGljbGVSdWIgaDMge1xuICAgICAgICBmb250LXNpemU6IDIxcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAgIC50YWcgLndoaXRlIC5zd2lwZXJBcnRpY2xlUnViIHAsXG4gICAgLmNhdGVnb3J5IC53aGl0ZSAuc3dpcGVyQXJ0aWNsZVJ1YiBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDsgfSB9XG4gIC50YWcgLndoaXRlIC5zd2lwZXJBcnRpY2xlUnViIC5pbWcsXG4gIC5jYXRlZ29yeSAud2hpdGUgLnN3aXBlckFydGljbGVSdWIgLmltZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgLmFyY2hpdmUgLmdyaWdsaWEgLm5ld3MubGFyZ2UtbmV3cyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfSB9XG5cbi5hcmNoaXZlIC5ibG9jay1uZXdzLndoaXRlLmNhcm9zZWxsby1jYXQge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gIC5wYWdlLXRlbXBsYXRlLXBhZ2UtdmlkZW8gLnh4LWxhcmdlLW5ld3MgLnR4dDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCkge1xuICAuYmxvY2stbmV3cyAubmV3cyAuaW1nIC5wbGF5X2J1dHRvbiBpbWcge1xuICAgIHdpZHRoOiA1MHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmJsb2NrLW5ld3MgLm5ld3MueC1zbWFsbC1uZXdzIC5pbWcgLnBsYXlfYnV0dG9uIGltZyB7XG4gICAgd2lkdGg6IDM1cHggIWltcG9ydGFudDsgfVxuICAuYmxvY2stbmV3cyAubmV3cy5zbWFsbC1uZXdzIC5pbWcgLnBsYXlfYnV0dG9uIHtcbiAgICBib3R0b206IDEwcHg7XG4gICAgbGVmdDogMTBweDsgfVxuICAgIC5ibG9jay1uZXdzIC5uZXdzLnNtYWxsLW5ld3MgLmltZyAucGxheV9idXR0b24gaW1nIHtcbiAgICAgIHdpZHRoOiAzMHB4ICFpbXBvcnRhbnQ7IH0gfVxuIiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXHRcblN0eWxlc2hlZXQ6IE1haW4gU3R5bGVzaGVldFxuXG5IZXJlJ3Mgd2hlcmUgdGhlIG1hZ2ljIGhhcHBlbnMuIEhlcmUgaXMgd2hlcmUgeW91IGltcG9ydFxuYWxsIG9mIHlvdXIgU2FzcyBmaWxlcyBzbyB0aGV5IGNhbiBjb21waWxlIGludG8gb25lXG5DU1MgZmlsZS4gXG5cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLy8gSW1wb3J0IGxvY2FsIEZvdW5kYXRpb24gb3ZlcnJpZGVzIC0gRG9uJ3QgbGluayB0byBCb3dlciB2ZXJzaW9uIGFzIGl0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gd2hlbmV2ZXIgdXBkYXRlZFxuQGltcG9ydCBcInNldHRpbmdzXCI7XG5cbi8vIEltcG9ydCBmb3VuZGF0aW9uLnNjc3MgZnJvbSB2ZW5kb3IgZmlsZXNcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb25cIjtcblxuLy8gSW1wb3J0IE1vdGlvbi1VSSBmcm9tIHZlbmRvciBmaWxlc1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL21vdGlvbi11aVwiO1xuQGluY2x1ZGUgbW90aW9uLXVpLXRyYW5zaXRpb25zO1xuQGluY2x1ZGUgbW90aW9uLXVpLWFuaW1hdGlvbnM7XG5cbi8vIFNlbGVjdCB0aGUgY29tcG9uZW50cyB5b3Ugd2FudCB0byB1c2VcbkBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcblxuLy8gU2VsZWN0IHRoZSBncmlkIHlvdSB3b3VsZCBsaWtlIHRvIHVzZVxuQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuXG4vLyBJbXBvcnQgeW91ciBjdXN0b20gc3R5bGVzXG5AaW1wb3J0IFwidHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcImdsb2JhbFwiO1xuQGltcG9ydCBcImNvbW1vblwiO1xuQGltcG9ydCBcImNhcm91c2VsXCI7XG5AaW1wb3J0IFwiYmxvY2tcIjtcbi8vIEBpbXBvcnQgXCJtZW51XCI7XG4vLyBAaW1wb3J0IFwiaG9tZVwiO1xuLy8gQGltcG9ydCBcInJlc3BvbnNpdmVcIjtcbi8vIEBpbXBvcnQgXCJhcGJcIjtcbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXNcbiAqIFZlcnNpb24gNi43LjVcbiAqIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIC0tLSBEZXBlbmRlbmNpZXMgLS0tXG5AaW1wb3J0ICd2ZW5kb3Ivbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyAtLS0gU2V0dGluZ3MgLS0tXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIC0tLSBDb21wb25lbnRzIC0tLVxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuLy8gR2xvYmFsIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5cbi8vIEdyaWRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAneHktZ3JpZC94eS1ncmlkJztcbi8vIEdlbmVyaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbi8vIEJhc2ljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbi8vIENvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG4vLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5cbi8vIExheW91dCBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcblxuLy8gSGVscGVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoXG4gICRmbGV4OiB0cnVlLFxuICAkcHJvdG90eXBlOiBmYWxzZSxcbiAgJHh5LWdyaWQ6ICR4eS1ncmlkXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpZiAkeHktZ3JpZCB7XG4gICAgJHh5LWdyaWQ6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8vIEdsb2JhbCBzdHlsZXNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbiAgLy8gR3JpZHNcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICAvLyBCYXNpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcblxuICAvLyBDb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICAvLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuXG4gIC8vIExheW91dCBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuXG4gIC8vIEhlbHBlcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaWYgJGZsZXggeyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlczsgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGlmICRwcm90b3R5cGUgeyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzOyB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIFBhdGNoIHRvIGZpeCBpc3N1ZSAjMTIwODBcbiQtemYtc2l6ZTogbnVsbDtcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBcInNtYWxsXCI6IDAsXG4gIFwibWVkaXVtXCI6IDY0MHB4LFxuICBcImxhcmdlXCI6IDEwMjRweCxcbiAgXCJ4bGFyZ2VcIjogMTIwMHB4LFxuICBcInh4bGFyZ2VcIjogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBIaURQSSBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcyBmb3IgcmVzb2x1dGlvbnMuXG4vLy8gVmFsdWVzIG11c3QgcmVwcmVzZW50IHRoZSBkZXZpY2UgcGl4ZWxzIC8gd2ViIHBpeGVscyByYXRpb24gYW5kIGJlIHVuaXRsZXNzIG9yIGluIERQUFguXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHMtaGlkcGk6IChcbiAgXCJoaWRwaS0xXCI6IDEsXG4gIFwiaGlkcGktMS01XCI6IDEuNSxcbiAgXCJoaWRwaS0yXCI6IDIsXG4gIFwicmV0aW5hXCI6IDIsXG4gIFwiaGlkcGktM1wiOiAzXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1RoZSBmaXJzdCBrZXkgaW4gdGhlICRicmVha3BvaW50cyBtYXAgbXVzdCBoYXZlIGEgdmFsdWUgb2YgXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFdlYiBzdGFuZGFyZCBQaXhlbHMgcGVyIGluY2guICgxZGRweCAvICRzdGQtd2ViLWRwaSkgPSAxZHBpXG4gIC8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLXZhbHVlcy0zLyNhYnNvbHV0ZS1sZW5ndGhzXG4gICRzdGQtd2ViLWRwaTogOTY7XG5cbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBvZiB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnRcbiAgJGJwLW5leHQ6IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWluOiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWluLXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogbnVsbDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIElmIG5hbWVkLCBuYW1lIG9mIHRoZSBicmVha3BvaW50XG4gICRuYW1lOiBudWxsO1xuICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIEhpRFBJIGJyZWFrcG9pbnRcbiAgJGhpZHBpOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cblxuICAvLyBJZiBhIGJyZWFrcG9pbnQgbmFtZSBpcyBnaXZlbiwgZ2V0IGl0cyB2YWx1ZSBmcm9tIHRoZSAkYnJlYWtwb2ludHMvJGJyZWFrcG9pbnRzLWhpZHBpIG1hcC5cbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLWhpZHBpLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0LW51bWJlcigkYnJlYWtwb2ludHMtaGlkcGksICRicCk7XG4gICAgICAkaGlkcGk6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgYCRicmVha3BvaW50c2Agb3IgYCRicmVha3BvaW50cy1oaWRwaWAgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBub3QgJG5hbWUgYW5kICRkaXIgPT0gJ29ubHknIHtcbiAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gT25seSAnb25seScgYW5kICd1cCcgaGF2ZSBhIG1pbiBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ3VwJyB7XG4gICAgJGJwLW1pbjogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgfVxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ2Rvd24nIGhhdmUgYSBtYXggbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSB2YWx1ZSwgdXNlIGl0IGFzIG1heCBsaW1pdC5cbiAgICBAaWYgbm90ICRuYW1lIHtcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gICAgfVxuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIG5hbWVkLCB0aGUgbWF4IGxpbWl0IGlzIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludCAtIDFweC5cbiAgICBAZWxzZSBpZiAkYnAtbmV4dCB7XG4gICAgICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gICAgICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCAkYnAtbmV4dCAtIGRpdmlkZSgxLCAkc3RkLXdlYi1kcGkpLCAtemYtYnAtdG8tZW0oJGJwLW5leHQpIC0gMC4wMDEyNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJhdGUgdGhlIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIG1pbiBhbmQgbWF4IGxpbWl0cy5cbiAgQGlmICRoaWRwaSB7XG4gICAgLy8gR2VuZXJhdGUgdmFsdWVzIGluIERQSSBpbnN0ZWFkIG9mIERQUFggZm9yIGFuIElFOS0xMS9PcGVyYSBtaW5pIGNvbXBhdGliaWxpdHkuXG4gICAgLy8gU2VlIGh0dHBzOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLW1lZGlhLXJlc29sdXRpb25cbiAgICAkYnAtbWluLWRwaTogaWYoJGJwLW1pbiwgJGJwLW1pbiAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1taW4pO1xuICAgICRicC1tYXgtZHBpOiBpZigkYnAtbWF4LCAkYnAtbWF4ICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1heCk7XG4gICAgQHJldHVybiB6Zi1zdHItam9pbihcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgsICctd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8nLCAnLXdlYmtpdC1tYXgtZGV2aWNlLXBpeGVsLXJhdGlvJyksXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLWRwaSwgJGJwLW1heC1kcGksICdtaW4tcmVzb2x1dGlvbicsICdtYXgtcmVzb2x1dGlvbicpLFxuICAgICAgJywgJyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCk7XG4gIH1cbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBhbmQgYCRicmVha3BvaW50cy1oaWRwaWAgbWFwcywgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIElmIG11bHRpcGxlIHZhbHVlcyBhcmUgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBnZW5lcmF0ZSBhIG1lZGlhIHF1ZXJ5IGZvciBlYWNoIG9mIHRoZW0gYXMgZGVzY3JpYmVkIGFib3ZlLlxuLy8vIFNpbmNlIHRoZSBjb250ZW50IGlzIGR1cGxpY2F0ZWQgZm9yIGVhY2ggYnJlYWtwb2ludCwgdGhpcyBtaXhpbiBzaG91bGQgb25seSBiZSB1c2VkIHdpdGggcHJvcGVydGllcyB0aGF0XG4vLy8gY2hhbmdlIGFjcm9zcyBicmVha3BvaW50cy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZXMuLi4gLSBCcmVha3BvaW50IG5hbWUgb3IgcHgvcmVtL2VtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZXMuLi4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJHZhbHVlcykge1xuICAgICR2YWx1ZTogbnRoKCR2YWx1ZXMsICRpKTtcbiAgICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsIG50aCgkdmFsdWUsIDEpKTtcbiAgICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcbiAgICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAgICRkaXI6IGlmKGxlbmd0aCgkdmFsdWUpID4gMSwgbnRoKCR2YWx1ZSwgMiksIHVwKTtcblxuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAgIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAgIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICAgIC8vIGdlbmVyYXRlIHByaW50IGlmIHRoZSBicmVha3BvaW50IGFmZmVjdHMgdGhlIHByaW50LWJyZWFrcG9pbnQgKG9yIHNtYWxsZXIpLlxuICAgICAgLy8gVGhpcyBtZWFucyB0aGUgY3VycmVudCBjb25kaXRpb24gb25seSBuZWVkcyB0byBiZSBleHRlbmRlZCBzbyAnZG93bicgYWx3YXlzIGdlbmVyYXRlcyBwcmludC5cbiAgICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgKCRicCA8PSAkcGJwIG9yICRkaXIgPT0gZG93bikge1xuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJ0cyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBudW1iZXIgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAkbnVtYmVyIC0gTnVtYmVyIHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgbnVtYmVyIGZvbGxvd2luZyBgJG51bWJlcmAsIGlmIGAkbnVtYmVyYCB3YXMgZm91bmQuIElmIGAkbnVtYmVyYCB3YXMgbm90IGZvdW5kLCBvciBgJG51bWJlcmAgd2FzIHRoZSBiaWdnZXN0IG51bWJlciBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQtbnVtYmVyKCRtYXAsICRudW1iZXIpIHtcblxuICAkbmV4dC1udW1iZXI6IG51bGw7XG5cbiAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgIEBpZiB0eXBlLW9mKCR2KSA9PSAnbnVtYmVyJyBhbmQgJHYgPiAkbnVtYmVyIGFuZCAoJG5leHQtbnVtYmVyID09IG51bGwgb3IgJHYgPCAkbmV4dC1udW1iZXIpIHtcbiAgICAgICRuZXh0LW51bWJlcjogJHY7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV4dC1udW1iZXI7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmQta2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kLWtleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmQta2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuLy8vIFJldHVybiB0aGUgYmVzdCBicmVha3BvaW50IHRvIHVzZSBhY2NvcmRpbmcgdG8gdGhlIGNhbGxpbmcgY29udGV4dC4gSXQgcmV0dXJucyBpbiBvcmRlcjpcbi8vLyAxLiB0aGUgZ2l2ZW4gYCR2YWx1ZWAgYXJndW1lbnQgaWYgaXQgaXMgbm90IG51bGwuXG4vLy8gMi4gdGhlIGdsb2JhbCBicmVha3BvaW50IGNvbnRleHQgYCQtemYtc2l6ZWAgaWYgaXQgaXMgbm90IG51bGwgKGxpa2UgaWYgY2FsbGVkIGluc2lkZSB0aGVuIGBicmVha3BvaW50KClgIG1peGluKVxuLy8vIDMuIHRoZSBnaXZlbiBgJGRlZmF1bHRgIGFyZ3VtZW50LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgaW4gcHJpb3JpdHkgaWYgbm9uLW51bGwuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGVmYXVsdCBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBieSBkZWZhdWx0IGlmIG5vIG90aGVyIHZhbHVlIGNhbiBiZSB1c2VkLlxuLy8vXG4vLy8gQHJldHVybiB7S2V5d29yZH0gVGhlIHJlc29sdmVkIGJyZWFrcG9pbnQuXG5AZnVuY3Rpb24gLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkdmFsdWU6IG51bGwsICRkZWZhdWx0OiBudWxsKSB7XG4gIEBpZiAoJHZhbHVlICE9IG51bGwpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuICBAZWxzZSBpZiAodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgIEByZXR1cm4gJC16Zi1zaXplO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRkZWZhdWx0O1xuICB9XG59XG5cbi8vLyBSZXR1cm4gbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gdGhlIGdpdmVuIG1pbiBhbmQvb3IgbWF4IGxpbWl0cy5cbi8vLyBJZiBhIGxpbWl0IGlzIGVxdWFsIHRvIGBudWxsYCBvciBgMGAsIGl0IGlzIGlnbm9yZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1pbiBbMF0gLSBNaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggWzBdIC0gTWF4IG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWluLW5hbWUgWydtaW4td2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRlbGltaXRlciBbJ21heC13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWF4IG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gTWVkaWEgUXVlcnkgc3RyaW5nLlxuQGZ1bmN0aW9uIC16Zi1icC1qb2luKFxuICAkbWluOiAwLFxuICAkbWF4OiAwLFxuICAkbWluLW5hbWU6ICdtaW4td2lkdGgnLFxuICAkbWF4LW5hbWU6ICdtYXgtd2lkdGgnXG4pIHtcbiAgQHJldHVybiB6Zi1zdHItam9pbihcbiAgICBpZigkbWluIGFuZCAkbWluID4gMCwgJygjeyRtaW4tbmFtZX06ICN7JG1pbn0pJywgbnVsbCksXG4gICAgaWYoJG1heCBhbmQgJG1heCA+IDAsICcoI3skbWF4LW5hbWV9OiAjeyRtYXh9KScsIG51bGwpLFxuICAgICcgYW5kICcpO1xufVxuXG4kc21hbGwtdXA6ICcnO1xuJHNtYWxsLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG4kbWVkaXVtLXVwOiAnJztcbiRtZWRpdW0tb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuJGxhcmdlLXVwOiAnJztcbiRsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHhsYXJnZS11cDogJyc7XG4keGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4eGxhcmdlLXVwOiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbi8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbi8vIFRoaXMgc2hvdWxkIGJlIGluIHRoZSBzYW1lIGJyZWFrcG9pbnQgdGhlbiBgQG1peGluIHJldmVhbC1tb2RhbC13aWR0aGBcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICVyZXZlYWwtY2VudGVyZWQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgLy8gRXh0ZW5kcyBtdXN0IGJlIG1hZGUgb3V0c2lkZSBvZiBicmVha3BvaW50cyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5ld2VyIFNhc3MgdmVyc2lvbnMgKGxpYnNhc3MgdjMuNSlcbiAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG5cbiAgLy8vIERpc2FibGVzIHRoZSBzY3JvbGwgd2hlbiBSZXZlYWwgaXMgc2hvd24gdG8gcHJldmVudCB0aGUgYmFja2dyb3VuZCBmcm9tIHNoaWZ0aW5nXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG5cbiAgICAmLnpmLWhhcy1zY3JvbGwge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIH1cblxuICAgIGJvZHkgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBpbmNsdWRlIC1tb3Rpb24tdWktZGVmYXVsdHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBzZXR1cCBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIHNldHVwIGZvciB0cmFuc2l0aW9uLlxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpcikpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgYWN0aXZlIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gYWN0aXZhdGUgYSB0cmFuc2l0aW9uIG9uLlxuQG1peGluIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpLCB0cnVlKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhZ2dlciBhbmltYXRpb24sIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGBuZy1yZXBlYXRgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheS1hbW91bnQgLSBBbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyB0byBhZGQgYmV0d2VlbiBlYWNoIGl0ZW0ncyBhbmltYXRpb24uXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDA7IC8vIFByZXZlbnQgYWNjaWRlbnRhbCBDU1MgaW5oZXJpdGFuY2Vcbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFNwYWNlQWZ0ZXJDb21tYSwgU2luZ2xlTGluZVBlclByb3BlcnR5XG5cbkBtaXhpbiAtbW90aW9uLXVpLWRlZmF1bHRzIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktZWFzaW5ncywgZGVmYXVsdCk7XG59XG5cbi8vIFRyYW5zaXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS10cmFuc2l0aW9ucyB7XG4gIC8vIFNsaWRlXG4gIC5zbGlkZS1pbi1kb3duICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgZG93bik7IH1cbiAgLnNsaWRlLWluLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICByaWdodCk7IH1cbiAgLnNsaWRlLWluLXVwICAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICB1cCk7IH1cbiAgLnNsaWRlLWluLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBsZWZ0KTsgfVxuICAuc2xpZGUtb3V0LWRvd24gICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGRvd24pOyB9XG4gIC5zbGlkZS1vdXQtcmlnaHQgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgcmlnaHQpOyB9XG4gIC5zbGlkZS1vdXQtdXAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgdXApOyB9XG4gIC5zbGlkZS1vdXQtbGVmdCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgbGVmdCk7IH1cblxuICAvLyBGYWRlXG4gIC5mYWRlLWluICB7IEBpbmNsdWRlIG11aS1mYWRlKGluLCAgMCwgMSk7IH1cbiAgLmZhZGUtb3V0IHsgQGluY2x1ZGUgbXVpLWZhZGUob3V0LCAxLCAwKTsgfVxuXG4gIC8vIEhpbmdlXG4gIC5oaW5nZS1pbi1mcm9tLXRvcCAgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1yaWdodCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1ib3R0b20gICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGJvdHRvbSk7IH1cbiAgLmhpbmdlLWluLWZyb20tbGVmdCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBsZWZ0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteCAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteSAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCwgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tdG9wICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWJvdHRvbSAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBib3R0b20pOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgbGVmdCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQsIGNlbnRlcik7IH1cblxuICAvLyBTY2FsZVxuICAuc2NhbGUtaW4tdXAgICAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDAuNSwgMSk7IH1cbiAgLnNjYWxlLWluLWRvd24gIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAxLjUsIDEpOyB9XG4gIC5zY2FsZS1vdXQtdXAgICB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMS41KTsgfVxuICAuc2NhbGUtb3V0LWRvd24geyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDAuNSk7IH1cblxuICAvLyBTcGluXG4gIC5zcGluLWluICAgICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY3cpOyB9XG4gIC5zcGluLW91dCAgICB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY3cpOyB9XG4gIC5zcGluLWluLWNjdyAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGNjdyk7IH1cbiAgLnNwaW4tb3V0LWNjdyB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY2N3KTsgfVxuXG4gIC8vIFRyYW5zaXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgdHJhbnNpdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQW5pbWF0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktYW5pbWF0aW9ucyB7XG4gIC5zaGFrZSAgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc2hha2UpOyB9XG4gIC5zcGluLWN3ICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3Bpbik7IH1cbiAgLnNwaW4tY2N3IHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKGNjdykpOyB9XG4gIC53aWdnbGUgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24od2lnZ2xlKTsgfVxuXG4gIC5zaGFrZSxcbiAgLnNwaW4tY3csXG4gIC5zcGluLWNjdyxcbiAgLndpZ2dsZSB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgfVxuXG4gIC8vIEFuaW1hdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbiAgLmluZmluaXRlIHsgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgYW5pbWF0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEZvcm1hdCBmb3IgQ1NTIGNsYXNzZXMgY3JlYXRlZCB3aXRoIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gYXBwZW5kIFt0cnVlXSAtIERlZmluZXMgaWYgc2VsZWN0b3JzIGFyZSBjaGFpbmVkIHRvIHRoZSBzZWxlY3RvciAoYC5jbGFzcy5lbnRlcmApLCBvciBhcHBlbmRlZCBhcyBhIG5ldyBjbGFzcyAoYC5jbGFzcy1lbnRlcmApLlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJ211aS0nXSAtIFByZWZpeCB0byBhZGQgYmVmb3JlIHRoZSBzdGF0ZSBvZiBhIGNsYXNzLiBFbnRlciBhbiBlbXB0eSBzdHJpbmcgdG8gdXNlIG5vIHByZWZpeC5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWyctYWN0aXZlJ10gLSBTdWZmaXggdG8gYWRkIHRvIHRoZSBhY3RpdmUgc3RhdGUgY2xhc3MuXG4kbW90aW9uLXVpLWNsYXNzZXM6IChcbiAgY2hhaW46IHRydWUsXG4gIHByZWZpeDogJ211aS0nLFxuICBhY3RpdmU6ICctYWN0aXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0ZSBuYW1lcyB0byByZWZlcmVuY2Ugd2hlbiB3cml0aW5nIG1vdGlvbiBjbGFzc2VzLiBUbyB1c2UgbXVsdGlwbGUgY2xhc3MgbmFtZXMgZm9yIG9uZSBzdGF0ZSwgZW50ZXIgYSBsaXN0IG9mIHN0cmluZ3MgaW5zdGVhZCBvZiBvbmUgc3RyaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zdGF0ZXM6IChcbiAgaW46ICdlbnRlcicsXG4gIG91dDogJ2xlYXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNwZWVkIHRoYXQgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMgcGxheSBhdCwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBzcGVlZC5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3BlZWRzOiAoXG4gIGRlZmF1bHQ6IDUwMG1zLFxuICBzbG93OiA3NTBtcyxcbiAgZmFzdDogMjUwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkZWxheSB0byBhZGQgYmVmb3JlIG1vdGlvbiwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBkZWxheS5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZGVsYXlzOiAoXG4gIGRlZmF1bHQ6IDAsXG4gIHNob3J0OiAzMDBtcyxcbiAgbG9uZzogNzAwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBlYXNpbmcgZm9yIHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGVhc2luZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZWFzaW5nczogKFxuICBkZWZhdWx0OiBsaW5lYXIsXG4gIGxpbmVhcjogbGluZWFyLFxuICBlYXNlOiBlYXNlLFxuICBlYXNlLWluOiBlYXNlLWluLFxuICBlYXNlLW91dDogZWFzZS1vdXQsXG4gIGVhc2UtaW4tb3V0OiBlYXNlLWluLW91dCxcbiAgYm91bmNlLWluOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSksXG4gIGJvdW5jZS1vdXQ6IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSksXG4gIGJvdW5jZS1pbi1vdXQ6IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBNaXNjZWxsYW5lb3VzIHNldHRpbmdzIHJlbGF0ZWQgdG8gTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbZmFsc2VdIC0gRGVmaW5lcyBpZiBzbGlkZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIGhpbmdlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc2NhbGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzcGluIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4kbW90aW9uLXVpLXNldHRpbmdzOiAoXG4gIHNsaWRlLWFuZC1mYWRlOiBmYWxzZSxcbiAgaGluZ2UtYW5kLWZhZGU6IHRydWUsXG4gIHNjYWxlLWFuZC1mYWRlOiB0cnVlLFxuICBzcGluLWFuZC1mYWRlOiB0cnVlLFxuICBwYXVzZS1xdWV1ZS1jbGFzczogJ2lzLXBhdXNlZCcsXG4gIGFjdGl2YXRlLXF1ZXVlLWNsYXNzOiAnaXMtYW5pbWF0aW5nJyxcbikgIWRlZmF1bHQ7XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWtleWZyYW1lcygkbmFtZSwgJGVmZmVjdHMuLi4pIHtcbiAgJG9iajogLW11aS1wcm9jZXNzLWFyZ3MoJGVmZmVjdHMuLi4pO1xuICAkb2JqOiBtYXAtcmVtb3ZlKCRvYmosIG5hbWUpO1xuXG4gIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgIC8vIE5vdyBpdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgQGVhY2ggJHBjdCwgJHByb3BzIGluICRvYmoge1xuICAgICAgI3stbXVpLWtleWZyYW1lLXBjdCgkcGN0KX0ge1xuICAgICAgICAvLyBMYXN0bHksIGl0ZXJhdGUgdGhyb3VnaCBlYWNoIENTUyBwcm9wZXJ0eSB3aXRoaW4gYSBwZXJjZW50YWdlIGFuZCBwcmludCBpdCBvdXRcbiAgICAgICAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkcHJvcHMge1xuICAgICAgICAgICN7JHByb3B9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzdHJpbmcgZm9yIGEgQ1NTIGtleWZyYW1lLCBieSBjb252ZXJ0aW5nIGEgbGlzdCBvZiBudW1iZXJzIHRvIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGlucHV0IC0gTGlzdCBvZiBudW1iZXJzIHRvIHVzZS5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IEEgc2V0IG9mIGNvbW1hLXNlcGFyYXRlZCBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXBjdCgkaW5wdXQpIHtcbiAgJG91dHB1dDogKCk7XG5cbiAgQGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbnVtYmVyJyB7XG4gICAgJG91dHB1dDogKCRpbnB1dCAqIDElKTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ2xpc3QnIHtcbiAgICBAZWFjaCAkaSBpbiAkaW5wdXQge1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICgkaSAqIDElKSwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gXCIjeyRvdXRwdXR9XCI7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRtYXBzLi4uIC0gQSBzZXJpZXMgb2YgbWFwcyB0byBtZXJnZSwgYXMgaW5kaXZpZHVhbCBwYXJhbWV0ZXJzLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBrZXlmcmFtZSBvYmplY3QuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRtYXBzLi4uKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBtYXAgcGFzc2VkIGluXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgIEBpZiAtbXVpLWlzLWZ1bmN0aW9uKCRtYXApIHtcbiAgICAgICRtYXA6IC1tdWktc2FmZS1jYWxsKCRtYXApO1xuICAgIH1cblxuICAgICRtYXA6IC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCk7XG5cbiAgICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBpbiB0aGUgbWFwXG4gICAgLy8gJGtleSBpcyB0aGUga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIC8vICR2YWx1ZSBpcyBhIG1hcCBvZiBDU1MgcHJvcGVydGllc1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAgICRuZXctdmFsdWU6ICgpO1xuXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJG5ldy1tYXAsICRrZXkpIHtcbiAgICAgICAgLy8gSWYgdGhlIG1hcCBhbHJlYWR5IGhhcyB0aGUga2V5ZnJhbWUgJSwgYXBwZW5kIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogLW11aS1tZXJnZS1wcm9wZXJ0aWVzKG1hcC1nZXQoJG5ldy1tYXAsICRrZXkpLCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIE90aGVyd2lzZSwgY3JlYXRlIGEgbmV3IG1hcCB3aXRoIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogJHZhbHVlO1xuICAgICAgfVxuXG4gICAgICAvLyBGaW5hbGx5LCBtZXJnZSB0aGUgbW9kaWZpZWQga2V5ZnJhbWUgdmFsdWUgaW50byB0aGUgb3V0cHV0IG1hcFxuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRuZXctdmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICAvLyBNYWtlIGEgbmFtZSBmb3IgdGhlIGtleWZyYW1lc1xuICAkLW11aS1jdXN0b206ICQtbXVpLWN1c3RvbSArIDEgIWdsb2JhbDtcbiAgJG1hcC1uYW1lOiAobmFtZTogJ2N1c3RvbS0jeyQtbXVpLWN1c3RvbX0nKTtcbiAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgJG1hcC1uYW1lKTtcblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgdHdvIG1hcHMgb2YgQ1NTIHByb3BlcnRpZXMgaW50byBvbmUgbWFwLiBJZiBib3RoIG1hcHMgaGF2ZSBhIHRyYW5zZm9ybSBwcm9wZXJ0eSwgdGhlIHZhbHVlcyBmcm9tIGVhY2ggd2lsbCBiZSBjb21iaW5lZCBpbnRvIG9uZSBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge01hcH0gJG9uZSAtIEZpcnN0IG1hcCB0byBtZXJnZS5cbi8vLyBAcGFyYW0ge01hcH0gJHR3byAtIFNlY29uZCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLW1lcmdlLXByb3BlcnRpZXMoJG9uZSwgJHR3bykge1xuICBAaWYgbWFwLWhhcy1rZXkoJG9uZSwgdHJhbnNmb3JtKSBhbmQgbWFwLWhhcy1rZXkoJHR3bywgdHJhbnNmb3JtKSB7XG4gICAgJHRyYW5zZm9ybTogam9pbihtYXAtZ2V0KCRvbmUsIHRyYW5zZm9ybSksIG1hcC1nZXQoJHR3bywgdHJhbnNmb3JtKSk7XG4gICAgJG9uZTogbWFwLW1lcmdlKCRvbmUsICh0cmFuc2Zvcm06ICR0cmFuc2Zvcm0pKTtcbiAgICAkdHdvOiBtYXAtcmVtb3ZlKCR0d28sIHRyYW5zZm9ybSk7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1tZXJnZSgkb25lLCAkdHdvKTtcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2xpZGluZyB0cmFuc2l0aW9uIGJ5IHRyYW5zbGF0aW5nIHRoZSBlbGVtZW50IGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbbnVsbF0gLSBEaXJlY3Rpb24gdG8gc2xpZGUgdG8uIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC4gQnkgZGVmYXVsdCBgbGVmdGAgYW5kIGByaWdodGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBudWxsLFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiAhPSBudWxsLCAkZGlyZWN0aW9uLCBpZigkc3RhdGUgPT0gaW4sIGxlZnQsIHJpZ2h0KSk7XG4gICRzbGlkZTogc2xpZGUoJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICAvLyBDU1MgT3V0cHV0XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG5cbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkZSB0cmFuc2l0aW9uIGJ5IGFkanVzdGluZyB0aGUgb3BhY2l0eSBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gW251bGxdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuIEJ5IGRlZmF1bHQgYDBgIGFuZCBgMWAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbbnVsbF0gLSBPcGFjaXR5IHRvIGVuZCBvbi4gQnkgZGVmYXVsdCBgMWAgYW5kIGAwYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1mYWRlKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbnVsbCxcbiAgJHRvOiBudWxsLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmcm9tOiBpZigkZnJvbSAhPSBudWxsLCAkZnJvbSwgaWYoJHN0YXRlID09IGluLCAwLCAxKSk7XG4gICR0bzogaWYoJHRvICE9IG51bGwsICR0bywgaWYoJHN0YXRlID09IGluLCAxLCAwKSk7XG4gICRmYWRlOiBmYWRlKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAwKTtcblxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMTAwKTtcbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSBlZmZlY3QgYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW251bGxdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC4gQnkgZGVmYXVsdCBgZnJvbS1iYWNrYCBhbmQgYGZyb20tZnJvbnRgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuQGZ1bmN0aW9uIGhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBudWxsXG4pIHtcbiAgLy8gUm90YXRpb24gZGlyZWN0aW9ucyB3aGVuIGhpbmdpbmcgZnJvbSBiYWNrIHZzLiBmcm9udFxuICAkcm90YXRpb24tYW1vdW50OiA5MGRlZztcbiAgJHJvdGF0aW9ucy1iYWNrOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgKTtcbiAgJHJvdGF0aW9ucy1mcm9tOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgKTtcblxuICAvLyBSb3RhdGlvbiBvcmlnaW5cbiAgJHR1cm4tb3JpZ2luOiBpZigkdHVybi1vcmlnaW4gIT0gbnVsbCwgJHR1cm4tb3JpZ2luLCBpZigkc3RhdGUgPT0gaW4sIGZyb20tYmFjaywgZnJvbS1mcm9udCkpO1xuICAkcm90YXRpb246ICcnO1xuICBAaWYgJHR1cm4tb3JpZ2luID09IGZyb20tZnJvbnQge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWZyb20sICRmcm9tKTtcbiAgfSBAZWxzZSBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1iYWNrIHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1iYWNrLCAkZnJvbSk7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICckdHVybi1vcmlnaW4gbXVzdCBiZSBlaXRoZXIgXCJmcm9tLWJhY2tcIiBvciBcImZyb20tZnJvbnRcIic7XG4gIH1cblxuICAvLyBTdGFydCBhbmQgZW5kIHN0YXRlXG4gICRzdGFydDogJyc7XG4gICRlbmQ6ICcnO1xuICBAaWYgJHN0YXRlID09IGluIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICB9IEBlbHNlIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICB9XG5cbiAgLy8gVHVybiBheGlzXG4gICRvcmlnaW46ICcnO1xuICBAaWYgJGF4aXMgPT0gZWRnZSB7XG4gICAgJG9yaWdpbjogJGZyb207XG4gIH0gQGVsc2Uge1xuICAgICRvcmlnaW46IGNlbnRlcjtcbiAgfVxuXG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAtbXVpLXN0cmluZy1zYWZlKCdoaW5nZS0jeyRzdGF0ZX0tI3skZnJvbX0tI3skYXhpc30tI3skdHVybi1vcmlnaW59JyksXG4gICAgMDogKHRyYW5zZm9ybTogJHN0YXJ0LCB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luKSxcbiAgICAxMDA6ICh0cmFuc2Zvcm06ICRlbmQpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbbnVsbF0gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLiBCeSBkZWZhdWx0IGBmcm9tLWJhY2tgIGFuZCBgZnJvbS1mcm9udGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1oaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogbnVsbCxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgaGluZ2UtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICR0dXJuLW9yaWdpbjogaWYoJHR1cm4tb3JpZ2luICE9IG51bGwsICR0dXJuLW9yaWdpbiwgaWYoJHN0YXRlID09IGluLCBmcm9tLWJhY2ssIGZyb20tZnJvbnQpKTtcbiAgJGhpbmdlOiBoaW5nZSgkc3RhdGUsICRmcm9tLCAkYXhpcywgJHBlcnNwZWN0aXZlLCAkdHVybi1vcmlnaW4pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2NhbGluZyB0cmFuc2l0aW9uLiBBIHNjYWxlIG9mIGAxYCBtZWFucyB0aGUgZWxlbWVudCBpcyB0aGUgc2FtZSBzaXplLiBMYXJnZXIgbnVtYmVycyBtYWtlIHRoZSBlbGVtZW50IGJpZ2dlciwgd2hpbGUgbnVtYmVycyBsZXNzIHRoYW4gMSBtYWtlIHRoZSBlbGVtZW50IHNtYWxsZXIuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFtudWxsXSAtIFNpemUgdG8gc3RhcnQgYXQuIEJ5IGRlZmF1bHQgYDBgIGFuZCBgMWAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbbnVsbF0gLSBTaXplIHRvIGVuZCBhdC4gQnkgZGVmYXVsdCBgMWAgYW5kIGAwYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBudWxsLFxuICAkdG86IG51bGwsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNjYWxlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZnJvbTogaWYoJGZyb20gIT0gbnVsbCwgJGZyb20sIGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSkpO1xuICAkdG86IGlmKCR0byAhPSBudWxsLCAkdG8sIGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCkpO1xuICAkc2NhbGU6IHpvb20oJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzcGlubmluZyB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LiBUaGUgYHR1cm5gIHVuaXQgaXMgdXNlZCB0byBzcGVjaWZ5IGhvdyBmYXIgdG8gcm90YXRlLiBgMXR1cm5gIGlzIGVxdWFsIHRvIGEgMzYwLWRlZ3JlZSBzcGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbbnVsbF0gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLiBCeSBkZWZhdWx0IGBjd2AgYW5kIGBjY3dgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gIT0gbnVsbCwgJGRpcmVjdGlvbiwgaWYoJHN0YXRlID09IGluLCBjdywgY2N3KSk7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBlbGVtZW50IGJ5IGFkZGluZyB0aGUgYGFuaW1hdGlvbi1uYW1lYCBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWktYW5pbWF0aW9uKCRhcmdzLi4uKSB7XG4gICRuYW1lOiBtYXAtZ2V0KC1tdWktcHJvY2Vzcy1hcmdzKCRhcmdzLi4uKSwgbmFtZSk7XG4gIEBpbmNsdWRlIG11aS1rZXlmcmFtZXMoJG5hbWUsICRhcmdzLi4uKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHVucXVvdGUoJG5hbWUpO1xufVxuIiwiLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tdmVuZG9yLXByZWZpeGVzXG5cbkBtaXhpbiBmb3VuZGF0aW9uLW5vcm1hbGl6ZSgpIHtcbiAgLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4gIC8vIERvY3VtZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cblxuICBodG1sIHtcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxuICB9XG5cbiAgLy8gU2VjdGlvbnNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAvLyBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLy8gR3JvdXBpbmcgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gIC8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG4gIGhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICAgIGhlaWdodDogMDsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgcHJlIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICAvLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuXG4gIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAwOyAvLyAxXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBjb2RlLFxuICBrYmQsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgLy8gYWxsIGJyb3dzZXJzLlxuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgLy8gRW1iZWRkZWQgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG5cbiAgaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyBGb3Jtc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvLyAxXG4gICAgZm9udC1zaXplOiAxMDAlOyAvLyAxXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICBtYXJnaW46IDA7IC8vIDJcbiAgfVxuXG4gIC8vIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAvLyAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQgeyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHsgLy8gMVxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cblxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gIC8vIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgLy8gICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgbGVnZW5kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMVxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDNcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG4gIHByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuXG4gIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAyXG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5cbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDJcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuXG4gIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG4gICAgZm9udDogaW5oZXJpdDsgLy8gMlxuICB9XG5cbiAgLy8gSW50ZXJhY3RpdmVcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuXG4gIGRldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgfVxuXG4gIC8vIE1pc2NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG5cbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cblxuICBbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIERpc2FibGUgb3V0bGluZSB3aGVuIGludGVudCBpcyBjbGVhcmx5IG1vdXNlIGFuZCB0b3VjaFxuICBbZGF0YS13aGF0aW50ZW50PVwibW91c2VcIl0sXG4gIFtkYXRhLXdoYXRpbnRlbnQ9XCJ0b3VjaFwiXSxcbiAgW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0sXG4gIFtkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdIHtcbiAgICAqLCAqOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZSBpT1MgY2FsbG91dHMgd2hlbiBkcmFnZ2FibGUgaXMgZmFsc2VcbiAgW2RyYWdnYWJsZT1mYWxzZV0ge1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBcInByaW1hcnlcIjogIzE3NzliYSxcbiAgXCJzZWNvbmRhcnlcIjogIzc2NzY3NixcbiAgXCJzdWNjZXNzXCI6ICMzYWRiNzYsXG4gIFwid2FybmluZ1wiOiAjZmZhZTAwLFxuICBcImFsZXJ0XCI6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBzYWZlIHBhZGRpbmcgb24gdGhlIGJvZHkgZm9yIG5vbi1yZWN0YW5ndWxhciBkZXZpY2VzIChpLmUuIHBob25lcyB3aXRoIG5vdGNoZXMpXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktc2FmZS1wYWRkaW5nOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGUgdGhhdCBjb250YWlucyB0aGUgZmxleCBqdXN0aWZ5aW5nIG9wdGlvbnNcbiQtemYtZmxleC1qdXN0aWZ5OiAtemYtZmxleC1qdXN0aWZ5KCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24pO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBAaWYgKCRib2R5LXNhZmUtcGFkZGluZykge1xuICAgICAgLy8gdXNpbmcgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIGFjY291bnQgZm9yIG5vbi1yZWN0YW5ndWxhciBkaXNwbGF5cyBlLmcuIHBob25lcyB3aXRoIG5vdGNoZXNcbiAgICAgIHBhZGRpbmctdG9wOiBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3Ncbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2FyZFxuLy8gIDE1LiBDbG9zZSBCdXR0b25cbi8vICAxNi4gRHJpbGxkb3duXG4vLyAgMTcuIERyb3Bkb3duXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcbi8vICAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vICAyMC4gRm9ybXNcbi8vICAyMS4gTGFiZWxcbi8vICAyMi4gTWVkaWEgT2JqZWN0XG4vLyAgMjMuIE1lbnVcbi8vICAyNC4gTWV0ZXJcbi8vICAyNS4gT2ZmLWNhbnZhc1xuLy8gIDI2LiBPcmJpdFxuLy8gIDI3LiBQYWdpbmF0aW9uXG4vLyAgMjguIFByb2dyZXNzIEJhclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vICAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAgMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAgNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAgNDcuIFJldmVhbFxuLy8gIDQ4LiBTbGlkZXJcbi8vICA0OS4gU3dpdGNoXG4vLyAgNTAuIFRhYmxlXG4vLyAgNTEuIFRhYnNcbi8vICA1Mi4gVGh1bWJuYWlsXG4vLyAgNTMuIFRpdGxlIEJhclxuLy8gIDU0LiBUb29sdGlwXG4vLyAgNTUuIFRvcCBCYXJcbi8vICA1Ni4gWHkgR3JpZFxuXG5AaW1wb3J0IFwidXRpbC91dGlsXCI7XG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTQwMCk7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogI2QyMjUzMyxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbiAgbmVybzogIzEyMTIxMixcbik7XG4kbGlnaHQtZ3JheTogI2U2ZTZlNjtcbiRtZWRpdW0tZ3JheTogI2NhY2FjYTtcbiRkYXJrLWdyYXk6ICM4YThhOGE7XG4kYmxhY2s6ICMwMDAwMDA7XG4kd2hpdGU6ICNmZmZmZmY7XG4kcm9zc286ICNkMjI1MzM7XG4kcm9zc29fY2g6ICNGOEVCREY7XG4kcm9zc29fb3A6ICNkMjI1MzM4YztcbiRibHVlOiAjMTMxNzI1O1xuJGdyaWdpbzogI2M4YzhjODtcbiRncmlnaW9fYnJlYWtpbmc6ICNFRkVGRUY7XG4kZGFya2dyYXk6ICMxRjFGMUY7XG4kZ3JpZ2lvY2hpYXJvOiAjRUJFQkVCO1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuLy8kYm9keS1mb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4kYm9keS1mb250LWZhbWlseTogXCJTd2l0emVyXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGJvZHktc2FmZS1wYWRkaW5nOiBmYWxzZTtcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtO1xuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xuJGdsb2JhbC1yYWRpdXM6IDA7XG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW07XG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG4kcHJpbnQtaHJlZnM6IHRydWU7XG5cbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjVweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDFweCxcbiAgeHh4bGFyZ2U6IDE5MjBweCxcbik7XG4kYnJlYWtwb2ludHMtaGlkcGk6IChcbiAgaGlkcGktMTogMSxcbiAgaGlkcGktMS01OiAxLjUsXG4gIGhpZHBpLTI6IDIsXG4gIHJldGluYTogMixcbiAgaGlkcGktMzogMyxcbik7XG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlIHhsYXJnZSB4eGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kZ3JpZC1jb2x1bW4tYWxpYXM6IFwiY29sdW1uc1wiO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuJGhlYWRlci1mb250LWZhbWlseTogXCJkaW4tMjAxNC1uYXJyb3dcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4vLyRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRoZWFkZXItZm9udC13ZWlnaHQ6IDcwMDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICBcImgxXCI6IChcbiAgICAgIFwiZm9udC1zaXplXCI6IDI0LFxuICAgICksXG4gICAgXCJoMlwiOiAoXG4gICAgICBcImZvbnQtc2l6ZVwiOiAyMCxcbiAgICApLFxuICAgIFwiaDNcIjogKFxuICAgICAgXCJmb250LXNpemVcIjogMTksXG4gICAgKSxcbiAgICBcImg0XCI6IChcbiAgICAgIFwiZm9udC1zaXplXCI6IDE4LFxuICAgICksXG4gICAgXCJoNVwiOiAoXG4gICAgICBcImZvbnQtc2l6ZVwiOiAxNyxcbiAgICApLFxuICAgIFwiaDZcIjogKFxuICAgICAgXCJmb250LXNpemVcIjogMTYsXG4gICAgKSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgXCJoMVwiOiAoXG4gICAgICBcImZvbnQtc2l6ZVwiOiA0OCxcbiAgICApLFxuICAgIFwiaDJcIjogKFxuICAgICAgXCJmb250LXNpemVcIjogNjQsXG4gICAgKSxcbiAgICBcImgzXCI6IChcbiAgICAgIFwiZm9udC1zaXplXCI6IDI4LFxuICAgICksXG4gICAgXCJoNFwiOiAoXG4gICAgICBcImZvbnQtc2l6ZVwiOiAyNSxcbiAgICApLFxuICAgIFwiaDVcIjogKFxuICAgICAgXCJmb250LXNpemVcIjogMjAsXG4gICAgKSxcbiAgICBcImg2XCI6IChcbiAgICAgIFwiZm9udC1zaXplXCI6IDE2LFxuICAgICksXG4gICksXG4pO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRlbmFibGUtY29kZS1pbmxpbmU6IHRydWU7XG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWU7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogXCJcXDIwMTQgXFwwMDIwXCI7XG4kY29kZS1jb2xvcjogJGJsYWNrO1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kY29kZS1ibG9jay1wYWRkaW5nOiAxcmVtO1xuJGNvZGUtYmxvY2stbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24tcGx1cy1jb250ZW50OiBcIlxcMDAyQlwiO1xuJGFjY29yZGlvbi1taW51cy1jb250ZW50OiBcIlxcMjAxM1wiO1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHg7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06IFwiL1wiO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiBcIlxcXFxcIjtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiBudWxsO1xuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1ib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4O1xuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKTtcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZTtcblxuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogXCIuYnV0dG9uXCI7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtc2l6ZXM6IChcbiAgc21hbGw6IDAuNXJlbSxcbiAgZGVmYXVsdDogMXJlbSxcbiAgbGFyZ2U6IDNyZW0sXG4pO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tei1pbmRleDogMTA7XG4kY2xvc2VidXR0b24tZGVmYXVsdC1zaXplOiBtZWRpdW07XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiBudWxsO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG5cbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XG5cbi8vIDIwLiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5O1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIExhYmVsXG4vLyAtLS0tLS0tLS1cblxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGxhYmVsLWNvbG9yOiAkd2hpdGU7XG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2s7XG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMi4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMy4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW07XG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xuJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlOiAkYmxhY2s7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWU7XG5cbi8vIDI0LiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjUuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMztcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcbiRtYWluY29udGVudC1jbGFzczogXCJvZmYtY2FudmFzLWNvbnRlbnRcIjtcblxuLy8gMjYuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNy4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG4kcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91czogXCJcXDAwQUJcIjtcbiRwYWdpbmF0aW9uLWFycm93LW5leHQ6IFwiXFwwMEJCXCI7XG5cbi8vIDI4LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChkb3duLCB1cCwgcmlnaHQsIGxlZnQpO1xuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZDtcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWRpc3BsYXk6IChpbmxpbmUsIGlubGluZS1ibG9jaywgYmxvY2ssIHRhYmxlLCB0YWJsZS1jZWxsKTtcblxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKGRpc2MsIGNpcmNsZSwgc3F1YXJlKTtcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoZGVjaW1hbCwgbG93ZXItYWxwaGEsIGxvd2VyLWxhdGluLCBsb3dlci1yb21hbiwgdXBwZXItYWxwaGEsIHVwcGVyLWxhdGluLCB1cHBlci1yb21hbik7XG5cbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLW92ZXJmbG93OiAodmlzaWJsZSwgaGlkZGVuLCBzY3JvbGwpO1xuXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1wb3NpdGlvbjogKHN0YXRpYywgcmVsYXRpdmUsIGFic29sdXRlLCBmaXhlZCk7XG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcblxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG5cbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE2KSwgMCAycHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG5cbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNpemluZzogKHdpZHRoLCBoZWlnaHQpO1xuJHByb3RvdHlwZS1zaXplczogKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCUsXG4pO1xuXG4vLyA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzO1xuXG4vLyA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAob3ZlcmxpbmUsIHVuZGVybGluZSwgbGluZS10aHJvdWdoKTtcblxuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChsb3dlcmNhc2UsIHVwcGVyY2FzZSwgY2FwaXRhbGl6ZSk7XG5cbi8vIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuLy8gNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pO1xuXG4vLyA0Ny4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XG5cbi8vIDQ4LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA0OS4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4kc3dpdGNoLW9wYWNpdHktZGlzYWJsZWQ6IDAuNTtcbiRzd2l0Y2gtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcblxuLy8gNTAuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlO1xuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlOiBldmVuO1xuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAqIDAuNSk7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTEuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA1Mi4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiA0cHggc29saWQgJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTMuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDU0LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTUuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b3BiYXItcGFkZGluZzogMC41cmVtO1xuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1Ni4gWHkgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJHh5LWdyaWQ6IHRydWU7XG4kZ3JpZC1jb250YWluZXI6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW5zOiAxMjtcbiRncmlkLW1hcmdpbi1ndXR0ZXJzOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHgsXG4pO1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLyBQYXRjaCB0byBmaXggaXNzdWUgIzEyMDgwXG4kLXpmLWJwLXZhbHVlOiBudWxsO1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogZGl2aWRlKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSwgJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAzMiAyNFwiPjxwb2x5Z29uIHBvaW50cz1cIjAsMCAzMiwwIDE2LDI0XCIgc3R5bGU9XCJmaWxsOiAjeyRyZ2J9XCI+PC9wb2x5Z29uPjwvc3ZnPicpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZShkaXZpZGUoMSwgJGkpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IGFic29sdXRlICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiAxcHggI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiAxcHggI3skaW1wb3J0YW50fTtcbiAgcGFkZGluZzogMCAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogaGlkZGVuICN7JGltcG9ydGFudH07XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAjeyRpbXBvcnRhbnR9O1xuICBib3JkZXI6IDAgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZihcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogc3RhdGljICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiBhdXRvICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogdmlzaWJsZSAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiBhdXRvICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludChcbiAgJHNtYWxsOiB0cnVlLFxuICAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWVcbikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50LWluKGF1dG8sIC16Zi1ib29sKCRzbWFsbCksIC16Zi1ib29sKCRhdXRvLWluc2VydC1icmVha3BvaW50cykpIHtcbiAgICBAY29udGVudFxuICB9O1xufVxuXG4vLy8gSXRlcmF0ZXMgd2l0aCBgQGNvbnRlbnRgIHRocm91Z2ggdGhlIGdpdmVuIGxpc3Qgb2YgYnJlYWtwb2ludHMgYCRicmVha3BvaW50c2AuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYnJlYWtwb2ludHMgW2F1dG9dIC0gQnJlYWtwb2ludHMgdG8gaXRlcmF0ZXMgb24uIEl0IGNhbiBiZSBhIGJyZWFrcG9pbnQgbmFtZSwgbGlzdCBvZiBicmVha3BvaW50cyBvciBgYXV0b2AgZm9yIGFsbCBicmVha3BvaW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58TnVsbH0gJHplcm8tYnJlYWtwb2ludCBbbnVsbF0gLSBXaGV0aGVyIHRoZSB6ZXJvLWJyZWFrcG9pbnQgKG9mdGVuIGBzbWFsbGApIG11c3QgYmUgaW5jbHVkZWQuIElmIGB0cnVlYCwgaXQgd2lsbCBhbHdheXMgYmUgYWRkZWQgdG8gdGhlIGxpc3QgaWYgbm90IGFscmVhZHkgdGhlcmUuIElmIGBmYWxzZWAsIGl0IHdpbGwgYWx3YXlzIGJlIHJlbW92ZWQuIERvZXMgbm90aGluZyBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxLZXl3b3JkfSAkbWVkaWEtcXVlcmllcyBbdHJ1ZV0gLSBXaGV0aGVyIG1lZGlhLXF1ZXJpZXMgbXVzdCBiZSBnZW5lcmF0ZWQuIElmIGBmb3ItbGlzdHNgLCBvbmx5IGdlbmVyYXRlIG1lZGlhLXF1ZXJpZXMgd2hlbiBgJGJyZWFrcG9pbnRzYCBpcyBhIGxpc3QuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludC1pbihcbiAgJGJyZWFrcG9pbnRzOiBhdXRvLFxuICAkemVyby1icmVha3BvaW50OiBudWxsLFxuICAkbWVkaWEtcXVlcmllczogdHJ1ZVxuKSB7XG4gICQtbGlzdDogKCk7XG4gICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiB0cnVlO1xuXG4gIC8vIFJldHJpZXZlIHRoZSBsaXN0IG9mIGJyZWFrcG9pbnQocykgdG8gaXRlcmF0ZSBvbi5cbiAgQGlmICRicmVha3BvaW50cyA9PSBhdXRvIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdsaXN0JyB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludHM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdzdHJpbmcnIHtcbiAgICAkLWxpc3Q6ICgkYnJlYWtwb2ludHMpO1xuICAgICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiBmYWxzZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIFwiJGJyZWFrcG9pbnRzXCIgaW4gXCItemYtZWFjaC1icmVha3BvaW50LWluKClcIi4gR290IFwiI3skYnJlYWtwb2ludHN9XCIgKCN7dHlwZS1vZigkYnJlYWtwb2ludHMpfSkuIEV4cGVjdGVkIGEgYnJlYWtwb2ludCBuYW1lLCBhIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgXCJhdXRvXCInO1xuICB9XG5cbiAgLy8gQWRkIG9yIHJlbW92ZSB0aGUgemVybyBicmVha3BvaW50IGFjY29yZGluZyB0byBgJHplcm8tYnJlYWtwb2ludGBcbiAgQGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gdHJ1ZSB7XG4gICAgJC1saXN0OiBqb2luKCgkLXpmLXplcm8tYnJlYWtwb2ludCksIHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KSk7XG4gIH1cbiAgQGVsc2UgaWYgJHplcm8tYnJlYWtwb2ludCA9PSBmYWxzZSB7XG4gICAgJC1saXN0OiBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBJdGVyYXRlIG9uIGJyZWFrcG9pbnQocylcbiAgQGVhY2ggJGJwIGluICQtbGlzdCB7XG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiAkYnAgIWdsb2JhbDtcblxuICAgIEBpZiAoJG1lZGlhLXF1ZXJpZXMgPT0gdHJ1ZSBvciAoJG1lZGlhLXF1ZXJpZXMgPT0gJ2Zvci1saXN0cycgYW5kICQtYnJlYWtwb2ludHMtaXMtYS1saXN0KSkge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJGJwLXZhbHVlOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgICBAaWYgJGJwLXZhbHVlICE9IG51bGwge1xuICAgICAgICAkbmFtZTogJGJwLXZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gT3V0cHV0cyBDU1MgY2xhc3NlcyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gZm91bmRhdGlvbi1ncmlkKFxuICAkcm93OiAncm93JyxcbiAgJGNvbHVtbjogJ2NvbHVtbicsXG4gICRjb2x1bW4tcm93OiAnY29sdW1uLXJvdycsXG4gICRndXR0ZXI6ICdndXR0ZXInLFxuICAkcHVzaDogJ3B1c2gnLFxuICAkcHVsbDogJ3B1bGwnLFxuICAkY2VudGVyOiAnY2VudGVyZWQnLFxuICAkdW5jZW50ZXI6ICd1bmNlbnRlcmVkJyxcbiAgJGNvbGxhcHNlOiAnY29sbGFwc2UnLFxuICAkdW5jb2xsYXBzZTogJ3VuY29sbGFwc2UnLFxuICAkb2Zmc2V0OiAnb2Zmc2V0JyxcbiAgJGVuZDogJ2VuZCcsXG4gICRleHBhbmRlZDogJ2V4cGFuZGVkJyxcbiAgJGJsb2NrOiAnYmxvY2snXG4pIHtcbiAgLy8gUm93XG4gIC4jeyRyb3d9IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdztcblxuICAgIC8vIENvbGxhcHNpbmdcbiAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcblxuICAgICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIChmdWxsLXdpZHRoKSByb3dcbiAgICAmLiN7JGV4cGFuZGVkfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG5cbiAgICAgIC4jeyRyb3d9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguI3skZXhwYW5kZWR9KSAuI3skcm93fSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG4gICAgfVxuXG4gICAgQGlmIHR5cGUtb2YoJGdyaWQtY29sdW1uLWd1dHRlcikgPT0gJ21hcCcge1xuICAgICAgLy8gU3RhdGljICh1bnJlc3BvbnNpdmUpIHJvdyBndXR0ZXJzXG4gICAgICAvL1xuICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3JpZC1jb2x1bW4tZ3V0dGVyIHtcbiAgICAgICAgJi4jeyRndXR0ZXJ9LSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICA+IC4jeyRjb2x1bW59IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkdmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuI3skY29sdW1ufSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2w7XG5cbiAgICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICAgJi4jeyRlbmR9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtZW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG5cbiAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXG4gIC4jeyRyb3d9IC4jeyRjb2x1bW59LiN7JHJvd30uI3skcm93fSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgLy8gQ29sdW1uIHdpZHRoXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtc2l6ZSgkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNvdXJjZSBvcmRlcmluZ1xuICAgICAgQGlmICRpIDwgJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgICAgQGlmICRwdXNoIHtcbiAgICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRwdWxsIHtcbiAgICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygtJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICBAaWYgJG9mZnNldCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tI3skb2Zmc2V0fS0jeyRvfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtb2ZmKCRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoJGksICcuI3skY29sdW1ufScpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLiN7JGV4cGFuZGVkfS4jeyRyb3d9IC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9LiN7JHJvd30ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG5cbiAgICAvLyBQb3NpdGlvbmluZ1xuICAgIEBpZiAkY2VudGVyIHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skY2VudGVyfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcyhjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEd1dHRlciBhZGp1c3RtZW50XG4gICAgJC1ndXR0ZXItdW5wb3Mtc2VsZWN0b3I6IChcbiAgICAgIGlmKCR1bmNlbnRlciwgJy4jeyQtemYtc2l6ZX0tI3skdW5jZW50ZXJ9JywgbnVsbCksXG4gICAgICBpZigkcHVzaCwgJy4jeyQtemYtc2l6ZX0tI3skcHVzaH0tMCcsIG51bGwpLFxuICAgICAgaWYoJHB1bGwsICcuI3skLXpmLXNpemV9LSN7JHB1bGx9LTAnLCBudWxsKSxcbiAgICApO1xuICAgIEBpZiAoJHVuY2VudGVyIG9yICRwdXNoIG9yICRwdWxsKSB7XG4gICAgICAjeyQtZ3V0dGVyLXVucG9zLXNlbGVjdG9yfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXVucG9zO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuI3skY29sdW1ufS0jeyRibG9ja30ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW1hcmdpbjtcbiAgfVxuXG4gIEBpZiAkY29sdW1uID09ICdjb2x1bW4nIGFuZCBoYXMtdmFsdWUoJGdyaWQtY29sdW1uLWFsaWFzKSB7XG4gICAgLiN7JGdyaWQtY29sdW1uLWFsaWFzfSB7XG4gICAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1ibG9jayBwbGFjZWhvbGRlci1pbi1leHRlbmRcbiAgICAgIEBleHRlbmQgLmNvbHVtbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGNvbHVtbnMgZGVmaW5lZCBpbnNpZGUgdGhpcyBtaXhpbiB0byB1c2UgYSBkaWZmZXJlbnQgY29sdW1uIGNvdW50LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkcm9vdCBbZmFsc2VdXG4vLy8gICBJZiBgZmFsc2VgLCBzZWxlY3RvcnMgaW5zaWRlIHRoaXMgbWl4aW4gd2lsbCBuZXN0IGluc2lkZSB0aGUgcGFyZW50IHNlbGVjdG9yLlxuLy8vICAgSWYgYHRydWVgLCBzZWxlY3RvcnMgd2lsbCBub3QgbmVzdC5cbkBtaXhpbiBncmlkLWNvbnRleHQoXG4gICRjb2x1bW5zLFxuICAkcm9vdDogZmFsc2Vcbikge1xuICAvLyBTdG9yZSB0aGUgY3VycmVudCBjb2x1bW4gY291bnQgc28gaXQgY2FuIGJlIHJlLXNldCBsYXRlclxuICAkb2xkLWdyaWQtY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW4tY291bnQ7XG4gICRncmlkLWNvbHVtbi1jb3VudDogJGNvbHVtbnMgIWdsb2JhbDtcblxuICBAaWYgJHJvb3Qge1xuICAgIEBhdC1yb290IHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBvbGQgY29sdW1uIGNvdW50XG4gICRncmlkLWNvbHVtbi1jb3VudDogJG9sZC1ncmlkLWNvbHVtbi1jb3VudCAhZ2xvYmFsO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgcm93LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gQ29sdW1uIGNvdW50IGZvciB0aGlzIHJvdy4gYG51bGxgIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGNvbHVtbiBjb3VudC5cbi8vLyBAcGFyYW0ge0tleXdvcmRzfSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2YgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gaW5jbHVkZSBhIGNsZWFyZml4LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3coXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICRzaXplOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjZjogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcnMpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKCRzaXplKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGNmIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gSW52ZXJ0cyB0aGUgbWFyZ2lucyBvZiBhIHJvdyB0byBuZXN0IGl0IGluc2lkZSBvZiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAkbWFyZ2luOiByZW0tY2FsYygtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJC16Zi1zaXplKSkgKiAwLjUgKiAtMTtcblxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0IGEgZ3JpZCByb3cgc2l6ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuQG1peGluIGdyaWQtcm93LXNpemUoJHNpemU6ICRncmlkLXJvdy13aWR0aCkge1xuICBAaWYgJHNpemUgPT0gZXhwYW5kIHtcbiAgICAkc2l6ZTogbm9uZTtcbiAgfVxuXG4gIG1heC13aWR0aDogJHNpemU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kdW5pdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiBkaXZpZGUoJG51bSwgJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6IGRpdmlkZSgkYmFzZSwgMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAaWYgJHVuaXQtd2FybmluZ3Mge1xuICAgICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIH1cbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IGRpdmlkZShzdHJpcC11bml0KCR2YWx1ZSksIHN0cmlwLXVuaXQoJGJhc2UpKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS4gSWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0IHRvIGEgdW5pdGxlc3MgbGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuQGZ1bmN0aW9uIHVuaXRsZXNzLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIEZpcnN0LCBsZXRzIGNvbnZlcnQgb3VyICRiYXNlIHRvIHBpeGVsc1xuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogZGl2aWRlKCRiYXNlLCAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXQncyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6IGRpdmlkZSgkdmFsdWUsIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gZGl2aWRlKHN0cmlwLXVuaXQoJHZhbHVlKSwgc3RyaXAtdW5pdCgkYmFzZSkpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXIgdGhhbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiBkaXZpZGUoJHZhbHVlLCBzdHJpcC11bml0KCRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkZ3V0dGVyIFthdXRvXVxuLy8vICAgU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRndXR0ZXJzIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBndXR0ZXIgcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRndXR0ZXJzIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRndXR0ZXIsICRndXR0ZXJzKSB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpICogMC41O1xuXG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgfVxufVxuXG4vLy8gQ29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmVtb3ZpbmcgdGhlIHBhZGRpbmcuICoqTm90ZToqKiBvbmx5IHVzZSB0aGlzIG1peGluIHdpdGhpbiBhIGJyZWFrcG9pbnQuIFRvIGNvbGxhcHNlIGEgY29sdW1uJ3MgZ3V0dGVycyBvbiBhbGwgc2NyZWVuIHNpemVzLCB1c2UgdGhlIGAkZ3V0dGVyYCBwYXJhbWV0ZXIgb2YgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiBpbnN0ZWFkLlxuQG1peGluIGdyaWQtY29sdW1uLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKDApO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1ndXR0ZXJcbkBtaXhpbiBncmlkLWNvbC1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXIsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTZXRzIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zIHRvIG1hdGNoIGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbWFyZ2luIFthdXRvXVxuLy8vICAgVGhlIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkbWFyZ2lucyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkbWFyZ2lucyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcmdpbnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tbWFyZ2luIChcbiAgJG1hcmdpbjogYXV0byxcbiAgJG1hcmdpbnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkbWFyZ2luLCAkbWFyZ2lucykge1xuICAgICRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIHdpZHRoIG9mIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkd2lkdGggWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCB0byBtYWtlIHRoZSBjb2x1bW4uIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXNpemUoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXNpemVcbkBtaXhpbiBncmlkLWNvbC1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMjogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgZGl2aWRlKCRleHBvbmVudCwgJGRlbm9taW5hdG9yKSksIGRpdmlkZSgkcHJlYzIsICRkZW5vbWluYXRvciksICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiBkaXZpZGUoJHZhbHVlLCAkYmFzZSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiBkaXZpZGUoMSwgJG4pICogKCgkbiAtIDEpICogJHggKyBkaXZpZGUoJG51bSwgcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiBkaXZpZGUoJGgsICR3KSAqIDEwMCU7XG59XG5cbi8vLyBQYXJzZSB0aGUgZ2l2ZW4gYCRmcmFjdGlvbmAgdG8gbnVtZXJhdG9ycyBhbmQgZGVudW1lcmF0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkZnJhY3Rpb24gLSBWYWx1ZSByZXByZXNlbnRpbmcgYSBmcmFjdGlvbiB0byBwYXJzZS4gSXQgY2FuIGJlIGZvcm1hdHRlZCBhcyBgNTAlYCwgYDEgb2YgMmAsIGAxLzJgIG9yIGA1MGAgKG5vIGRlbm9taW5hdG9yIHdvdWxkIGJlIHJldHVybmVkKS5cbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IExpc3Qgb2YgcGFyc2VkIHZhbHVlcyB3aXRoIG51bWVyYXRvciBhdCBmaXJzdCBwb3NpdGlvbiBhbmQgZGVudW1lcmF0b3IgYXMgc2Vjb25kLiBUaGVzZSB2YWx1ZXMgbWF5IGJlIG51bGwuXG5AZnVuY3Rpb24gemYtcGFyc2UtZnJhY3Rpb24oJGZyYWN0aW9uKSB7XG5cbiAgQGlmIHR5cGUtb2YoJGZyYWN0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gXCI1MCVcIlxuICAgIEBpZiB1bml0KCRmcmFjdGlvbikgPT0gJyUnIHtcbiAgICAgIEByZXR1cm4gKHN0cmlwLXVuaXQoJGZyYWN0aW9uKSwgMTAwKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKHVuaXQoJGZyYWN0aW9uKSA9PSAnJykge1xuICAgICAgLy8gXCIwLjVcIlxuICAgICAgQGlmICRmcmFjdGlvbiA8IDEge1xuICAgICAgICBAcmV0dXJuICgkZnJhY3Rpb24gKiAxMDAsIDEwMCk7XG4gICAgICB9XG4gICAgICAvLyBcIjUwXCJcbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiAoJGZyYWN0aW9uLCBudWxsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiB0eXBlLW9mKCRmcmFjdGlvbikgPT0gJ2xpc3QnIHtcbiAgICAvLyBcIjUwIG9mIDEwMFwiLCBcIjUwLzEwMFwiLi4uXG4gICAgQGlmIGxlbmd0aCgkZnJhY3Rpb24pID09IDNcbiAgICBhbmQgdHlwZS1vZihudGgoJGZyYWN0aW9uLCAxKSA9PSAnbnVtYmVyJylcbiAgICBhbmQgdHlwZS1vZihudGgoJGZyYWN0aW9uLCAzKSA9PSAnbnVtYmVyJykge1xuICAgICAgQHJldHVybiAobnRoKCRmcmFjdGlvbiwgMSksIG50aCgkZnJhY3Rpb24sIDMpKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIChudWxsLCBudWxsKTtcbn1cblxuLy8vIFJldHVybnMgd2hldGhlciB0aGUgZ2l2ZW4gYCR2YWx1ZWAgcmVwcmVzZW50cyBhIGZyYWN0aW9uLiBTdXBwb3J0cyBmb3JtYXRzIGxpa2UgYDUwJWAsIGAxIG9mIDJgLCBgMSBwZXIgMmAgb3IgYDEvMmAuXG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZSAtIFZhbHVlIHRvIHRlc3QuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYWxsb3ctbm8tZGVub21pbmF0b3IgW2ZhbHNlXSAtIElmIGB0cnVlYCwgc2ltcGxlIG51bWJlcnMgd2l0aG91dCBkZW5vbWluYXRvcnMgbGlrZSBgNTBgIGFyZSBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSBgdHJ1ZWAgaWYgYCR2YWx1ZWAgcmVwcmVzZW50cyBhIGZyYWN0aW9uLCBgZmFsc2VgIG90aGVyd2lzZS5cbkBmdW5jdGlvbiB6Zi1pcy1mcmFjdGlvbigkdmFsdWUsICRhbGxvdy1uby1kZW5vbWluYXRvcjogZmFsc2UpIHtcbiAgJHBhcnNlZDogemYtcGFyc2UtZnJhY3Rpb24oJHZhbHVlKTtcbiAgQHJldHVybiBub3QobnRoKCRwYXJzZWQsIDEpID09IG51bGxcbiAgICBvciAobnRoKCRwYXJzZWQsIDIpID09IG51bGwgYW5kICRhbGxvdy1uby1kZW5vbWluYXRvciA9PSBmYWxzZSkpO1xufVxuXG4vLy8gQ2FsY3VsYXRlIGEgcGVyY2VudGFnZSBmcm9tIGEgZ2l2ZW4gZnJhY3Rpb24uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZnJhY3Rpb24gLSBWYWx1ZSByZXByZXNlbnRpbmcgYSBmcmFjdGlvbiB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlLCBmb3JtYXR0ZWQgYXMgYDUwYCAocmVsYXRpdmUgdG8gYCRkZW5vbWluYXRvcmApLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGRlbm9taW5hdG9yIC0gRGVmYXVsdCB2YWx1ZSB0byB1c2UgYXMgZGVub21pbmF0b3Igd2hlbiBgJGZyYWN0aW9uYCByZXByZXNlbnRzIGFuIGFic29sdXRlIHZhbHVlLlxuQGZ1bmN0aW9uIGZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoXG4gICRmcmFjdGlvbixcbiAgJGRlbm9taW5hdG9yOiBudWxsXG4pIHtcbiAgJHBhcnNlZDogemYtcGFyc2UtZnJhY3Rpb24oJGZyYWN0aW9uKTtcbiAgJHBhcnNlZC1ub21pbmF0b3I6IG50aCgkcGFyc2VkLCAxKTtcbiAgJHBhcnNlZC1kZW5vbWluYXRvcjogbnRoKCRwYXJzZWQsIDIpO1xuXG4gIEBpZiAkcGFyc2VkLW5vbWluYXRvciA9PSBudWxsIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgXCJmcmFjdGlvbi10by1wZXJjZW50YWdlKClcIi4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG4gIEBpZiAkcGFyc2VkLWRlbm9taW5hdG9yID09IG51bGwge1xuICAgIEBpZiB0eXBlLW9mKCRkZW5vbWluYXRvcikgPT0gJ251bWJlcicge1xuICAgICAgJHBhcnNlZC1kZW5vbWluYXRvcjogJGRlbm9taW5hdG9yO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAZXJyb3IgJ0Vycm9yIHdpdGggXCJmcmFjdGlvbi10by1wZXJjZW50YWdlKClcIi4gQSBkZWZhdWx0IFwiJGRlbm9taW5hdG9yXCIgaXMgcmVxdWlyZWQgdG8gc3VwcG9ydCBhYnNvbHV0ZSB2YWx1ZXMnO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gcGVyY2VudGFnZShkaXZpZGUoJHBhcnNlZC1ub21pbmF0b3IsICRwYXJzZWQtZGVub21pbmF0b3IpKTtcbn1cblxuLy8vIERpdmlkZSB0aGUgZ2l2ZW4gYCRkaXZpZGVudGAgYnkgdGhlIGdpdmVuIGAkZGl2aXNvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGRpdmlkZW50IC0gVGhlIGRpdmlkZW50LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZGl2aXNvciAtIFRoZSBkaXZpc29yLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcHJlY2lzaW9uIC0gVGhlIHByZWNpc2lvbiBkZWNpbWFscyBmb3IgdGhlIGRpdmlzaW9uLlxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZGl2aXNpb24uXG5AZnVuY3Rpb24gZGl2aWRlKCRkaXZpZGVuZCwgJGRpdmlzb3IsICRwcmVjaXNpb246IDEyKSB7XG4gICRzaWduOiBpZigkZGl2aWRlbmQgPiAwIGFuZCAkZGl2aXNvciA+IDAgb3IgJGRpdmlkZW5kIDwgMCBhbmQgJGRpdmlzb3IgPCAwLCAxLCAtMSk7XG4gICRkaXZpZGVuZDogYWJzKCRkaXZpZGVuZCk7XG4gICRkaXZpc29yOiBhYnMoJGRpdmlzb3IpO1xuICBAaWYgJGRpdmlkZW5kID09IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAaWYgJGRpdmlzb3IgPT0gMCB7XG4gICAgQGVycm9yICdDYW5ub3QgZGl2aWRlIGJ5IDAnO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAwLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgICdweCc6IDFweCxcbiAgICAncmVtJzogMXJlbSxcbiAgICAnZW0nOiAxZW0sXG4gICAgJyUnOiAxJVxuICApO1xuICBAaWYgKCRkaXZpZGVuZC11bml0ICE9ICRkaXZpc29yLXVuaXQgYW5kIG1hcC1oYXMta2V5KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpKSB7XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIG1hcC1nZXQoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBsaXN0IG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiAod2l0aG91dCBxdW90ZXMpIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgQHJldHVybiBmcmFjdGlvbi10by1wZXJjZW50YWdlKCRjb2x1bW5zLCAkZGVub21pbmF0b3I6ICRncmlkLWNvbHVtbi1jb3VudCk7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuICAvLyBQb3NpdGlvblxuICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoYXV0byk7XG5cbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcm93KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1yb3dcbkBtaXhpbiBncmlkLWNvbC1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXJzKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBSZXBvc2l0aW9uIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJHBvc2l0aW9uIC0gSXQgY2FuIGJlOlxuLy8vICAgKiBBIG51bWJlcjogVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnRcbi8vLyAgICAgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlXG4vLy8gICAgIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC5cbi8vLyAgICogYGNlbnRlcmA6IENvbHVtbiB3aWxsIGJlIGNlbnRlcmVkXG4vLy8gICAqIGBhdXRvYDogQ29sdW1uIHdpbGwgYmUgcHVzaGVkIHRvIHRoZSBsZWZ0IChvciB0byB0aGUgcmlnaHQgZm9yIHRoZSBsYXN0IGNvbHVtbikuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIC8vIEF1dG8gcG9zaXRpb25pbmdcbiAgQGlmICRwb3NpdGlvbiA9PSBhdXRvIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQdXNoL3B1bGxcbiAgQGVsc2UgaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKGRpdmlkZSgkcG9zaXRpb24sICRncmlkLWNvbHVtbi1jb3VudCkpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxuXG4gIC8vIENlbnRlciBwb3NpdGlvbmluZ1xuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBcImNlbnRlclwiIG9yIFwiYXV0b1wiLic7XG4gIH1cbn1cblxuLy8vIFJlc2V0IGEgcG9zaXRpb24gZGVmaW5pdGlvbi5cbkBtaXhpbiBncmlkLWNvbHVtbi11bnBvc2l0aW9uIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oYXV0byk7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodCBieSBgJG5gIGNvbHVtbnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBXaWR0aCB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1vZmZzZXQoJG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ3JpZC1jb2x1bW4oJG4pO1xufVxuXG4vLy8gRGlzYWJsZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgbGFzdCBjb2x1bW4gaW4gYSByb3cgYWxpZ25pbmcgdG8gdGhlIG9wcG9zaXRlIGVkZ2UuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZW5kIHtcbiAgLy8gVGhpcyBleHRyYSBzcGVjaWZpY2l0eSBpcyByZXF1aXJlZCBmb3IgdGhlIHByb3BlcnR5IHRvIGJlIGFwcGxpZWRcbiAgJjpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXBvcygkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVucG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVucG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC11bnBvcyB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVucG9zaXRpb247XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1vZmZzZXQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLW9mZnNldFxuQG1peGluIGdyaWQtY29sLW9mZigkbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG4pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZW5kKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1lbmRcbkBtaXhpbiBncmlkLWNvbC1lbmQge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY29sdW1uJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRndXR0ZXJcbi8vLyAgIFRoZSBndXR0ZXIgdG8gYXBwbHkgdG8gY2hpbGQgZWxlbWVudHMuIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIHdpbGwgdXNlIHRoZSB2YWx1ZXMgaW4gdGhlICRncmlkLWNvbHVtbi1ndXR0ZXIgbWFwLCBpbmNsdWRpbmcgYnJlYWtwb2ludCBzaXplcy5cbi8vLyAgIC0gQSBmaXhlZCBudW1lcmljIHZhbHVlIHdpbGwgYXBwbHkgdGhpcyBndXR0ZXIgdG8gYWxsIGJyZWFrcG9pbnRzLlxuQG1peGluIGdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbicsXG4gICRndXR0ZXI6IG51bGxcbikge1xuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKGRpdmlkZSgxLCAkbikpO1xuXG4gICAgLy8gSWYgYSAkZ3V0dGVyIHZhbHVlIGlzIHBhc3NlZFxuICAgIEBpZigkZ3V0dGVyKSB7XG4gICAgICAvLyBHdXR0ZXJzXG4gICAgICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCR2YWx1ZSkgKiAwLjU7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCRndXR0ZXIpID4gMCB7XG4gICAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkZ3V0dGVyKSAqIDAuNTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgjeyRufW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGV4dHJhIENTUyB0byBibG9jayBncmlkIGNoaWxkcmVuIHNvIHRoZSBsYXN0IGl0ZW1zIGluIHRoZSByb3cgY2VudGVyIGF1dG9tYXRpY2FsbHkuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbHVtbnMsIG5vdCB0aGUgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGl0ZW1zIHRoYXQgYXBwZWFyIGluIGVhY2ggcm93LlxuQG1peGluIGdyaWQtbGF5b3V0LWNlbnRlci1sYXN0KCRuKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRvICRuIHtcbiAgICBAaWYgJGkgPT0gMSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gZGl2aWRlKDEwMCwgJG4pICogJGkpICogMC41ICogMSU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIGRpdmlkZSgxMDAsICRuKSAqICRpKSAqIDAuNSAqIDElO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGQtZnJvbS1oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpO1xuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZC1mcm9tLWhlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFVzZSB0aGUgYC5jb2RlLWlubGluZWAgY29tcG9uZW50IGFzIGRlZmF1bHQgZm9yIGA8Y29kZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRlbmFibGUtY29kZS1pbmxpbmU6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gVXNlIHRoZSBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudCBhcyBkZWZhdWx0IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIElubGluZSBDaXRhdGlvbnNcbiAgQGlmICgkZW5hYmxlLWNpdGUtYmxvY2sgPT0gdHJ1ZSkge1xuICAgIGNpdGUge1xuICAgICAgLy8gRXh0ZW5kaW5nIGEgY2xhc3MgaXMgbm90IHJlY29tbWVuZGVkLlxuICAgICAgLy8gVE9ETzogQnJlYWsgdGhlIHR5cG9ncmFwaHktYmFzZS90eXBvZ3JhcGh5LWhlbHBlcnMgc2VwYXJhdGlvblxuICAgICAgQGV4dGVuZCAlY2l0ZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb2RlXG4gIEBpZiAoJGVuYWJsZS1jb2RlLWlubGluZSA9PSB0cnVlKSB7XG4gICAgY29kZSB7XG4gICAgICBAZXh0ZW5kICVjb2RlLWlubGluZTtcbiAgICB9XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgdGhlIGAuY29kZS1pbmxpbmVgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1ibG9jay1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIHVuZGVyIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b206IDEuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGNpdGUtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICRjaXRlLWNvbG9yO1xuICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZCBiYXNpYyBzdHlsZXMgZm9yIGEgY29kZSBoZWxwZXIuXG4vLy8gU2VlIGBjb2RlLWlubGluZWAgYW5kIGBjb2RlLWJsb2NrYCBtaXhpbnMuXG5AbWl4aW4gY29kZS1zdHlsZSB7XG4gIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG59XG5cbi8vLyBNYWtlIGNvZGUgaGVscGVyIGZyb20gdGhlIGBjb2RlLXN0eWxlYCBtaXhpbiBpbmxpbmUuXG4vLy8gVXNlZCB0byBnZW5lcmF0ZSBgLmNvZGUtaW5saW5lYFxuQG1peGluIGNvZGUtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xufVxuXG4vLy8gTWFrZSBjb2RlIGhlbHBlciBmcm9tIHRoZSBgY29kZS1zdHlsZWAgbWl4aW4gYSBibG9jay5cbi8vLyBVc2VkIHRvIGdlbmVyYXRlIGAuY29kZS1ibG9ja2BcbkBtaXhpbiBjb2RlLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuXG4gIHBhZGRpbmc6ICRjb2RlLWJsb2NrLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206ICRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b207XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICVjaXRlLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBjaXRlLWJsb2NrO1xuICB9XG5cbiAgLmNpdGUtYmxvY2sge1xuICAgIEBleHRlbmQgJWNpdGUtYmxvY2s7XG4gIH1cblxuICAlY29kZS1pbmxpbmUge1xuICAgIEBpbmNsdWRlIGNvZGUtc3R5bGU7XG4gICAgQGluY2x1ZGUgY29kZS1pbmxpbmU7XG4gIH1cblxuICAuY29kZS1pbmxpbmUge1xuICAgIEBleHRlbmQgJWNvZGUtaW5saW5lO1xuICB9XG5cbiAgLmNvZGUtYmxvY2sge1xuICAgIEBpbmNsdWRlIGNvZGUtc3R5bGU7XG4gICAgQGluY2x1ZGUgY29kZS1ibG9jaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheXMgbmV4dCB0byBhbGwgbGlua3MgdGhlaXIgXCJocmVmXCIgd2hlbiBwcmludGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgLy8gRW5zdXJlIGEgXCJibGFjay1vbi13aGl0ZVwiIHByaW50IGJ5IHJlbW92aW5nIGJhY2tncm91bmRzLFxuICAgICAgLy8gdXNpbmcgYmxhY2sgdGV4dCBldmVyeXdoZXJlIGFuZCBmb3JjaW5nIHRoZSBicm93c2VyIHRvIGVjb25vbWl6ZSBpbmsuXG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgICAgcHJpbnQtY29sb3ItYWRqdXN0OiBlY29ub215O1xuICAgICAgfVxuICAgICAgLy8gT3RoZXJ3aXNlLCBwcmV2ZW50IGFueSBlY29ub215IGJ5IHRoZSBicm93c2VyLlxuICAgICAgQGVsc2Uge1xuICAgICAgICBwcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nICogMC41ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gIDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG5cbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgKiAwLjUgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiAkaW5wdXQtbGluZS1oZWlnaHQpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gICY6bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBJZ25vcmVkIGlmIG51bGwgKGRlZmF1bHQpXG4vLy8gQHR5cGUgRm9udC1XZWlnaHRcbiRidXR0b24tZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgYnV0dG9ucywgdHJhbnNwYXJlbnQgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRpdGlvbmFsIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgLmV4cGFuZGVkXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICBib3JkZXI6ICRidXR0b24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBmb250LXdlaWdodDogJGJ1dHRvbi1mb250LXdlaWdodDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgb3IgY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGluIGBidXR0b24tZmlsbC1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuIGBzb2xpZGAgaGFzIG5vIGVmZmVjdHMuXG5AbWl4aW4gYnV0dG9uLWZpbGwoXG4gICRmaWxsOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGNsZWFyIHtcbiAgICBAaW5jbHVkZSBidXR0b24tY2xlYXI7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZXMgb2YgYSBzb2xpZC9ob2xsb3cvY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGlucyBgYnV0dG9uLXN0eWxlYCwgYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGFuZCBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgZWZmZWN0cyBvZiB2aXN1YWwgc3R5bGluZyBwYXJhbWV0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZpbGwgWyRidXR0b24tZmlsbF0gLSBUeXBlIG9mIGZpbGxpbmcgYmV0d2VlbiBgaG9sbG93YCBhbmQgYGNsZWFyYC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gLVxuQG1peGluIGJ1dHRvbi1maWxsLXN0eWxlKFxuICAkZmlsbDogJGJ1dHRvbi1maWxsLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGZpbGwgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNsZWFyLXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuICAmLFxuICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWhvbGxvdy1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgYW5kIGJvcmRlciBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRob3Zlci1saWdodG5lc3MgWyRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc10gLSBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJvcmRlci13aWR0aCBbJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXSAtIEJvcmRlciB3aWR0aCBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBjbGVhciBidXR0b24uXG4vLy8gU2VlIG1peGluIGBidXR0b24tY2xlYXItc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG5AbWl4aW4gYnV0dG9uLWNsZWFyIHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgY2xlYXIgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkaG92ZXItbGlnaHRuZXNzIFskYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NdIC0gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyLlxuQG1peGluIGJ1dHRvbi1jbGVhci1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCBhbmQgcmVzZXRpbmcgdGhlIGN1cnNvci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9wYWNpdHkgWyRidXR0b24tb3BhY2l0eS1kaXNhYmxlZF0gLSBPcGFjaXR5IG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkXG4pIHtcbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRzdHlsZSk7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRzdHlsZSwgJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbigkc3R5bGU6IG5vbmUpO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICBAaWYgJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkIHtcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IG9ubHkpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LW9ubHktZXhwYW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IGRvd24pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZG93bi1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSkge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29saWQsIGhvbGxvdyAmIGNsZWFyIHN0eWxlc1xuICAgIEBlYWNoICRmaWxsaW5nIGluIChzb2xpZCBob2xsb3cgY2xlYXIpIHtcbiAgICAgICRzZWxlY3RvcjogaWYoJGJ1dHRvbi1maWxsID09ICRmaWxsaW5nLCBudWxsLCAnLiN7JGZpbGxpbmd9Jyk7XG5cbiAgICAgICYjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbCgkZmlsbGluZyk7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nKTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZywgJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3csICYuY2xlYXIge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG5cbiAgYS5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgcGx1cyBpY29uIHdoZW4gYCRhY2NvcmRpb24tcGx1c21pbnVzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRhY2NvcmRpb24tcGx1cy1jb250ZW50OiAnXFwwMDJCJyAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBtaW51cyBpY29uIHdoZW4gYCRhY2NvcmRpb24tcGx1c21pbnVzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRhY2NvcmRpb24tbWludXMtY29udGVudDogJ1xcMjAxMycgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYWNjb3JkaW9uIHRpdGxlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIgKFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kXG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAmW2Rpc2FibGVkXSB7XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLFxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAkYWNjb3JkaW9uLXBsdXMtY29udGVudDtcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRhY2NvcmRpb24tbWludXMtY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvbi1tZW51XG4vLy8vXG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBib3JkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTGlzdFxuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIGhlaWdodC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplICogMC41KTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG59XG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG5cbiAgLmFjY29yZGlvbi1tZW51IHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgIH1cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luLCByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGxpIHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gIH1cblxuICAvLyBTdWJtZW51IHRvZ2dsZVxuICAuc3VibWVudS10b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcblxuICAgIHdpZHRoOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyO1xuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGhlIGFycm93IHRvIHRoZSB0b2dnbGVcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuXG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gUm90YXRlIHRoZSBhcnJvdyB3aGVuIG1lbnUgaXMgb3BlblxuICAuc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIH1cblxuICAuc3VibWVudS10b2dnbGUtdGV4dCB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gbWFyZ2luIGZvciBpdGVtcyBpbiBhIHNpbXBsZSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIHRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS4uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZTogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgc3RhdGUuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGBhY3RpdmVgIHdpdGggYGlzLWFjdGl2ZWAuXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYG1lbnUtY2VudGVyZWRgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIHVzaW5nIGBpY29uLSpgIGNsYXNzZXMgd2l0aG91dCBgLmljb25zYCBjbGFzc2VzXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgdGhpcyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG5cbiAgYSxcbiAgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW1zLXBhZGRpbmc7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gbWVudSBpdGVtcy5cbkBtaXhpbiBtZW51LWFsaWduKCRhbGlnbm1lbnQpIHtcbiAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGNlbnRlciB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudS4gVGhpcyBlZmZlY3RzIHRoZSBzaWRlIG9mIHRoZSBgPGxpPmAgdGhhdCByZWNlaXZlcyB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIFskbWVudS1zaW1wbGUtbWFyZ2luXSAtIFRoZSBtYXJnaW4gdG8gYXBwbHkgdG8gZWFjaCBgPGxpPmAuXG5AbWl4aW4gbWVudS1zaW1wbGUoJGRpcjogJGdsb2JhbC1sZWZ0LCAkbWFyZ2luOiAkbWVudS1zaW1wbGUtbWFyZ2luKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBsaSArIGxpIHtcbiAgICBtYXJnaW4tI3skZGlyfTogJG1hcmdpbjtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkbWFyZ2luIFskbWVudS1uZXN0ZWQtbWFyZ2luXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG5lc3RlZC1hbGlnbm1lbnQgW2xlZnRdIC0gQWxpZ25tZW50IG9mIHRoZSBuZXN0ZWQgY2xhc3NcbkBtaXhpbiBtZW51LW5lc3RlZChcbiAgJG1hcmdpbjogJG1lbnUtbmVzdGVkLW1hcmdpbixcbiAgJG5lc3RlZC1hbGlnbm1lbnQ6IGxlZnRcbikge1xuICBAaWYgJG5lc3RlZC1hbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWFyZ2luO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG4gIH1cblxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGljb25zIGluIG1lbnVzLlxuQG1peGluIG1lbnUtaWNvbnMoKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGltZyxcbiAgICBpLFxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICArIHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gdG9wL2JvdHRvbSBpY29ucyB3aXRoaW4gYSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGFsaWdubWVudCBbY2VudGVyXSAtIEFsaWdubWVudCBvZiB0aGUgaWNvblxuQG1peGluIG1lbnUtaWNvbi1hbGlnbm1lbnQoJGFsaWdubWVudDogY2VudGVyKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICYuaWNvbi10b3AsXG4gICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICBsaSBhIHtcbiAgICAgICAgaW1nLFxuICAgICAgICBpLFxuICAgICAgICBzdmcge1xuICAgICAgICAgIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmUsICgkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZSwgJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlKSk7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxuICAgICYsICYuaG9yaXpvbnRhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBtb2RpZmllclxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLWFsaWdubWVudChsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1hbGlnbm1lbnQobGVmdCk7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LWljb25zLWJhY2stY29tcGF0IHtcbiAgICAgICYuaWNvbi10b3AsXG4gICAgICAmLmljb24tcmlnaHQsXG4gICAgICAmLmljb24tYm90dG9tLFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1lbnUgaWNvbiBwb3NpdGlvblxuICAgIC8vIEluY2x1ZGVzIHNwZWNpZmljaXR5IHRvIG5lc3RlZCBpY29ucyB3aXRoIGEgZGlmZmVyZW50IHBvc2l0aW9uXG4gICAgJixcbiAgICAmLm5lc3RlZCB7XG4gICAgICAvLyBJY29uIExlZnRcbiAgICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuICAgICAgfVxuXG4gICAgICAvLyBJY29uIFJpZ2h0XG4gICAgICAmLmljb24tcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24ocmlnaHQpO1xuICAgICAgfVxuXG4gICAgICAvLyBJY29uIFRvcFxuICAgICAgJi5pY29uLXRvcCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuICAgICAgfVxuXG4gICAgICAvLyBJY29uIEJvdHRvbVxuICAgICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgIH1cblxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1zdGF0ZS1iYWNrLWNvbXBhdCB7XG4gICAgICAuYWN0aXZlID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGxlZnRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1sZWZ0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24ocmlnaHQpO1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLWFsaWdubWVudChyaWdodCk7XG5cbiAgICAgIC5uZXN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGNlbnRlclxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuICAgIC5tZW51LWNlbnRlcmVkIHtcbiAgICAgID4gLm1lbnUge1xuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJzXG4vLy8vXG5cbi8vLyBNYXJnaW4gYXJvdW5kIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGFjdGl2ZSBicmVhZGNydW1iIGxpbmsuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgZGlzYWJsZWQgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBicmVhZGNydW1iIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBtYWtlcyBicmVhZGNydW1iIGxpbmtzIHVwcGVyY2FzZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgYSBzZXBlcmF0b3IgYmV0d2VlbiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDtcbn1cblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJyAhZGVmYXVsdDtcblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IgaW4gcnRsIG1vZGUuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCcgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IgaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcikge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLCBhbG9uZyB3aXRoIHRoZSBzdHlsZXMgZm9yIHRoZSBgPGxpPmAgYW5kIGA8YT5gIGVsZW1lbnRzIGluc2lkZSBvZiBpdC5cbkBtaXhpbiBicmVhZGNydW1icy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkYnJlYWRjcnVtYnMtbWFyZ2luO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC8vIEl0ZW0gd3JhcHBlclxuICBsaSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yIHtcbiAgICAgIC8vIE5lZWQgdG8gZXNjYXBlIHRoZSBiYWNrc2xhc2hcbiAgICAgICRzZXBhcmF0b3I6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGwpO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBjb250ZW50OiAkc2VwYXJhdG9yO1xuICAgICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzIHtcbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuIChPbmx5IG5lZWRlZCB3aGVuICRnbG9iYWwtZmxleGJveDogZmFsc2U7KVxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZXRlcm1pbmVzIGlmICRidXR0b24tcmFkaXVzIGlzIGFwcGxpZWQgdG8gZWFjaCBidXR0b24gb3IgdGhlIGJ1dHRvbiBncm91cCBhcyBhIHdob2xlLiBVc2UgJGdsb2JhbC1yYWRpdXMgaW4gX3NldHRpbmdzLnNjc3MgdG8gY2hhbmdlIHJhZGl1cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmdcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgLy8gRGlzYWJsZSBjbGVhcmZpeFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNYWtlIGJ1dHRvbnMgYm9uZGVkIHdpdGhvdXQgZ2FwIGJldHdlZW4gdGhlbS4gQm9yZGVycyBiZXR3ZWVuIGJ1dHRvbnMgYXJlIG1lcmdlZFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1uby1nYXBzKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogcmVtLWNhbGMoLSRib3JkZXItd2lkdGgpO1xuXG4gICAgKyAjeyRzZWxlY3Rvcn0ge1xuICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC13aWR0aCBidXR0b24gZ3JvdXAsIG1ha2luZyBlYWNoIGJ1dHRvbiBlcXVhbCB3aWR0aC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1leHBhbmQoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmcsXG4gICRjb3VudDogbnVsbFxuKSB7XG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogLSRzcGFjaW5nO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IC8vIERpc2FibGUgY2xlYXJmaXhcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gT25lIGNoaWxkXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skc3BhY2luZ30pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFR3byBvciBtb3JlIGNoaWxkcmVlblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoZGl2aWRlKDEsICRpKSl9IC0gI3skc3BhY2luZ30pO1xuICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmcgKiAtJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gVW4tc3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU29saWQsIGhvbGxvdyAmIGNsZWFyIHN0eWxlc1xuICAgIEBlYWNoICRmaWxsaW5nIGluIChzb2xpZCBob2xsb3cgY2xlYXIpIHtcbiAgICAgICRiYXNlLXNlbGVjdG9yOiBpZigkYnV0dG9uLWZpbGwgPT0gJGZpbGxpbmcsIG51bGwsICcuI3skZmlsbGluZ30nKTtcblxuICAgICAgJiN7JGJhc2Utc2VsZWN0b3J9IHtcbiAgICAgICAgLy8gRG8gbm90IGdlbmVyYXRlIGJ1dHRvbiBiYXNlIHN0eWxlcyBmb3IgdGhlIGRlZmF1bHQgZmlsbGluZ1xuICAgICAgICBAaWYoJGJ1dHRvbi1maWxsICE9ICRmaWxsaW5nKSB7XG4gICAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRmaWxsaW5nKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgQGlmKCRidXR0b24tZmlsbCAhPSAkZmlsbGluZykge1xuICAgICAgICAgICAgJGluZGl2aWR1YWwtc2VsZWN0b3I6ICcgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9LiN7JG5hbWV9JztcbiAgICAgICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9LCAmI3skaW5kaXZpZHVhbC1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZywgJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZywgJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgICYubm8tZ2FwcyB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtbm8tZ2FwcztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG5cbiAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tei1pbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gc2l6ZSB0byB1c2UgYXMgZGVmYXVsdFxuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLXNpemVcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbFxuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbFxuJGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZTogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uIFVzZWQgdG8gZ2VuZXJhdGUgc2l6aW5nIG1vZGlmaWVycy5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkY2xvc2VidXR0b24tei1pbmRleDtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgLy8gVXNlIGJ5IGRlZmF1bHQgdGhlIHBsYWNlaG9sZGVyIG9mIHRoZSBkZWZhdWx0IHNpemVcbiAgICBAZXh0ZW5kICV6Zi1jbG9zZS1idXR0b24tLSN7JGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZX07XG5cbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAvLyBHZW5lcmF0ZSBhIHBsYWNlaG9sZGVyIGFuZCBhIGNsYXNzIGZvciBlYWNoIHNpemVcbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGNsb3NlYnV0dG9uLXNpemUge1xuICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAlemYtY2xvc2UtYnV0dG9uLS0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAZXh0ZW5kICV6Zi1jbG9zZS1idXR0b24tLSN7JG5hbWV9O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCBkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9ICYge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICYubWFpbi1zZWN0aW9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAmLm1pZGRsZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgICYuYm90dG9tIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvZmYtY2FudmFzXG4vLy8vXG5cbi8vLyBXaWR0aCBtYXAgb2YgYSBsZWZ0L3JpZ2h0IG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgbWFwIG9mIGEgdG9wL2JvdHRvbSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBmb3IgdGhlIG9mZi1jYW52YXMgb3ZlcmxhcCBwYW5lbC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KSAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgc2l6ZSBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHggIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IGNvbG9yIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIGNvbnRlbnQgb3ZlcmxheS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBwdXNoYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYG92ZXJsYXBgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMyAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB1c2luZyB0aGUgYHJldmVhbC1mb3ItKmAgY2xhc3NlcyBvciBtaXhpbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBMZW5ndGggb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cyAhZGVmYXVsdDtcblxuLy8vIFRpbWluZyBmdW5jdGlvbiBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgS2V5d29yZFxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYSByZXZlYWxlZCBvZmYtY2FudmFzIHdpbGwgYmUgZml4ZWQtcG9zaXRpb24sIGFuZCBzY3JvbGwgd2l0aCB0aGUgc2NyZWVuLlxuLy8vIEB0eXBlIEJvb2xcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG92ZXJsYXkgdGhhdCBhcHBlYXJzIHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gQ1NTIGNsYXNzIHVzZWQgZm9yIHRoZSBtYWluIGNvbnRlbnQgYXJlYS4gVGhlIG9mZi1jYW52YXMgbWl4aW5zIHVzZSB0aGlzIHRvIHRhcmdldCB0aGUgcGFnZSBjb250ZW50LlxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzZWxpbmUgc3R5bGVzIGZvciBvZmYtY2FudmFzLiBUaGlzIENTUyBpcyByZXF1aXJlZCB0byBtYWtlIHRoZSBvdGhlciBwaWVjZXMgd29yay5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2ljcyB7XG5cbiAgLy8vIFRyYW5zZm9ybSBkZXByZWNhdGVkIHNpemUgc2V0dGluZ3MgaW50byBtYXAgJiBzaG93IHdhcm5pbmdcbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy1zaXplcyBpbnN0ZWFkJztcbiAgfVxuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzIGluc3RlYWQnO1xuICB9XG5cbiAgLy8gQ2hlY2tzIHRoZSB6LWluZGV4ZXMgYW5kIGluY3JlYXNlIHRoZW0gZHVlIHRvIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlxuICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHRoZSBvdmVybGF5J3Mgei1pbmRleCBpcyBuZXcgc2luY2UgdjYuNCBhbmQgbWF5IGJlIGlkZW50aWNhbCB0byB0aGUgdXNlciBjdXN0b20gc2V0dGluZ3Mgb2YgdGhlIHB1c2ggei1pbmRleC5cbiAgQGlmICRvZmZjYW52YXMtcHVzaC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcHVzaC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXggPD0gJG9mZmNhbnZhcy1wdXNoLXppbmRleCB7ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG5cbiAgLy8gSGlkZXMgb3ZlcmZsb3cgb24gYm9keSB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbiAgLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgb3ZlcmxheSAoZ2VuZXJhdGVkIGJ5IEphdmFTY3JpcHQpXG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4O1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsIHZpc2liaWxpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuXG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XG5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zYWJsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktZml4ZWQge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyB3cmFwcGVyLlxuQG1peGluIG9mZi1jYW52YXMtd3JhcHBlcigpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNlKFxuICAkYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYWNrZ3JvdW5kLFxuICAkdHJhbnNpdGlvbjogJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLFxuICAkZml4ZWQ6IHRydWVcbikge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgQGlmICRmaXhlZCA9PSB0cnVlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC8vIFNldCB0aGUgb2ZmLWNhbnZhcyB6LWluZGV4LlxuICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcbiAgfVxuXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gIC8vIEhpZGUgaW5hY3RpdmUgb2ZmLWNhbnZhcyB3aXRoaW4gdGhlIGNvbnRlbnQgdGhhdCBoYXZlIHRoZSBzYW1lIHBvc2l0aW9uXG4gICYuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBPdmVybGFwIG9ubHkgc3R5bGVzLlxuICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDtcblxuICAgICYuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAkb2ZmY2FudmFzLXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAvLyBTZXRzIHRyYW5zZm9ybSB0byAwIHRvIHNob3cgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbiAgJi5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gcG9zaXRpb24gYW4gb2ZmLWNhbnZhcyBwYW5lbCB0byB0aGUgbGVmdC9yaWdodC90b3AvYm90dG9tLlxuQG1peGluIG9mZi1jYW52YXMtcG9zaXRpb24oXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJG9yaWVudGF0aW9uOiBob3Jpem9udGFsLFxuICAkc2l6ZXM6IGlmKCRvcmllbnRhdGlvbiA9PSBob3Jpem9udGFsLCAkb2ZmY2FudmFzLXNpemVzLCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzKVxuKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIGlzIHNldCwgYWRkIGlubmVyIGJveC1zaGFkb3cuXG4gIC8vIFRoaXMgbWltaWNzIHRoZSBvZmYtY2FudmFzIHBhbmVsIGhhdmluZyBhIGxvd2VyIHotaW5kZXgsIHdpdGhvdXQgaGF2aW5nIHRvIGhhdmUgb25lLlxuICBAaWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSB7XG4gICAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cocmlnaHQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGxlZnQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhib3R0b20sICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyh0b3AsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy1jb250ZW50KCkge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAvLyBCaW5kIHRvIGhhcy10cmFuc2l0aW9uLVggY2xhc3MgdG8gcHJldmVudCB0cmFuc2l0aW9uIGZvciB0cmFuc2Zvcm06bm9uZVxuICAmLmhhcy10cmFuc2l0aW9uLW92ZXJsYXAsXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBzY29wZSB1bnRpbCB0aGUgZWxlbWVudCBpcyBjbG9zZWQgKG1ha2VzIHN1cmUgdHJhbnNpdGlvbmVuZCBnZXRzIHRyaWdnZXJlZClcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIGVsZW1lbnQgJiBjb250ZW50LCBuZXN0ZWQgaW4gYW5vdGhlciBjb250ZW50XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICR6aW5kZXg6ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCxcbiAgJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzcyxcbiAgJGJyZWFrcG9pbnQ6IHNtYWxsXG4pIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB6LWluZGV4OiAkemluZGV4O1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gIEBpZiBub3QgJG9mZmNhbnZhcy1maXhlZC1yZXZlYWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBDb25zaWRlciByZXZlYWxlZCBlbGVtZW50IGlzIG5lc3RlZCBpbiBjb250ZW50XG4gIC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgQGF0LXJvb3QgLiN7JGNvbnRlbnR9Lmhhcy1yZXZlYWwtI3skcG9zaXRpb259IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSAocHJpb3IgdG8gdjYuNClcbiAgJiB+IC4jeyRjb250ZW50fSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG59XG5cbi8vLyBPdmVycmlkZXMgdGhlIG9mZi1jYW52YXMgc3R5bGVzXG5AbWl4aW4gaW4tY2FudmFzKCkge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgdHJhbnNpdGlvbjogbm9uZTtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5wb3NpdGlvbi1sZWZ0LFxuICAmLnBvc2l0aW9uLXJpZ2h0LFxuICAmLnBvc2l0aW9uLXRvcCxcbiAgJi5wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vZmYtY2FudmFzIHtcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XG5cbiAgLy8gT2ZmLWNhbnZhcyB3cmFwcGVyXG4gIC5vZmYtY2FudmFzLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtd3JhcHBlcjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyXG4gIC5vZmYtY2FudmFzIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2U7XG5cbiAgICAvLyBGb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSBmb3IgbmVzdGVkIG9mZi1jYW52YXMgYmVjYXVzZSBmaXhlZCBkb2Vzbid0IHdvcmsgZm9yIHB1c2ggdHJhbnNpdGlvbiB3aXRoaW4gdGhlIHRyYW5zZm9ybSBzY29wZS5cbiAgICAvLyBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIC8vICAgLy8gTk9URTogc2luY2Ugb3ZlcmxhcCB0cmFuc2l0aW9uIGlzIGN1cnJlbnRseSBmb3JjZWQgaWYgbmVzdGVkLCB0aGVyZSdzIG5vIG5lZWQgdG8gZm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgdW50aWwgbmVzdGVkIHB1c2ggdHJhbnNpdGlvbiBpcyBzdXBwb3J0ZWQuXG4gICAgLy8gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gfVxuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXIgd2l0aCBhYnNvbHV0ZSBwb3NpdGlvblxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlKCRmaXhlZDogZmFsc2UpO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBwb3NpdGlvbiBjbGFzc2VzXG4gIC5wb3NpdGlvbi1sZWZ0ICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0LCAgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi1yaWdodCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCwgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi10b3AgICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbih0b3AsICAgIHZlcnRpY2FsKTsgfVxuICAucG9zaXRpb24tYm90dG9tICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24oYm90dG9tLCB2ZXJ0aWNhbCk7IH1cblxuICAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXZlYWwgb2ZmLWNhbnZhcyBwYW5lbCBvbiBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGxlZnQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwocmlnaHQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHRvcCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwoYm90dG9tLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTW92ZSBpbi1jYW52YXMgZm9yIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgaW4tY2FudmFzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwYWdpbmF0aW9uXG4vLy8vXG5cbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIG9mIHRoZSBwYWdpbmF0aW9uIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rc1xuLy8vIGFuZCBvcHRpb25hbGx5IGN1cnJlbnQgcGFnZSBudW1iZXIuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheSB0aGUgY3VycmVudCBwYWdlIG51bWJlciBvbiBtb2JpbGUgZXZlbiBpZiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYGZhbHNlYC5cbi8vLyBUaGlzIHBhcmFtZXRlciB3aWxsIG9ubHkgb3ZlcnJpZGUgdGhlIHZpc2liaWxpdHkgc2V0dGluZyBvZiB0aGUgY3VycmVudCBpdGVtIGZvciBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtgLFxuLy8vIGl0IHdpbGwgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYWdlIG51bWJlciB2aXNpYmlsaXR5IHdoZW4gYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGB0cnVlYC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYXJyb3dzIGFyZSBhZGRlZCB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbGlua3Mgb2YgcGFnaW5hdGlvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgcHJldmlvdXMgYXJyb3cgd2hlbiBgJHBhZ2luYXRpb24tYXJyb3dzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRwYWdpbmF0aW9uLWFycm93LXByZXZpb3VzOiAnXFwwMEFCJyAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBuZXh0IGFycm93IHdoZW4gYCRwYWdpbmF0aW9uLWFycm93c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFnaW5hdGlvbi1hcnJvdy1uZXh0OiAnXFwwMEJCJyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIChcbiAgJG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b20sXG4gICRmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZSxcbiAgJHNwYWNpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZyxcbiAgJHJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3IsXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW0ge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQsXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRjb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBjb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRwYWdpbmF0aW9uLWFycm93LXByZXZpb3VzO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJHBhZ2luYXRpb24tYXJyb3ctbmV4dDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tc3RpY2t5IHtcbiAgLnN0aWNreS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zdGlja3kge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYuaXMtYXQtdG9wIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCB0YWJsZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgdGFibGUgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZSAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHN0cmlwZWQgdGFibGUgcm93cyBhbmQgdGhlIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHN0eWxlIGZvciB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWJsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0YW5kYXJkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdHJpcGVkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgdGFibGVzIGFyZSBzdHJpcGVkIGJ5IGRlZmF1bHQgYW5kIGFuIC51bnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC4gSWYgYGZhbHNlYCwgYSAuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBzdHJpcGVkIHJvd3MuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgc3RyaXBlIG9uIHJvd3Mgb2YgdGhlIHRhYmxlcywgZXhjbHVkaW5nIHRoZSBoZWFkZXIgYW5kIGZvb3Rlci4gSWYgZXZlbiwgdGhlIGV2ZW4gcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBvZGQsIHRoZSBvZGQgcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBlbXB0eSwgb3IgYW55IG90aGVyIHZhbHVlLCB0aGUgdGFibGUgcm93cyB3aWxsIGhhdmUgbm8gc3RyaXBpbmcuXG4vLy8gQHR5cGUgS2V5d29yZFxuJHRhYmxlLXN0cmlwZTogZXZlbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlYWRlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICogMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCBzdGFja2VkIHRhYmxlIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlOiAkdGFibGUtc3RyaXBlLCAkaXMtc3RyaXBlZDogJHRhYmxlLWlzLXN0cmlwZWQpIHtcbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2FwdGlvblxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWRcbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBmb290XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtZm9vdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtZm9vdC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZCBhbmQgZm9vdFxuICB0aGVhZCxcbiAgdGZvb3Qge1xuICAgIC8vIFJvd3Mgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBDZWxscyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiAjeyRnbG9iYWwtbGVmdH07XG4gICAgfVxuICB9XG5cbiAgLy8gVGFibGUgcm93c1xuICB0Ym9keSB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBzdHJpcGVkXG4gIEBpZiAkaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgIH1cblxuICAgICYudW5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgbm90IHN0cmlwZWRcbiAgQGVsc2UgaWYgJGlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgIH1cblxuICAgICYuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGFibGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0cmlwZSBbJHRhYmxlLXN0cmlwZV0gLSBVc2VzIGtleXdvcmRzIGV2ZW4sIG9kZCwgb3Igbm9uZSB0byBkYXJrZW4gcm93cyBvZiB0aGUgdGFibGUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGV2ZW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdCBbZmFsc2VdIC0gTmVlZGVkIGlmIHlvdSBvbmx5IHdhbnQgdG8gYXBwbHkgdGhpcyB0byBhIHNwZWNpZmljIHRhYmxlLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0aGVhZCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBoZWFkZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBmb290ZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1mb290LXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlIGlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2UgaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFja2VkIHRhYmxlLiBVc2VmdWwgZm9yIHNtYWxsLXNjcmVlbiBsYXlvdXRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGhlYWRlciBbJHNob3ctaGVhZGVyLWZvci1zdGFja2VkXSAtIFNob3cgdGhlIGZpcnN0IHRoIG9mIGhlYWRlciB3aGVuIHN0YWNrZWQuXG5AbWl4aW4gdGFibGUtc3RhY2soJGhlYWRlcjogJHNob3ctaGVhZGVyLWZvci1zdGFja2VkKSB7XG4gIEBpZiAkaGVhZGVyIHtcbiAgICB0aGVhZCB7XG4gICAgICB0aCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRyLFxuICB0aCxcbiAgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFibGUoJG5lc3Q6IGZhbHNlKSB7XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSB0YWJsZSgkbmVzdDogJG5lc3QpO1xuICB9XG5cbiAgdGFibGUuc3RhY2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQgZG93bikge1xuICAgICAgQGluY2x1ZGUgdGFibGUtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgdGFibGUuc2Nyb2xsIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1zY3JvbGw7XG4gIH1cblxuICB0YWJsZS5ob3ZlciB7XG4gICAgQGluY2x1ZGUgdGFibGUtaG92ZXI7XG4gIH1cblxuICAudGFibGUtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFBhdGNoIHRvIGZpeCBpc3N1ZSAjMTIwODBcbiRwcmltYXJ5LWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJHNlY29uZGFyeS1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiR3YXJuaW5nLWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJHN1Y2Nlc3MtY29sb3I6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogZGl2aWRlKCRyZ2IsIDI1NSk7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgZGl2aWRlKCRyZ2IsIDEyLjkyKSwgcG93KGRpdmlkZSgkcmdiICsgMC4wNTUsIDEuMDU1KSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogZGl2aWRlKCRsdW1pbmFuY2UxLCAkbHVtaW5hbmNlMik7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogZGl2aWRlKDEsICRyYXRpbyk7XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAqIDAuMTtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gJ0NvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9JztcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgIG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHByaW1hcnktY29sb3I6ICMxNzc5YmEgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzZWNvbmRhcnktY29sb3I6ICM3Njc2NzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzdWNjZXNzLWNvbG9yOiAjM2FkYjc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkd2FybmluZy1jb2xvcjogI2ZmYWUwMCAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJGFsZXJ0LWNvbG9yOiAjY2M0YjM3ICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0YWJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBvZiB0aGUgdGFiIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgZm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRhYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhIHRhYiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG4gICRtYXJnaW46ICR0YWItbWFyZ2luLFxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJG1hcmdpbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkdGFiLWNvbG9yLFxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRjb2xvci1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHdyYXBwZXIgdGhhdCBzdXJyb3VuZHMgYSB0YWIgZ3JvdXAncyBjb250ZW50IHBhbmVzLlxuQG1peGluIHRhYnMtY29udGVudCAoXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkdGFiLWNvbnRlbnQtY29sb3IsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRlbnQgY29udGFpbmVyIHRvIGhhdmUgYSB2ZXJ0aWNhbCBzdHlsZSwgYnkgc2hpZnRpbmcgdGhlIGJvcmRlciBhcm91bmQuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGVudCgpYC5cbkBtaXhpbiB0YWJzLWNvbnRlbnQtdmVydGljYWwgKFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBpbmRpdmlkdWFsIHRhYiBjb250ZW50IHBhbmVsIHdpdGhpbiB0aGUgdGFiIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIHRhYnMtcGFuZWwgKFxuICAkcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmdcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsXG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFNpbXBsZVxuICAudGFicy5zaW1wbGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmltYXJ5IGNvbG9yXG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHByaW1hcnktY29sb3IpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudDtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudC12ZXJ0aWNhbDtcbiAgfVxuXG4gIC50YWJzLXBhbmVsIHtcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9wLWJhclxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0b3AgYmFyLiBUaGlzIGNvbG9yIGFsc28gY2FzY2FkZXMgdG8gbWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBzdWJtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuIFVzZWZ1bGwgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIHRyYW5zcGFyZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBmb3IgdGhlIHRvcCBiYXIgdGl0bGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBgPGlucHV0PmAgZWxlbWVudHMgaW5zaWRlIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHRvcCBiYXIgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0b3AgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiB0b3AtYmFyLWNvbnRhaW5lciB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgcGFkZGluZzogJHRvcGJhci1wYWRkaW5nO1xuXG4gICYsXG4gIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgZGlmZmVybnQgZnJvbSAkdG9wYmFyLWJhY2tncm91bmQtc3VibWVudVxuICBAaWYgKCR0b3BiYXItYmFja2dyb3VuZCAhPSAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZCkge1xuICAgIHVsIHVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc3RyYWluIHdpZHRoIG9mIGlucHV0cyBieSBkZWZhdWx0IHRvIG1ha2UgdGhlbSBlYXNpZXIgdG8gYXJyYW5nZVxuICBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiAkdG9wYmFyLWlucHV0LXdpZHRoO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICB9XG5cbiAgLy8gVGhlIGFib3ZlIHN0eWxlcyBzaG91bGRuJ3QgYXBwbHkgdG8gaW5wdXQgZ3JvdXAgZmllbGRzXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gIH1cblxuICBpbnB1dC5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gTWFrZXMgc2VjdGlvbnMgb2YgYSB0b3AgYmFyIHN0YWNrIG9uIHRvcCBvZiBlYWNoIG90aGVyLlxuQG1peGluIHRvcC1iYXItc3RhY2tlZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gVW5kb2VzIHRoZSBDU1MgYXBwbGllZCBieSB0aGUgYHRvcC1iYXItc3RhY2tlZCgpYCBtaXhpbi5cbkBtaXhpbiB0b3AtYmFyLXVuc3RhY2sge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvcC1iYXIge1xuICAvLyBUb3AgYmFyIGNvbnRhaW5lclxuICAudG9wLWJhciB7XG4gICAgQGluY2x1ZGUgdG9wLWJhci1jb250YWluZXI7XG5cbiAgICAvLyBTdGFjayBvbiBzbWFsbCBzY3JlZW5zIGJ5IGRlZmF1bHRcbiAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0b3BiYXItdW5zdGFjay1icmVha3BvaW50KSB7XG4gICAgICBAaW5jbHVkZSB0b3AtYmFyLXVuc3RhY2s7XG4gICAgfVxuXG4gICAgLy8gR2VuZXJhdGUgY2xhc3NlcyBmb3Igc3RhY2tpbmcgb24gZWFjaCBzY3JlZW4gc2l6ZSAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzKVxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgJi5zdGFja2VkLWZvci0jeyRzaXplfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3ViLXNlY3Rpb25zXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZzogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuXG4gICAgICAubWVudS1pY29uIHtcbiAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAwLjAwMTI1O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gMC4wMDEyNTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbiAgLnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBEYXJrIE1vZGUgVmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItZGFyay1tb2RlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5oaWRlLWZvci1kYXJrLW1vZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgIC5zaG93LWZvci1kYXJrLW1vZGUge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmhpZGUtZm9yLWRhcmstbW9kZSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSUUxMCsgVmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItaWUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAuc2hvdy1mb3ItaWUge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmhpZGUtZm9yLWllIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBTdGlja3kgVmlzaWJpbGl0eVxuICAuc2hvdy1mb3Itc3RpY2t5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5pcy1zdHVjayAuc2hvdy1mb3Itc3RpY2t5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuaXMtc3R1Y2sgLmhpZGUtZm9yLXN0aWNreSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsb2F0XG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXMge1xuICAuZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAuY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG59XG4iLCIvKiBpbnRlci0xMDAgLSBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwOyAvKiBDaGVjayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvQGZvbnQtZmFjZS9mb250LWRpc3BsYXkgZm9yIG90aGVyIG9wdGlvbnMuICovXG4gICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL2ludGVyLXYxMi1sYXRpbi0xMDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7IC8qIENocm9tZSAzNissIE9wZXJhIDIzKywgRmlyZWZveCAzOSssIFNhZmFyaSAxMissIGlPUyAxMCsgKi9cbn1cbi8qIGludGVyLTIwMCAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7IC8qIENoZWNrIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9AZm9udC1mYWNlL2ZvbnQtZGlzcGxheSBmb3Igb3RoZXIgb3B0aW9ucy4gKi9cbiAgICBmb250LWZhbWlseTogXCJJbnRlclwiO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogMjAwO1xuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvaW50ZXItdjEyLWxhdGluLTIwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTsgLyogQ2hyb21lIDM2KywgT3BlcmEgMjMrLCBGaXJlZm94IDM5KywgU2FmYXJpIDEyKywgaU9TIDEwKyAqL1xufVxuLyogaW50ZXItMzAwIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDsgLyogQ2hlY2sgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL0Bmb250LWZhY2UvZm9udC1kaXNwbGF5IGZvciBvdGhlciBvcHRpb25zLiAqL1xuICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCI7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy9pbnRlci12MTItbGF0aW4tMzAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpOyAvKiBDaHJvbWUgMzYrLCBPcGVyYSAyMyssIEZpcmVmb3ggMzkrLCBTYWZhcmkgMTIrLCBpT1MgMTArICovXG59XG4vKiBpbnRlci1yZWd1bGFyIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDsgLyogQ2hlY2sgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL0Bmb250LWZhY2UvZm9udC1kaXNwbGF5IGZvciBvdGhlciBvcHRpb25zLiAqL1xuICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCI7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy9pbnRlci12MTItbGF0aW4tcmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTsgLyogQ2hyb21lIDM2KywgT3BlcmEgMjMrLCBGaXJlZm94IDM5KywgU2FmYXJpIDEyKywgaU9TIDEwKyAqL1xufVxuLyogaW50ZXItNTAwIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDsgLyogQ2hlY2sgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL0Bmb250LWZhY2UvZm9udC1kaXNwbGF5IGZvciBvdGhlciBvcHRpb25zLiAqL1xuICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCI7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy9pbnRlci12MTItbGF0aW4tNTAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpOyAvKiBDaHJvbWUgMzYrLCBPcGVyYSAyMyssIEZpcmVmb3ggMzkrLCBTYWZhcmkgMTIrLCBpT1MgMTArICovXG59XG4vKiBpbnRlci02MDAgLSBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwOyAvKiBDaGVjayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvQGZvbnQtZmFjZS9mb250LWRpc3BsYXkgZm9yIG90aGVyIG9wdGlvbnMuICovXG4gICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL2ludGVyLXYxMi1sYXRpbi02MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7IC8qIENocm9tZSAzNissIE9wZXJhIDIzKywgRmlyZWZveCAzOSssIFNhZmFyaSAxMissIGlPUyAxMCsgKi9cbn1cbi8qIGludGVyLTcwMCAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7IC8qIENoZWNrIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9AZm9udC1mYWNlL2ZvbnQtZGlzcGxheSBmb3Igb3RoZXIgb3B0aW9ucy4gKi9cbiAgICBmb250LWZhbWlseTogXCJJbnRlclwiO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvaW50ZXItdjEyLWxhdGluLTcwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTsgLyogQ2hyb21lIDM2KywgT3BlcmEgMjMrLCBGaXJlZm94IDM5KywgU2FmYXJpIDEyKywgaU9TIDEwKyAqL1xufVxuLyogaW50ZXItODAwIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDsgLyogQ2hlY2sgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL0Bmb250LWZhY2UvZm9udC1kaXNwbGF5IGZvciBvdGhlciBvcHRpb25zLiAqL1xuICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCI7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy9pbnRlci12MTItbGF0aW4tODAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpOyAvKiBDaHJvbWUgMzYrLCBPcGVyYSAyMyssIEZpcmVmb3ggMzkrLCBTYWZhcmkgMTIrLCBpT1MgMTArICovXG59XG4vKiBpbnRlci05MDAgLSBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwOyAvKiBDaGVjayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvQGZvbnQtZmFjZS9mb250LWRpc3BsYXkgZm9yIG90aGVyIG9wdGlvbnMuICovXG4gICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL2ludGVyLXYxMi1sYXRpbi05MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7IC8qIENocm9tZSAzNissIE9wZXJhIDIzKywgRmlyZWZveCAzOSssIFNhZmFyaSAxMissIGlPUyAxMCsgKi9cbn1cblxuLyogU2VudGllbnQgLSBSZWd1bGFyICovXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgZm9udC1mYW1pbHk6IFwiU2VudGllbnRcIjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL1NlbnRpZW50LVJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5cblxuLyogU2VudGllbnQgLSBNZWRpdW0gKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBmb250LWZhbWlseTogXCJTZW50aWVudFwiO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvU2VudGllbnQtTWVkaXVtLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuXG4vKiBTZW50aWVudCAtIEJvbGQgKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBmb250LWZhbWlseTogXCJTZW50aWVudFwiO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvU2VudGllbnQtQm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cblxuLyogU2VudGllbnQgLSBJdGFsaWMgKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBmb250LWZhbWlseTogXCJTZW50aWVudFwiO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvU2VudGllbnQtSXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuXG4vKiBTZW50aWVudCAtIE1lZGl1bSBJdGFsaWMgKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBmb250LWZhbWlseTogXCJTZW50aWVudFwiO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvU2VudGllbnQtTWVkaXVtSXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuXG4vKiBTd2l0emVyIC0gUmVndWxhciAqL1xuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIGZvbnQtZmFtaWx5OiBcIlN3aXR6ZXJcIjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL1N3aXR6ZXItUmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cblxuLyogU3dpdHplciAtIFNlbWlib2xkICovXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgZm9udC1mYW1pbHk6IFwiU3dpdHplclwiO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvU3dpdHplci1TZW1pYm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cblxuLyogU3dpdHplciAtIEJvbGQgKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBmb250LWZhbWlseTogXCJTd2l0emVyXCI7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy9Td2l0emVyLUJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5cbi8qIFN3aXR6ZXIgLSBCb2xkIGl0YWxpYyAqL1xuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIGZvbnQtZmFtaWx5OiBcIlN3aXR6ZXJcIjtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL1N3aXR6ZXItQm9sZEl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cblxuLyogU3dpdHplciAtIFNlbWlib2xkIGl0YWxpYyAqL1xuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIGZvbnQtZmFtaWx5OiBcIlN3aXR6ZXJcIjtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL1N3aXR6ZXItU2VtaWJvbGRJdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5cbi8qIFN3aXR6ZXIgLSBFeHRyYWJvbGQgKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBmb250LWZhbWlseTogXCJTd2l0emVyXCI7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy9Td2l0emVyLUV4dHJhYm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cblxuLyogU3dpdHplciAtIEJsYWNrICovXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgZm9udC1mYW1pbHk6IFwiU3dpdHplclwiO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvU3dpdHplci1CbGFjay53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cblxuQG1peGluIGZfZGluIHtcbiAgICBmb250LWZhbWlseTogXCJkaW4tMjAxNC1uYXJyb3dcIiwgc2Fucy1zZXJpZjtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuLmZfZGluIHtcbiAgICBAaW5jbHVkZSBmX2RpbigpO1xufVxuQG1peGluIGZfaW50ZXIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuLmZfaW50ZXIge1xuICAgIEBpbmNsdWRlIGZfaW50ZXIoKTtcbn1cblxuQG1peGluIHR0dSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnR0dSB7XG4gICAgQGluY2x1ZGUgdHR1KCk7XG59XG4iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cblN0eWxlc2hlZXQ6IEdsb2JhbCBTdHlsZXNoZWV0XG5cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ucm93LmV4dCB7XG5cdG1heC13aWR0aDogcmVtLWNhbGMoMTkyMCk7XG59XG4vKioqKioqKioqKioqKioqKioqKioqXG5QT1NUUyAmIENPTlRFTlQgU1RZTEVTXG4qKioqKioqKioqKioqKioqKioqKiovXG4ucGFnZS10aXRsZSB7XG5cdC8vIFJlbW92ZSBGb3VuZGF0aW9uIHZjYXJkIHN0eWxpbmcgZnJvbSBhdXRob3IgcGFnZSB0aXRsZXNcblx0LnZjYXJkIHtcblx0XHRib3JkZXI6IDBweDtcblx0XHRwYWRkaW5nOiAwcHg7XG5cdH1cbn1cblxuLy8gUG9zdCBtZXRhXG4uYnlsaW5lIHtcblx0Y29sb3I6ICM5OTk7XG5cdHRpbWUge1xuXHR9XG59XG5cbi8vIEVudHJ5IGNvbnRlbnRcbi5lbnRyeS1jb250ZW50IHtcblx0aW1nIHtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHR9XG5cdC5pbWdTaW5pc3RyYUZsb2F0LFxuXHQuYWxpZ25sZWZ0LFxuXHRpbWcuYWxpZ25sZWZ0IHtcblx0XHRtYXJnaW4tcmlnaHQ6IDEuNWVtO1xuXHRcdGRpc3BsYXk6IGlubGluZTtcblx0XHRmbG9hdDogbGVmdDtcblx0fVxuXHQuaW1nRGVzdHJhRmxvYXQsXG5cdC5hbGlnbnJpZ2h0LFxuXHRpbWcuYWxpZ25yaWdodCB7XG5cdFx0bWFyZ2luLWxlZnQ6IDEuNWVtO1xuXHRcdGRpc3BsYXk6IGlubGluZTtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdH1cblx0LmFsaWduY2VudGVyLFxuXHRpbWcuYWxpZ25jZW50ZXIge1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRjbGVhcjogYm90aDtcblx0fVxuXG5cdHZpZGVvLFxuXHRvYmplY3Qge1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdH1cblxuXHRwcmUge1xuXHRcdGJhY2tncm91bmQ6ICNlZWU7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI2NlY2VjZTtcblx0XHRwYWRkaW5nOiAxMHB4O1xuXHR9XG59XG5cbi53cC1jYXB0aW9uIHtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRiYWNrZ3JvdW5kOiAjZWVlO1xuXHRwYWRkaW5nOiA1cHg7XG5cblx0Ly8gSW1hZ2VzIGluc2lkZSB3cC1jYXB0aW9uXG5cdGltZyB7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHRwLndwLWNhcHRpb24tdGV4dCB7XG5cdFx0Zm9udC1zaXplOiAwLjg1ZW07XG5cdFx0bWFyZ2luOiA0cHggMCA3cHg7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG59XG5cbi8vIEFkZCBGb3VuZGF0aW9uIHN0eWxpbmcgdG8gcGFzc3dvcmQgcHJvdGVjdCBidXR0b25cbi5wb3N0LXBhc3N3b3JkLWZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG5cdEBpbmNsdWRlIGJ1dHRvbjtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuSU1BR0UgR0FMTEVSWSBTVFlMRVNcbioqKioqKioqKioqKioqKioqKioqKi9cbi5nYWxsZXJ5IHtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuXHRtYXJnaW4tbGVmdDogLTE1cHg7XG59XG4uZ2FsbGVyeTo6YmVmb3JlLFxuLmdhbGxlcnk6OmFmdGVyIHtcblx0Y29udGVudDogXCIgXCI7XG5cdGRpc3BsYXk6IHRhYmxlO1xufVxuLmdhbGxlcnk6OmFmdGVyIHtcblx0Y2xlYXI6IGJvdGg7XG59XG4uZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMSA+IGRsIHtcblx0QGluY2x1ZGUgZ3JpZC1jb2x1bW47XG59XG4uZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMiA+IGRsIHtcblx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oMSBvZiAyKTtcbn1cbi5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy0zID4gZGwge1xuXHRAaW5jbHVkZSBncmlkLWNvbHVtbigxIG9mIDMpO1xufVxuLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTQgPiBkbCB7XG5cdEBpbmNsdWRlIGdyaWQtY29sdW1uKDEgb2YgNCk7XG59XG4uZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNSA+IGRsIHtcblx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oMSBvZiA1KTtcbn1cbi5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy02ID4gZGwge1xuXHRAaW5jbHVkZSBncmlkLWNvbHVtbigxIG9mIDYpO1xufVxuLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTcgPiBkbCB7XG5cdEBpbmNsdWRlIGdyaWQtY29sdW1uKDEgb2YgNyk7XG59XG4uZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtOCA+IGRsIHtcblx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oMSBvZiA4KTtcbn1cbi5nYWxsZXJ5IGRsIHtcblx0d2lkdGg6IDEwMCU7XG5cdGZsb2F0OiBsZWZ0O1xuXHRwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcblx0cGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xufVxuLmdhbGxlcnkgZGw6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG5cdGZsb2F0OiByaWdodDtcbn1cblxuLy8gR2FsbGVyeSBjYXB0aW9uIHN0eWxlc1xuLmdhbGxlcnktY2FwdGlvbiB7XG59XG4uc2l6ZS1mdWxsIHtcbn1cbi5zaXplLWxhcmdlIHtcbn1cbi5zaXplLW1lZGl1bSB7XG59XG4uc2l6ZS10aHVtYm5haWwge1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqXG5QQUdFIE5BVkkgU1RZTEVTXG4qKioqKioqKioqKioqKioqKioqKiovXG4ucGFnZS1uYXZpZ2F0aW9uIHtcblx0bWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuQ09NTUVOVCBTVFlMRVNcbioqKioqKioqKioqKioqKioqKioqKi9cbiNjb21tZW50cyB7XG5cdC5jb21tZW50bGlzdCB7XG5cdFx0bWFyZ2luLWxlZnQ6IDBweDtcblx0fVxufVxuXG4jcmVzcG9uZCB7XG5cdHVsIHtcblx0XHRtYXJnaW4tbGVmdDogMHB4O1xuXHR9XG59XG5cbi5jb21tZW50bGlzdCB7XG5cdGxpIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdFx0bWFyZ2luLWJvdHRvbTogMS41ZW07XG5cdFx0cGFkZGluZzogMC43MzM1ZW0gMTBweDtcblxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblxuXHRcdHVsLmNoaWxkcmVuIHtcblx0XHRcdG1hcmdpbjogMDtcblxuXHRcdFx0bGkge1xuXHRcdFx0fVxuXG5cdFx0XHQuY29tbWVudCB7XG5cdFx0XHR9XG5cdFx0XHQuYWx0IHtcblx0XHRcdH1cblx0XHRcdC5vZGQge1xuXHRcdFx0fVxuXHRcdFx0LmV2ZW4ge1xuXHRcdFx0fVxuXHRcdFx0LmRlcHRoLTEge1xuXHRcdFx0fSAvLyBDaGFuZ2UgbnVtYmVyIGZvciBkaWZmZXJlbnQgZGVwdGhcblx0XHRcdC5ieXVzZXIge1xuXHRcdFx0fVxuXHRcdFx0LmJ5cG9zdGF1dGhvciB7XG5cdFx0XHR9XG5cdFx0XHQuY29tbWVudC1hdXRob3ItYWRtaW4ge1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdGxpW2NsYXNzKj1cImRlcHRoLVwiXSB7XG5cdFx0bWFyZ2luLXRvcDogMS4xZW07XG5cdH1cblxuXHRsaS5kZXB0aC0xIHtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHR9XG5cblx0bGk6bm90KC5kZXB0aC0xKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0fVxuXG5cdGxpLmRlcHRoLTIge1xuXHR9XG5cdGxpLmRlcHRoLTMge1xuXHR9XG5cdGxpLmRlcHRoLTQge1xuXHR9XG5cdGxpLmRlcHRoLTUge1xuXHR9XG5cblx0Ly8gR2VuZXJhbCBjb21tZW50IGNsYXNzZXNcblx0LmFsdCB7XG5cdH1cblx0Lm9kZCB7XG5cdH1cblx0LmV2ZW4ge1xuXHR9XG5cdC5wYXJlbnQge1xuXHR9XG5cdC5jb21tZW50IHtcblx0fVxuXHQuY2hpbGRyZW4ge1xuXHR9XG5cdC5waW5nYmFjayB7XG5cdH1cblx0LmJ5cG9zdGF1dGhvciB7XG5cdH1cblx0LmNvbW1lbnQtYXV0aG9yIHtcblx0fVxuXHQuY29tbWVudC1hdXRob3ItYWRtaW4ge1xuXHR9XG5cdC50aHJlYWQtYWx0IHtcblx0fVxuXHQudGhyZWFkLW9kZCB7XG5cdH1cblx0LnRocmVhZC1ldmVuIHtcblx0fVxuXG5cdC8vIHZjYXJkXG5cdC52Y2FyZCB7XG5cdFx0bWFyZ2luLWxlZnQ6IDUwcHg7XG5cblx0XHRjaXRlLmZuIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cblx0XHRcdGEudXJsIHtcblx0XHRcdH1cblx0XHR9XG5cblx0XHR0aW1lIHtcblx0XHRcdGZsb2F0OiByaWdodDtcblxuXHRcdFx0YSB7XG5cdFx0XHRcdGNvbG9yOiAjOTk5O1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRpbWcucGhvdG8ge1xuXHRcdH1cblxuXHRcdGltZy5hdmF0YXIge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0bGVmdDogMTBweDtcblx0XHRcdHBhZGRpbmc6IDJweDtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNjZWNlY2U7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdH1cblx0fSAvLyBlbmQgLmNvbW1lbnRsaXN0IC52Y2FyZFxuXG5cdC8vIGNvbW1lbnQgbWV0YVxuXHQuY29tbWVudC1tZXRhIHtcblx0XHRhIHtcblx0XHR9XG5cdH1cblxuXHQuY29tbWVudG1ldGFkYXRhIHtcblx0XHRhIHtcblx0XHR9XG5cdH1cblxuXHQvLyBjb21tZW50IGNvbnRlbnRcblx0LmNvbW1lbnRfY29udGVudCB7XG5cdFx0cCB7XG5cdFx0XHRtYXJnaW46IDAuNzMzNWVtIDAgMS41ZW07XG5cdFx0XHRmb250LXNpemU6IDFlbTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjVlbTtcblx0XHR9XG5cdH0gLy8gZW5kIC5jb21tZW50bGlzdCAuY29tbWVudF9jb250ZW50XG5cblx0Ly8gY29tbWVudCByZXBseSBsaW5rXG5cdC5jb21tZW50LXJlcGx5LWxpbmsge1xuXHRcdGZsb2F0OiByaWdodDtcblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0fVxuXHR9IC8vIGVuZCAuY29tbWVudGxpc3QgLmNvbW1lbnQtcmVwbHktbGlua1xufSAvLyBlbmQgLmNvbW1lbnRsaXN0XG5cbi8qKioqKioqKioqKioqKioqKioqKipcbkNPTU1FTlQgRk9STSBTVFlMRVNcbioqKioqKioqKioqKioqKioqKioqKi9cbi5yZXNwb25kLWZvcm0ge1xuXHRtYXJnaW46IDEuNWVtIDEwcHg7XG5cdHBhZGRpbmctYm90dG9tOiAyLjJlbTtcblxuXHRmb3JtIHtcblx0XHRtYXJnaW46IDAuNzVlbSAwO1xuXG5cdFx0bGkge1xuXHRcdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwLjczMzVlbTtcblxuXHRcdFx0bGFiZWwsXG5cdFx0XHRzbWFsbCB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aW5wdXRbdHlwZT1cInRleHRcIl0sXG5cdFx0aW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuXHRcdGlucHV0W3R5cGU9XCJ1cmxcIl0sXG5cdFx0dGV4dGFyZWEge1xuXHRcdFx0cGFkZGluZzogM3B4IDZweDtcblx0XHRcdGJhY2tncm91bmQ6ICNlZmVmZWY7XG5cdFx0XHRib3JkZXI6IDJweCBzb2xpZCAjY2VjZWNlO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNWVtO1xuXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRcdH1cblxuXHRcdFx0Ly8gZm9ybSB2YWxpZGF0aW9uXG5cdFx0XHQmOmludmFsaWQge1xuXHRcdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdFx0XHRib3JkZXItY29sb3I6ICNmYmMyYzQ7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmNmU3ZWI7XG5cdFx0XHRcdC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcblx0XHRcdFx0LW1vei1ib3gtc2hhZG93OiBub25lO1xuXHRcdFx0XHQtbXMtYm94LXNoYWRvdzogbm9uZTtcblx0XHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRpbnB1dFt0eXBlPVwidGV4dFwiXSxcblx0XHRpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5cdFx0aW5wdXRbdHlwZT1cInVybFwiXSB7XG5cdFx0XHRtYXgtd2lkdGg6IDQwMHB4O1xuXHRcdFx0bWluLXdpZHRoOiAyNTBweDtcblx0XHR9XG5cblx0XHR0ZXh0YXJlYSB7XG5cdFx0XHRyZXNpemU6IG5vbmU7XG5cdFx0XHR3aWR0aDogOTcuMyU7XG5cdFx0XHRoZWlnaHQ6IDE1MHB4O1xuXHRcdH1cblx0fVxufVxuXG4vLyBjb21tZW50IGZvcm0gdGl0bGVcbiNjb21tZW50LWZvcm0tdGl0bGUge1xuXHRtYXJnaW46IDAgMCAxLjFlbTtcbn1cblxuLy8gY2FuY2VsIGNvbW1lbnQgcmVwbHkgbGlua1xuI2NhbmNlbC1jb21tZW50LXJlcGx5IHtcblx0YSB7XG5cdH1cbn1cblxuLy8gbG9nZ2VkIGluIGNvbW1lbnRzXG4uY29tbWVudHMtbG9nZ2VkLWluLWFzIHtcbn1cblxuLy8gYWxsb3dlZCB0YWdzXG4jYWxsb3dlZF90YWdzIHtcblx0bWFyZ2luOiAxLjVlbSAxMHB4IDAuNzMzNWVtIDA7XG59XG5cbi8vIE5vIGNvbW1lbnRzXG4ubm9jb21tZW50cyB7XG5cdG1hcmdpbjogMCAyMHB4IDEuMWVtO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqXG5TSURFQkFSUyAmIEFTSURFU1xuKioqKioqKioqKioqKioqKioqKioqL1xuLnNpZGViYXIge1xuXHRsaSB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0fVxufVxuXG4ud2lkZ2V0IHtcblx0dWwge1xuXHRcdG1hcmdpbjogMDtcblx0fVxufVxuLyoqKioqKioqKioqKioqKioqKioqKlxuRk9PVEVSIFNUWUxFU1xuKioqKioqKioqKioqKioqKioqKioqL1xuLmZvb3RlciB7XG5cdGNsZWFyOiBib3RoO1xuXHRtYXJnaW4tdG9wOiAxZW07XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKipcblZJU1VBTCBFRElUT1IgU1RZTEVTXG4qKioqKioqKioqKioqKioqKioqKiovXG4vLyBNYWtlcyBjb250ZW50IGxvb2sgYmV0dGVyIGluIHZpc3VhbCBlZGl0b3JcbmJvZHkjdGlueW1jZSB7XG5cdG1hcmdpbjogMjBweDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuUExVR0lOIFNUWUxFU1xuKioqKioqKioqKioqKioqKioqKioqL1xuLy8gTWFrZXMgR3Jhdml0eSBGb3JtcyBwbGF5IG5pY2Ugd2l0aCBGb3VuZGF0aW9uIEZvcm0gc3R5bGVzXG4uZ2Zvcm1fYm9keSB1bCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZSBub25lO1xuXHRtYXJnaW46IDA7XG59XG5cbi8vIEhpZGUgR3Jhdml0eSBGb3JtcyB2YWxpZGF0aW9uIGZpZWxkcyB3aGVuIEdGQ1NTIGlzIGRpc2FibGVkXG4uZ2Zvcm1fdmFsaWRhdGlvbl9jb250YWluZXIsXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fdmFsaWRhdGlvbl9jb250YWluZXIsXG5ib2R5IC5nZm9ybV93cmFwcGVyIGxpLmdmb3JtX3ZhbGlkYXRpb25fY29udGFpbmVyLFxuYm9keSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmb3JtX3ZhbGlkYXRpb25fY29udGFpbmVyLFxuYm9keSAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmb3JtX3ZhbGlkYXRpb25fY29udGFpbmVyIHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHRwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcblx0bGVmdDogLTkwMDBweDtcbn1cblxuQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcInNhc3M6bWFwXCI7XG5cbiRtZWRpYS1icmVha3BvaW50czogKFxuXHRtb2JpbGU6IDYwMHB4LFxuXHRkZXNrdG9wOiAxOTIwcHgsXG5cdC8vIC4uLm90aGVyIHZhbHVlcyBjYW4gZ28gaW4gaGVyZVxuKTtcblxuJGRlZmF1bHQtbWluLWJwOiBtYXAtZ2V0KCRtZWRpYS1icmVha3BvaW50cywgXCJtb2JpbGVcIik7XG4kZGVmYXVsdC1tYXgtYnA6IG1hcC1nZXQoJG1lZGlhLWJyZWFrcG9pbnRzLCBcImRlc2t0b3BcIik7XG5cbkBmdW5jdGlvbiB0by1yZW1zKCRweCkge1xuXHQkcmVtczogKCRweCAvIDE2cHgpICogMXJlbTtcblx0QHJldHVybiAkcmVtcztcbn1cbi8qIEBmdW5jdGlvbiBybmQoJG51bWJlciwgJHBsYWNlczogMCkge1xuICAgICRuOiAxO1xuICAgIEBpZiAkcGxhY2VzID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHBsYWNlcyB7XG4gICAgICAgICAgICAkbjogJG4gKiAxMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuIChtYXRoLnJvdW5kKCRudW1iZXIgKiAkbikgLyAkbik7XG59XG4gKi9cbkBmdW5jdGlvbiBjbGFtcGVkKCRtaW4tcHgsICRtYXgtcHgsICRtaW4tYnA6ICRkZWZhdWx0LW1pbi1icCwgJG1heC1icDogJGRlZmF1bHQtbWF4LWJwKSB7XG5cdCRzbG9wZTogKCRtYXgtcHggLSAkbWluLXB4KSAvICgkbWF4LWJwIC0gJG1pbi1icCk7XG5cdC8vJHNsb3BlLXZ3OiBybmQoJHNsb3BlICogMTAwLCAyKTtcblx0JHNsb3BlLXZ3OiAkc2xvcGUgKiAxMDA7XG5cblx0Ly8kaW50ZXJjZXB0LXJlbXM6IHJuZCh0by1yZW1zKCRtaW4tcHggLSAkc2xvcGUgKiAkbWluLWJwKSwgMik7XG5cdCRpbnRlcmNlcHQtcmVtczogdG8tcmVtcygkbWluLXB4IC0gJHNsb3BlICogJG1pbi1icCk7XG5cblx0Ly8kbWluLXJlbXM6IHJuZCh0by1yZW1zKCRtaW4tcHgpLCAyKTtcblx0JG1pbi1yZW1zOiB0by1yZW1zKCRtaW4tcHgpO1xuXG5cdC8vJG1heC1yZW1zOiBybmQodG8tcmVtcygkbWF4LXB4KSwgMik7XG5cdCRtYXgtcmVtczogdG8tcmVtcygkbWF4LXB4KTtcblxuXHRAcmV0dXJuIGNsYW1wKCN7JG1pbi1yZW1zfSwgI3skc2xvcGUtdnd9dncgKyAjeyRpbnRlcmNlcHQtcmVtc30sICN7JG1heC1yZW1zfSk7XG59XG5cbi8vVVNBR0Vcbi8vIGZvbnQtc2l6ZTogY2xhbXBlZChtaW4gcGl4ZWwsIG1heCBwaXhlbCwgbWluIHZ3LCBtYXggdncpO1xuXG4uZWwge1xuXHRmb250LXNpemU6IGNsYW1wZWQoNDhweCwgODRweCwgMTIwMHB4LCAxOTIwcHgpO1xufVxuXG5AZnVuY3Rpb24gdmgoJHF1YW50aXR5KSB7XG5cdEByZXR1cm4gY2FsYyh2YXIoLS12aCwgMXZoKSAqICN7JHF1YW50aXR5fSk7XG59XG5cbi5mdWxsaGVpZ2h0IHtcblx0aGVpZ2h0OiB2aCgxMDApO1xufVxuXG4kaGVhZGVySGVpZ2h0OiA4MnB4O1xuXG5ib2R5LmxvZ2dlZC1pbi5hZG1pbi1iYXIge1xuXHQvL1x0bWFyZ2luLXRvcDogMzJweDtcblx0Lm1haW4taGVhZGVyIHtcblx0XHRtYXJnaW4tdG9wOiAzMnB4O1xuXHR9XG59XG5cbkBtaXhpbiB1bmRlcmxpbmUoJGNvbG9yOiBpbmhlcml0LCAkaGVpZ2h0OiAzcHgpIHtcblx0JiB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogJGhlaWdodDtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgwKTtcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuXHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcblx0XHR9XG5cdH1cblx0Jjpob3Zlcixcblx0Jjpmb2N1cyB7XG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuXHRcdH1cblx0fVxufVxuLnVuZGVybGluZSB7XG5cdEBpbmNsdWRlIHVuZGVybGluZShpbmhlcml0KTtcbn1cblxuaDEsXG4uaDEsXG5oMyxcbi5oMyxcbmg0LFxuLmg0LFxuaDUsXG4uaDUge1xuXHRmb250LWZhbWlseTogJ1N3aXR6ZXInLCBzYW5zLXNlcmlmO1xuXHRmb250LXdlaWdodDogNzAwO1xuXHRsaW5lLWhlaWdodDogMS4yO1xufVxuXG5oMyxcbi5oMyxcbmg0LFxuLmg0IHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuaDEsXG4uaDEge1xuXHRmb250LXdlaWdodDogOTAwO1xufVxuXG5oMixcbi5oMiB7XG5cdGZvbnQtZmFtaWx5OiAnZGluLTIwMTQnLCBzYW5zLXNlcmlmO1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDM0cHgpO1xuXHRmb250LXdlaWdodDogNDAwO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyOHB4KTtcblx0fVxufVxuXG5oMyxcbi5oMyB7XG5cdG1hcmdpbi1ib3R0b206IDJyZW07XG5cdHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuXHRlbSB7XG4gICAgXHRmb250LXdlaWdodDogNDAwO1xuXHR9XG59XG5cbmg2LFxuLmg2IHtcblx0Zm9udC1zaXplOiByZW0tY2FsYygxNnB4KTtcblx0bGluZS1oZWlnaHQ6IDE4cHg7XG5cdGxldHRlci1zcGFjaW5nOiAxLjJweDtcblx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LWZhbWlseTogJ2Rpbi0yMDE0Jywgc2Fucy1zZXJpZjtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpe1xuXHQucm93IHtcblx0XHRtYXgtd2lkdGg6IHJlbS1jYWxjKDEyNzBweCk7XG5cdH1cbn1cblxuLnRpdGxlLXNlY3Rpb24gaDYsXG4udGl0bGUtc2VjdGlvbiAuaDYge1xuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5ociB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG59XG5cbmEge1xuICAgIGNvbG9yOiBpbml0aWFsO1xufVxuXG4uYXV0by13aWR0aCB7XG4gICAgd2lkdGg6IDIwLjgzMzMlO1xuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpe1xuXHRcdHdpZHRoOiAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0fVxufVxuXG4uaG92ZXJfdW5kZXJsaW5lIHtcblx0Y29sb3I6IGluaXRpYWw7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHdpZHRoOiAwO1xuXHRcdGhlaWdodDogMnB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRyb3Nzbztcblx0XHRsZWZ0OiAwO1xuXHRcdGJvdHRvbTogLTEwcHg7XG5cdFx0dHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlO1xuXHR9XG5cdCY6aG92ZXI6YWZ0ZXIge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbnAge1xuICAgIGZvbnQtZmFtaWx5OiAnU2VudGllbnQnLCBzZXJpZjtcblx0c3BhbiB7XG5cdFx0Zm9udC1mYW1pbHk6ICdTZW50aWVudCcsIHNlcmlmO1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTZweCkgIWltcG9ydGFudDtcblx0fVxufVxuXG4uc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbn1cblxuYmxvY2txdW90ZSB7XG4gICAgY29sb3I6IGluaXRpYWw7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyM3B4KTtcbiAgICBmb250LWZhbWlseTogJ1NlbnRpZW50JztcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nLXRvcDogNDBweDtcblx0JjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IHVybCgnLi4vaW1hZ2VzL3ZpcmdvbGV0dGUuc3ZnJyk7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHR9XHRcbn1cblxuLmJsYWNrIC5ib3gtYXV0aG9yIC50ZXh0X2F1dGhvciBhLFxuLmJsdWUgLmJveC1hdXRob3IgLnRleHRfYXV0aG9yIGEsXG4ucmVkIC5ib3gtYXV0aG9yIC50ZXh0X2F1dGhvciBhLFxuLmJsYWNrIGJsb2NrcXVvdGUsXG4uYmx1ZSBibG9ja3F1b3RlLFxuLnJlZCBibG9ja3F1b3RlIHtcblx0Y29sb3I6ICR3aGl0ZTtcbn1cblxuLmJsYWNrIC5zd2lwZXJDb3JyZWxhdG8gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUsXG4uYmxhY2sgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgYmFja2dyb3VuZDogI0ZGRjtcbn1cblxuLnRpdGxlIHtcblx0aDIge1xuXHRcdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdFx0Ji5saW5lIHtcblx0XHRcdHBhZGRpbmctbGVmdDogNjVweDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCl7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjhweCk7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNDBweCk7XG5cdFx0XHR9XG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjJweCk7XG5cdFx0XHR9XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHR3aWR0aDogNTBweDtcblx0XHRcdFx0aGVpZ2h0OiAxLjVweDtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHJvc3NvO1xuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpe1xuXHRcdFx0XHRcdHdpZHRoOiByZW0tY2FsYygzMHB4KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uZGZsZXgge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnJvdy1sYXJnZSB7XG5cdG1heC13aWR0aDogMTkyMHB4O1xufVxuXG51bC5zb2NpYWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXHRsaSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbi1yaWdodDogMjBweDtcblx0XHRpbWcge1xuXHRcdFx0aGVpZ2h0OiAzMHB4O1xuXHRcdH1cblx0fVxufVxuXG4ucmVkIC5pbnRybyAuYnlsaW5lLFxuLmJsdWUgLmludHJvIC5ieWxpbmUsXG4uYmxhY2sgLmludHJvIC5ieWxpbmUge1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cdHNwYW4ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0fVxuXHQuaG92ZXJfdW5kZXJsaW5lIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHJvc3NvO1xuXHRcdH1cblx0fVxufVxuXG4ud2hpdGUgLmludHJvIC5ieWxpbmUge1xuICAgIGNvbG9yOiAkYmxhY2s7XG5cdC5ob3Zlcl91bmRlcmxpbmUge1xuXHRcdGNvbG9yOiBpbml0aWFsO1xuXHR9XG59XG5cbi5yZWQgLmludHJvIC5ieWxpbmUge1xuXHQuaG92ZXJfdW5kZXJsaW5lIHtcblx0XHQmOmFmdGVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHR9XG5cdH1cbn1cblxuLnZpZGVvIHZpZGVvIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuYS5idXR0b24ge1xuXHRwYWRkaW5nOiAxMnB4IDgwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0Zm9udC1mYW1pbHk6ICdTd2l0emVyJywgc2Fucy1zZXJpZjtcblx0Y29sb3I6ICRibGFjaztcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcblx0bWFyZ2luLWJvdHRvbTogMDtcblx0Ly8gdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UsIGNvbG9yIDAuM3M7XG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuXHR9XG59XG5cbi5kYXJrZ3JheSB7XG5cdGEuYnV0dG9uIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0fVxuXHR9XG59XG5cbi53aGl0ZSB7XG5cdGEuYnV0dG9uIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JpZ2lvO1xuXHRcdH1cblx0fVxuXHQudGV4dF9hdXRob3IgYTpob3ZlciB7XG5cdFx0Y29sb3I6ICRibGFjaztcblx0fVxuXHQuc29jaWFsLXNoYXJlOmJlZm9yZSB7XG5cdFx0Y29udGVudDogdXJsKCcuLi9pbWFnZXMvc2hhcmUuc3ZnJyk7XG5cdH1cbn1cblxuLmJsYWNrIHtcblx0YS5idXR0b24ge1xuXHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRyb3Nzbztcblx0XHR9XG5cdH1cblx0LnRleHRfYXV0aG9yIGE6aG92ZXIge1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdH1cblx0LnNvY2lhbC1zaGFyZTpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IHVybCgnLi4vaW1hZ2VzL3NoYXJlLXcuc3ZnJyk7XG5cdH1cbn1cblxuLmJsdWUge1xuXHRhLmJ1dHRvbiB7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcm9zc287XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuXHRcdH1cblx0fVxuXHQudGV4dF9hdXRob3IgYTpob3ZlciB7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0fVxuXHQuc29jaWFsLXNoYXJlOmJlZm9yZSB7XG5cdFx0Y29udGVudDogdXJsKCcuLi9pbWFnZXMvc2hhcmUtdy5zdmcnKTtcblx0fVxufVxuXG4ucmVkIHtcblx0YS5idXR0b24ge1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblx0XHR9XG5cdH1cblx0LnRleHRfYXV0aG9yIGE6aG92ZXIge1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdH1cblx0LnNvY2lhbC1zaGFyZTpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IHVybCgnLi4vaW1hZ2VzL3NoYXJlLXcuc3ZnJyk7XG5cdH1cbn1cblxuZm9vdGVyLmZvb3RlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblx0bWFyZ2luLXRvcDogMDtcblx0cGFkZGluZzogNjBweCAwO1xuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0cGFkZGluZzogMnJlbSAwO1xuXHR9XG5cdC5oMyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMnJlbTtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE5cHgpO1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdH1cblx0cCB7XG5cdFx0Zm9udC1mYW1pbHk6ICdTd2l0emVyJywgc2Fucy1zZXJpZjtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0cHgpO1xuXHRcdGNvbG9yOiAkZGFyay1ncmF5O1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdH1cblx0LmxvZ28ge1xuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHQubWVudSB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGltZyB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXHRcdH1cblx0XHQuaDMge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdH1cblx0dWwuc29jaWFsIHtcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0fVxuXHRcdGxpIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAyNXB4O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdFx0XHRtYXJnaW46IDAgMXJlbTtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdH1cblx0LnNvYyB7XG5cdFx0bWFyZ2luOiAzMHB4IGF1dG87XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdH1cblx0LmZvb3Rlcl9tZW51IHtcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0XHR1bCB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHRsaSB7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDM1cHg7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAkcm9zc287XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQubWVudS1pdGVtIHNwYW46YWZ0ZXIsXG5cdFx0XHQuaG92ZXJfdW5kZXJsaW5lOmFmdGVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHJvc3NvO1xuXHRcdFx0XHRib3R0b206IC01cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5tZW51X2xlZ2FsZSB7XG5cdFx0dWwubWVudSB7XG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAxcmVtO1xuXHRcdFx0fVxuXHRcdFx0bGkge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAxcmVtO1xuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRjb2xvcjogIzhhOGE4YTtcbiAgICBcdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAkcm9zc287XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdHAuc291cmNlLW9yZyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXHQucmlnaHQge1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3R0b206IDA7XG5cdFx0cmlnaHQ6IHJlbS1jYWxjKDE1cHgpO1xuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICByaWdodDogaW5pdGlhbDtcblx0XHR9XG5cdFx0YSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTBweCk7XG5cdFx0XHRjb2xvcjogJGRhcmstZ3JheTtcblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDsgXG5cdFx0XHR9XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6ICRyb3Nzbztcblx0XHRcdH1cblx0XHR9XG5cblx0fVxufVxuXG4uYm94LWF1dGhvciB7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYyg0MjBweCk7XG5cdG1hcmdpbjogMzBweCAwO1xuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG5cdC5pbWdfYXV0aG9yIHtcblx0XHRib3JkZXItcmFkaXVzOiAxMDAlO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0aW1nIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0fVxuXHQudGV4dF9hdXRob3Ige1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDUwJTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0bGVmdDogMDtcblx0XHRhIHtcblx0XHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0fVxuXHRcdC5oNiB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblx0XHQubWVudS1pdGVtIHNwYW46YWZ0ZXIsXG5cdFx0LmhvdmVyX3VuZGVybGluZTphZnRlciB7XG5cdFx0XHRib3R0b206IC00cHg7XG5cdFx0fVxuXHR9XG59XG5cbi50YXgtZmlybWUge1xuXHQuYmxvY2stbmV3cyB7XG5cdFx0aDMge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMnJlbTtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTlweCk7XG5cdFx0fVxuXHRcdGgyIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjVweCk7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcblx0XHRcdGZvbnQtZmFtaWx5OiAnU3dpdHplcic7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXHRcdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoNDBweCk7XG5cdFx0fVxuXHRcdGgxIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoNTBweCk7XG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzBweCk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGhyIHtcblx0XHRcdG1hcmdpbjogMnJlbSAwO1xuXHRcdFx0d2lkdGg6IDEwMHB4O1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRyb3Nzbztcblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdFx0bWFyZ2luOiAxcmVtIDA7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5tZWRpdW0tbmV3cyAuaW1nIHtcblx0XHRcdGhlaWdodDogcmVtLWNhbGMoMTgwcHgpO1xuXHRcdH1cblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0XHQuYm94LWF1dGhvciAuaW1nX2F1dGhvciB7XG5cdFx0XHRcdHdpZHRoOiByZW0tY2FsYygxNDBweCk7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDJyZW07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5zb2NpYWwtc2hhcmUge1xuXHR3aWR0aDogNDBweDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0cmFuc2l0aW9uOiB3aWR0aCAycyBsaW5lYXI7XG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCl7ICBcblx0XHR3aWR0aDogYXV0bztcblx0fVxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7IFxuXHRcdG1hcmdpbi10b3A6IDEuNXJlbTtcblx0fVxuXHQmOmJlZm9yZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdHdpZHRoOiA0MHB4O1xuXHRcdGhlaWdodDogNDBweDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dG9wOiAtMnB4O1xuXHR9XG5cdCY6aG92ZXIge1xuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCl7IFxuXHRcdFx0d2lkdGg6IDIwMHB4O1xuXHRcdFx0dHJhbnNpdGlvbjogd2lkdGggMC4ycyBsaW5lYXI7XG5cdFx0fVxuXHR9XG5cdCY6aG92ZXIgbGkge1xuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCl7IFxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRvcDogMDtcblx0XHR9XG5cdFx0JjpudGgtY2hpbGQoMSkge1xuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KXsgXG5cdFx0XHRcdGxlZnQ6IDQ1cHg7XG5cdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlLCBsZWZ0IDAuNHMgZWFzZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0JjpudGgtY2hpbGQoMikge1xuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KXsgXG5cdFx0XHRcdGxlZnQ6IDkwcHg7XG5cdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLCBsZWZ0IDAuNXMgZWFzZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0JjpudGgtY2hpbGQoMykge1xuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KXsgXG5cdFx0XHRcdGxlZnQ6IDEzNXB4O1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnMgZWFzZSwgbGVmdCAwLjZzIGVhc2U7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdHVsIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dG9wOiAtNDRweDtcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpeyAgXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IC0zcHg7XG5cdFx0XHRsZWZ0OiA0NXB4O1xuXHRcdH1cblx0XHRsaSB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCBsZWZ0IDAuM3MgZWFzZTtcblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCl7ICBcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1jaGlsZCgxKSB7XG5cdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlLCBsZWZ0IDAuNHMgZWFzZTtcblx0XHRcdH1cblx0XHRcdCY6bnRoLWNoaWxkKDIpIHtcblx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UsIGxlZnQgMC41cyBlYXNlO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtY2hpbGQoMykge1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnMgZWFzZSwgbGVmdCAwLjZzIGVhc2U7XG5cdFx0XHR9XG5cdFx0XHRpbWcge1xuXHRcdFx0XHR3aWR0aDogNDBweDtcblx0XHRcdFx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5idXR0b24uY21wbHotYnRuLmNtcGx6LW1hbmFnZS1jb25zZW50Lm1hbmFnZS1jb25zZW50LTEuY21wbHotc2hvdyB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ibG9jay1uZXdzIC5uZXdzIC50eHQgaHIuc2t5IHtcblx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyMzZCQUQ7XG59XG5cbi5ibG9jay1uZXdzIC5uZXdzLnNpbmdsZS1uZXdzIC50eHQge1xuXHRtYXJnaW4tdG9wOiAzcmVtO1xufVxuXG4ubGlzdGF0byAubmV3cyAudHh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi50eHQtcGFnZSB7XG5cdGgzIHtcblx0XHRmb250LXNpemU6IDMwcHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0fVxufVxuXG4uYm94X3JpY2VyY2Ege1xuXHRwYWRkaW5nOiAzMHB4IDE1cHg7XG4gICAgYm9yZGVyOiAwO1xuXHRtYXJnaW4tbGVmdDogM3JlbTtcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM4MHB4KXtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0fVxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpe1xuXHRcdHBhZGRpbmc6IDAgMTVweDtcblx0fVxuXHRsYWJlbCB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogdXJsKCcuLi9pbWFnZXMvc2VhcmNoX2dyLnN2ZycpO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAxNXB4O1xuXHRcdH1cblx0XHRpbnB1dC5zZWFyY2gtZmllbGQge1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmxhY2s7XG5cdFx0XHRmb250LXNpemU6IDFyZW07XG5cdFx0XHRmb250LWZhbWlseTogJ1NlbnRpZW50Jywgc2VyaWY7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDMwcHg7XG5cdFx0XHRoZWlnaHQ6IDUwcHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1x0XG5cdFx0fVxuXHR9XG5cdGlucHV0LnNlYXJjaC1zdWJtaXQuYnV0dG9uIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblx0XHQvLyBmb250LWZhbWlseTogJ1NlbnRpZW50Jywgc2VyaWY7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNnB4KTtcblx0XHRwYWRkaW5nOiAxNXB4O1xuXHR9XG59XG5cbi50YWcgLmJveF9yaWNlcmNhLFxuLnNlYXJjaCAuYm94X3JpY2VyY2Ege1xuXHRtYXJnaW4tbGVmdDogMDtcbn1cblxuLndpZGdldF9zZWFyY2gge1xuXHQuaDQge1xuXHRcdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblx0fVxuXHRzZWxlY3Qge1xuXHRcdGJvcmRlci1yYWRpdXM6IDI1cHg7XG5cdFx0cGFkZGluZy1sZWZ0OiAyMHB4O1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0fVxufVxuXG4uc2VhcmNoIHtcblx0LmJsb2NrLW5ld3Mge1xuXHRcdC5tZWRpdW0tbmV3cyB7XG5cdFx0XHQudHh0IHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLnBhZ2UtbmF2aWdhdGlvbiB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRibGFjaztcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcblx0LnBhZ2luYXRpb24ge1xuXHRcdGxpIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjZweCk7XG5cdFx0XHRmb250LWZhbWlseTogJ2Rpbi0yMDE0Jztcblx0XHRcdGNvbG9yOiAkZ3JpZ2lvO1xuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjNweCk7XG5cdFx0XHR9XG5cdFx0XHQuY3VycmVudCB7XG5cdFx0XHRcdHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcblx0XHRcdFx0YmFja2dyb3VuZDogaW5pdGlhbDtcblx0XHRcdFx0Y29sb3I6ICRibGFjaztcblx0XHRcdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgJHJvc3NvO1xuXHRcdFx0fVxuXHRcdFx0YSB7XG5cdFx0XHRcdGNvbG9yOiAkZ3JpZ2lvO1xuXHRcdFx0fVxuXHRcdFx0YTpob3ZlciB7XG5cdFx0XHRcdGNvbG9yOiAkcm9zc287XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5tZW51LWl0ZW0uYWN0aXZlIHNwYW46YWZ0ZXIge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLndpZGdldF9hcmNoaXZlIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JpZ2lvY2hpYXJvO1xuXHRzZWxlY3Qge1xuXHRcdG1hcmdpbi10b3A6IDFyZW07XG5cdFx0Ym9yZGVyLXJhZGl1czogcmVtLWNhbGMoMzVweCk7XG5cdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygyMHB4KTtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdH1cbn1cblxuLnNwYXppb19ub190aXRsZSB7XG5cdG1hcmdpbi10b3A6IHJlbS1jYWxjKDg4cHgpO1xufVxuXG4uY29sbGFwc2UgLnR4dCB7XG5cdHBhZGRpbmctcmlnaHQ6IDFyZW07XG59XG5cbi5yZWQsXG4uYmxhY2ssXG4uYmx1ZSB7XG5cdC5wYWdlLW5hdmlnYXRpb24ge1xuXHRcdGJvcmRlci10b3A6IDJweCBzb2xpZCAkd2hpdGU7XG5cdFx0LnBhZ2luYXRpb24ge1xuXHRcdFx0bGkge1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHQuY3VycmVudCB7XG5cdFx0XHRcdFx0Y29sb3I6ICRyb3Nzbztcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgJHJvc3NvO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdH1cblx0XHRcdFx0YTpob3ZlciB7XG5cdFx0XHRcdFx0Y29sb3I6ICRyb3Nzbztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0gXG5cdH1cblx0LmJveF9yaWNlcmNhIHtcblx0XHRsYWJlbCB7XG5cdFx0XHRpbnB1dC5zZWFyY2gtZmllbGQgeyBcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMDtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0aW5wdXQuc2VhcmNoLXN1Ym1pdC5idXR0b24ge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdFx0Y29sb3I6ICRibGFjaztcblx0XHR9XG5cdH1cbn1cblxuLm0tdGFnIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG59XG5cbi5zaW5nbGUgLmJsb2NrLW5ld3MgLmltZyB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC1oZWlnaHQ6IDcwdmg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uc2luZ2xlIC5ibG9jay1uZXdzIC5pbWcgaW1nIHtcblx0d2lkdGg6MTAwJTtcblx0aGVpZ2h0OmF1dG87XG59XG5cbi5jb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiAycmVtO1xufVxuXG4uc2luZ2xlIC5jb250YWluZXIge1xuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpe1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXHR9XG59XG5cbi5jb250YWluZXIuY2F0LXZpZGVvLFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS12aWRlbyAuY29udGFpbmVyLFxuLmNhdGVnb3J5LXZpZGVvIC5jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbn1cblxuLndpZHRoLW1pbi1jYXQgaW1nIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5kZXNjcl92YXJpYW50X2ZvbnQgaDIge1xuXHRmb250LWZhbWlseTogJ1N3aXR6ZXInLCBzYW5zLXNlcmlmO1xuXHRmb250LXdlaWdodDogNzAwO1xuXHRsaW5lLWhlaWdodDogMS4yO1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDI4cHgpO1xufVxuXG4uZGVzY3JfdmFyaWFudF9mb250IGgzIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiByZW0tY2FsYygyNXB4KTtcbn1cblxuLmJhY2tncm91bmQtaW1nIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGhlaWdodDogcmVtLWNhbGMoNjUwcHgpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXgtd2lkdGg6IHJlbS1jYWxjKDE0NDBweCk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cdC8vICY6YWZ0ZXIge1xuXHQvLyBcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ly8gXHR0b3A6IDA7XG5cdC8vIFx0bGVmdDogMDtcblx0Ly8gXHRiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcblx0Ly8gXHR3aWR0aDogMTAwJTtcblx0Ly8gXHRoZWlnaHQ6IDEwMCU7XG5cdC8vIFx0Y29udGVudDogJyc7XG5cdC8vIFx0b3BhY2l0eTogMC40O1xuXHQvLyB9XG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCl7XG5cdFx0aGVpZ2h0OiByZW0tY2FsYyg0MjBweCk7XG5cdH1cblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdGhlaWdodDogcmVtLWNhbGMoMzcwcHgpO1xuXHR9XG5cdC52aXN1YWxfdGl0bGUge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdGxlZnQ6IDMwcHg7XG5cdFx0Ym90dG9tOiAzMHB4O1xuXHRcdG1heC13aWR0aDogODAwcHg7XG5cdFx0ei1pbmRleDogOTtcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0XHRsZWZ0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcblx0XHR9XG5cdFx0aDEge1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg2OHB4KTtcblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg0OHB4KTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmgzIHtcblx0XHRcdGZvbnQtd2VpZ2h0OjQwMDsgXG5cdFx0XHRmb250LXNpemU6cmVtLWNhbGMoMjUpO1xuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIxcHgpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uaW50cm9fY2F0IHtcblx0LnR4dC1wYWdlIHtcblx0XHRtYXJnaW4tdG9wOiA2cmVtO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpe1xuXHRcdFx0bWFyZ2luLXRvcDogM3JlbTtcblx0XHR9XG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdFx0bWFyZ2luLXRvcDogMnJlbTtcblx0XHR9XG5cdFx0aDEge1xuXHRcdFx0Zm9udC1zaXplOiA2OHB4O1xuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KXtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg1NHB4KTtcblx0XHRcdH1cblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg0OHB4KTtcblx0XHRcdH1cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0d2lkdGg6IHJlbS1jYWxjKDIwMHB4KTtcblx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYygycHgpO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcm9zc287XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0bGVmdDogcmVtLWNhbGMoLTE1MHB4KTtcblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpeyBcblx0XHRcdFx0XHR3aWR0aDogNHJlbTtcblx0XHRcdFx0XHRsZWZ0OiAtMTBweDtcblx0XHRcdFx0XHR0b3A6IC05cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0LmgzIHtcblx0XHRcdGZvbnQtd2VpZ2h0OjQwMDsgXG5cdFx0XHRmb250LXNpemU6cmVtLWNhbGMoMjUpOyBcblx0XHRcdG1hcmdpbi1ib3R0b206MDtcblx0XHR9XG5cdH1cbn1cblxuLmJsb2NrLW5ld3MuYmxhY2sgLmludHJvIC5ieWxpbmUge1xuXHQuaDYge1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdH1cblx0c3BhbiB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHR9XG59XG5cbi5jYXRlZ29yeS12aWRlbyAuaW50cm9fY2F0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIGNvbG9yOiAkd2hpdGU7XG59XG5cbi5mb3JtX3JpY2VyY2EsXG5oZWFkZXIgYS5yaWNlcmNhIHtcblx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDEycHgpO1xufVxuXG4uYmxvY2stbmV3czpub3QoLmJsdWUpIC5uZXdzIC5pbWcgaW1nIHtcblx0d2lkdGg6MTAwJSAhaW1wb3J0YW50O1xuXHRoZWlnaHQ6YXV0bztcblx0bWluLWhlaWdodDphdXRvO1xufVxuXG4ubWItNTAge1xuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4uYWNjb3JkaW9uLW1lbnUgbGkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMThweCk7XG59XG5cbi5zaW5nbGUgLmJsb2NrLW5ld3MgLmltZy5kaW1fbm9mdWxsIGltZyB7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi8vIC5ibG9jay1uZXdzOm5vdCguYmx1ZSkgLm5ld3MgLmltZyBpbWcge1xuLy8gXHRhbGw6IGluaXRpYWwgIWltcG9ydGFudDtcbi8vIFx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbi8vIH1cblxuLy8gLmJsb2NrLW5ld3MgLm5ld3MgLmltZyB7XG4vLyBcdGFsbDogaW5pdGlhbCAhaW1wb3J0YW50O1xuXG4vLyB9XG5cbi8vIC5ibG9jay1uZXdzIC5uZXdzIC5pbWcgaW1nIHtcbi8vIFx0YWxsOiBpbml0aWFsICFpbXBvcnRhbnQ7XG4vLyBcdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4vLyB9XG5cbi5pbWcgYSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udHJlbmRpbmctdG9nZ2xlLmRlc2sgaW1nIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMXB4O1xufVxuXG4ubXQtb3B6aW9uYWxlIHtcblx0bWFyZ2luLXRvcDogNHJlbTtcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdG1hcmdpbi10b3A6IDJyZW07XG5cdH1cbn1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1ob21lIC5ibG9jay1uZXdzIHtcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1ob21lIC5ibG9jay1uZXdzOm5vdCgud2hpdGUpICsgLmJsb2NrLW5ld3M6bm90KC53aGl0ZSkgeyBcblx0bWFyZ2luLXRvcDogLTFyZW0gXG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0LmJsb2NrLW5ld3Mge1xuXHRcdC5saXN0LW9uLW1vYmlsZSAucy1sYXJnZS1uZXdzLFxuXHRcdC5saXN0LW9uLW1vYmlsZSAuc21hbGwtbmV3cy5uZXdzLFxuXHRcdC5saXN0LW9uLW1vYmlsZSAubWVkaXVtLW5ld3MubmV3cyxcblx0XHQubGlzdC1vbi1tb2JpbGUgLm1lZGl1bV9sYXJnZS1uZXdzLm5ld3Mge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAxcmVtO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdG1hcmdpbi1yaWdodDogMXJlbTtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxcmVtO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFQkVCRUI7XG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHR9XG5cdFx0XHQuaW1nIHtcblx0XHRcdFx0d2lkdGg6IDMzLjMzMzMzJTtcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDE1cHg7XG5cdFx0XHRcdGJhY2tncm91bmQ6IGluaXRpYWwgIWltcG9ydGFudDtcblx0XHRcdFx0LnBsYXlfYnV0dG9uIHtcblx0XHRcdFx0XHRib3R0b206IDEwcHg7XG5cdFx0XHRcdFx0bGVmdDogMTBweDtcblx0XHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdFx0d2lkdGg6IDIwcHggIWltcG9ydGFudDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC50eHQge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0XHR3aWR0aDogNjYuNjY2NjclO1xuXHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0aDMge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMThweCkgIWltcG9ydGFudDtcblx0XHRcdFx0fVxuXHRcdFx0XHQuaDYsIGg2IHtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0cHgpO1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDAuMXJlbTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5hcmNoaXZlIHtcblx0XHQuYmxvY2stbmV3cyB7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0LmdyaWdsaWEgLm5ld3Mub3RoZXItbmV3cyB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5saXN0LW9uLW1vYmlsZSAubWVkaXVtLW5ld3MubmV3cyB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDFyZW07XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VCRUJFQjtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDFyZW07XG5cdFx0XHRtYXJnaW4tbGVmdDogMXJlbTtcblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdH1cblx0XHRcdC5pbWcge1xuXHRcdFx0XHR3aWR0aDogMzMuMzMzMzMlO1xuXHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMTVweDtcblx0XHRcdFx0YmFja2dyb3VuZDogaW5pdGlhbCAhaW1wb3J0YW50O1xuXHRcdFx0XHQucGxheV9idXR0b24ge1xuXHRcdFx0XHRcdGJvdHRvbTogMTBweDtcblx0XHRcdFx0XHRsZWZ0OiAxMHB4O1xuXHRcdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0XHR3aWR0aDogMjBweCAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0LnR4dCB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRcdHdpZHRoOiA2Ni42NjY2NyU7XG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRoMyB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOHB4KSAhaW1wb3J0YW50O1xuXHRcdFx0XHR9XG5cdFx0XHRcdC5oNiwgaDYge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTRweCk7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMC4xcmVtO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5sYXJnZS1uZXdzIHtcblx0XHRcdC5leGNlcnB0LW5ld3Mge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cblx0XHR9XG5cdFx0LmdyaWdsaWEge1xuXHRcdFx0LnNtYWxsLW5ld3Mge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQubWVkaXVtX2xhcmdlLW5ld3Mge1xuXHRcdFx0LmV4Y2VycHQtbmV3cyB7XG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCl7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQubWVkaXVtLW5ld3Mge1xuXHRcdFx0LmJsb2NrX2xhcmdlIHtcblx0XHRcdFx0LnR4dCB7XG5cdFx0XHRcdFx0aDMge1xuXHRcdFx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4cHgpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRoNiwgLmg2IHtcblx0XHRcdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxM3B4KTtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMC4ycmVtO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdC5zZWFyY2gge1xuXHRcdC5ibG9jay1uZXdzIHtcblx0XHRcdC5tZWRpdW0tbmV3cyB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAxcmVtO1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VCRUJFQjtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDFyZW07XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAxcmVtO1xuXHRcdFx0XHQuYmxvY2tfbGFyZ2Uge1xuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMHJlbTtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRcdFx0LnR4dCB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRcdFx0Lmg2LCBoNiB7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTNweCk7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDAuMnJlbTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHQuc2xpZGluZy1uZXdzIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdFx0YWxpZ24tY29udGVudDogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRvdmVyZmxvdy14OiBzY3JvbGw7XG5cdFx0Lm5ld3Mge1xuXHRcdFx0d2lkdGg6IDg1JSAhaW1wb3J0YW50O1xuXHRcdFx0ZmxleC1zaHJpbms6IDA7XG5cdFx0fVxuXHR9XG5cblx0LmJsb2NrX3RhZyB7XG4gICAgICAgIG1hcmdpbjogMnJlbSAwO1xuICAgICAgICAuc29jaWFsLXNoYXJlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cblx0LnNwYWNlLXJlc3AgLm5ld3Mge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cblxufVxuXG4ub3JhcmlvIHtcblx0bWFyZ2luLWxlZnQ6IDE1cHg7XG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCl7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdH1cblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblx0cCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdGZvbnQtZmFtaWx5OiAnU3dpdHplcic7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNHB4KTtcblx0XHRsaW5lLWhlaWdodDogMS40O1xuXHRcdGNvbG9yOiAkcm9zc287XG5cdFx0dGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcblx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXHRcdFx0Y29sb3I6ICRibGFjaztcblx0XHR9XG5cdH1cbn1cblxuLmZvcm1pbmF0b3ItZGVzaWduLS1tYXRlcmlhbCB7XG5cdC5mb3JtaW5hdG9yLWJ1dHRvbi1zdWJtaXQge1xuXHRcdHBhZGRpbmc6IDAuNXJlbSAxcmVtICFpbXBvcnRhbnQ7XG5cdFx0c3BhbiB7XG5cdFx0XHRmb250LWZhbWlseTogJ1N3aXR6ZXInICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG59XG5cbi5mb3JtaW5hdG9yLWNoZWNrYm94LmZvcm1pbmF0b3ItY29uc2VudCAuZm9ybWluYXRvci1jaGVja2JveC1ib3gge1xuICAgIHRvcDogN3B4ICFpbXBvcnRhbnQ7XG59XG5cbmEuZm9ybWluYXRvci1zYXZlLWRyYWZ0LWxpbmsuZGlzYWJsZWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmxpbmVlIHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gMDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgIzAwMDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQ7XG59XG5cbi5saWdodGJveCAubGItaW1hZ2Uge1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4ubGItb3V0ZXJDb250YWluZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbn1cblxuLmxiLWNhbmNlbCB7XG4gICAgd2lkdGg6IDIxMHB4O1xuICAgIGhlaWdodDogODBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvbG9nby5zdmdcIikgbm8tcmVwZWF0O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdC5ydWJyaWNoZSAudGl0bGUgaDIubGluZSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xuXHR9XG59IiwiLy8gaGVhZGVyLm1haW4taGVhZGVyIHtcbi8vIFx0cG9zaXRpb246IGZpeGVkO1xuLy8gXHR3aWR0aDogMTAwJTtcbi8vIFx0ZmxvYXQ6IGxlZnQ7XG4vLyBcdHRvcDogMDtcbi8vIFx0bGVmdDogMDtcbi8vIFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4vLyBcdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcywgcGFkZGluZyAwLjNzLCBiYWNrZ3JvdW5kIDAuM3M7XG4vLyBcdG9wYWNpdHk6IDE7XG4vLyBcdHotaW5kZXg6IDExO1xuLy8gXHRwYWRkaW5nLXRvcDogMnJlbTtcbi8vIFx0cGFkZGluZy1ib3R0b206IDJyZW07XG4vLyBcdGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4vLyBcdC50b3AtYmFyIHtcbi8vIFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbi8vIFx0XHRjb2xvcjogd2hpdGU7XG4vLyBcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblxuLy8gXHRcdC50b3AtYmFyLWxlZnQge1xuLy8gXHRcdFx0ZGlzcGxheTogZmxleDtcbi8vIFx0XHRcdGZsZXgtd3JhcDogbm93cmFwO1xuLy8gXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbi8vIFx0XHRcdGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbi8vIFx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbi8vIFx0XHRcdG1hcmdpbi1sZWZ0OiAtNjNweDtcbi8vIFx0XHR9XG4vLyBcdFx0LmxvZ28tY29udCB7XG4vLyBcdFx0XHR6LWluZGV4OiAyO1xuLy8gXHRcdFx0bWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbi8vIFx0XHRcdHRyYW5zaXRpb246IG1hcmdpbiAwLjNzO1xuLy8gXHRcdH1cbi8vIFx0XHQjc2l0ZS1sb2dvIHtcbi8vIFx0XHRcdHdpZHRoOiAxMDAlO1xuLy8gXHRcdFx0cGF0aCB7XG4vLyBcdFx0XHRcdGZpbGw6IHdoaXRlO1xuLy8gXHRcdFx0fVxuLy8gXHRcdH1cbi8vIFx0XHQudG9wLWJhci1yaWdodCB7XG4vLyBcdFx0XHR1bC5tZW51IHtcbi8vIFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHJvc3NvO1xuLy8gXHRcdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuLy8gXHRcdFx0XHRtYXJnaW46IDA7XG4vLyBcdFx0XHRcdGxpIHtcbi8vIFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmU7XG4vLyBcdFx0XHRcdFx0YSB7XG4vLyBcdFx0XHRcdFx0XHRjb2xvcjogd2hpdGU7XG4vLyBcdFx0XHRcdFx0fVxuLy8gXHRcdFx0XHR9XG4vLyBcdFx0XHR9XG4vLyBcdFx0fVxuLy8gXHR9XG4vLyBcdCYuaXMtc3R1Y2sge1xuLy8gXHRcdGJhY2tncm91bmQ6IHdoaXRlO1xuLy8gXHRcdHBhZGRpbmc6IDA7XG4vLyBcdFx0LnRvcC1iYXIge1xuLy8gXHRcdFx0LmxvZ28tY29udCB7XG4vLyBcdFx0XHRcdG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMCk7XG4vLyBcdFx0XHRcdCNzaXRlLWxvZ28ge1xuLy8gXHRcdFx0XHRcdHdpZHRoOiA5MCU7XG4vLyBcdFx0XHRcdFx0cGF0aCB7XG4vLyBcdFx0XHRcdFx0XHRmaWxsOiAkcm9zc287XG4vLyBcdFx0XHRcdFx0fVxuLy8gXHRcdFx0XHR9XG4vLyBcdFx0XHR9XG4vLyBcdFx0XHQudG9wLWJhci1yaWdodCB1bCNtYWluLW5hdiB7XG4vLyBcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuLy8gXHRcdFx0XHRmb250LXNpemU6IGNsYW1wZWQoMTZweCwgMjBweCwgMTIwMHB4LCAxOTIwcHgpO1xuLy8gXHRcdFx0XHRsaSBhIHtcbi8vIFx0XHRcdFx0XHRjb2xvcjogYmxhY2s7XG4vLyBcdFx0XHRcdH1cbi8vIFx0XHRcdH1cbi8vIFx0XHR9XG4vLyBcdFx0Lm1lbnUtYnV0dG9uLWNvbnQge1xuLy8gXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuLy8gXHRcdH1cbi8vIFx0XHQubWVnYS1tZW51IHVsI29mZmNhbnZhcy1uYXYge1xuLy8gXHRcdFx0cGFkZGluZy10b3A6IDA7XG4vLyBcdFx0fVxuLy8gXHR9XG4vLyB9XG5cbmhlYWRlciB7XG5cdHVsIHtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdCYuc29jaWFsIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdFx0bGkgeyBcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwcHgpO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoMjNweCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC50b3AtYmFyLCBcblx0LnRvcC1iYXIgdWwge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG5cdH1cblx0LnRvcC1iYXIge1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHR9XG5cdC5sb2dvIGltZyB7XG5cdFx0bWFyZ2luOiA1cHggYXV0bztcblx0XHRtYXJnaW4tdG9wOiAxLjE4NzVyZW07XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IHJlbS1jYWxjKDI2MHB4KTtcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpe1xuXHRcdFx0d2lkdGg6IHJlbS1jYWxjKDIzMHB4KTtcblx0XHR9XG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjM5cHgpe1xuXHRcdFx0bWFyZ2luLXRvcDogaW5pdGlhbDtcblx0XHRcdG1hcmdpbjogMTVweCBhdXRvO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR3aWR0aDogcmVtLWNhbGMoMjAwcHgpO1xuXHRcdH1cblx0fVxuXHQubmF2IHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcm9zc287XG5cdFx0cGFkZGluZzogMDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dG9wOiByZW0tY2FsYygxNXB4KTtcblx0XHQubWVudSB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdGxpIHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRcdFx0cGFkZGluZzogMC44cmVtIDAuNnJlbTtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5tYWluLW1lbnUge1xuXHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDEyMHB4IC0gMjBweCk7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuXHRcdFx0Ji5zbGlkZWQge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Lm1haW4tbWVudS1jb250IHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHBhZGRpbmctbGVmdDogMC41cmVtO1xuXHRcdFx0b3ZlcmZsb3cteTogaGlkZGVuO1xuXHRcdFx0Ji5vdmVyZmxvdyB7XG5cdFx0XHRcdG92ZXJmbG93LXk6IGluaXRpYWw7XG5cdFx0XHR9XG5cdFx0XHQucmljZXJjYSB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0cmlnaHQ6IDFyZW07XG5cdFx0XHRcdHRvcDogMC4ycmVtO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuZm9ybV9yaWNlcmNhIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdGZvcm0uc2VhcmNoLWZvcm0ge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdFx0XHRidXR0b24ge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMXJlbTtcblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdHdpZHRoOiByZW0tY2FsYygyMnApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRsYWJlbCB7XG5cdFx0XHRcdGlucHV0LnNlYXJjaC1maWVsZCB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBpbml0aWFsO1xuXHRcdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkd2hpdGU7XG5cdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHRmb250LWZhbWlseTogJ1N3aXR6ZXInLCBzYW5zLXNlcmlmO1xuXHRcdFx0XHRcdGhlaWdodDogaW5pdGlhbDtcblx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcblx0XHRcdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJHdoaXRlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmOjpwbGFjZWhvbGRlciB7IC8qIENocm9tZSwgRmlyZWZveCwgT3BlcmEsIFNhZmFyaSAxMC4xKyAqL1xuXHRcdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7IC8qIEZpcmVmb3ggKi9cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0YS5yaWNlcmNhIHtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdH1cbn1cblxuaGVhZGVyLndoaXRlIGEuYnV0dG9uLmhvbGxvdyB7XG5cdGNvbG9yOiAkcm9zc287XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMXJlbSAycmVtO1xuICAgIGZvbnQtZmFtaWx5OiAnU3dpdHplcic7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDNweDtcblx0Zm9udC1zaXplOiByZW0tY2FsYygxNXB4KTtcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDVweDtcbiAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAxcHg7XG4gICAgbWFyZ2luLXRvcDogMDtcblx0Ym9yZGVyLXdpZHRoOiAxcHg7XG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NzBweCl7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNHB4KTtcblx0fVxuXHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcm9zc287XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRib3JkZXItY29sb3I6ICRyb3Nzbztcblx0fVxufVxuXG4ucmljZXJjYSB7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdGltZyB7XG5cdFx0aGVpZ2h0OiByZW0tY2FsYygyMnB4KTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dG9wOiAtMXB4O1xuXHR9XG59XG5cbi8vIGhlYWRlciAubmF2IC5tZW51IGxpLm1lbnUtaXRlbS5mZWF0dXJlZCB7XG4vLyBcdGEge1xuLy8gXHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcbi8vIFx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG4vLyBcdFx0cGFkZGluZzogcmVtLWNhbGMoNnB4IDIwcHgpO1xuLy8gXHRcdGNvbG9yOiAkYmxhY2s7XG4vLyBcdFx0Jjpob3ZlciB7XG4vLyBcdFx0XHRjb2xvcjogJGJsYWNrO1xuLy8gXHRcdH1cbi8vIFx0XHRzcGFuOmFmdGVyIHtcbi8vIFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbi8vIFx0XHR9XG4vLyBcdH1cbi8vIH1cblxuLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG5cdHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG5cdC5zb2NpYWxfYmxvY2sge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRtYXJnaW4tdG9wOiAzcmVtO1xuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzOXB4KXsgXG5cdFx0XHRtYXJnaW4tdG9wOiAxLjVyZW07XG5cdFx0fVxuXHR9XG5cdHVsLnNvY2lhbCB7XG5cdFx0bWFyZ2luLXRvcDogM3JlbTtcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzlweCl7IFxuXHRcdFx0bWFyZ2luLXRvcDogMS41cmVtO1xuXHRcdH1cblx0fVxuXHQuZGZsZXgge1xuXHRcdGZsZXgtd3JhcDogbm93cmFwO1xuXHR9XG5cdC5ibG9ja19vZmYge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24tY29udGVudDogY2VudGVyO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdC5jbG9zZV9vZmYge1xuXHRcdFx0aGVpZ2h0OiByZW0tY2FsYygyMHB4KTtcblx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDE1cHgpO1xuXHRcdFx0XHRkaXYge1xuXHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuXHRcdFx0XHR3aWR0aDogMjVweDtcblx0XHRcdFx0aGVpZ2h0OiAxcHg7XG5cdFx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblx0XHRcdFx0XHR0b3A6IDFweDtcblx0XHRcdFx0fVxuXHRcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LmxvZ28gaW1nIHtcblx0XHR3aWR0aDogMjAwcHg7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXHR1bCB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0LmFjY29yZGlvbi1tZW51IGxpIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMTBweCk7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cdFx0fVxuXHR9XG5cdHVsLnZlcnRpY2FsLm1lbnUuYWNjb3JkaW9uLW1lbnUge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQmOmFmdGVyIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogcmVtLWNhbGMoLTIwcHgpO1xuXHRcdFx0bGVmdDogcmVtLWNhbGMoLTEwcHgpO1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHR3aWR0aDogcmVtLWNhbGMoNjBweCk7XG5cdFx0XHRoZWlnaHQ6IDJweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRyb3Nzbztcblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCl7IFxuXHRcdFx0XHQubWVudS1pdGVtIHNwYW46YWZ0ZXIge1xuXHRcdFx0XHRcdGJvdHRvbTogLTVweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuc2VhcmNoLWZvcm0ge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXgtd2lkdGg6IDUwMHB4O1xuXHRcdG1hcmdpbjogMnJlbSBhdXRvO1xuXHRcdG1hcmdpbi1ib3R0b206IDNyZW07XG5cdFx0aW5wdXQuc2VhcmNoLWZpZWxkIHtcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRUFFQUVBO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogcmVtLWNhbGMoMjBweCk7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDI1cHgpO1xuXHRcdFx0Jjo6cGxhY2Vob2xkZXIge1xuXHRcdFx0XHRjb2xvcjogIzZmNmY2Zjtcblx0XHRcdH1cblx0XHR9XG5cdFx0YnV0dG9uIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogOXB4O1xuXHRcdFx0cmlnaHQ6IDEwcHg7XG5cdFx0XHRpbWcge1xuXHRcdFx0XHR3aWR0aDogMjBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cdFxuXG59XG5cbi5vZmYtY2FudmFzLXdyYXBwZXIge1xuXHRvdmVyZmxvdzogY2xpcDtcbn1cblxuLmFjY29yZGlvbi1tZW51IGEge1xuICAgIHBhZGRpbmc6IDAuM3JlbSAxcmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjYzOXB4KXtcblx0XHRwYWRkaW5nOiAwLjFyZW0gMXJlbTs7XG5cdH1cbn1cblxuLmhpZGUtZm9yLWxhcmdlLmJsb2NrX29mZiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCl7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHR9XG5cdHVsLm1lbnUge1xuXHRcdG1hcmdpbjogMDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRhIHtcblx0XHRcdHBhZGRpbmc6IDFyZW07XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdC5vcGVuX29mZiBkaXYge1xuXHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuXHRcdFx0XHR3aWR0aDogMjVweDtcblx0XHRcdFx0aGVpZ2h0OiAxcHg7XG5cdFx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdHRvcDogOHB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0Ym90dG9tOiA4cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLnBvc2l0aW9uLWxlZnQge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tbGVmdC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi5zbGlkaW5nLW1lbnUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuXHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRtYXJnaW4tdG9wOiAwLjVyZW07XG5cdC5tZW51IHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdGZsZXgtd3JhcDogbm93cmFwO1xuXHRcdGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRvdmVyZmxvdy14OiBhdXRvO1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAxcmVtIDA7XG5cdFx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXHRcdG92ZXJmbG93LXg6IGF1dG87XG5cdFx0b3ZlcmZsb3cteTogaGlkZGVuO1xuXHRcdHBhZGRpbmc6IDAuNXJlbSAwO1xuXHRcdC8vIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG5cdFx0bGkubWVudS1pdGVtIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdG1hcmdpbi1yaWdodDogMjVweDtcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHQmLmN1cnJlbnQtbWVudS1pdGVtIGEge1xuXHRcdFx0XHRjb2xvcjogI2QyMjUzM1xuXHRcdFx0fVxuXHRcdFx0YSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTdweDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0cGFkZGluZzogMC44cmVtIDAuNXJlbTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0XHRcdFx0c3BhbjphZnRlciB7XG5cdFx0XHRcdFx0Ym90dG9tOiAtNXB4O1x0XG5cdFx0XHRcdFx0Y29udGVudDogbm9uZTtcdFxuXHRcdFx0XHR9XG5cdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdGNvbG9yOiAjZDIyNTMzXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC50cmVuZGluZy10b2dnbGUge1xuXHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4ubWVudS1pdGVtIHtcblx0YSB7XG5cdFx0c3BhbiB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0d2lkdGg6IDA7XG5cdFx0XHRcdGhlaWdodDogMnB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcm9zc287XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdGJvdHRvbTogMnB4O1xuXHRcdFx0XHR0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2U7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0Ym90dG9tOiByZW0tY2FsYygtN3B4KTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRzcGFuOmFmdGVyIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIC5zbGlkaW5nLW1lbnU6YmVmb3JlIHtcbi8vIFx0Y29udGVudDogJyc7XG4vLyBcdGhlaWdodDogMTAwJTtcbi8vIFx0d2lkdGg6IHJlbS1jYWxjKDI1cHgpO1xuLy8gXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgI0ZGRkZGRiAzMCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuLy8gXHRwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyBcdHRvcDogMDtcbi8vIFx0cmlnaHQ6IDA7XG4vLyBcdHotaW5kZXg6IDk7XG4vLyB9XG5cbi5yb3cgLm5hdiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4udHJlbmRpbmctbWVudS10b2dnbGUtY29udCB7XG5cdHotaW5kZXg6IDE7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm1lbnUtaW4tdGVuZGVuemEtZGVzayB7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG5cdHRvcDogMDtcblx0bGVmdDogMTIwcHg7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdCYuYWN0aXZlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cblx0LnRyZW5kaW5nLXRvZ2dsZSB7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHR9XG59XG5cbi5tYWluLWhlYWRlciB7XG5cdHotaW5kZXg6IDE7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogcXVlc3RvIGRldmUgZXNzZXJlIHVndWFsZSBhbGxlIHZvY2kgZGkgbWVudSBub3JtYWxpLCBzZSBjYW1iaSBxdWVsbGUgKHRpcG8gaW4gcmVzcCBvIGNoZSBuZSBzbykgZGV2aSBjYW1iaWFyZSBwdXJlIHF1ZXN0ZSAoVEVTVEFSRSkgKi9cblxuLnAtcGx1c19fdG9nZ2xlLWJ0biB7XG5cdHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDIwcHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Y29sb3I6IHdoaXRlO1xuXHRsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuXG4ucC1wbHVzX190b2dnbGUtYnRuOmhvdmVyLFxuLnAtcGx1c19fdG9nZ2xlLWJ0bjphY3RpdmUsXG4ucC1wbHVzX190b2dnbGUtYnRuW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0ge1xuXHRiYWNrZ3JvdW5kOiAjQUQwQjE4O1xufVxuXG4ucC1wbHVzX19vdmVyZmxvdyB7XG5cdGJhY2tncm91bmQ6ICNBRDBCMTg7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMXJlbTtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bGkgYSB7XG5cdFx0cGFkZGluZzogMC41cmVtO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdGNvbG9yOiB3aGl0ZTtcblx0fVxufVxuXG4ucC1wbHVzX190b2dnbGUtYnRuIHNwYW4ge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTclKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLnAtcGx1cy1jb250YWluZXIge1xuXHRtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDEzMHB4KTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG5cdHdpZHRoOiAxMDAlO1xuXHRmbG9hdDogbGVmdDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0ZmxleC13cmFwOiBub3dyYXA7XG5cdGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ucC1wbHVzLWNvbnRhaW5lci5zbGlkZWQge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG59XG5cblxuLy8gTU9EQUxFXG5cbi5mb3JtX3JpY2VyY2FfbW9kYWxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogOTk7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdC5zZWFyY2gtZm9ybSB7XG5cdFx0bWFyZ2luLXRvcDogM3JlbTtcblx0fVxuXHQuY29udGFpbmVyX3JpY2VyY2Ege1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0YWxpZ24tY29udGVudDogY2VudGVyO1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRtYXgtd2lkdGg6IHJlbS1jYWxjKDk5MXB4KTtcblx0fVxuXHRpbnB1dC5zZWFyY2gtZmllbGQge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkd2hpdGU7XG5cdFx0Zm9udC1zaXplOiAxLjJyZW07XG5cdFx0bWFyZ2luLXRvcDogMjBweDtcblx0XHRmb250LWZhbWlseTogJ1NlbnRpZW50Jywgc2VyaWY7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRwYWRkaW5nOiAxLjVyZW0gMC41cmVtO1xuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJHJvc3NvO1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHR9XG5cdH1cblx0LmgxLCAuaDQge1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdH1cblx0Lmg0IHtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIxcHgpO1xuXHRcdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdH1cblx0LmNsb3NlLW1vZCBpbWcge1xuXHRcdHdpZHRoOiAzOHB4O1xuXHRcdGZsb2F0OiByaWdodDtcblx0fVxuXHRzZWxlY3Qge1xuXHRcdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdGZvbnQtZmFtaWx5OiAnU3dpdHplcicsIHNhbnMtc2VyaWY7XG5cdH1cblx0YnV0dG9uIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdGZvbnQtZmFtaWx5OiAnZGluLTIwMTQnO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMXB4KTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcm9zc287XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1jb250ZW50OiBjZW50ZXI7XG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdHBhZGRpbmc6IDFyZW0gM3JlbTtcblx0XHRib3JkZXItcmFkaXVzOiAxMHB4ICFpbXBvcnRhbnQ7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdG1hcmdpbi10b3A6IDJyZW07XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGltZyB7XG5cdFx0XHR3aWR0aDogMjJweDtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxNXB4O1xuXHRcdH1cblx0fVxufSIsIi5zd2lwZXJBcnRpY2xlIHtcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdHBhZGRpbmc6IDJyZW0gMDtcblx0fVxuXHQuc3dpcGVyLXNsaWRlIHtcblx0XHQuZGZsZXgge1xuXHRcdFx0ZmxleC13cmFwOiBpbml0aWFsO1xuXHRcdH1cblx0XHQubmV3c3tcblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCl7XG5cdFx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdH1cblx0XHRcdC50eHQge1xuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpe1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAycmVtO1xuXHRcdFx0XHRoMyB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg0MnB4KTtcblx0XHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpe1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygzNnB4KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KXtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzJweCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjhweCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdGg0IHtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIzKTtcblx0XHRcdFx0XHRmb250LXdlaWdodDogMzAwO1xuXHRcdFx0XHR9XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxLjJyZW07XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdGxlZnQ6IC04MHB4O1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0XHR3aWR0aDogMTIwcHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxLjVweDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcm9zc287XG5cdFx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KXtcblx0XHRcdFx0XHRcdHdpZHRoOiByZW0tY2FsYyg3MHB4KTtcblx0XHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdGEuc2NoZWRhIHtcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDEyMHB4O1xuXHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICdkaW4tMjAxNCc7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMTBweDtcblx0XHRcdFx0XHRcdGhlaWdodDogMS41cHg7XG5cdFx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRyb3Nzbztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0aHIge1xuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkcm9zc287XG5cdFx0XHRcdFx0d2lkdGg6IDEyMHB4O1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDAuNXJlbTtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuaW1nIHtcblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ3MHB4KXtcblx0XHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDYwMHB4KTsgXG5cdFx0XHRcdH1cblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KXtcblx0XHRcdFx0XHRoZWlnaHQ6IDI1cmVtOyBcblx0XHRcdFx0fVxuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxNnJlbTsgXG5cdFx0XHRcdH1cblx0XHRcdFx0LnBsYXlfYnV0dG9uIHtcblx0XHRcdFx0XHRib3R0b206IDI1cHg7XG5cdFx0XHRcdFx0bGVmdDogMjVweDtcblx0XHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0XHRcdFx0XHRib3R0b206IDE1cHg7IFxuXHRcdFx0XHRcdFx0bGVmdDogMjVweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRcdHdpZHRoOiA4NXB4ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiA1MHB4ICFpbXBvcnRhbnQ7IFxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuc3dpcGVyLWJ1dHRvbi1uZXh0LCBcblx0LnN3aXBlci1idXR0b24tcHJldiB7XG5cdFx0dG9wOiBpbml0aWFsO1xuXHRcdGJvdHRvbTogMDtcblx0XHRyaWdodDogMnJlbTtcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpe1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0fVxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdGJvdHRvbTogMXJlbTtcblx0XHR9XG5cdFx0JjphZnRlciB7XG5cdFx0XHRjb250ZW50OiB1cmwoJy4uL2ltYWdlcy9hcnJvdy1keC5zdmcnKTtcblx0XHRcdHdpZHRoOiAyNnB4O1xuXHRcdH1cblx0fVxuXHQuc3dpcGVyLWJ1dHRvbi1wcmV2LCBcblx0LnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tbmV4dCB7XG5cdFx0bGVmdDogaW5pdGlhbDtcblx0XHRyaWdodDogNHJlbTtcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpe1xuXHRcdFx0cmlnaHQ6IHJlbS1jYWxjKDQwcHgpO1xuXHRcdH1cblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IHVybCgnLi4vaW1hZ2VzL2Fycm93LXN4LnN2ZycpO1xuXHRcdFx0d2lkdGg6IDI2cHg7XG5cdFx0fVxuXHR9XG59XG5cbi5zd2lwZXJBcnRpY2xlU21hbGwge1xuXHRwYWRkaW5nLWJvdHRvbTogMXJlbTtcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KXtcblx0XHRwYWRkaW5nLWJvdHRvbTogMnJlbTtcblx0fVxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdH1cblx0LnN3aXBlci1idXR0b24tbmV4dCwgXG5cdC5zd2lwZXItYnV0dG9uLXByZXYge1xuXHRcdHRvcDogaW5pdGlhbDtcblx0XHRib3R0b206IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0JjphZnRlciB7XG5cdFx0XHRjb250ZW50OiB1cmwoJy4uL2ltYWdlcy9hcnJvdy1keC5zdmcnKTtcblx0XHRcdHdpZHRoOiAyNnB4O1xuXHRcdH1cblx0fVxuXHQuc3dpcGVyLWJ1dHRvbi1wcmV2LCBcblx0LnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tbmV4dCB7XG5cdFx0bGVmdDogaW5pdGlhbDtcblx0XHRyaWdodDogNDBweDtcblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IHVybCgnLi4vaW1hZ2VzL2Fycm93LXN4LnN2ZycpO1xuXHRcdFx0d2lkdGg6IDI2cHg7XG5cdFx0fVxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdHJpZ2h0OiAyNXB4O1xuXHRcdH1cblx0fVxufVxuXG4uc3dpcGVyQXJ0aWNsZVJ1YiB7XG5cdHBhZGRpbmc6IDEuNXJlbSAwO1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkd2hpdGU7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR3aGl0ZTtcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdHBhZGRpbmc6IDFyZW0gMDtcblx0fVxuXHQuc3dpcGVyLXNsaWRlIHtcblx0XHQuZGZsZXgge1xuXHRcdFx0ZmxleC13cmFwOiBpbml0aWFsO1xuXHRcdH1cblx0XHQubmV3cyB7XG5cdFx0XHRhOmhvdmVyIHtcblx0XHRcdFx0LnNtYWxsLTUubGFyZ2UtMyBpbWcge1xuXHRcdFx0XHRcdHRyYW5zZm9ybTpzY2FsZSgxLjEpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHAge1xuXHRcdFx0XHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC50eHQge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0XHRoMyB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMXB4KTtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cdFx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOHB4KTtcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDAuMnJlbTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE1cHgpO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjE7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdD4gYSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdFx0XHRcdGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0XHR9XG5cdFx0XHQuc21hbGwtNS5sYXJnZS0zIHtcblx0XHRcdFx0b3ZlcmZsb3c6aGlkZGVuO1xuXHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLnN3aXBlckNvcnJlbGF0byB7XG5cdHBhZGRpbmctYm90dG9tOiAycmVtO1xuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpe1xuXHRcdG1heC13aWR0aDogMzAwcHg7XG5cdH1cblx0Ji5zdGlja3ktYm94IHtcblx0XHRwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XG5cdFx0cG9zaXRpb246IHN0aWNreTtcblx0XHR0b3A6IDA7XG5cdFx0YWxpZ24tc2VsZjogZmxleC1zdGFydDtcblx0XHRtYXJnaW4tdG9wOiA0cmVtO1xuXHRcdHBhZGRpbmctdG9wOiAxcmVtO1xuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0XHQubmV3cy5zbWFsbC1uZXdzIHtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHQuaW1nIHtcblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KXtcblx0XHRcdFx0fVxuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0LnR4dCB7XG5cdFx0XHRcdGgzIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cdFx0XHRcdH1cblx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNXB4KTtcblx0XHRcdFx0fVxuXHRcdFx0XHRoNiwgLmg2IHtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE1cHgpO1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcblx0XHRcdFx0fVxuXHRcdFx0XHRociB7XG5cdFx0XHRcdFx0dG9wOiAtN3B4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdC5leGNlcnB0LW5ld3Mge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuXHRcdGJhY2tncm91bmQ6ICRibGFjaztcblx0fVxuXHQuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcblx0XHR3aWR0aDogMTJweDtcblx0XHRoZWlnaHQ6IDEycHg7XG5cdH1cbn1cblxuLndoaXRlIHtcblx0LnN3aXBlckFydGljbGVSdWIge1xuXHRcdGJvcmRlci10b3A6IDJweCBzb2xpZCAkYmxhY2s7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRibGFjaztcblx0fVxufVxuXG4uc3ctYXJyb3cge1xuXHQuc3dpcGVyLWJ1dHRvbi1uZXh0LCBcblx0LnN3aXBlci1idXR0b24tcHJldiB7XG5cdFx0dG9wOiBpbml0aWFsO1xuXHRcdHRvcDogMTVweDtcblx0XHRib3R0b206IGluaXRpYWw7XG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KXtcblx0XHRcdHRvcDogMTBweDtcblx0XHR9XG5cdFx0JjphZnRlciB7XG5cdFx0XHRjb250ZW50OiB1cmwoJy4uL2ltYWdlcy9hcnJvdy1keC5zdmcnKTtcblx0XHRcdHdpZHRoOiAyNnB4O1xuXHRcdH1cblx0fVxuXHQuc3dpcGVyLWJ1dHRvbi1wcmV2LCBcblx0LnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tbmV4dCB7XG5cdFx0bGVmdDogaW5pdGlhbDtcblx0XHRyaWdodDogNjBweDtcblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IHVybCgnLi4vaW1hZ2VzL2Fycm93LXN4LnN2ZycpO1xuXHRcdFx0d2lkdGg6IDI2cHg7XG5cdFx0fVxuXHR9XG59XG5cbi5hcnRpY2xlc21hbGwuc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLmFydGljbGVzbWFsbC5zd2lwZXItYnV0dG9uLW5leHQge1xuICAgIGJvdHRvbTogLTI1cHg7XG4gICAgdG9wOiBpbml0aWFsO1xuICAgIHJpZ2h0OiAwO1xuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0Ym90dG9tOiBpbml0aWFsOyAgICBcblx0XHR0b3A6IC0yLjNyZW07XG5cdFx0JjphZnRlciB7XG5cdFx0XHR3aWR0aDogMjVweDtcblx0XHR9XG5cdH1cblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KSBhbmQgKG1pbi13aWR0aDogNjgwcHgpe1xuXHRcdHJpZ2h0OiBjYWxjKDUwJSAtIDIuNXJlbSk7XG5cdH1cblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KXtcblx0XHRib3R0b206IC0xNXB4O1xuXHR9XG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRyaWdodDogcmVtLWNhbGMoMTVweCk7XG5cdH1cblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogdXJsKC4uL2ltYWdlcy9hcnJvdy1keC1iLnN2Zyk7XG5cdFx0d2lkdGg6IDMwcHg7XG5cdH1cbn1cblxuLmFydGljbGVzbWFsbC5zd2lwZXItYnV0dG9uLXByZXYge1xuXHRsZWZ0OiBpbml0aWFsO1xuICAgIHJpZ2h0OiAzcmVtO1xuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIGFuZCAobWluLXdpZHRoOiA2ODBweCl7XG5cdFx0cmlnaHQ6IGNhbGMoNTAlIC0gLTEuNXJlbSk7XG5cdH1cblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdHJpZ2h0OiAzLjVyZW07XG5cdH1cbn1cblxuLmNhcm9zZWxsby1jYXQge1xuXHRwYWRkaW5nLXRvcDogMXJlbTtcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdG1hcmdpbi10b3A6IDNyZW07XG5cdH1cblx0LnN3LWFycm93IHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogLTNyZW07XG5cdFx0cmlnaHQ6IDA7XG5cdH1cblx0PiAucm93LmRmbGV4IHtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0fVxufVxuXG4uaG9tZSAuc3dpcGVyQXJ0aWNsZVJ1YiB7XG5cdGJvcmRlci10b3A6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0cGFkZGluZy10b3A6IDE1cHg7XG5cdH1cblx0LnR4dCB7XG5cdFx0bWFyZ2luLXRvcDogMXJlbTtcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdH1cblx0XHRoMyB7XG5cdFx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cdFx0fVxuXHR9XG5cdC5pbWcge1xuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdHdpZHRoOiAzMCU7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdG1hcmdpbi1yaWdodDogMTVweDtcblx0XHR9XG5cdH1cbn1cblxuLnNpbmdsZSB7XG5cdC5nYWxsZXJpYV9ncmlnbGlhIHtcblx0XHRwYWRkaW5nOiAwLjhyZW07XG5cdFx0LnNpbmdsZS1pbWcge1xuXHRcdFx0cGFkZGluZzogMC4ycmVtO1xuXHRcdFx0YTpob3ZlciB7XG5cdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0b3BhY2l0eTogMC44O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5nYWxsZXJpYSB7XG5cdFx0Lm15U3dpcGVyMiB7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDVweDtcblx0XHRcdH1cblx0XHRcdGltZyB7XG5cdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0fVxuXHRcdFx0LnN3aXBlci1idXR0b24tbmV4dCwgXG5cdFx0XHQuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHR0b3A6IDIycHg7XG5cdFx0XHRcdHdpZHRoOiA0MHB4O1xuXHRcdFx0XHRwYWRkaW5nOiAxMHB4IDA7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRvcGFjaXR5OiAwLjI7XG5cdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRjb250ZW50OiB1cmwoJy4uL2ltYWdlcy9hcnJvdy1keC1zaW5nbGUuc3ZnJyk7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiBpbml0aWFsO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDhweDtcblx0XHRcdFx0XHRmb250LWZhbWlseTogaW5pdGlhbDtcblx0XHRcdFx0XHRib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblx0XHRcdFx0fVxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuc3dpcGVyLWJ1dHRvbi1wcmV2LCBcblx0XHRcdC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQge1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRyaWdodDogaW5pdGlhbDtcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0Y29udGVudDogdXJsKCcuLi9pbWFnZXMvYXJyb3ctc3gtc2luZ2xlLnN2ZycpO1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogaW5pdGlhbDtcblx0XHRcdFx0XHRwYWRkaW5nOiA4cHg7XG5cdFx0XHRcdFx0Zm9udC1mYW1pbHk6IGluaXRpYWw7XG5cdFx0XHRcdFx0Ym94LXNpemluZzogY29udGVudC1ib3g7XG5cdFx0XHRcdH1cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQubXlTd2lwZXIge1xuXHRcdFx0cGFkZGluZy1yaWdodDogNHJlbTtcblx0XHRcdC5zd2lwZXItc2xpZGUge1xuXHRcdFx0XHQvLyBoZWlnaHQ6IDEyMHB4O1xuXHRcdFx0XHQvLyBvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdG9wYWNpdHk6IDAuNTtcblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0XHQvLyBpbWcge1xuXHRcdFx0XHQvLyBcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHQvLyBcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0Ly8gXHRtYXgtd2lkdGg6IGluaXRpYWwgIWltcG9ydGFudDtcblx0XHRcdFx0Ly8gXHRtaW4td2lkdGg6IDEwMCU7XG5cdFx0XHRcdC8vIFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHQvLyBcdHRvcDogNTAlO1xuXHRcdFx0XHQvLyBcdGxlZnQ6IDUwJTtcblx0XHRcdFx0Ly8gXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0XHRcdFx0Ly8gXHR3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuXHRcdFx0XHQvLyBcdG1pbi1oZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdC8vIH1cblx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0Ji10aHVtYi1hY3RpdmUge1xuXHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXHRcdFx0LnN3aXBlci1idXR0b24tbmV4dCwgXG5cdFx0XHQuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHR0b3A6IDIycHg7XG5cdFx0XHRcdHdpZHRoOiAzMHB4O1xuXHRcdFx0XHRwYWRkaW5nOiAxMHB4IDA7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRvcGFjaXR5OiAwLjI7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG5cdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRjb250ZW50OiB1cmwoJy4uL2ltYWdlcy9hcnJvdy1keC1zaW5nbGUuc3ZnJyk7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiBpbml0aWFsO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDhweDtcblx0XHRcdFx0XHRmb250LWZhbWlseTogaW5pdGlhbDtcblx0XHRcdFx0XHRib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblx0XHRcdFx0fVxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuc3dpcGVyLWJ1dHRvbi1wcmV2LCBcblx0XHRcdC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQge1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRyaWdodDogaW5pdGlhbDtcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0Y29udGVudDogdXJsKCcuLi9pbWFnZXMvYXJyb3ctc3gtc2luZ2xlLnN2ZycpO1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogaW5pdGlhbDtcblx0XHRcdFx0XHRwYWRkaW5nOiA4cHg7XG5cdFx0XHRcdFx0Zm9udC1mYW1pbHk6IGluaXRpYWw7XG5cdFx0XHRcdFx0Ym94LXNpemluZzogY29udGVudC1ib3g7XG5cdFx0XHRcdH1cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0fVxufVxuXG4uaW50cm8gLmdhbGxlcmlhIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xufVxuXG4vLyAuY2F0ZWdvcnkgLnN3aXBlci5zd2lwZXJBcnRpY2xlUnViIHtcbi8vICAgICB3aWR0aDogMTE1JTtcbi8vIFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuLy8gXHRcdHdpZHRoOiAxMzUlO1xuLy8gXHR9XG4vLyBcdC5zd2lwZXItd3JhcHBlciB7XG4vLyBcdFx0bWF4LXdpZHRoOiAxMzgwcHg7XG4vLyBcdH1cbi8vIH0iLCIuYmxvY2stbmV3cyB7XG5cdHBhZGRpbmc6IDJyZW0gMDtcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KXtcblx0XHRwYWRkaW5nOiAxcmVtIDA7O1xuXHR9XG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRwYWRkaW5nOiAwLjVyZW0gMDtcblx0fVxuXHRwIHtcblx0XHRsaW5lLWhlaWdodDogMS41O1xuXHR9XG5cdGgyLCAuaDIge1xuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NzBweCl7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDMwcHgpO1xuXHRcdH1cblx0fVxuXHQudGl0bGUtc2VjdGlvbiB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Ym90dG9tOiA2MHB4O1xuXHRcdFx0d2lkdGg6IDI1MHB4O1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRoZWlnaHQ6IDJweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRyb3Nzbztcblx0XHRcdGxlZnQ6IC0xNjBweDtcblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCl7XG5cdFx0XHRcdGJvdHRvbTogNTNweDtcblx0XHRcdFx0d2lkdGg6IHJlbS1jYWxjKDgwcHgpO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuaW1nIHtcblx0XHRiYWNrZ3JvdW5kOiAkYmxhY2s7XG5cdH1cblx0Lm5ld3Mge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQuaW1nIHtcblx0XHRcdC8vIG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCl7XG5cdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoNDgwcHgpO1xuXHRcdFx0fVxuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdFx0XHRoZWlnaHQ6IDEycmVtO1xuXHRcdFx0fVxuXHRcdFx0Jjpob3ZlciB+IC50eHQgYSB7XG5cdFx0XHRcdGNvbG9yOiAkcm9zc287XHRcblx0XHRcdH1cblx0XHRcdC8vIGltZyB7XG5cdFx0XHQvLyBcdG1heC13aWR0aDogaW5pdGlhbCAhaW1wb3J0YW50O1xuXHRcdFx0Ly8gXHRtaW4td2lkdGg6IDEwMCU7XG5cdFx0XHQvLyBcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdC8vIFx0dG9wOiA1MCU7XG5cdFx0XHQvLyBcdGxlZnQ6IDUwJTtcblx0XHRcdC8vIFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdFx0XHQvLyBcdG1pbi1oZWlnaHQ6IDEwMCU7XG5cdFx0XHQvLyBcdHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0XHQvLyB9XG5cdFx0XHQucGxheV9idXR0b24ge1xuXHRcdFx0XHRib3R0b206IDE1cHg7XG5cdFx0XHRcdGxlZnQ6IDE1cHg7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHR3aWR0aDogODBweCAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCl7XG5cdFx0XHRcdFx0XHR3aWR0aDogNTBweCAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRtaW4taGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC50eHQge1xuXHRcdFx0LmV4Y2VycHQtbmV3cyB7XG5cdFx0XHRcdGIsIHN0cm9uZyB7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0bWFyZ2luLXRvcDogMXJlbTtcblx0XHRcdGhyIHtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRyb3Nzbztcblx0XHRcdFx0d2lkdGg6IDQwcHg7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdHRvcDogLTEwcHg7XG5cdFx0XHR9XG5cdFx0XHRoMyB7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjE7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdFx0XHR9XG5cdFx0XHRzcGFuLCBlbSB7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAnU2VudGllbnQnLCBzZXJpZiAhaW1wb3J0YW50O1xuXHRcdFx0XHRmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LmJhbm5lciB7XG5cdFx0aW1nIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0fVxuXHQueHgtbGFyZ2UtbmV3cyB7XG5cdFx0LmltZyB7XG5cdFx0XHRoZWlnaHQ6IDYwMHB4O1xuXHRcdH1cblx0XHQudHh0IHtcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHR0b3A6IC0xNXB4O1xuXHRcdFx0XHR3aWR0aDogMjUwcHg7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRoZWlnaHQ6IDEuNXB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZDIyNTMzO1xuXHRcdFx0XHRsZWZ0OiAtMTYwcHg7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHR9XG5cdFx0XHRoMyB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoNDhweCk7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NzBweCl7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg0M3B4KVxuXHRcdFx0XHR9XG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCl7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg0MHB4KTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyNHB4KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0aDQge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXHRcdFx0fVxuXHRcdFx0aDYge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQueC1sYXJnZS1uZXdzIHtcblx0XHQuaW1nIHtcblx0XHRcdGhlaWdodDogNTcwcHg7XG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpe1xuXHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDU2MHB4KTtcblx0XHRcdH1cblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCl7XG5cdFx0XHRcdGhlaWdodDogMjVyZW07XG5cdFx0XHR9XG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3Njh4KXtcblx0XHRcdFx0aGVpZ2h0OiAxNXJlbTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LnR4dCB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDEyMHB4O1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0bWFyZ2luLXRvcDogMnJlbTtcblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCl7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdH1cblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG5cdFx0XHR9XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDU0cHg7XG5cdFx0XHRcdHdpZHRoOiAyNTBweDtcblx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdGhlaWdodDogMS41cHg7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRyb3Nzbztcblx0XHRcdFx0bGVmdDogLTE2MHB4O1xuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpe1xuXHRcdFx0XHRcdGNvbnRlbnQ6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ly8gQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4eCl7XG5cdFx0XHRcdC8vIFx0dG9wOiAtMTBweDtcblx0XHRcdFx0Ly8gfVxuXHRcdFx0XHQvLyBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0XHRcdC8vIFx0dG9wOiAtMTNweDtcblx0XHRcdFx0Ly8gfVxuXHRcdFx0fVxuXHRcdFx0aDMge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDQ4cHgpO1xuXHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpe1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoNDNweClcblx0XHRcdFx0fVxuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpe1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoNDBweCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjRweCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdGg0IHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMnJlbTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ3MHB4KXtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIzcHgpXG5cdFx0XHRcdH1cblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMThweCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdGg2IHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LmxhcmdlLW5ld3Mge1xuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblx0XHR9XG5cdFx0LmltZyB7XG5cdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDUxMHB4KTtcblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NzBweCl7XG5cdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoNDYwcHgpO1xuXHRcdFx0fVxuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KXtcblx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYygyMHJlbSk7XG5cdFx0XHR9XG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0XHRcdGhlaWdodDogMTJyZW07XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC50eHQge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAxMjBweDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdG1hcmdpbi10b3A6IDUwcHg7XG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpe1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDUwcHgpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwcHgpO1xuXHRcdFx0fVxuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KXtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwcHgpO1xuXHRcdFx0fVxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAtMTBweDtcblx0XHRcdFx0d2lkdGg6IDE4MHB4O1xuXHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0aGVpZ2h0OiAxLjVweDtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHJvc3NvO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0fVxuXHRcdFx0LmV4Y2VycHQtbmV3cyB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0fVxuXHRcdFx0aDMge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDQ4cHgpO1xuXHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpe1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoNDNweClcblx0XHRcdFx0fVxuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpe1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzRweCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjRweCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdFx0JjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICAgICAgICAgIH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LnMtbGFyZ2UtbmV3cyB7XG5cdFx0LmltZyB7XG5cdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDM4MHB4KTtcblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCl7XG5cdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoMzAwcHgpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQudHh0IHtcblx0XHRcdGgzIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg0OHB4KTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ3MHB4KXtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDQzcHgpXG5cdFx0XHRcdH1cblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KXtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDQwcHgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDI0cHgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuZXhjZXJwdC1uZXdzIHtcblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5tZWRpdW1fbGFyZ2UtbmV3cyB7XG5cdFx0LmltZyB7XG5cdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDI0MHB4KTtcblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NzBweCl7XG5cdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoMjMwcHgpO1xuXHRcdFx0fVxuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KXtcblx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYygxNTBweCk7XG5cdFx0XHR9XG5cdFx0XHQucGxheV9idXR0b24ge1xuXHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdHdpZHRoOiA2NXB4ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0LnR4dCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cdFx0XHRoMyB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjVweCk7XG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NzBweCl7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyNHB4KTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpe1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjNweCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Lm1lZGl1bS1uZXdzIHtcblx0XHQuaW1nIHtcblx0XHRcdGhlaWdodDogcmVtLWNhbGMoMTgwcHgpO1xuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KXtcblx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYygxMjBweCk7XG5cdFx0XHR9XG5cdFx0XHQucGxheV9idXR0b24ge1xuXHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0LnR4dCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cdFx0XHRoMyB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjJweCk7XG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NzBweCl7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMXB4KTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpe1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjBweCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMThweCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0LmJsb2NrX2xhcmdlIHtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUJFQkVCO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDNyZW07XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAzcmVtO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAzcmVtO1xuXHRcdH1cblx0fVxuXHQueS1tZWRpdW0tbmV3cyB7XG5cdFx0LmltZyB7XG5cdFx0XHRoZWlnaHQ6IDUwMHB4O1xuXHRcdH1cblx0fVxuXHQuc21hbGwtbmV3cyB7XG5cdFx0cGFkZGluZzogMCAxMHB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KXtcblx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0fVxuXHRcdC5pbWcge1xuXHRcdFx0aGVpZ2h0OiByZW0tY2FsYygxMTBweCk7XG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpe1xuXHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDEzMHB4KTtcblx0XHRcdH1cblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdFx0aGVpZ2h0OiA4cmVtO1xuXHRcdFx0fVxuXHRcdFx0LnBsYXlfYnV0dG9uIHtcblx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHR3aWR0aDogMzBweCAhaW1wb3J0YW50O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC50eHQge1xuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAwLjVyZW07XG5cdFx0XHR9XG5cdFx0XHQuaDMsIGgzIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOHB4KTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMztcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpe1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTdweCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KXtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuaDYsIGg2IHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNXB4KTtcblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ3MHB4KXtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0cHgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCl7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxM3B4KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQueC1zbWFsbC1uZXdzIHtcblx0XHQuaW1nIHtcblx0XHRcdGhlaWdodDogcmVtLWNhbGMoOTBweCk7XG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpe1xuXHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDE1MHB4KTtcblx0XHRcdH1cblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCl7XG5cdFx0XHRcdGhlaWdodDogNnJlbTtcblx0XHRcdH1cblx0XHRcdC5wbGF5X2J1dHRvbiB7XG5cdFx0XHRcdGJvdHRvbTogMTBweDtcblx0XHRcdFx0bGVmdDogMTBweDtcblx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHR3aWR0aDogMjVweCAhaW1wb3J0YW50O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC50eHQge1xuXHRcdFx0bWFyZ2luLXRvcDogMC41cmVtO1xuXHRcdFx0aDMge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwLjdyZW07XG5cdFx0XHRcdG1hcmdpbi10b3A6IDByZW07XG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NzBweCl7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNnB4KTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIGFuZCAobWluLXdpZHRoOiA2ODBweCl7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMXB4KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0aDYsIC5oNiB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTNweCk7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDAuM3JlbTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Lm90aGVyLW5ld3Mge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0JiA+IGRpdjpsYXN0LWNoaWxkIHtcblx0XHRcdGJvcmRlcjogMDtcblx0XHR9XG5cdFx0Lm90aGVyLXNpbmdsZS1uZXdzIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMXJlbTtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JpZ2lvY2hpYXJvO1xuXHRcdFx0LmltZyB7XG5cdFx0XHRcdGhlaWdodDogMTMwcHg7XG5cdFx0XHRcdC5wbGF5X2J1dHRvbiB7XG5cdFx0XHRcdFx0Ym90dG9tOiAxMHB4O1xuXHRcdFx0XHRcdGxlZnQ6IDEwcHg7XG5cdFx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRcdHdpZHRoOiAyNXB4ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NzBweCl7XG5cdFx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYygxMjBweCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDE1cHg7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbCAhaW1wb3J0YW50O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQudHh0IHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdFx0aDMge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTdweCk7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMztcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NzBweCl7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2cHgpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpe1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxcmVtO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRoNiwgLmg2IHtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0cHgpO1xuXHRcdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDAuMXJlbTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Lm1lZGl1bS1uZXdzLFxuXHQubWVkaXVtX2xhcmdlLW5ld3Mge1xuXHRcdC50eHQge1xuXHRcdFx0aDMge1xuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpe1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5sYXJnZS1uZXdzLFxuXHQubWVkaXVtLW5ld3MsXG5cdC5tZWRpdW1fbGFyZ2UtbmV3cyB7XG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHRcdC5pbWcge1xuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdFx0XHRoZWlnaHQ6IDEycmVtO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuZXhjZXJwdC1uZXdzIHtcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpe1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblx0LnNpbmdsZS1uZXdzIHtcblx0XHQudHh0IHtcblx0XHRcdHN0cm9uZyB7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHR9XG5cdFx0XHRoMyB7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjVweCk7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdFx0XHR9XG5cdFx0XHRwLCBzcGFuLCBlbSwgZGl2LCBsaSB7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjg7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAnU2VudGllbnQnLCBzZXJpZiAhaW1wb3J0YW50O1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIwcHgpICFpbXBvcnRhbnQ7XG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXsgXG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOHB4KSAhaW1wb3J0YW50O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRwIHtcblx0XHRcdFx0Ji53cC1jYXB0aW9uLXRleHQge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTZweCkgIWltcG9ydGFudDtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRociB7XG5cdFx0XHRcdHdpZHRoOiA5MHB4O1xuXHRcdFx0XHRtYXJnaW46IDEuNXJlbSAwO1xuXHRcdFx0fVxuXHRcdFx0YmxvY2txdW90ZTpub3QoLnR3aXR0ZXItdHdlZXQpIHtcblx0XHRcdFx0d2lkdGg6IGNhbGMoNTAlIC0gMS4ycmVtKTtcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMS4ycmVtO1xuXHRcdFx0fVxuXHRcdFx0aDIsIGgyICosIGg0LCBoNCAqIHtcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICdTd2l0emVyJyAhaW1wb3J0YW50O1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcblx0XHRcdFx0Zm9udC1zaXplOiAyLjEyNXJlbSAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdFx0aDMsIGgzICoge1xuXHRcdFx0XHRmb250LWZhbWlseTogJ1N3aXR6ZXInICFpbXBvcnRhbnQ7XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuXHRcdFx0XHRmb250LXNpemU6IDEuNTYyNXJlbSAhaW1wb3J0YW50O1xuXHRcdFx0XHRmb250LXdlaWdodDo2MDA7XG5cdFx0XHR9IFxuXHRcdFx0aDIge1xuXHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDI5cHgpICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0XHRoMyB7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjVweCkgIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHRcdGEge1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgXG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbi1jb2xvcjogJHJvc3NvOyAgXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7IFxuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAycHg7XG5cdFx0XHR9XG5cdFx0XHRpbWcge1xuXHRcdFx0XHQmLmFsaWdubGVmdCB7XG5cdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxcmVtO1xuXHRcdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXsgXG5cdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0Ji5hbGlnbnJpZ2h0IHtcblx0XHRcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAxcmVtO1xuXHRcdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXsgXG5cdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMC41cmVtO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQmLnJlZF9jaCB7XG5cdFx0LmltZyB7XG5cdFx0XHQmOmhvdmVyIH4gLnR4dCBhIHtcblx0XHRcdFx0Y29sb3I6ICRyb3Nzbztcblx0XHRcdH1cblx0XHR9XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHJvc3NvX2NoO1xuXHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdFx0Ly8gdHJhbnNpdGlvbjogY29sb3IgMC4zcztcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjogJHJvc3NvO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuc3dpcGVyLWJ1dHRvbi1uZXh0LCBcblx0XHQuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiB1cmwoJy4uL2ltYWdlcy9hcnJvdy1keC1iLnN2ZycpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuc3dpcGVyLWJ1dHRvbi1wcmV2LCBcblx0XHQuc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiB1cmwoJy4uL2ltYWdlcy9hcnJvdy1zeC1iLnN2ZycpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQmLmJsYWNrIHtcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0XHRwYWRkaW5nOiAycmVtIDA7XG5cdFx0fVxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdGEge1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdC8vIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6ICRyb3Nzbztcblx0XHRcdH1cblx0XHRcdCYuYnV0dG9uIHtcblx0XHRcdFx0Y29sb3I6ICRibGFjaztcblx0XHRcdH1cblx0XHR9XG5cdFx0LmxpbmUtc2VjdGlvbjphZnRlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0fVxuXHRcdC5sb2dvLXNlY3Rpb24ge1xuXHRcdFx0aW1nIHtcblx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRoZWlnaHQ6IDEzMHB4O1xuXHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdH1cblx0XHR9XG5cblx0fVxuXHQmLndoaXRlIHtcblx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHR9XG5cdCYuYmxvY2stZ3JheSxcblx0Ji53aGl0ZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0XHRhIHtcblx0XHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0XHQvLyB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGNvbG9yOiAkcm9zc287XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5zd2lwZXItYnV0dG9uLW5leHQsIFxuXHRcdC5zd2lwZXItYnV0dG9uLXByZXYge1xuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6IHVybCgnLi4vaW1hZ2VzL2Fycm93LWR4LWIuc3ZnJyk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5zd2lwZXItYnV0dG9uLXByZXYsIFxuXHRcdC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQge1xuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6IHVybCgnLi4vaW1hZ2VzL2Fycm93LXN4LWIuc3ZnJyk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdCYuYmxvY2stZ3JheSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyaWdpb19icmVha2luZztcblx0XHQmLmJyZWFraW5nLW5ld3Mge1xuXHRcdFx0Lm1lZGl1bS1uZXdzIHtcblx0XHRcdFx0LnR4dCB7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxLjVyZW07XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEycHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDEycHg7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcm9zc287XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdFx0dG9wOiA4cHg7XG5cdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAxMDAlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRoMyB7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIycHgpO1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xuXHRcdFx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIxcHgpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRwIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbCgxNXB4KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC54LWxhcmdlLW5ld3MsXG5cdFx0XHQueHgtbGFyZ2UtbmV3cyB7XG5cdFx0XHRcdC50eHQge1xuXHRcdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCl7XG5cdFx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0Y29udGVudDogbm9uZTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aDMge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg0OHB4KTtcblx0XHRcdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NzBweCl7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoNDNweCk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpe1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDM2cHgpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIxcHgpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRoNCB7XG5cdFx0XHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMThweCk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC50aXRsZS1ibmV3cyB7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdGJvdHRvbTogMTVweDtcblx0XHRcdFx0XHRsZWZ0OiAyMHB4O1xuXHRcdFx0XHRcdG1heC13aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7XG5cdFx0XHRcdFx0aDIge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg0MHB4KTtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogY2xhbXBlZCgyMXB4LCA0N3B4LCA2ODBweCwgMTQ0MCk7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkJGRjJGO1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMXJlbTtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS4xO1xuXHRcdFx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpeyBcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMC41cmVtO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQuaDYge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyNXB4KTtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogY2xhbXBlZCgxOHB4LCAyOXB4LCA2ODBweCwgMTQ0MCk7XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMS41cmVtO1xuXHRcdFx0XHRcdFx0Y29sb3I6ICNGRkZGRkY7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcm9zc287XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHRsZWZ0OiAyNXB4O1xuXHRcdFx0XHRcdFx0Ym90dG9tOiAtMTVweDtcblx0XHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC0yZGVnKTtcblx0XHRcdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCl7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDFyZW07XG5cdFx0XHRcdFx0XHRcdGJvdHRvbTogLThweDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMC41cmVtO1xuXHRcdFx0XHRcdFx0XHRib3R0b206IC0ycHg7XG5cdFx0XHRcdFx0XHRcdGxlZnQ6IDE0cHg7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdH1cblx0Ji5ibHVlIHtcblx0XHRwYWRkaW5nOiAzLjVyZW0gMDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdC50aXRsZSB7XG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiAycmVtO1xuXHRcdFx0fVxuXHRcdFx0aDIubGluZSB7XG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAtMXJlbTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdH1cblx0XHQvLyB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuXHRcdGEge1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjogJHJvc3NvO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQubGluZS1zZWN0aW9uOmFmdGVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHR9XG5cdFx0LmltZyB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHQvLyBvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0Ly8gaGVpZ2h0OiA3MHZoICFpbXBvcnRhbnQ7XG5cdFx0XHQvLyBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpe1xuXHRcdFx0Ly8gXHRoZWlnaHQ6IHJlbS1jYWxjKDQ4MHB4KSAhaW1wb3J0YW50O1xuXHRcdFx0Ly8gfVxuXHRcdFx0Ly8gQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdFx0Ly8gXHRoZWlnaHQ6IDEycmVtICFpbXBvcnRhbnQ7XG5cdFx0XHQvLyB9XG5cdFx0XHQmID4gaW1nIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdC8vIG1heC13aWR0aDogaW5pdGlhbCAhaW1wb3J0YW50O1xuXHRcdFx0XHQvLyBtaW4td2lkdGg6IDEwMCU7XG5cdFx0XHRcdC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0Ly8gdG9wOiA1MCU7XG5cdFx0XHRcdC8vIGxlZnQ6IDUwJTtcblx0XHRcdFx0Ly8gdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdFx0XHRcdC8vIG1pbi1oZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdC8vIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC50eHQge1xuXHRcdFx0aDMge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDQycHgpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQmLnJlZCB7XG5cdFx0cGFkZGluZzogM3JlbSAwO1xuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdHBhZGRpbmc6IDEuNXJlbSAwO1xuXHRcdH1cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcm9zc287XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHQvLyB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuXHRcdC5pbWc6aG92ZXIgfiAudHh0IGEge1xuXHRcdFx0Y29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuXHRcdH1cblx0XHRcdC5ibG9jay1uZXdzIHtcblx0XHRcdHBhZGRpbmc6IDMuNXJlbTtcblx0XHR9XG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5zbWFsbC1uZXdzIHtcblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NzBweCl7XG4gICAgICAgICAgICBcdHBhZGRpbmc6IDAgMTBweDtcblx0XHRcdH1cblx0XHRcdC50eHQge1xuXHRcdFx0XHRoNiwgLmg2IHtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0cHgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGgzIHtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE3cHgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHAge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTVweCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0LnRpdGxlIHtcblx0XHRcdGgyLmxpbmUge1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5sYXJnZS1uZXdzIC50eHQ6YWZ0ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdH1cblx0XHQubGluZS1zZWN0aW9uOmFmdGVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHR9XG5cdFx0LnN3aXBlckFydGljbGUge1xuXHRcdFx0LnN3aXBlci1zbGlkZSB7XG5cdFx0XHRcdC50eHQge1xuXHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0JiA+IC5yb3cuZGZsZXguZmlyc3QtYmxvY2sge1xuXHRcdCYgPiBkaXY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KXtcblx0XHRcdFx0d2lkdGg6IDM1JTtcblx0XHRcdH1cblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdFx0d2lkdGg6IGluaXRpYWw7XG5cdFx0XHR9XG5cdFx0XHQuaW1nIHtcblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KXtcblx0XHRcdFx0XHRoZWlnaHQ6IDguMTI1cmVtO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdFx0XHRoZWlnaHQ6IDE0cmVtO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQudHh0IHtcblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDJyZW07XG5cdFx0XHRcdH1cblx0XHRcdFx0aDMge1xuXHRcdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCl7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4cHgpOyBcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxLjVyZW07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRcblx0XHR9XG5cdFx0JiA+IGRpdjpsYXN0LWNoaWxkIHtcblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCl7XG5cdFx0XHRcdHdpZHRoOiA2NSU7IFxuXHRcdFx0fVxuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdFx0XHR3aWR0aDogaW5pdGlhbDtcblx0XHRcdH1cblx0XHRcdC5zbWFsbC1uZXdzIHtcblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KXtcblx0XHRcdFx0XHR3aWR0aDogMzMuMzMlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdFx0XHR3aWR0aDogaW5pdGlhbDtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAxcmVtO1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMXJlbTtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMXJlbTtcblx0XHRcdFx0fVxuXHRcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0LmltZyB7XG5cdFx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxNHJlbTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0LnR4dCB7XG5cdFx0XHRcdFx0aDMge1xuXHRcdFx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDEuNXJlbTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XHRcblx0fVxuXG5cdCYuZGFya2dyYXkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRkYXJrZ3JheTtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdC5uZXdzbGV0dGVyQmxvY2tMYXJnZSB7XG5cdFx0XHRwYWRkaW5nOiAwIDM1cHg7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KXtcblx0XHRcdFx0cGFkZGluZzogMCAxNXB4O1xuXHRcdFx0fVxuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdFx0XHRwYWRkaW5nOiAycmVtIDA7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAxcmVtO1xuXHRcdFx0fVxuXHRcdFx0aDMsIC5oMyB7XG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KXtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMS41cmVtO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIxcHgpO1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0cCB7XG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0cHgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHR1bC5zb2NpYWwgbGkge1xuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCl7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxNXB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpe1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAyNHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQubmV3c2xldHRlckltYWdlIHtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRcdGhlaWdodDogNTB2aDtcblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRoZWlnaHQ6IDIwMHB4O1xuXHRcdFx0fVx0XHRcdFxuXHRcdH1cblxuXHR9XG5cdC5kb3VibGUgLmltZyAucGxheV9idXR0b24ge1xuXHRcdGJvdHRvbTogMjVweDtcblx0XHRsZWZ0OiAyNXB4O1xuXHRcdGltZyB7XG5cdFx0XHR3aWR0aDogNzBweCAhaW1wb3J0YW50O1x0XG5cdFx0fVxuXHR9XG5cdHVsLnNvY2lhbCBsaSB7XG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KXtcblx0XHRcdG1hcmdpbi1yaWdodDogMTVweDtcblx0XHR9XG5cdH1cblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdD4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgID4gLmxhcmdlLW5ld3Mge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcblx0XHRcdFx0cGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICA+IGRpdiB7XG5cdFx0XHRcdFx0Ji50eHQge1xuXHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMC42MjVyZW07XG5cdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuXHRcdFx0XHRcdFx0LmV4Y2VycHQtbmV3cyB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQvLyBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdC8vIFx0PiBkaXY6Zmlyc3QtY2hpbGQge1xuICAgIC8vICAgICAgICAgPiAubGFyZ2UtbmV3cyB7XG4gICAgLy8gICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAvLyAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICAvLyAgICAgICAgICAgICA+IGRpdiB7XG4gICAgLy8gICAgICAgICAgICAgICAgICYuaW1nIHtcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygzNXJlbSAtIDNyZW0pO1xuICAgIC8vICAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC8vICAgICAgICAgICAgICAgICAgICAgfVxuICAgIC8vICAgICAgICAgICAgICAgICB9XG4gICAgLy8gICAgICAgICAgICAgICAgICYudHh0IHtcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogcmVtLWNhbGMoMTBweCk7XG4gICAgLy8gICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgLy8gICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIC8vICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogOTk7XG4gICAgLy8gICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIC8vICAgICAgICAgICAgICAgICAgICAgfVxuICAgIC8vICAgICAgICAgICAgICAgICB9XG4gICAgLy8gICAgICAgICAgICAgfVxuICAgIC8vICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAvLyAgICAgICAgICAgICAgICAgY29udGVudDonJztcbiAgICAvLyAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDgwO1xuICAgIC8vICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAvLyAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAvLyAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgLy8gICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAvLyAgICAgICAgICAgICAgICAgei1pbmRleDogOTtcbiAgICAvLyAgICAgICAgICAgICB9XG4gICAgLy8gICAgICAgICB9XG4gICAgLy8gICAgIH1cblx0Ly8gfVx0XHRcblx0Ly8gJiArIC5yZWQsICsgLmJsdWUsICsgLmJsYWNrLCArIC5ibG9jay1ncmF5LCArIC5kYXJrLWdyYXkge1xuXHQvLyBcdG1hcmdpbi1ib3R0b206IDA7XG5cdC8vIH1cblx0LmludHJvIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogNjBweDtcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMzBweDtcblx0XHR9XG5cdFx0aDEge1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg2MHB4KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjE7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyLjVyZW07XG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpe1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDU0cHgpO1xuXHRcdFx0fVxuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDQwcHgpO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGgyIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjhweCk7XG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0Zm9udC1mYW1pbHk6ICdTd2l0emVyJztcblx0XHRcdHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMi41cmVtO1xuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ3MHB4KXtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyNHB4KTtcblx0XHRcdH1cblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRcdFx0bWFyZ2luOiAxLjVyZW0gMDtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMXB4KTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmJ5bGluZSB7XG5cdFx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHQuaDYge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0XHRzcGFuIHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG5cdFx0XHRcdHdpZHRoOiA4MHB4O1xuXHRcdFx0XHRoZWlnaHQ6IDJweDtcblx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdG1hcmdpbjogMCAyMHB4O1xuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG5cdFx0XHRcdFx0d2lkdGg6IDIwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLnNpbmdsZSAuYmxvY2stbmV3cyAub3RoZXItbmV3cyAub3RoZXItc2luZ2xlLW5ld3MgLnR4dCBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnNpbmdsZSAuYmxvY2stbmV3cyAub3RoZXItbmV3cyAub3RoZXItc2luZ2xlLW5ld3Mge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRUJFQkVCO1xufVxuXG4ubmV3cy5saW5lLXNlY3Rpb246YWZ0ZXIge1xuXHRib3R0b206IDA7XG5cdG1hcmdpbjogMHB4IDE1cHg7XG5cdHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcbn1cblxuLm5ld3MubGluZS1zZWN0aW9uIHtcblx0bWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cblxuLmxpbmUtc2VjdGlvbiB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmxpbmUtc2VjdGlvbjphZnRlciB7XG5cdGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IC02MHB4O1xufVxuXG4uZmlyc3Qtc2VjdGlvbiB7XG4gICAgbWFyZ2luOiAzNXB4IGF1dG87XG5cdG1hcmdpbi10b3A6IDA7XG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4MHB4KXtcblx0XHRtYXJnaW46IDFyZW0gYXV0bztcblx0fVxufVxuXG4uZ3JpZ2xpYSAubmV3cyB7XG5cdG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5hcmNoaXZlIHtcblx0LmJsb2NrLW5ld3Mge1xuXHRcdC5sYXJnZS1uZXdzIHtcblx0XHRcdC50eHQge1xuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMXJlbTtcblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IG5vbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5ncmlnbGlhIHtcblx0Lnh4LWxhcmdlLW5ld3Mge1xuXHRcdHBhZGRpbmctYm90dG9tOiAycmVtO1xuXHR9XG59XG5cbi5ibG9ja190YWcge1xuICAgIG1hcmdpbjogNjBweCAwO1xuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0bWFyZ2luOiAzMHB4IDA7XG5cdH1cblx0Lm0tdGFnIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiA1MCU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCl7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR0b3A6IGluaXRpYWw7XG5cdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHRcdHRyYW5zZm9ybTogaW5pdGlhbDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDRyZW07XG5cdFx0fVxuXHRcdGg2LCAuaDYge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjRweCk7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4zO1xuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIycHgpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4udGFnIHtcblx0LmZpcnN0LXNlY3Rpb24ge1xuXHRcdG1hcmdpbi1ib3R0b206IDgwcHg7XG5cdH1cblx0LmJsb2NrLW5ld3MgLnh4LWxhcmdlLW5ld3MgLnR4dCB7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdC5oMSB7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4xO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXHRcdH1cblx0XHQuaDQge1xuXHRcdFx0Zm9udC1zaXplOiAyNXB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHR9XG5cdH1cbn1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1ob21lIC5jb250YWluZXIge1xuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdH1cblx0c2VjdGlvbiB7XG5cdFx0JjpmaXJzdC1vZi10eXBlIHtcblx0XHRcdHBhZGRpbmctdG9wOiAxcmVtO1xuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRcdH1cblx0XHR9XG5cdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdFx0Ji5ibGFjazpmaXJzdC1vZi10eXBlIHtcblx0XHRcdG1hcmdpbi10b3A6IC0ycmVtO1xuXHRcdFx0cGFkZGluZy10b3A6IDVyZW07XG5cdFx0fVxuXHRcdCYuYmxvY2stZ3JheTpmaXJzdC1vZi10eXBlIHtcblx0XHRcdG1hcmdpbi10b3A6IC0ycmVtO1xuXHRcdFx0cGFkZGluZy10b3A6IDNyZW07XG5cdFx0fVxuXHR9XG59XG5cbi50YWcgLndoaXRlIC5zd2lwZXJBcnRpY2xlUnViLFxuLmNhdGVnb3J5IC53aGl0ZSAuc3dpcGVyQXJ0aWNsZVJ1YiB7XG5cdGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwMDAwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGgzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuXHRcdGZvbnQtc2l6ZTogMjRweDtcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdFx0XHRmb250LXNpemU6IDIxcHg7XG5cdFx0fVxuICAgIH1cblx0cCB7XG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjgwcHgpe1xuXHRcdFx0Zm9udC1zaXplOiAxNXB4O1xuXHRcdH1cblx0fVxuICAgIC5pbWcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5hcmNoaXZlIC5ncmlnbGlhIC5uZXdzLmxhcmdlLW5ld3Mge1xuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpe1xuICAgIFx0bWFyZ2luLWJvdHRvbTogMnJlbTtcblx0fVxufVxuXG4uYXJjaGl2ZSAuYmxvY2stbmV3cy53aGl0ZS5jYXJvc2VsbG8tY2F0IHtcbiAgICBwYWRkaW5nOiAwO1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdC5wYWdlLXRlbXBsYXRlLXBhZ2UtdmlkZW8gLnh4LWxhcmdlLW5ld3MgLnR4dDpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IG5vbmU7XG5cdH1cbn1cblxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2ODBweCl7XG5cdC5ibG9jay1uZXdzIC5uZXdzIHtcblx0XHQuaW1nIC5wbGF5X2J1dHRvbiB7XG5cdFx0XHRpbWcge1xuXHRcdFx0XHR3aWR0aDogNTBweCAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmLngtc21hbGwtbmV3cyAuaW1nIC5wbGF5X2J1dHRvbiB7XG5cdFx0XHRpbWcge1xuXHRcdFx0XHR3aWR0aDogMzVweCAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmLnNtYWxsLW5ld3MgLmltZyAucGxheV9idXR0b24ge1xuXHRcdFx0Ym90dG9tOiAxMHB4O1xuXHRcdFx0bGVmdDogMTBweDtcblx0XHRcdGltZyB7XG5cdFx0XHRcdHdpZHRoOiAzMHB4ICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59Il19 */
