@import url(https://fonts.googleapis.com/css?family=Roboto+Slab:300,400,700);@import url(https://fonts.googleapis.com/css?family=Roboto:300,400,500,700);@charset "UTF-8";
.fancybox-enabled {
  overflow: hidden; }

.fancybox-enabled body {
  overflow: visible;
  height: 100%; }

.fancybox-is-hidden {
  position: absolute;
  top: -9999px;
  left: -9999px;
  visibility: hidden; }

.fancybox-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99993;
  -webkit-tap-highlight-color: transparent;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0); }

/* Make sure that the first one is on the top */
.fancybox-container ~ .fancybox-container {
  z-index: 99992; }

.fancybox-outer,
.fancybox-inner,
.fancybox-bg,
.fancybox-stage {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }

.fancybox-outer {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }

.fancybox-bg {
  background: #1e1e1e;
  opacity: 0;
  transition-duration: inherit;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71); }

.fancybox-is-open .fancybox-bg {
  opacity: 0.87;
  transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1); }

.fancybox-infobar,
.fancybox-toolbar,
.fancybox-caption-wrap {
  position: absolute;
  direction: ltr;
  z-index: 99997;
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s, visibility 0s linear .25s;
  box-sizing: border-box; }

.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-toolbar .fancybox-toolbar,
.fancybox-show-caption .fancybox-caption-wrap {
  opacity: 1;
  visibility: visible;
  transition: opacity .25s, visibility 0s; }

.fancybox-infobar {
  top: 0;
  left: 50%;
  margin-left: -79px; }

.fancybox-infobar__body {
  display: inline-block;
  width: 70px;
  line-height: 44px;
  font-size: 13px;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
  text-align: center;
  color: #ddd;
  background-color: rgba(30, 30, 30, 0.7);
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-font-smoothing: subpixel-antialiased; }

.fancybox-toolbar {
  top: 0;
  right: 0; }

.fancybox-stage {
  overflow: hidden;
  direction: ltr;
  z-index: 99994;
  -webkit-transform: translate3d(0, 0, 0); }

.fancybox-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: auto;
  outline: none;
  white-space: normal;
  box-sizing: border-box;
  text-align: center;
  z-index: 99994;
  -webkit-overflow-scrolling: touch;
  display: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d; }

.fancybox-slide::before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  height: 100%;
  width: 0; }

.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--previous,
.fancybox-slide--current,
.fancybox-slide--next {
  display: block; }

.fancybox-slide--image {
  overflow: visible; }

.fancybox-slide--image::before {
  display: none; }

.fancybox-slide--video .fancybox-content,
.fancybox-slide--video iframe {
  background: #000; }

.fancybox-slide--map .fancybox-content,
.fancybox-slide--map iframe {
  background: #E5E3DF; }

.fancybox-slide--next {
  z-index: 99995; }

.fancybox-slide > div {
  display: inline-block;
  position: relative;
  padding: 24px;
  margin: 44px 0 44px;
  border-width: 0;
  vertical-align: middle;
  text-align: left;
  background-color: #fff;
  overflow: auto;
  box-sizing: border-box; }

.fancybox-slide .fancybox-image-wrap {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  border: 0;
  z-index: 99995;
  background: transparent;
  cursor: default;
  overflow: visible;
  -webkit-transform-origin: top left;
  -ms-transform-origin: top left;
  transform-origin: top left;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.fancybox-can-zoomOut .fancybox-image-wrap {
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.fancybox-can-zoomIn .fancybox-image-wrap {
  cursor: -webkit-zoom-in;
  cursor: zoom-in; }

.fancybox-can-drag .fancybox-image-wrap {
  cursor: -webkit-grab;
  cursor: grab; }

.fancybox-is-dragging .fancybox-image-wrap {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

.fancybox-image,
.fancybox-spaceball {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  max-width: none;
  max-height: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.fancybox-spaceball {
  z-index: 1; }

.fancybox-slide--iframe .fancybox-content {
  padding: 0;
  width: 80%;
  height: 80%;
  max-width: calc(100% - 100px);
  max-height: calc(100% - 88px);
  overflow: visible;
  background: #fff; }

.fancybox-iframe {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  width: 100%;
  height: 100%;
  background: #fff; }

.fancybox-error {
  margin: 0;
  padding: 40px;
  width: 100%;
  max-width: 380px;
  background: #fff;
  cursor: default; }

.fancybox-error p {
  margin: 0;
  padding: 0;
  color: #444;
  font: 16px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; }

.fancybox-close-small {
  position: absolute;
  top: 0;
  right: 0;
  width: 44px;
  height: 44px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  outline: none;
  background: transparent;
  z-index: 10;
  cursor: pointer; }

.fancybox-close-small:after {
  content: '\D7';
  position: absolute;
  top: 5px;
  right: 5px;
  width: 30px;
  height: 30px;
  font: 20px/30px Arial,"Helvetica Neue",Helvetica,sans-serif;
  color: #888;
  font-weight: 300;
  text-align: center;
  border-radius: 50%;
  border-width: 0;
  background: #fff;
  transition: background .25s;
  box-sizing: border-box;
  z-index: 2; }

.fancybox-close-small:focus:after {
  outline: 1px dotted #888; }

.fancybox-close-small:hover:after {
  color: #555;
  background: #eee; }

.fancybox-slide--iframe .fancybox-close-small {
  top: 0;
  right: -44px; }

.fancybox-slide--iframe .fancybox-close-small:after {
  background: transparent;
  font-size: 35px;
  color: #aaa; }

.fancybox-slide--iframe .fancybox-close-small:hover:after {
  color: #fff; }

/* Caption */
.fancybox-caption-wrap {
  bottom: 0;
  left: 0;
  right: 0;
  padding: 60px 30px 0 30px;
  background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.1) 20%, rgba(0, 0, 0, 0.2) 40%, rgba(0, 0, 0, 0.6) 80%, rgba(0, 0, 0, 0.8) 100%);
  pointer-events: none; }

.fancybox-caption {
  padding: 30px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.4);
  font-size: 14px;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
  color: #fff;
  line-height: 20px;
  -webkit-text-size-adjust: none; }

.fancybox-caption a,
.fancybox-caption button,
.fancybox-caption select {
  pointer-events: all; }

.fancybox-caption a {
  color: #fff;
  text-decoration: underline; }

/* Buttons */
.fancybox-button {
  display: inline-block;
  position: relative;
  margin: 0;
  padding: 0;
  border: 0;
  width: 44px;
  height: 44px;
  line-height: 44px;
  text-align: center;
  background: transparent;
  color: #ddd;
  border-radius: 0;
  cursor: pointer;
  vertical-align: top;
  outline: none; }

.fancybox-button[disabled] {
  cursor: default;
  pointer-events: none; }

.fancybox-infobar__body, .fancybox-button {
  background: rgba(30, 30, 30, 0.6); }

.fancybox-button:hover:not([disabled]) {
  color: #fff;
  background: rgba(0, 0, 0, 0.8); }

.fancybox-button::before,
.fancybox-button::after {
  content: '';
  pointer-events: none;
  position: absolute;
  background-color: currentColor;
  color: currentColor;
  opacity: 0.9;
  box-sizing: border-box;
  display: inline-block; }

.fancybox-button[disabled]::before,
.fancybox-button[disabled]::after {
  opacity: 0.3; }

.fancybox-button--left::after,
.fancybox-button--right::after {
  top: 18px;
  width: 6px;
  height: 6px;
  background: transparent;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor; }

.fancybox-button--left::after {
  left: 20px;
  -webkit-transform: rotate(-135deg);
  -ms-transform: rotate(-135deg);
  transform: rotate(-135deg); }

.fancybox-button--right::after {
  right: 20px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.fancybox-button--left {
  border-bottom-left-radius: 5px; }

.fancybox-button--right {
  border-bottom-right-radius: 5px; }

.fancybox-button--close::before, .fancybox-button--close::after {
  content: '';
  display: inline-block;
  position: absolute;
  height: 2px;
  width: 16px;
  top: calc(50% - 1px);
  left: calc(50% - 8px); }

.fancybox-button--close::before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.fancybox-button--close::after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg); }

/* Navigation arrows */
.fancybox-arrow {
  position: absolute;
  top: 50%;
  margin: -50px 0 0 0;
  height: 100px;
  width: 54px;
  padding: 0;
  border: 0;
  outline: none;
  background: none;
  cursor: pointer;
  z-index: 99995;
  opacity: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  transition: opacity .25s; }

.fancybox-arrow::after {
  content: '';
  position: absolute;
  top: 28px;
  width: 44px;
  height: 44px;
  background-color: rgba(30, 30, 30, 0.8);
  background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRkZGRkZGIiBoZWlnaHQ9IjQ4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSI0OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPiAgICA8cGF0aCBkPSJNMTIgNGwtMS40MSAxLjQxTDE2LjE3IDExSDR2MmgxMi4xN2wtNS41OCA1LjU5TDEyIDIwbDgtOHoiLz48L3N2Zz4=);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 24px 24px; }

.fancybox-arrow--right {
  right: 0; }

.fancybox-arrow--left {
  left: 0;
  -webkit-transform: scaleX(-1);
  -ms-transform: scaleX(-1);
  transform: scaleX(-1); }

.fancybox-arrow--right::after,
.fancybox-arrow--left::after {
  left: 0; }

.fancybox-show-nav .fancybox-arrow {
  opacity: 0.6; }

.fancybox-show-nav .fancybox-arrow[disabled] {
  opacity: 0.3; }

/* Loading indicator */
.fancybox-slide > .fancybox-loading {
  border: 6px solid rgba(100, 100, 100, 0.4);
  border-top: 6px solid rgba(255, 255, 255, 0.6);
  border-radius: 100%;
  height: 50px;
  width: 50px;
  -webkit-animation: fancybox-rotate .8s infinite linear;
  animation: fancybox-rotate .8s infinite linear;
  background: transparent;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -25px;
  margin-left: -25px;
  z-index: 99999; }

@-webkit-keyframes fancybox-rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

@keyframes fancybox-rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

/* Transition effects */
.fancybox-animated {
  transition-timing-function: cubic-bezier(0, 0, 0.25, 1); }

/* transitionEffect: slide */
.fancybox-fx-slide.fancybox-slide--previous {
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  opacity: 0; }

.fancybox-fx-slide.fancybox-slide--next {
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
  opacity: 0; }

.fancybox-fx-slide.fancybox-slide--current {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  opacity: 1; }

/* transitionEffect: fade */
.fancybox-fx-fade.fancybox-slide--previous,
.fancybox-fx-fade.fancybox-slide--next {
  opacity: 0;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }

.fancybox-fx-fade.fancybox-slide--current {
  opacity: 1; }

/* transitionEffect: zoom-in-out */
.fancybox-fx-zoom-in-out.fancybox-slide--previous {
  -webkit-transform: scale3d(1.5, 1.5, 1.5);
  transform: scale3d(1.5, 1.5, 1.5);
  opacity: 0; }

.fancybox-fx-zoom-in-out.fancybox-slide--next {
  -webkit-transform: scale3d(0.5, 0.5, 0.5);
  transform: scale3d(0.5, 0.5, 0.5);
  opacity: 0; }

.fancybox-fx-zoom-in-out.fancybox-slide--current {
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
  opacity: 1; }

/* transitionEffect: rotate */
.fancybox-fx-rotate.fancybox-slide--previous {
  -webkit-transform: rotate(-360deg);
  -ms-transform: rotate(-360deg);
  transform: rotate(-360deg);
  opacity: 0; }

.fancybox-fx-rotate.fancybox-slide--next {
  -webkit-transform: rotate(360deg);
  -ms-transform: rotate(360deg);
  transform: rotate(360deg);
  opacity: 0; }

.fancybox-fx-rotate.fancybox-slide--current {
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
  opacity: 1; }

/* transitionEffect: circular */
.fancybox-fx-circular.fancybox-slide--previous {
  -webkit-transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
  transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
  opacity: 0; }

.fancybox-fx-circular.fancybox-slide--next {
  -webkit-transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
  transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
  opacity: 0; }

.fancybox-fx-circular.fancybox-slide--current {
  -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
  transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
  opacity: 1; }

/* transitionEffect: tube */
.fancybox-fx-tube.fancybox-slide--previous {
  -webkit-transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);
  transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg); }

.fancybox-fx-tube.fancybox-slide--next {
  -webkit-transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg);
  transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg); }

.fancybox-fx-tube.fancybox-slide--current {
  -webkit-transform: translate3d(0, 0, 0) scale(1);
  transform: translate3d(0, 0, 0) scale(1); }

/* Styling for Small-Screen Devices */
@media all and (max-width: 800px) {
  .fancybox-infobar {
    left: 0;
    margin-left: 0; }
  .fancybox-button--left,
  .fancybox-button--right {
    display: none !important; }
  .fancybox-caption {
    padding: 20px 0;
    margin: 0; } }

/* Fullscreen  */
.fancybox-button--fullscreen::before {
  width: 15px;
  height: 11px;
  left: calc(50% - 7px);
  top: calc(50% - 6px);
  border: 2px solid;
  background: none; }

/* Slideshow button */
.fancybox-button--play::before,
.fancybox-button--pause::before {
  top: calc(50% - 6px);
  left: calc(50% - 4px);
  background: transparent; }

.fancybox-button--play::before {
  width: 0;
  height: 0;
  border-top: 6px inset transparent;
  border-bottom: 6px inset transparent;
  border-left: 10px solid;
  border-radius: 1px; }

.fancybox-button--pause::before {
  width: 7px;
  height: 11px;
  border-style: solid;
  border-width: 0 2px 0 2px; }

/* Thumbs */
.fancybox-thumbs {
  display: none; }

.fancybox-button--thumbs {
  display: none; }

@media all and (min-width: 800px) {
  .fancybox-button--thumbs {
    display: inline-block; }
  .fancybox-button--thumbs span {
    font-size: 23px; }
  .fancybox-button--thumbs::before {
    width: 3px;
    height: 3px;
    top: calc(50% - 2px);
    left: calc(50% - 2px);
    box-shadow: 0 -4px 0, -4px -4px 0, 4px -4px 0, 0 0 0 32px inset, -4px 0 0, 4px 0 0, 0 4px 0, -4px 4px 0, 4px 4px 0; }
  .fancybox-thumbs {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    width: 220px;
    margin: 0;
    padding: 5px 5px 0 0;
    background: #fff;
    word-break: normal;
    -webkit-tap-highlight-color: transparent;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    box-sizing: border-box;
    z-index: 99995; }
  .fancybox-show-thumbs .fancybox-thumbs {
    display: block; }
  .fancybox-show-thumbs .fancybox-inner {
    right: 220px; }
  .fancybox-thumbs > ul {
    list-style: none;
    position: absolute;
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    font-size: 0; }
  .fancybox-thumbs > ul > li {
    float: left;
    overflow: hidden;
    max-width: 50%;
    padding: 0;
    margin: 0;
    width: 105px;
    height: 75px;
    position: relative;
    cursor: pointer;
    outline: none;
    border: 5px solid transparent;
    border-top-width: 0;
    border-right-width: 0;
    -webkit-tap-highlight-color: transparent;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    box-sizing: border-box; }
  li.fancybox-thumbs-loading {
    background: rgba(0, 0, 0, 0.1); }
  .fancybox-thumbs > ul > li > img {
    position: absolute;
    top: 0;
    left: 0;
    min-width: 100%;
    min-height: 100%;
    max-width: none;
    max-height: none;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .fancybox-thumbs > ul > li:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 2px;
    border: 4px solid #4ea7f9;
    z-index: 99991;
    opacity: 0;
    transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .fancybox-thumbs > ul > li.fancybox-thumbs-active:before {
    opacity: 1; } }
@charset "UTF-8";

/**
 * Foundation for Sites by ZURB
 * Version 6.5.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */

@media print, screen and (min-width: 40.625em) {
  .reveal,
  .reveal.tiny,
  .reveal.small,
  .reveal.large {
    right: auto;
    left: auto;
    margin: 0 auto;
  }
}

/*! 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 {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

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

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  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 {
  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"] {
  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;
}

.foundation-mq {
  font-family: "small=0em&medium=40.625em&large=64em&xlarge=75em&xxlarge=90em";
}

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

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

body {
  margin: 0;
  padding: 0;
  background: #ffffff;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: 400;
  line-height: 1.5;
  color: #1e1e1e;
  -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 {
  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;
  appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1;
  cursor: auto;
}

[data-whatinput='mouse'] button {
  outline: 0;
}

pre {
  overflow: auto;
}

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

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

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

.row {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  flex-flow: row wrap;
}

.row .row {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}

@media print, screen and (min-width: 40.625em) {
  .row .row {
    margin-right: -0.9375rem;
    margin-left: -0.9375rem;
  }
}

@media print, screen and (min-width: 64em) {
  .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.collapse > .column,
.row.collapse > .columns {
  padding-right: 0;
  padding-left: 0;
}

.row.is-collapse-child,
.row.collapse > .column > .row,
.row.collapse > .columns > .row {
  margin-right: 0;
  margin-left: 0;
}

.column,
.columns {
  flex: 1 1 0px;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  min-width: 0;
}

@media print, screen and (min-width: 40.625em) {
  .column,
  .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
  }
}

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

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

.small-1 {
  flex: 0 0 8.33333%;
  max-width: 8.33333%;
}

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

.small-2 {
  flex: 0 0 16.66667%;
  max-width: 16.66667%;
}

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

.small-3 {
  flex: 0 0 25%;
  max-width: 25%;
}

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

.small-4 {
  flex: 0 0 33.33333%;
  max-width: 33.33333%;
}

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

.small-5 {
  flex: 0 0 41.66667%;
  max-width: 41.66667%;
}

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

.small-6 {
  flex: 0 0 50%;
  max-width: 50%;
}

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

.small-7 {
  flex: 0 0 58.33333%;
  max-width: 58.33333%;
}

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

.small-8 {
  flex: 0 0 66.66667%;
  max-width: 66.66667%;
}

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

.small-9 {
  flex: 0 0 75%;
  max-width: 75%;
}

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

.small-10 {
  flex: 0 0 83.33333%;
  max-width: 83.33333%;
}

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

.small-11 {
  flex: 0 0 91.66667%;
  max-width: 91.66667%;
}

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

.small-12 {
  flex: 0 0 100%;
  max-width: 100%;
}

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

.small-up-1 {
  flex-wrap: wrap;
}

.small-up-1 > .column,
.small-up-1 > .columns {
  flex: 0 0 100%;
  max-width: 100%;
}

.small-up-2 {
  flex-wrap: wrap;
}

.small-up-2 > .column,
.small-up-2 > .columns {
  flex: 0 0 50%;
  max-width: 50%;
}

.small-up-3 {
  flex-wrap: wrap;
}

.small-up-3 > .column,
.small-up-3 > .columns {
  flex: 0 0 33.33333%;
  max-width: 33.33333%;
}

.small-up-4 {
  flex-wrap: wrap;
}

.small-up-4 > .column,
.small-up-4 > .columns {
  flex: 0 0 25%;
  max-width: 25%;
}

.small-up-5 {
  flex-wrap: wrap;
}

.small-up-5 > .column,
.small-up-5 > .columns {
  flex: 0 0 20%;
  max-width: 20%;
}

.small-up-6 {
  flex-wrap: wrap;
}

.small-up-6 > .column,
.small-up-6 > .columns {
  flex: 0 0 16.66667%;
  max-width: 16.66667%;
}

.small-up-7 {
  flex-wrap: wrap;
}

.small-up-7 > .column,
.small-up-7 > .columns {
  flex: 0 0 14.28571%;
  max-width: 14.28571%;
}

.small-up-8 {
  flex-wrap: wrap;
}

.small-up-8 > .column,
.small-up-8 > .columns {
  flex: 0 0 12.5%;
  max-width: 12.5%;
}

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

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

@media print, screen and (min-width: 40.625em) {
  .medium-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }

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

  .medium-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }

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

  .medium-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

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

  .medium-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }

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

  .medium-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }

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

  .medium-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

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

  .medium-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }

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

  .medium-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }

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

  .medium-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

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

  .medium-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }

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

  .medium-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }

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

  .medium-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

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

  .medium-up-1 {
    flex-wrap: wrap;
  }

  .medium-up-1 > .column,
  .medium-up-1 > .columns {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .medium-up-2 {
    flex-wrap: wrap;
  }

  .medium-up-2 > .column,
  .medium-up-2 > .columns {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .medium-up-3 {
    flex-wrap: wrap;
  }

  .medium-up-3 > .column,
  .medium-up-3 > .columns {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }

  .medium-up-4 {
    flex-wrap: wrap;
  }

  .medium-up-4 > .column,
  .medium-up-4 > .columns {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .medium-up-5 {
    flex-wrap: wrap;
  }

  .medium-up-5 > .column,
  .medium-up-5 > .columns {
    flex: 0 0 20%;
    max-width: 20%;
  }

  .medium-up-6 {
    flex-wrap: wrap;
  }

  .medium-up-6 > .column,
  .medium-up-6 > .columns {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }

  .medium-up-7 {
    flex-wrap: wrap;
  }

  .medium-up-7 > .column,
  .medium-up-7 > .columns {
    flex: 0 0 14.28571%;
    max-width: 14.28571%;
  }

  .medium-up-8 {
    flex-wrap: wrap;
  }

  .medium-up-8 > .column,
  .medium-up-8 > .columns {
    flex: 0 0 12.5%;
    max-width: 12.5%;
  }
}

@media print, screen and (min-width: 40.625em) and (min-width: 40.625em) {
  .medium-expand {
    flex: 1 1 0px;
  }
}

.row.medium-unstack > .column,
.row.medium-unstack > .columns {
  flex: 0 0 100%;
}

@media print, screen and (min-width: 40.625em) {
  .row.medium-unstack > .column,
  .row.medium-unstack > .columns {
    flex: 1 1 0px;
  }
}

@media print, screen and (min-width: 40.625em) {
  .medium-collapse > .column,
  .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0;
  }

  .medium-uncollapse > .column,
  .medium-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
  }
}

@media print, screen and (min-width: 64em) {
  .large-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
  }

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

  .large-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }

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

  .large-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }

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

  .large-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }

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

  .large-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }

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

  .large-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

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

  .large-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }

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

  .large-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }

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

  .large-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }

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

  .large-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }

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

  .large-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }

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

  .large-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }

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

  .large-up-1 {
    flex-wrap: wrap;
  }

  .large-up-1 > .column,
  .large-up-1 > .columns {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .large-up-2 {
    flex-wrap: wrap;
  }

  .large-up-2 > .column,
  .large-up-2 > .columns {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .large-up-3 {
    flex-wrap: wrap;
  }

  .large-up-3 > .column,
  .large-up-3 > .columns {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }

  .large-up-4 {
    flex-wrap: wrap;
  }

  .large-up-4 > .column,
  .large-up-4 > .columns {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .large-up-5 {
    flex-wrap: wrap;
  }

  .large-up-5 > .column,
  .large-up-5 > .columns {
    flex: 0 0 20%;
    max-width: 20%;
  }

  .large-up-6 {
    flex-wrap: wrap;
  }

  .large-up-6 > .column,
  .large-up-6 > .columns {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }

  .large-up-7 {
    flex-wrap: wrap;
  }

  .large-up-7 > .column,
  .large-up-7 > .columns {
    flex: 0 0 14.28571%;
    max-width: 14.28571%;
  }

  .large-up-8 {
    flex-wrap: wrap;
  }

  .large-up-8 > .column,
  .large-up-8 > .columns {
    flex: 0 0 12.5%;
    max-width: 12.5%;
  }
}

@media print, screen and (min-width: 64em) and (min-width: 64em) {
  .large-expand {
    flex: 1 1 0px;
  }
}

.row.large-unstack > .column,
.row.large-unstack > .columns {
  flex: 0 0 100%;
}

@media print, screen and (min-width: 64em) {
  .row.large-unstack > .column,
  .row.large-unstack > .columns {
    flex: 1 1 0px;
  }
}

@media print, screen and (min-width: 64em) {
  .large-collapse > .column,
  .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0;
  }

  .large-uncollapse > .column,
  .large-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
  }
}

.shrink {
  flex: 0 0 auto;
  max-width: 100%;
}

.column-block {
  margin-bottom: 1.25rem;
}

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

@media print, screen and (min-width: 40.625em) {
  .column-block {
    margin-bottom: 1.875rem;
  }

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

.grid-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 75rem;
  margin-left: auto;
  margin-right: auto;
}

@media print, screen and (min-width: 40.625em) {
  .grid-container {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
  }
}

.grid-container.fluid {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

@media print, screen and (min-width: 40.625em) {
  .grid-container.fluid {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
  }
}

.grid-container.full {
  padding-right: 0;
  padding-left: 0;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.grid-x {
  display: flex;
  flex-flow: row wrap;
}

.cell {
  flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%;
}

.cell.auto {
  flex: 1 1 0px;
}

.cell.shrink {
  flex: 0 0 auto;
}

.grid-x > .auto {
  width: auto;
}

.grid-x > .shrink {
  width: auto;
}

.grid-x > .small-shrink,
.grid-x > .small-full,
.grid-x > .small-1,
.grid-x > .small-2,
.grid-x > .small-3,
.grid-x > .small-4,
.grid-x > .small-5,
.grid-x > .small-6,
.grid-x > .small-7,
.grid-x > .small-8,
.grid-x > .small-9,
.grid-x > .small-10,
.grid-x > .small-11,
.grid-x > .small-12 {
  flex-basis: auto;
}

@media print, screen and (min-width: 40.625em) {
  .grid-x > .medium-shrink,
  .grid-x > .medium-full,
  .grid-x > .medium-1,
  .grid-x > .medium-2,
  .grid-x > .medium-3,
  .grid-x > .medium-4,
  .grid-x > .medium-5,
  .grid-x > .medium-6,
  .grid-x > .medium-7,
  .grid-x > .medium-8,
  .grid-x > .medium-9,
  .grid-x > .medium-10,
  .grid-x > .medium-11,
  .grid-x > .medium-12 {
    flex-basis: auto;
  }
}

@media print, screen and (min-width: 64em) {
  .grid-x > .large-shrink,
  .grid-x > .large-full,
  .grid-x > .large-1,
  .grid-x > .large-2,
  .grid-x > .large-3,
  .grid-x > .large-4,
  .grid-x > .large-5,
  .grid-x > .large-6,
  .grid-x > .large-7,
  .grid-x > .large-8,
  .grid-x > .large-9,
  .grid-x > .large-10,
  .grid-x > .large-11,
  .grid-x > .large-12 {
    flex-basis: auto;
  }
}

.grid-x > .small-1,
.grid-x > .small-2,
.grid-x > .small-3,
.grid-x > .small-4,
.grid-x > .small-5,
.grid-x > .small-6,
.grid-x > .small-7,
.grid-x > .small-8,
.grid-x > .small-9,
.grid-x > .small-10,
.grid-x > .small-11,
.grid-x > .small-12 {
  flex: 0 0 auto;
}

.grid-x > .small-1 {
  width: 8.33333%;
}

.grid-x > .small-2 {
  width: 16.66667%;
}

.grid-x > .small-3 {
  width: 25%;
}

.grid-x > .small-4 {
  width: 33.33333%;
}

.grid-x > .small-5 {
  width: 41.66667%;
}

.grid-x > .small-6 {
  width: 50%;
}

.grid-x > .small-7 {
  width: 58.33333%;
}

.grid-x > .small-8 {
  width: 66.66667%;
}

.grid-x > .small-9 {
  width: 75%;
}

.grid-x > .small-10 {
  width: 83.33333%;
}

.grid-x > .small-11 {
  width: 91.66667%;
}

.grid-x > .small-12 {
  width: 100%;
}

@media print, screen and (min-width: 40.625em) {
  .grid-x > .medium-auto {
    flex: 1 1 0px;
    width: auto;
  }

  .grid-x > .medium-shrink,
  .grid-x > .medium-1,
  .grid-x > .medium-2,
  .grid-x > .medium-3,
  .grid-x > .medium-4,
  .grid-x > .medium-5,
  .grid-x > .medium-6,
  .grid-x > .medium-7,
  .grid-x > .medium-8,
  .grid-x > .medium-9,
  .grid-x > .medium-10,
  .grid-x > .medium-11,
  .grid-x > .medium-12 {
    flex: 0 0 auto;
  }

  .grid-x > .medium-shrink {
    width: auto;
  }

  .grid-x > .medium-1 {
    width: 8.33333%;
  }

  .grid-x > .medium-2 {
    width: 16.66667%;
  }

  .grid-x > .medium-3 {
    width: 25%;
  }

  .grid-x > .medium-4 {
    width: 33.33333%;
  }

  .grid-x > .medium-5 {
    width: 41.66667%;
  }

  .grid-x > .medium-6 {
    width: 50%;
  }

  .grid-x > .medium-7 {
    width: 58.33333%;
  }

  .grid-x > .medium-8 {
    width: 66.66667%;
  }

  .grid-x > .medium-9 {
    width: 75%;
  }

  .grid-x > .medium-10 {
    width: 83.33333%;
  }

  .grid-x > .medium-11 {
    width: 91.66667%;
  }

  .grid-x > .medium-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .grid-x > .large-auto {
    flex: 1 1 0px;
    width: auto;
  }

  .grid-x > .large-shrink,
  .grid-x > .large-1,
  .grid-x > .large-2,
  .grid-x > .large-3,
  .grid-x > .large-4,
  .grid-x > .large-5,
  .grid-x > .large-6,
  .grid-x > .large-7,
  .grid-x > .large-8,
  .grid-x > .large-9,
  .grid-x > .large-10,
  .grid-x > .large-11,
  .grid-x > .large-12 {
    flex: 0 0 auto;
  }

  .grid-x > .large-shrink {
    width: auto;
  }

  .grid-x > .large-1 {
    width: 8.33333%;
  }

  .grid-x > .large-2 {
    width: 16.66667%;
  }

  .grid-x > .large-3 {
    width: 25%;
  }

  .grid-x > .large-4 {
    width: 33.33333%;
  }

  .grid-x > .large-5 {
    width: 41.66667%;
  }

  .grid-x > .large-6 {
    width: 50%;
  }

  .grid-x > .large-7 {
    width: 58.33333%;
  }

  .grid-x > .large-8 {
    width: 66.66667%;
  }

  .grid-x > .large-9 {
    width: 75%;
  }

  .grid-x > .large-10 {
    width: 83.33333%;
  }

  .grid-x > .large-11 {
    width: 91.66667%;
  }

  .grid-x > .large-12 {
    width: 100%;
  }
}

.grid-margin-x:not(.grid-x) > .cell {
  width: auto;
}

.grid-margin-y:not(.grid-y) > .cell {
  height: auto;
}

.grid-margin-x {
  margin-left: -0.625rem;
  margin-right: -0.625rem;
}

@media print, screen and (min-width: 40.625em) {
  .grid-margin-x {
    margin-left: -0.9375rem;
    margin-right: -0.9375rem;
  }
}

.grid-margin-x > .cell {
  width: calc(100% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem;
}

@media print, screen and (min-width: 40.625em) {
  .grid-margin-x > .cell {
    width: calc(100% - 1.875rem);
    margin-left: 0.9375rem;
    margin-right: 0.9375rem;
  }
}

.grid-margin-x > .auto {
  width: auto;
}

.grid-margin-x > .shrink {
  width: auto;
}

.grid-margin-x > .small-1 {
  width: calc(8.33333% - 1.25rem);
}

.grid-margin-x > .small-2 {
  width: calc(16.66667% - 1.25rem);
}

.grid-margin-x > .small-3 {
  width: calc(25% - 1.25rem);
}

.grid-margin-x > .small-4 {
  width: calc(33.33333% - 1.25rem);
}

.grid-margin-x > .small-5 {
  width: calc(41.66667% - 1.25rem);
}

.grid-margin-x > .small-6 {
  width: calc(50% - 1.25rem);
}

.grid-margin-x > .small-7 {
  width: calc(58.33333% - 1.25rem);
}

.grid-margin-x > .small-8 {
  width: calc(66.66667% - 1.25rem);
}

.grid-margin-x > .small-9 {
  width: calc(75% - 1.25rem);
}

.grid-margin-x > .small-10 {
  width: calc(83.33333% - 1.25rem);
}

.grid-margin-x > .small-11 {
  width: calc(91.66667% - 1.25rem);
}

.grid-margin-x > .small-12 {
  width: calc(100% - 1.25rem);
}

@media print, screen and (min-width: 40.625em) {
  .grid-margin-x > .auto {
    width: auto;
  }

  .grid-margin-x > .shrink {
    width: auto;
  }

  .grid-margin-x > .small-1 {
    width: calc(8.33333% - 1.875rem);
  }

  .grid-margin-x > .small-2 {
    width: calc(16.66667% - 1.875rem);
  }

  .grid-margin-x > .small-3 {
    width: calc(25% - 1.875rem);
  }

  .grid-margin-x > .small-4 {
    width: calc(33.33333% - 1.875rem);
  }

  .grid-margin-x > .small-5 {
    width: calc(41.66667% - 1.875rem);
  }

  .grid-margin-x > .small-6 {
    width: calc(50% - 1.875rem);
  }

  .grid-margin-x > .small-7 {
    width: calc(58.33333% - 1.875rem);
  }

  .grid-margin-x > .small-8 {
    width: calc(66.66667% - 1.875rem);
  }

  .grid-margin-x > .small-9 {
    width: calc(75% - 1.875rem);
  }

  .grid-margin-x > .small-10 {
    width: calc(83.33333% - 1.875rem);
  }

  .grid-margin-x > .small-11 {
    width: calc(91.66667% - 1.875rem);
  }

  .grid-margin-x > .small-12 {
    width: calc(100% - 1.875rem);
  }

  .grid-margin-x > .medium-auto {
    width: auto;
  }

  .grid-margin-x > .medium-shrink {
    width: auto;
  }

  .grid-margin-x > .medium-1 {
    width: calc(8.33333% - 1.875rem);
  }

  .grid-margin-x > .medium-2 {
    width: calc(16.66667% - 1.875rem);
  }

  .grid-margin-x > .medium-3 {
    width: calc(25% - 1.875rem);
  }

  .grid-margin-x > .medium-4 {
    width: calc(33.33333% - 1.875rem);
  }

  .grid-margin-x > .medium-5 {
    width: calc(41.66667% - 1.875rem);
  }

  .grid-margin-x > .medium-6 {
    width: calc(50% - 1.875rem);
  }

  .grid-margin-x > .medium-7 {
    width: calc(58.33333% - 1.875rem);
  }

  .grid-margin-x > .medium-8 {
    width: calc(66.66667% - 1.875rem);
  }

  .grid-margin-x > .medium-9 {
    width: calc(75% - 1.875rem);
  }

  .grid-margin-x > .medium-10 {
    width: calc(83.33333% - 1.875rem);
  }

  .grid-margin-x > .medium-11 {
    width: calc(91.66667% - 1.875rem);
  }

  .grid-margin-x > .medium-12 {
    width: calc(100% - 1.875rem);
  }
}

@media print, screen and (min-width: 64em) {
  .grid-margin-x > .large-auto {
    width: auto;
  }

  .grid-margin-x > .large-shrink {
    width: auto;
  }

  .grid-margin-x > .large-1 {
    width: calc(8.33333% - 1.875rem);
  }

  .grid-margin-x > .large-2 {
    width: calc(16.66667% - 1.875rem);
  }

  .grid-margin-x > .large-3 {
    width: calc(25% - 1.875rem);
  }

  .grid-margin-x > .large-4 {
    width: calc(33.33333% - 1.875rem);
  }

  .grid-margin-x > .large-5 {
    width: calc(41.66667% - 1.875rem);
  }

  .grid-margin-x > .large-6 {
    width: calc(50% - 1.875rem);
  }

  .grid-margin-x > .large-7 {
    width: calc(58.33333% - 1.875rem);
  }

  .grid-margin-x > .large-8 {
    width: calc(66.66667% - 1.875rem);
  }

  .grid-margin-x > .large-9 {
    width: calc(75% - 1.875rem);
  }

  .grid-margin-x > .large-10 {
    width: calc(83.33333% - 1.875rem);
  }

  .grid-margin-x > .large-11 {
    width: calc(91.66667% - 1.875rem);
  }

  .grid-margin-x > .large-12 {
    width: calc(100% - 1.875rem);
  }
}

.grid-padding-x .grid-padding-x {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}

@media print, screen and (min-width: 40.625em) {
  .grid-padding-x .grid-padding-x {
    margin-right: -0.9375rem;
    margin-left: -0.9375rem;
  }
}

.grid-container:not(.full) > .grid-padding-x {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}

@media print, screen and (min-width: 40.625em) {
  .grid-container:not(.full) > .grid-padding-x {
    margin-right: -0.9375rem;
    margin-left: -0.9375rem;
  }
}

.grid-padding-x > .cell {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
}

@media print, screen and (min-width: 40.625em) {
  .grid-padding-x > .cell {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
  }
}

.small-up-1 > .cell {
  width: 100%;
}

.small-up-2 > .cell {
  width: 50%;
}

.small-up-3 > .cell {
  width: 33.33333%;
}

.small-up-4 > .cell {
  width: 25%;
}

.small-up-5 > .cell {
  width: 20%;
}

.small-up-6 > .cell {
  width: 16.66667%;
}

.small-up-7 > .cell {
  width: 14.28571%;
}

.small-up-8 > .cell {
  width: 12.5%;
}

@media print, screen and (min-width: 40.625em) {
  .medium-up-1 > .cell {
    width: 100%;
  }

  .medium-up-2 > .cell {
    width: 50%;
  }

  .medium-up-3 > .cell {
    width: 33.33333%;
  }

  .medium-up-4 > .cell {
    width: 25%;
  }

  .medium-up-5 > .cell {
    width: 20%;
  }

  .medium-up-6 > .cell {
    width: 16.66667%;
  }

  .medium-up-7 > .cell {
    width: 14.28571%;
  }

  .medium-up-8 > .cell {
    width: 12.5%;
  }
}

@media print, screen and (min-width: 64em) {
  .large-up-1 > .cell {
    width: 100%;
  }

  .large-up-2 > .cell {
    width: 50%;
  }

  .large-up-3 > .cell {
    width: 33.33333%;
  }

  .large-up-4 > .cell {
    width: 25%;
  }

  .large-up-5 > .cell {
    width: 20%;
  }

  .large-up-6 > .cell {
    width: 16.66667%;
  }

  .large-up-7 > .cell {
    width: 14.28571%;
  }

  .large-up-8 > .cell {
    width: 12.5%;
  }
}

.grid-margin-x.small-up-1 > .cell {
  width: calc(100% - 1.25rem);
}

.grid-margin-x.small-up-2 > .cell {
  width: calc(50% - 1.25rem);
}

.grid-margin-x.small-up-3 > .cell {
  width: calc(33.33333% - 1.25rem);
}

.grid-margin-x.small-up-4 > .cell {
  width: calc(25% - 1.25rem);
}

.grid-margin-x.small-up-5 > .cell {
  width: calc(20% - 1.25rem);
}

.grid-margin-x.small-up-6 > .cell {
  width: calc(16.66667% - 1.25rem);
}

.grid-margin-x.small-up-7 > .cell {
  width: calc(14.28571% - 1.25rem);
}

.grid-margin-x.small-up-8 > .cell {
  width: calc(12.5% - 1.25rem);
}

@media print, screen and (min-width: 40.625em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 1.875rem);
  }

  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 1.875rem);
  }

  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.33333% - 1.875rem);
  }

  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 1.875rem);
  }

  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 1.875rem);
  }

  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.66667% - 1.875rem);
  }

  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.28571% - 1.875rem);
  }

  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 1.875rem);
  }

  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 1.875rem);
  }

  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 1.875rem);
  }

  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.33333% - 1.875rem);
  }

  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 1.875rem);
  }

  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 1.875rem);
  }

  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.66667% - 1.875rem);
  }

  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.28571% - 1.875rem);
  }

  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 1.875rem);
  }
}

@media print, screen and (min-width: 64em) {
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 1.875rem);
  }

  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 1.875rem);
  }

  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.33333% - 1.875rem);
  }

  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 1.875rem);
  }

  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 1.875rem);
  }

  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.66667% - 1.875rem);
  }

  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.28571% - 1.875rem);
  }

  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 1.875rem);
  }
}

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

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

.small-margin-collapse > .small-1 {
  width: 8.33333%;
}

.small-margin-collapse > .small-2 {
  width: 16.66667%;
}

.small-margin-collapse > .small-3 {
  width: 25%;
}

.small-margin-collapse > .small-4 {
  width: 33.33333%;
}

.small-margin-collapse > .small-5 {
  width: 41.66667%;
}

.small-margin-collapse > .small-6 {
  width: 50%;
}

.small-margin-collapse > .small-7 {
  width: 58.33333%;
}

.small-margin-collapse > .small-8 {
  width: 66.66667%;
}

.small-margin-collapse > .small-9 {
  width: 75%;
}

.small-margin-collapse > .small-10 {
  width: 83.33333%;
}

.small-margin-collapse > .small-11 {
  width: 91.66667%;
}

.small-margin-collapse > .small-12 {
  width: 100%;
}

@media print, screen and (min-width: 40.625em) {
  .small-margin-collapse > .medium-1 {
    width: 8.33333%;
  }

  .small-margin-collapse > .medium-2 {
    width: 16.66667%;
  }

  .small-margin-collapse > .medium-3 {
    width: 25%;
  }

  .small-margin-collapse > .medium-4 {
    width: 33.33333%;
  }

  .small-margin-collapse > .medium-5 {
    width: 41.66667%;
  }

  .small-margin-collapse > .medium-6 {
    width: 50%;
  }

  .small-margin-collapse > .medium-7 {
    width: 58.33333%;
  }

  .small-margin-collapse > .medium-8 {
    width: 66.66667%;
  }

  .small-margin-collapse > .medium-9 {
    width: 75%;
  }

  .small-margin-collapse > .medium-10 {
    width: 83.33333%;
  }

  .small-margin-collapse > .medium-11 {
    width: 91.66667%;
  }

  .small-margin-collapse > .medium-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .small-margin-collapse > .large-1 {
    width: 8.33333%;
  }

  .small-margin-collapse > .large-2 {
    width: 16.66667%;
  }

  .small-margin-collapse > .large-3 {
    width: 25%;
  }

  .small-margin-collapse > .large-4 {
    width: 33.33333%;
  }

  .small-margin-collapse > .large-5 {
    width: 41.66667%;
  }

  .small-margin-collapse > .large-6 {
    width: 50%;
  }

  .small-margin-collapse > .large-7 {
    width: 58.33333%;
  }

  .small-margin-collapse > .large-8 {
    width: 66.66667%;
  }

  .small-margin-collapse > .large-9 {
    width: 75%;
  }

  .small-margin-collapse > .large-10 {
    width: 83.33333%;
  }

  .small-margin-collapse > .large-11 {
    width: 91.66667%;
  }

  .small-margin-collapse > .large-12 {
    width: 100%;
  }
}

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

.small-padding-collapse > .cell {
  padding-right: 0;
  padding-left: 0;
}

@media print, screen and (min-width: 40.625em) {
  .medium-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }

  .medium-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}

@media print, screen and (min-width: 40.625em) {
  .medium-margin-collapse > .small-1 {
    width: 8.33333%;
  }

  .medium-margin-collapse > .small-2 {
    width: 16.66667%;
  }

  .medium-margin-collapse > .small-3 {
    width: 25%;
  }

  .medium-margin-collapse > .small-4 {
    width: 33.33333%;
  }

  .medium-margin-collapse > .small-5 {
    width: 41.66667%;
  }

  .medium-margin-collapse > .small-6 {
    width: 50%;
  }

  .medium-margin-collapse > .small-7 {
    width: 58.33333%;
  }

  .medium-margin-collapse > .small-8 {
    width: 66.66667%;
  }

  .medium-margin-collapse > .small-9 {
    width: 75%;
  }

  .medium-margin-collapse > .small-10 {
    width: 83.33333%;
  }

  .medium-margin-collapse > .small-11 {
    width: 91.66667%;
  }

  .medium-margin-collapse > .small-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 40.625em) {
  .medium-margin-collapse > .medium-1 {
    width: 8.33333%;
  }

  .medium-margin-collapse > .medium-2 {
    width: 16.66667%;
  }

  .medium-margin-collapse > .medium-3 {
    width: 25%;
  }

  .medium-margin-collapse > .medium-4 {
    width: 33.33333%;
  }

  .medium-margin-collapse > .medium-5 {
    width: 41.66667%;
  }

  .medium-margin-collapse > .medium-6 {
    width: 50%;
  }

  .medium-margin-collapse > .medium-7 {
    width: 58.33333%;
  }

  .medium-margin-collapse > .medium-8 {
    width: 66.66667%;
  }

  .medium-margin-collapse > .medium-9 {
    width: 75%;
  }

  .medium-margin-collapse > .medium-10 {
    width: 83.33333%;
  }

  .medium-margin-collapse > .medium-11 {
    width: 91.66667%;
  }

  .medium-margin-collapse > .medium-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .medium-margin-collapse > .large-1 {
    width: 8.33333%;
  }

  .medium-margin-collapse > .large-2 {
    width: 16.66667%;
  }

  .medium-margin-collapse > .large-3 {
    width: 25%;
  }

  .medium-margin-collapse > .large-4 {
    width: 33.33333%;
  }

  .medium-margin-collapse > .large-5 {
    width: 41.66667%;
  }

  .medium-margin-collapse > .large-6 {
    width: 50%;
  }

  .medium-margin-collapse > .large-7 {
    width: 58.33333%;
  }

  .medium-margin-collapse > .large-8 {
    width: 66.66667%;
  }

  .medium-margin-collapse > .large-9 {
    width: 75%;
  }

  .medium-margin-collapse > .large-10 {
    width: 83.33333%;
  }

  .medium-margin-collapse > .large-11 {
    width: 91.66667%;
  }

  .medium-margin-collapse > .large-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 40.625em) {
  .medium-padding-collapse {
    margin-right: 0;
    margin-left: 0;
  }

  .medium-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0;
  }
}

@media print, screen and (min-width: 64em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }

  .large-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .small-1 {
    width: 8.33333%;
  }

  .large-margin-collapse > .small-2 {
    width: 16.66667%;
  }

  .large-margin-collapse > .small-3 {
    width: 25%;
  }

  .large-margin-collapse > .small-4 {
    width: 33.33333%;
  }

  .large-margin-collapse > .small-5 {
    width: 41.66667%;
  }

  .large-margin-collapse > .small-6 {
    width: 50%;
  }

  .large-margin-collapse > .small-7 {
    width: 58.33333%;
  }

  .large-margin-collapse > .small-8 {
    width: 66.66667%;
  }

  .large-margin-collapse > .small-9 {
    width: 75%;
  }

  .large-margin-collapse > .small-10 {
    width: 83.33333%;
  }

  .large-margin-collapse > .small-11 {
    width: 91.66667%;
  }

  .large-margin-collapse > .small-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .medium-1 {
    width: 8.33333%;
  }

  .large-margin-collapse > .medium-2 {
    width: 16.66667%;
  }

  .large-margin-collapse > .medium-3 {
    width: 25%;
  }

  .large-margin-collapse > .medium-4 {
    width: 33.33333%;
  }

  .large-margin-collapse > .medium-5 {
    width: 41.66667%;
  }

  .large-margin-collapse > .medium-6 {
    width: 50%;
  }

  .large-margin-collapse > .medium-7 {
    width: 58.33333%;
  }

  .large-margin-collapse > .medium-8 {
    width: 66.66667%;
  }

  .large-margin-collapse > .medium-9 {
    width: 75%;
  }

  .large-margin-collapse > .medium-10 {
    width: 83.33333%;
  }

  .large-margin-collapse > .medium-11 {
    width: 91.66667%;
  }

  .large-margin-collapse > .medium-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .large-1 {
    width: 8.33333%;
  }

  .large-margin-collapse > .large-2 {
    width: 16.66667%;
  }

  .large-margin-collapse > .large-3 {
    width: 25%;
  }

  .large-margin-collapse > .large-4 {
    width: 33.33333%;
  }

  .large-margin-collapse > .large-5 {
    width: 41.66667%;
  }

  .large-margin-collapse > .large-6 {
    width: 50%;
  }

  .large-margin-collapse > .large-7 {
    width: 58.33333%;
  }

  .large-margin-collapse > .large-8 {
    width: 66.66667%;
  }

  .large-margin-collapse > .large-9 {
    width: 75%;
  }

  .large-margin-collapse > .large-10 {
    width: 83.33333%;
  }

  .large-margin-collapse > .large-11 {
    width: 91.66667%;
  }

  .large-margin-collapse > .large-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0;
  }

  .large-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0;
  }
}

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

.grid-margin-x > .small-offset-0 {
  margin-left: calc(0% + 0.625rem);
}

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

.grid-margin-x > .small-offset-1 {
  margin-left: calc(8.33333% + 0.625rem);
}

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

.grid-margin-x > .small-offset-2 {
  margin-left: calc(16.66667% + 0.625rem);
}

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

.grid-margin-x > .small-offset-3 {
  margin-left: calc(25% + 0.625rem);
}

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

.grid-margin-x > .small-offset-4 {
  margin-left: calc(33.33333% + 0.625rem);
}

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

.grid-margin-x > .small-offset-5 {
  margin-left: calc(41.66667% + 0.625rem);
}

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

.grid-margin-x > .small-offset-6 {
  margin-left: calc(50% + 0.625rem);
}

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

.grid-margin-x > .small-offset-7 {
  margin-left: calc(58.33333% + 0.625rem);
}

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

.grid-margin-x > .small-offset-8 {
  margin-left: calc(66.66667% + 0.625rem);
}

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

.grid-margin-x > .small-offset-9 {
  margin-left: calc(75% + 0.625rem);
}

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

.grid-margin-x > .small-offset-10 {
  margin-left: calc(83.33333% + 0.625rem);
}

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

.grid-margin-x > .small-offset-11 {
  margin-left: calc(91.66667% + 0.625rem);
}

@media print, screen and (min-width: 40.625em) {
  .medium-offset-0 {
    margin-left: 0%;
  }

  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 0.9375rem);
  }

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

  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem);
  }

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

  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem);
  }

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

  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 0.9375rem);
  }

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

  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem);
  }

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

  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem);
  }

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

  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 0.9375rem);
  }

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

  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem);
  }

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

  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem);
  }

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

  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 0.9375rem);
  }

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

  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem);
  }

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

  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem);
  }
}

@media print, screen and (min-width: 64em) {
  .large-offset-0 {
    margin-left: 0%;
  }

  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 0.9375rem);
  }

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

  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem);
  }

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

  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem);
  }

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

  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 0.9375rem);
  }

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

  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem);
  }

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

  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem);
  }

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

  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 0.9375rem);
  }

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

  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem);
  }

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

  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem);
  }

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

  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 0.9375rem);
  }

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

  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem);
  }

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

  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem);
  }
}

.grid-y {
  display: flex;
  flex-flow: column nowrap;
}

.grid-y > .cell {
  width: auto;
  max-width: none;
}

.grid-y > .auto {
  height: auto;
}

.grid-y > .shrink {
  height: auto;
}

.grid-y > .small-shrink,
.grid-y > .small-full,
.grid-y > .small-1,
.grid-y > .small-2,
.grid-y > .small-3,
.grid-y > .small-4,
.grid-y > .small-5,
.grid-y > .small-6,
.grid-y > .small-7,
.grid-y > .small-8,
.grid-y > .small-9,
.grid-y > .small-10,
.grid-y > .small-11,
.grid-y > .small-12 {
  flex-basis: auto;
}

@media print, screen and (min-width: 40.625em) {
  .grid-y > .medium-shrink,
  .grid-y > .medium-full,
  .grid-y > .medium-1,
  .grid-y > .medium-2,
  .grid-y > .medium-3,
  .grid-y > .medium-4,
  .grid-y > .medium-5,
  .grid-y > .medium-6,
  .grid-y > .medium-7,
  .grid-y > .medium-8,
  .grid-y > .medium-9,
  .grid-y > .medium-10,
  .grid-y > .medium-11,
  .grid-y > .medium-12 {
    flex-basis: auto;
  }
}

@media print, screen and (min-width: 64em) {
  .grid-y > .large-shrink,
  .grid-y > .large-full,
  .grid-y > .large-1,
  .grid-y > .large-2,
  .grid-y > .large-3,
  .grid-y > .large-4,
  .grid-y > .large-5,
  .grid-y > .large-6,
  .grid-y > .large-7,
  .grid-y > .large-8,
  .grid-y > .large-9,
  .grid-y > .large-10,
  .grid-y > .large-11,
  .grid-y > .large-12 {
    flex-basis: auto;
  }
}

.grid-y > .small-1,
.grid-y > .small-2,
.grid-y > .small-3,
.grid-y > .small-4,
.grid-y > .small-5,
.grid-y > .small-6,
.grid-y > .small-7,
.grid-y > .small-8,
.grid-y > .small-9,
.grid-y > .small-10,
.grid-y > .small-11,
.grid-y > .small-12 {
  flex: 0 0 auto;
}

.grid-y > .small-1 {
  height: 8.33333%;
}

.grid-y > .small-2 {
  height: 16.66667%;
}

.grid-y > .small-3 {
  height: 25%;
}

.grid-y > .small-4 {
  height: 33.33333%;
}

.grid-y > .small-5 {
  height: 41.66667%;
}

.grid-y > .small-6 {
  height: 50%;
}

.grid-y > .small-7 {
  height: 58.33333%;
}

.grid-y > .small-8 {
  height: 66.66667%;
}

.grid-y > .small-9 {
  height: 75%;
}

.grid-y > .small-10 {
  height: 83.33333%;
}

.grid-y > .small-11 {
  height: 91.66667%;
}

.grid-y > .small-12 {
  height: 100%;
}

@media print, screen and (min-width: 40.625em) {
  .grid-y > .medium-auto {
    flex: 1 1 0px;
    height: auto;
  }

  .grid-y > .medium-shrink,
  .grid-y > .medium-1,
  .grid-y > .medium-2,
  .grid-y > .medium-3,
  .grid-y > .medium-4,
  .grid-y > .medium-5,
  .grid-y > .medium-6,
  .grid-y > .medium-7,
  .grid-y > .medium-8,
  .grid-y > .medium-9,
  .grid-y > .medium-10,
  .grid-y > .medium-11,
  .grid-y > .medium-12 {
    flex: 0 0 auto;
  }

  .grid-y > .medium-shrink {
    height: auto;
  }

  .grid-y > .medium-1 {
    height: 8.33333%;
  }

  .grid-y > .medium-2 {
    height: 16.66667%;
  }

  .grid-y > .medium-3 {
    height: 25%;
  }

  .grid-y > .medium-4 {
    height: 33.33333%;
  }

  .grid-y > .medium-5 {
    height: 41.66667%;
  }

  .grid-y > .medium-6 {
    height: 50%;
  }

  .grid-y > .medium-7 {
    height: 58.33333%;
  }

  .grid-y > .medium-8 {
    height: 66.66667%;
  }

  .grid-y > .medium-9 {
    height: 75%;
  }

  .grid-y > .medium-10 {
    height: 83.33333%;
  }

  .grid-y > .medium-11 {
    height: 91.66667%;
  }

  .grid-y > .medium-12 {
    height: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .grid-y > .large-auto {
    flex: 1 1 0px;
    height: auto;
  }

  .grid-y > .large-shrink,
  .grid-y > .large-1,
  .grid-y > .large-2,
  .grid-y > .large-3,
  .grid-y > .large-4,
  .grid-y > .large-5,
  .grid-y > .large-6,
  .grid-y > .large-7,
  .grid-y > .large-8,
  .grid-y > .large-9,
  .grid-y > .large-10,
  .grid-y > .large-11,
  .grid-y > .large-12 {
    flex: 0 0 auto;
  }

  .grid-y > .large-shrink {
    height: auto;
  }

  .grid-y > .large-1 {
    height: 8.33333%;
  }

  .grid-y > .large-2 {
    height: 16.66667%;
  }

  .grid-y > .large-3 {
    height: 25%;
  }

  .grid-y > .large-4 {
    height: 33.33333%;
  }

  .grid-y > .large-5 {
    height: 41.66667%;
  }

  .grid-y > .large-6 {
    height: 50%;
  }

  .grid-y > .large-7 {
    height: 58.33333%;
  }

  .grid-y > .large-8 {
    height: 66.66667%;
  }

  .grid-y > .large-9 {
    height: 75%;
  }

  .grid-y > .large-10 {
    height: 83.33333%;
  }

  .grid-y > .large-11 {
    height: 91.66667%;
  }

  .grid-y > .large-12 {
    height: 100%;
  }
}

.grid-padding-y .grid-padding-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem;
}

@media print, screen and (min-width: 40.625em) {
  .grid-padding-y .grid-padding-y {
    margin-top: -0.9375rem;
    margin-bottom: -0.9375rem;
  }
}

.grid-padding-y > .cell {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

@media print, screen and (min-width: 40.625em) {
  .grid-padding-y > .cell {
    padding-top: 0.9375rem;
    padding-bottom: 0.9375rem;
  }
}

.grid-margin-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem;
}

@media print, screen and (min-width: 40.625em) {
  .grid-margin-y {
    margin-top: -0.9375rem;
    margin-bottom: -0.9375rem;
  }
}

.grid-margin-y > .cell {
  height: calc(100% - 1.25rem);
  margin-top: 0.625rem;
  margin-bottom: 0.625rem;
}

@media print, screen and (min-width: 40.625em) {
  .grid-margin-y > .cell {
    height: calc(100% - 1.875rem);
    margin-top: 0.9375rem;
    margin-bottom: 0.9375rem;
  }
}

.grid-margin-y > .auto {
  height: auto;
}

.grid-margin-y > .shrink {
  height: auto;
}

.grid-margin-y > .small-1 {
  height: calc(8.33333% - 1.25rem);
}

.grid-margin-y > .small-2 {
  height: calc(16.66667% - 1.25rem);
}

.grid-margin-y > .small-3 {
  height: calc(25% - 1.25rem);
}

.grid-margin-y > .small-4 {
  height: calc(33.33333% - 1.25rem);
}

.grid-margin-y > .small-5 {
  height: calc(41.66667% - 1.25rem);
}

.grid-margin-y > .small-6 {
  height: calc(50% - 1.25rem);
}

.grid-margin-y > .small-7 {
  height: calc(58.33333% - 1.25rem);
}

.grid-margin-y > .small-8 {
  height: calc(66.66667% - 1.25rem);
}

.grid-margin-y > .small-9 {
  height: calc(75% - 1.25rem);
}

.grid-margin-y > .small-10 {
  height: calc(83.33333% - 1.25rem);
}

.grid-margin-y > .small-11 {
  height: calc(91.66667% - 1.25rem);
}

.grid-margin-y > .small-12 {
  height: calc(100% - 1.25rem);
}

@media print, screen and (min-width: 40.625em) {
  .grid-margin-y > .auto {
    height: auto;
  }

  .grid-margin-y > .shrink {
    height: auto;
  }

  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1.875rem);
  }

  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1.875rem);
  }

  .grid-margin-y > .small-3 {
    height: calc(25% - 1.875rem);
  }

  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1.875rem);
  }

  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1.875rem);
  }

  .grid-margin-y > .small-6 {
    height: calc(50% - 1.875rem);
  }

  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1.875rem);
  }

  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1.875rem);
  }

  .grid-margin-y > .small-9 {
    height: calc(75% - 1.875rem);
  }

  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1.875rem);
  }

  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1.875rem);
  }

  .grid-margin-y > .small-12 {
    height: calc(100% - 1.875rem);
  }

  .grid-margin-y > .medium-auto {
    height: auto;
  }

  .grid-margin-y > .medium-shrink {
    height: auto;
  }

  .grid-margin-y > .medium-1 {
    height: calc(8.33333% - 1.875rem);
  }

  .grid-margin-y > .medium-2 {
    height: calc(16.66667% - 1.875rem);
  }

  .grid-margin-y > .medium-3 {
    height: calc(25% - 1.875rem);
  }

  .grid-margin-y > .medium-4 {
    height: calc(33.33333% - 1.875rem);
  }

  .grid-margin-y > .medium-5 {
    height: calc(41.66667% - 1.875rem);
  }

  .grid-margin-y > .medium-6 {
    height: calc(50% - 1.875rem);
  }

  .grid-margin-y > .medium-7 {
    height: calc(58.33333% - 1.875rem);
  }

  .grid-margin-y > .medium-8 {
    height: calc(66.66667% - 1.875rem);
  }

  .grid-margin-y > .medium-9 {
    height: calc(75% - 1.875rem);
  }

  .grid-margin-y > .medium-10 {
    height: calc(83.33333% - 1.875rem);
  }

  .grid-margin-y > .medium-11 {
    height: calc(91.66667% - 1.875rem);
  }

  .grid-margin-y > .medium-12 {
    height: calc(100% - 1.875rem);
  }
}

@media print, screen and (min-width: 64em) {
  .grid-margin-y > .large-auto {
    height: auto;
  }

  .grid-margin-y > .large-shrink {
    height: auto;
  }

  .grid-margin-y > .large-1 {
    height: calc(8.33333% - 1.875rem);
  }

  .grid-margin-y > .large-2 {
    height: calc(16.66667% - 1.875rem);
  }

  .grid-margin-y > .large-3 {
    height: calc(25% - 1.875rem);
  }

  .grid-margin-y > .large-4 {
    height: calc(33.33333% - 1.875rem);
  }

  .grid-margin-y > .large-5 {
    height: calc(41.66667% - 1.875rem);
  }

  .grid-margin-y > .large-6 {
    height: calc(50% - 1.875rem);
  }

  .grid-margin-y > .large-7 {
    height: calc(58.33333% - 1.875rem);
  }

  .grid-margin-y > .large-8 {
    height: calc(66.66667% - 1.875rem);
  }

  .grid-margin-y > .large-9 {
    height: calc(75% - 1.875rem);
  }

  .grid-margin-y > .large-10 {
    height: calc(83.33333% - 1.875rem);
  }

  .grid-margin-y > .large-11 {
    height: calc(91.66667% - 1.875rem);
  }

  .grid-margin-y > .large-12 {
    height: calc(100% - 1.875rem);
  }
}

.grid-frame {
  overflow: hidden;
  position: relative;
  flex-wrap: nowrap;
  align-items: stretch;
  width: 100vw;
}

.cell .grid-frame {
  width: 100%;
}

.cell-block {
  overflow-x: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
}

.cell-block-y {
  overflow-y: auto;
  max-height: 100%;
  min-height: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
}

.cell-block-container {
  display: flex;
  flex-direction: column;
  max-height: 100%;
}

.cell-block-container > .grid-x {
  max-height: 100%;
  flex-wrap: nowrap;
}

@media print, screen and (min-width: 40.625em) {
  .medium-grid-frame {
    overflow: hidden;
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100vw;
  }

  .cell .medium-grid-frame {
    width: 100%;
  }

  .medium-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }

  .medium-cell-block-container {
    display: flex;
    flex-direction: column;
    max-height: 100%;
  }

  .medium-cell-block-container > .grid-x {
    max-height: 100%;
    flex-wrap: nowrap;
  }

  .medium-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
}

@media print, screen and (min-width: 64em) {
  .large-grid-frame {
    overflow: hidden;
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100vw;
  }

  .cell .large-grid-frame {
    width: 100%;
  }

  .large-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }

  .large-cell-block-container {
    display: flex;
    flex-direction: column;
    max-height: 100%;
  }

  .large-cell-block-container > .grid-x {
    max-height: 100%;
    flex-wrap: nowrap;
  }

  .large-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
}

.grid-y.grid-frame {
  width: auto;
  overflow: hidden;
  position: relative;
  flex-wrap: nowrap;
  align-items: stretch;
  height: 100vh;
}

@media print, screen and (min-width: 40.625em) {
  .grid-y.medium-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    height: 100vh;
  }
}

@media print, screen and (min-width: 64em) {
  .grid-y.large-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    height: 100vh;
  }
}

.cell .grid-y.grid-frame {
  height: 100%;
}

@media print, screen and (min-width: 40.625em) {
  .cell .grid-y.medium-grid-frame {
    height: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .cell .grid-y.large-grid-frame {
    height: 100%;
  }
}

.grid-margin-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem;
}

@media print, screen and (min-width: 40.625em) {
  .grid-margin-y {
    margin-top: -0.9375rem;
    margin-bottom: -0.9375rem;
  }
}

.grid-margin-y > .cell {
  height: calc(100% - 1.25rem);
  margin-top: 0.625rem;
  margin-bottom: 0.625rem;
}

@media print, screen and (min-width: 40.625em) {
  .grid-margin-y > .cell {
    height: calc(100% - 1.875rem);
    margin-top: 0.9375rem;
    margin-bottom: 0.9375rem;
  }
}

.grid-margin-y > .auto {
  height: auto;
}

.grid-margin-y > .shrink {
  height: auto;
}

.grid-margin-y > .small-1 {
  height: calc(8.33333% - 1.25rem);
}

.grid-margin-y > .small-2 {
  height: calc(16.66667% - 1.25rem);
}

.grid-margin-y > .small-3 {
  height: calc(25% - 1.25rem);
}

.grid-margin-y > .small-4 {
  height: calc(33.33333% - 1.25rem);
}

.grid-margin-y > .small-5 {
  height: calc(41.66667% - 1.25rem);
}

.grid-margin-y > .small-6 {
  height: calc(50% - 1.25rem);
}

.grid-margin-y > .small-7 {
  height: calc(58.33333% - 1.25rem);
}

.grid-margin-y > .small-8 {
  height: calc(66.66667% - 1.25rem);
}

.grid-margin-y > .small-9 {
  height: calc(75% - 1.25rem);
}

.grid-margin-y > .small-10 {
  height: calc(83.33333% - 1.25rem);
}

.grid-margin-y > .small-11 {
  height: calc(91.66667% - 1.25rem);
}

.grid-margin-y > .small-12 {
  height: calc(100% - 1.25rem);
}

@media print, screen and (min-width: 40.625em) {
  .grid-margin-y > .auto {
    height: auto;
  }

  .grid-margin-y > .shrink {
    height: auto;
  }

  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1.875rem);
  }

  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1.875rem);
  }

  .grid-margin-y > .small-3 {
    height: calc(25% - 1.875rem);
  }

  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1.875rem);
  }

  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1.875rem);
  }

  .grid-margin-y > .small-6 {
    height: calc(50% - 1.875rem);
  }

  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1.875rem);
  }

  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1.875rem);
  }

  .grid-margin-y > .small-9 {
    height: calc(75% - 1.875rem);
  }

  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1.875rem);
  }

  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1.875rem);
  }

  .grid-margin-y > .small-12 {
    height: calc(100% - 1.875rem);
  }

  .grid-margin-y > .medium-auto {
    height: auto;
  }

  .grid-margin-y > .medium-shrink {
    height: auto;
  }

  .grid-margin-y > .medium-1 {
    height: calc(8.33333% - 1.875rem);
  }

  .grid-margin-y > .medium-2 {
    height: calc(16.66667% - 1.875rem);
  }

  .grid-margin-y > .medium-3 {
    height: calc(25% - 1.875rem);
  }

  .grid-margin-y > .medium-4 {
    height: calc(33.33333% - 1.875rem);
  }

  .grid-margin-y > .medium-5 {
    height: calc(41.66667% - 1.875rem);
  }

  .grid-margin-y > .medium-6 {
    height: calc(50% - 1.875rem);
  }

  .grid-margin-y > .medium-7 {
    height: calc(58.33333% - 1.875rem);
  }

  .grid-margin-y > .medium-8 {
    height: calc(66.66667% - 1.875rem);
  }

  .grid-margin-y > .medium-9 {
    height: calc(75% - 1.875rem);
  }

  .grid-margin-y > .medium-10 {
    height: calc(83.33333% - 1.875rem);
  }

  .grid-margin-y > .medium-11 {
    height: calc(91.66667% - 1.875rem);
  }

  .grid-margin-y > .medium-12 {
    height: calc(100% - 1.875rem);
  }
}

@media print, screen and (min-width: 64em) {
  .grid-margin-y > .large-auto {
    height: auto;
  }

  .grid-margin-y > .large-shrink {
    height: auto;
  }

  .grid-margin-y > .large-1 {
    height: calc(8.33333% - 1.875rem);
  }

  .grid-margin-y > .large-2 {
    height: calc(16.66667% - 1.875rem);
  }

  .grid-margin-y > .large-3 {
    height: calc(25% - 1.875rem);
  }

  .grid-margin-y > .large-4 {
    height: calc(33.33333% - 1.875rem);
  }

  .grid-margin-y > .large-5 {
    height: calc(41.66667% - 1.875rem);
  }

  .grid-margin-y > .large-6 {
    height: calc(50% - 1.875rem);
  }

  .grid-margin-y > .large-7 {
    height: calc(58.33333% - 1.875rem);
  }

  .grid-margin-y > .large-8 {
    height: calc(66.66667% - 1.875rem);
  }

  .grid-margin-y > .large-9 {
    height: calc(75% - 1.875rem);
  }

  .grid-margin-y > .large-10 {
    height: calc(83.33333% - 1.875rem);
  }

  .grid-margin-y > .large-11 {
    height: calc(91.66667% - 1.875rem);
  }

  .grid-margin-y > .large-12 {
    height: calc(100% - 1.875rem);
  }
}

.grid-frame.grid-margin-y {
  height: calc(100vh + 1.25rem);
}

@media print, screen and (min-width: 40.625em) {
  .grid-frame.grid-margin-y {
    height: calc(100vh + 1.875rem);
  }
}

@media print, screen and (min-width: 64em) {
  .grid-frame.grid-margin-y {
    height: calc(100vh + 1.875rem);
  }
}

@media print, screen and (min-width: 40.625em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 1.875rem);
  }
}

@media print, screen and (min-width: 64em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 1.875rem);
  }
}

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: 700;
  line-height: inherit;
}

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

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  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: 40.625em) {
  h1,
  .h1 {
    font-size: 1.75rem;
  }

  h2,
  .h2 {
    font-size: 1.625rem;
  }

  h3,
  .h3 {
    font-size: 1.5rem;
  }

  h4,
  .h4 {
    font-size: 1.375rem;
  }

  h5,
  .h5 {
    font-size: 1.25rem;
  }

  h6,
  .h6 {
    font-size: 0.875rem;
  }
}

a {
  line-height: inherit;
  color: #ff0000;
  text-decoration: none;
  cursor: pointer;
}

a:hover,
a:focus {
  color: #db0000;
}

a img {
  border: 0;
}

hr {
  clear: both;
  max-width: 75rem;
  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: 700;
}

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;
}

cite {
  display: block;
  font-size: 0.8125rem;
  color: #8a8a8a;
}

cite:before {
  content: "\2014   ";
}

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

figure {
  margin: 0;
}

code {
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: 1px solid #cacaca;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: 400;
  color: #1e1e1e;
}

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

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: 400;
  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;
}

.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: 40.625em) {
  .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: 64em) {
  .large-text-left {
    text-align: left;
  }

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

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

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

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

@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    color: black !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;
  }
}

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.85em 1em;
  border: 1px solid transparent;
  border-radius: 0;
  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;
  background-color: #ff0000;
  color: #ffffff;
}

[data-whatinput='mouse'] .button {
  outline: 0;
}

.button:hover,
.button:focus {
  background-color: #d90000;
  color: #ffffff;
}

.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.primary {
  background-color: #ff0000;
  color: #ffffff;
}

.button.primary:hover,
.button.primary:focus {
  background-color: #cc0000;
  color: #ffffff;
}

.button.secondary {
  background-color: #767676;
  color: #ffffff;
}

.button.secondary:hover,
.button.secondary:focus {
  background-color: #5e5e5e;
  color: #ffffff;
}

.button.success {
  background-color: #3adb76;
  color: #1e1e1e;
}

.button.success:hover,
.button.success:focus {
  background-color: #22bb5b;
  color: #1e1e1e;
}

.button.warning {
  background-color: #ffae00;
  color: #1e1e1e;
}

.button.warning:hover,
.button.warning:focus {
  background-color: #cc8b00;
  color: #1e1e1e;
}

.button.alert {
  background-color: #cc4b37;
  color: #ffffff;
}

.button.alert:hover,
.button.alert:focus {
  background-color: #a53b2a;
  color: #ffffff;
}

.button.disabled,
.button[disabled] {
  opacity: 0.25;
  cursor: not-allowed;
}

.button.disabled,
.button.disabled:hover,
.button.disabled:focus,
.button[disabled],
.button[disabled]:hover,
.button[disabled]:focus {
  background-color: #ff0000;
  color: #ffffff;
}

.button.disabled.primary,
.button[disabled].primary {
  opacity: 0.25;
  cursor: not-allowed;
}

.button.disabled.primary,
.button.disabled.primary:hover,
.button.disabled.primary:focus,
.button[disabled].primary,
.button[disabled].primary:hover,
.button[disabled].primary:focus {
  background-color: #ff0000;
  color: #ffffff;
}

.button.disabled.secondary,
.button[disabled].secondary {
  opacity: 0.25;
  cursor: not-allowed;
}

.button.disabled.secondary,
.button.disabled.secondary:hover,
.button.disabled.secondary:focus,
.button[disabled].secondary,
.button[disabled].secondary:hover,
.button[disabled].secondary:focus {
  background-color: #767676;
  color: #ffffff;
}

.button.disabled.success,
.button[disabled].success {
  opacity: 0.25;
  cursor: not-allowed;
}

.button.disabled.success,
.button.disabled.success:hover,
.button.disabled.success:focus,
.button[disabled].success,
.button[disabled].success:hover,
.button[disabled].success:focus {
  background-color: #3adb76;
  color: #1e1e1e;
}

.button.disabled.warning,
.button[disabled].warning {
  opacity: 0.25;
  cursor: not-allowed;
}

.button.disabled.warning,
.button.disabled.warning:hover,
.button.disabled.warning:focus,
.button[disabled].warning,
.button[disabled].warning:hover,
.button[disabled].warning:focus {
  background-color: #ffae00;
  color: #1e1e1e;
}

.button.disabled.alert,
.button[disabled].alert {
  opacity: 0.25;
  cursor: not-allowed;
}

.button.disabled.alert,
.button.disabled.alert:hover,
.button.disabled.alert:focus,
.button[disabled].alert,
.button[disabled].alert:hover,
.button[disabled].alert:focus {
  background-color: #cc4b37;
  color: #ffffff;
}

.button.hollow {
  border: 1px solid #ff0000;
  color: #ff0000;
}

.button.hollow,
.button.hollow:hover,
.button.hollow:focus {
  background-color: transparent;
}

.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:hover,
.button.hollow:focus {
  border-color: maroon;
  color: maroon;
}

.button.hollow:hover.disabled,
.button.hollow:hover[disabled],
.button.hollow:focus.disabled,
.button.hollow:focus[disabled] {
  border: 1px solid #ff0000;
  color: #ff0000;
}

.button.hollow.primary {
  border: 1px solid #ff0000;
  color: #ff0000;
}

.button.hollow.primary:hover,
.button.hollow.primary:focus {
  border-color: maroon;
  color: maroon;
}

.button.hollow.primary:hover.disabled,
.button.hollow.primary:hover[disabled],
.button.hollow.primary:focus.disabled,
.button.hollow.primary:focus[disabled] {
  border: 1px solid #ff0000;
  color: #ff0000;
}

.button.hollow.secondary {
  border: 1px solid #767676;
  color: #767676;
}

.button.hollow.secondary:hover,
.button.hollow.secondary:focus {
  border-color: #3b3b3b;
  color: #3b3b3b;
}

.button.hollow.secondary:hover.disabled,
.button.hollow.secondary:hover[disabled],
.button.hollow.secondary:focus.disabled,
.button.hollow.secondary:focus[disabled] {
  border: 1px solid #767676;
  color: #767676;
}

.button.hollow.success {
  border: 1px solid #3adb76;
  color: #3adb76;
}

.button.hollow.success:hover,
.button.hollow.success:focus {
  border-color: #157539;
  color: #157539;
}

.button.hollow.success:hover.disabled,
.button.hollow.success:hover[disabled],
.button.hollow.success:focus.disabled,
.button.hollow.success:focus[disabled] {
  border: 1px solid #3adb76;
  color: #3adb76;
}

.button.hollow.warning {
  border: 1px solid #ffae00;
  color: #ffae00;
}

.button.hollow.warning:hover,
.button.hollow.warning:focus {
  border-color: #805700;
  color: #805700;
}

.button.hollow.warning:hover.disabled,
.button.hollow.warning:hover[disabled],
.button.hollow.warning:focus.disabled,
.button.hollow.warning:focus[disabled] {
  border: 1px solid #ffae00;
  color: #ffae00;
}

.button.hollow.alert {
  border: 1px solid #cc4b37;
  color: #cc4b37;
}

.button.hollow.alert:hover,
.button.hollow.alert:focus {
  border-color: #67251a;
  color: #67251a;
}

.button.hollow.alert:hover.disabled,
.button.hollow.alert:hover[disabled],
.button.hollow.alert:focus.disabled,
.button.hollow.alert:focus[disabled] {
  border: 1px solid #cc4b37;
  color: #cc4b37;
}

.button.clear {
  border: 1px solid #ff0000;
  color: #ff0000;
}

.button.clear,
.button.clear:hover,
.button.clear:focus {
  background-color: transparent;
}

.button.clear.disabled,
.button.clear.disabled:hover,
.button.clear.disabled:focus,
.button.clear[disabled],
.button.clear[disabled]:hover,
.button.clear[disabled]:focus {
  background-color: transparent;
}

.button.clear:hover,
.button.clear:focus {
  border-color: maroon;
  color: maroon;
}

.button.clear:hover.disabled,
.button.clear:hover[disabled],
.button.clear:focus.disabled,
.button.clear:focus[disabled] {
  border: 1px solid #ff0000;
  color: #ff0000;
}

.button.clear,
.button.clear.disabled,
.button.clear[disabled],
.button.clear:hover,
.button.clear:hover.disabled,
.button.clear:hover[disabled],
.button.clear:focus,
.button.clear:focus.disabled,
.button.clear:focus[disabled] {
  border-color: transparent;
}

.button.clear.primary {
  border: 1px solid #ff0000;
  color: #ff0000;
}

.button.clear.primary:hover,
.button.clear.primary:focus {
  border-color: maroon;
  color: maroon;
}

.button.clear.primary:hover.disabled,
.button.clear.primary:hover[disabled],
.button.clear.primary:focus.disabled,
.button.clear.primary:focus[disabled] {
  border: 1px solid #ff0000;
  color: #ff0000;
}

.button.clear.primary,
.button.clear.primary.disabled,
.button.clear.primary[disabled],
.button.clear.primary:hover,
.button.clear.primary:hover.disabled,
.button.clear.primary:hover[disabled],
.button.clear.primary:focus,
.button.clear.primary:focus.disabled,
.button.clear.primary:focus[disabled] {
  border-color: transparent;
}

.button.clear.secondary {
  border: 1px solid #767676;
  color: #767676;
}

.button.clear.secondary:hover,
.button.clear.secondary:focus {
  border-color: #3b3b3b;
  color: #3b3b3b;
}

.button.clear.secondary:hover.disabled,
.button.clear.secondary:hover[disabled],
.button.clear.secondary:focus.disabled,
.button.clear.secondary:focus[disabled] {
  border: 1px solid #767676;
  color: #767676;
}

.button.clear.secondary,
.button.clear.secondary.disabled,
.button.clear.secondary[disabled],
.button.clear.secondary:hover,
.button.clear.secondary:hover.disabled,
.button.clear.secondary:hover[disabled],
.button.clear.secondary:focus,
.button.clear.secondary:focus.disabled,
.button.clear.secondary:focus[disabled] {
  border-color: transparent;
}

.button.clear.success {
  border: 1px solid #3adb76;
  color: #3adb76;
}

.button.clear.success:hover,
.button.clear.success:focus {
  border-color: #157539;
  color: #157539;
}

.button.clear.success:hover.disabled,
.button.clear.success:hover[disabled],
.button.clear.success:focus.disabled,
.button.clear.success:focus[disabled] {
  border: 1px solid #3adb76;
  color: #3adb76;
}

.button.clear.success,
.button.clear.success.disabled,
.button.clear.success[disabled],
.button.clear.success:hover,
.button.clear.success:hover.disabled,
.button.clear.success:hover[disabled],
.button.clear.success:focus,
.button.clear.success:focus.disabled,
.button.clear.success:focus[disabled] {
  border-color: transparent;
}

.button.clear.warning {
  border: 1px solid #ffae00;
  color: #ffae00;
}

.button.clear.warning:hover,
.button.clear.warning:focus {
  border-color: #805700;
  color: #805700;
}

.button.clear.warning:hover.disabled,
.button.clear.warning:hover[disabled],
.button.clear.warning:focus.disabled,
.button.clear.warning:focus[disabled] {
  border: 1px solid #ffae00;
  color: #ffae00;
}

.button.clear.warning,
.button.clear.warning.disabled,
.button.clear.warning[disabled],
.button.clear.warning:hover,
.button.clear.warning:hover.disabled,
.button.clear.warning:hover[disabled],
.button.clear.warning:focus,
.button.clear.warning:focus.disabled,
.button.clear.warning:focus[disabled] {
  border-color: transparent;
}

.button.clear.alert {
  border: 1px solid #cc4b37;
  color: #cc4b37;
}

.button.clear.alert:hover,
.button.clear.alert:focus {
  border-color: #67251a;
  color: #67251a;
}

.button.clear.alert:hover.disabled,
.button.clear.alert:hover[disabled],
.button.clear.alert:focus.disabled,
.button.clear.alert:focus[disabled] {
  border: 1px solid #cc4b37;
  color: #cc4b37;
}

.button.clear.alert,
.button.clear.alert.disabled,
.button.clear.alert[disabled],
.button.clear.alert:hover,
.button.clear.alert:hover.disabled,
.button.clear.alert:hover[disabled],
.button.clear.alert:focus,
.button.clear.alert:focus.disabled,
.button.clear.alert:focus[disabled] {
  border-color: transparent;
}

.button.dropdown::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4em;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  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: #ff0000;
}

.button.dropdown.hollow.primary::after,
.button.dropdown.clear.primary::after {
  border-top-color: #ff0000;
}

.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.arrow-only::after {
  top: -0.1em;
  float: none;
  margin-left: 0;
}

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

[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;
  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;
  box-shadow: inset 0 1px 2px rgba(30, 30, 30, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #1e1e1e;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  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;
  box-shadow: 0 0 5px #cacaca;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
}

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'] {
  appearance: none;
  border-radius: 0;
}

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

::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: 400;
  line-height: 1.8;
  color: #1e1e1e;
}

label.middle {
  margin: 0 0 1rem;
  padding: 0.5625rem 0;
}

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

.input-group {
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  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: #1e1e1e;
  text-align: center;
  white-space: nowrap;
  display: flex;
  flex: 0 0 auto;
  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;
  flex: 1 1 0px;
  min-width: 0;
}

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: flex;
  flex: 0 0 auto;
}

.input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  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;
  appearance: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #ffffff;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #1e1e1e;
  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;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
}

@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;
  box-shadow: 0 0 5px #cacaca;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
}

select:disabled {
  background-color: #e6e6e6;
  cursor: not-allowed;
}

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

select[multiple] {
  height: auto;
  background-image: none;
}

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

.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: 700;
  color: #cc4b37;
}

.form-error.is-visible {
  display: block;
}

.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: #ff0000;
}

: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: '\2013';
}

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

: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: inset 6px;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #ff0000 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 {
  transform: rotate(180deg);
  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: inset 6px;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #ff0000 transparent transparent;
  top: 0;
  bottom: 0;
  margin: auto;
}

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

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

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #ff0000;
  color: #ffffff;
}

.badge.primary {
  background: #ff0000;
  color: #ffffff;
}

.badge.secondary {
  background: #767676;
  color: #ffffff;
}

.badge.success {
  background: #3adb76;
  color: #1e1e1e;
}

.badge.warning {
  background: #ffae00;
  color: #1e1e1e;
}

.badge.alert {
  background: #cc4b37;
  color: #ffffff;
}

.breadcrumbs {
  margin: 0 0 1rem 0;
  list-style: none;
}

.breadcrumbs::before,
.breadcrumbs::after {
  display: table;
  content: ' ';
  flex-basis: 0;
  order: 1;
}

.breadcrumbs::after {
  clear: both;
}

.breadcrumbs li {
  float: left;
  font-size: 0.6875rem;
  color: #1e1e1e;
  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: #ff0000;
}

.breadcrumbs a:hover {
  text-decoration: underline;
}

.breadcrumbs .disabled {
  color: #cacaca;
  cursor: not-allowed;
}

.button-group {
  margin-bottom: 1rem;
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
}

.button-group::before,
.button-group::after {
  display: table;
  content: ' ';
  flex-basis: 0;
  order: 1;
}

.button-group::after {
  clear: both;
}

.button-group .button {
  margin: 0;
  margin-right: 1px;
  margin-bottom: 1px;
  font-size: 0.9rem;
  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 {
  flex: 1 1 0px;
}

.button-group.primary .button {
  background-color: #ff0000;
  color: #ffffff;
}

.button-group.primary .button:hover,
.button-group.primary .button:focus {
  background-color: #cc0000;
  color: #ffffff;
}

.button-group.secondary .button {
  background-color: #767676;
  color: #ffffff;
}

.button-group.secondary .button:hover,
.button-group.secondary .button:focus {
  background-color: #5e5e5e;
  color: #ffffff;
}

.button-group.success .button {
  background-color: #3adb76;
  color: #1e1e1e;
}

.button-group.success .button:hover,
.button-group.success .button:focus {
  background-color: #22bb5b;
  color: #1e1e1e;
}

.button-group.warning .button {
  background-color: #ffae00;
  color: #1e1e1e;
}

.button-group.warning .button:hover,
.button-group.warning .button:focus {
  background-color: #cc8b00;
  color: #1e1e1e;
}

.button-group.alert .button {
  background-color: #cc4b37;
  color: #ffffff;
}

.button-group.alert .button:hover,
.button-group.alert .button:focus {
  background-color: #a53b2a;
  color: #ffffff;
}

.button-group.stacked,
.button-group.stacked-for-small,
.button-group.stacked-for-medium {
  flex-wrap: wrap;
}

.button-group.stacked .button,
.button-group.stacked-for-small .button,
.button-group.stacked-for-medium .button {
  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 {
  flex: 1 1 0px;
}

@media print, screen and (min-width: 40.625em) {
  .button-group.stacked-for-small .button {
    flex: 0 0 auto;
    margin-bottom: 0;
  }
}

@media print, screen and (min-width: 64em) {
  .button-group.stacked-for-medium .button {
    flex: 0 0 auto;
    margin-bottom: 0;
  }
}

@media screen and (max-width: 40.62375em) {
  .button-group.stacked-for-small.expanded {
    display: block;
  }

  .button-group.stacked-for-small.expanded .button {
    display: block;
    margin-right: 0;
  }
}

@media screen and (max-width: 63.99875em) {
  .button-group.stacked-for-medium.expanded {
    display: block;
  }

  .button-group.stacked-for-medium.expanded .button {
    display: block;
    margin-right: 0;
  }
}

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(30, 30, 30, 0.25);
  border-radius: 0;
  background-color: white;
  color: #1e1e1e;
}

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

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

.callout.primary {
  background-color: #ffd9d9;
  color: #1e1e1e;
}

.callout.secondary {
  background-color: #eaeaea;
  color: #1e1e1e;
}

.callout.success {
  background-color: #e1faea;
  color: #1e1e1e;
}

.callout.warning {
  background-color: #fff3d9;
  color: #1e1e1e;
}

.callout.alert {
  background-color: #f7e4e1;
  color: #1e1e1e;
}

.callout.small {
  padding-top: 0.5rem;
  padding-right: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.5rem;
}

.callout.large {
  padding-top: 3rem;
  padding-right: 3rem;
  padding-bottom: 3rem;
  padding-left: 3rem;
}

.card {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  margin-bottom: 1rem;
  border: 1px solid #e6e6e6;
  border-radius: 0;
  background: #ffffff;
  box-shadow: none;
  overflow: hidden;
  color: #1e1e1e;
}

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

.card-divider {
  display: flex;
  flex: 0 1 auto;
  padding: 1rem;
  background: #e6e6e6;
}

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

.card-section {
  flex: 1 0 auto;
  padding: 1rem;
}

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

.card-image {
  min-height: 1px;
}

.close-button {
  position: absolute;
  color: #8a8a8a;
  cursor: pointer;
}

[data-whatinput='mouse'] .close-button {
  outline: 0;
}

.close-button:hover,
.close-button:focus {
  color: #1e1e1e;
}

.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;
}

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: flex;
  flex-wrap: wrap;
}

[data-whatinput='mouse'] .menu li {
  outline: 0;
}

.menu a,
.menu .button {
  line-height: 1;
  text-decoration: none;
  display: block;
  padding: 0.7rem 1rem;
}

.menu input,
.menu select,
.menu a,
.menu button {
  margin-bottom: 0;
}

.menu input {
  display: inline-block;
}

.menu,
.menu.horizontal {
  flex-wrap: wrap;
  flex-direction: row;
}

.menu.vertical {
  flex-wrap: nowrap;
  flex-direction: column;
}

.menu.expanded li {
  flex: 1 1 0px;
}

.menu.simple {
  align-items: center;
}

.menu.simple li + li {
  margin-left: 1rem;
}

.menu.simple a {
  padding: 0;
}

@media print, screen and (min-width: 40.625em) {
  .menu.medium-horizontal {
    flex-wrap: wrap;
    flex-direction: row;
  }

  .menu.medium-vertical {
    flex-wrap: nowrap;
    flex-direction: column;
  }

  .menu.medium-expanded li {
    flex: 1 1 0px;
  }

  .menu.medium-simple li {
    flex: 1 1 0px;
  }
}

@media print, screen and (min-width: 64em) {
  .menu.large-horizontal {
    flex-wrap: wrap;
    flex-direction: row;
  }

  .menu.large-vertical {
    flex-wrap: nowrap;
    flex-direction: column;
  }

  .menu.large-expanded li {
    flex: 1 1 0px;
  }

  .menu.large-simple li {
    flex: 1 1 0px;
  }
}

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

.menu.icons a {
  display: flex;
}

.menu.icon-top a,
.menu.icon-right a,
.menu.icon-bottom a,
.menu.icon-left a {
  display: flex;
}

.menu.icon-left li a {
  flex-flow: row nowrap;
}

.menu.icon-left li a img,
.menu.icon-left li a i,
.menu.icon-left li a svg {
  margin-right: 0.25rem;
}

.menu.icon-right li a {
  flex-flow: row nowrap;
}

.menu.icon-right li a img,
.menu.icon-right li a i,
.menu.icon-right li a svg {
  margin-left: 0.25rem;
}

.menu.icon-top li a {
  flex-flow: column nowrap;
}

.menu.icon-top li a img,
.menu.icon-top li a i,
.menu.icon-top li a svg {
  align-self: stretch;
  margin-bottom: 0.25rem;
  text-align: center;
}

.menu.icon-bottom li a {
  flex-flow: column nowrap;
}

.menu.icon-bottom li a img,
.menu.icon-bottom li a i,
.menu.icon-bottom li a svg {
  align-self: stretch;
  margin-bottom: 0.25rem;
  text-align: center;
}

.menu .is-active > a {
  background: #ff0000;
  color: #ffffff;
}

.menu .active > a {
  background: #ff0000;
  color: #ffffff;
}

.menu.align-left {
  justify-content: flex-start;
}

.menu.align-right li {
  display: flex;
  justify-content: flex-end;
}

.menu.align-right li .submenu li {
  justify-content: flex-start;
}

.menu.align-right.vertical li {
  display: block;
  text-align: right;
}

.menu.align-right.vertical li .submenu li {
  text-align: right;
}

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

.menu.align-center li {
  display: flex;
  justify-content: center;
}

.menu.align-center li .submenu li {
  justify-content: flex-start;
}

.menu .menu-text {
  padding: 0.7rem 1rem;
  font-weight: bold;
  line-height: 1;
  color: inherit;
}

.menu-centered > .menu {
  justify-content: center;
}

.menu-centered > .menu li {
  display: flex;
  justify-content: center;
}

.menu-centered > .menu li .submenu li {
  justify-content: flex-start;
}

.no-js [data-responsive-menu] ul {
  display: none;
}

.menu-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer;
}

.menu-icon::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  background: #ffffff;
  box-shadow: 0 7px 0 #ffffff, 0 14px 0 #ffffff;
  content: '';
}

.menu-icon:hover::after {
  background: #cacaca;
  box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca;
}

.menu-icon.dark {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer;
}

.menu-icon.dark::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  background: #1e1e1e;
  box-shadow: 0 7px 0 #1e1e1e, 0 14px 0 #1e1e1e;
  content: '';
}

.menu-icon.dark:hover::after {
  background: #8a8a8a;
  box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a;
}

.is-drilldown {
  position: relative;
  overflow: hidden;
}

.is-drilldown li {
  display: block;
}

.is-drilldown.animate-height {
  transition: height 0.5s;
}

.drilldown a {
  padding: 0.7rem 1rem;
  background: #ffffff;
}

.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #ffffff;
  transition: transform 0.15s linear;
}

.drilldown .is-drilldown-submenu.is-active {
  z-index: 1;
  display: block;
  transform: translateX(-100%);
}

.drilldown .is-drilldown-submenu.is-closing {
  transform: translateX(100%);
}

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

.drilldown .nested.is-drilldown-submenu {
  margin-right: 0;
  margin-left: 0;
}

.drilldown .drilldown-submenu-cover-previous {
  min-height: 100%;
}

.drilldown .is-drilldown-submenu-parent > a {
  position: relative;
}

.drilldown .is-drilldown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #ff0000;
  position: absolute;
  top: 50%;
  margin-top: -6px;
  right: 1rem;
}

.drilldown.align-left .is-drilldown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #ff0000;
  right: 1rem;
  left: auto;
}

.drilldown.align-right .is-drilldown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #ff0000 transparent transparent;
  right: auto;
  left: 1rem;
}

.drilldown .js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #ff0000 transparent transparent;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem;
}

.dropdown-pane {
  position: absolute;
  z-index: 10;
  display: none;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #ffffff;
  font-size: 1rem;
}

.dropdown-pane.is-opening {
  display: block;
}

.dropdown-pane.is-open {
  display: block;
  visibility: visible;
}

.dropdown-pane.tiny {
  width: 100px;
}

.dropdown-pane.small {
  width: 200px;
}

.dropdown-pane.large {
  width: 400px;
}

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  top: 100%;
  right: 0;
  left: auto;
}

.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  top: 100%;
  right: auto;
  left: 0;
}

.dropdown.menu > li.is-dropdown-submenu-parent > a {
  position: relative;
  padding-right: 1.5rem;
}

.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #ff0000 transparent transparent;
  right: 5px;
  left: auto;
  margin-top: -3px;
}

[data-whatinput='mouse'] .dropdown.menu a {
  outline: 0;
}

.dropdown.menu > li > a {
  background: #ffffff;
  padding: 0.7rem 1rem;
}

.dropdown.menu > li.is-active > a {
  background: transparent;
  color: #ff0000;
}

.no-js .dropdown.menu ul {
  display: none;
}

.dropdown.menu .nested.is-dropdown-submenu {
  margin-right: 0;
  margin-left: 0;
}

.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0;
}

.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  top: 0;
  right: 100%;
  left: auto;
}

.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%;
}

.dropdown.menu.vertical > li > a::after {
  right: 14px;
}

.dropdown.menu.vertical > li.opens-left > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #ff0000 transparent transparent;
  right: auto;
  left: 5px;
}

.dropdown.menu.vertical > li.opens-right > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #ff0000;
}

@media print, screen and (min-width: 40.625em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }

  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }

  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }

  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #ff0000 transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px;
  }

  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0;
  }

  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto;
  }

  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }

  .dropdown.menu.medium-vertical > li > a::after {
    right: 14px;
  }

  .dropdown.menu.medium-vertical > li.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #ff0000 transparent transparent;
    right: auto;
    left: 5px;
  }

  .dropdown.menu.medium-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #ff0000;
  }
}

@media print, screen and (min-width: 64em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }

  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }

  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }

  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #ff0000 transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px;
  }

  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0;
  }

  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto;
  }

  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }

  .dropdown.menu.large-vertical > li > a::after {
    right: 14px;
  }

  .dropdown.menu.large-vertical > li.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #ff0000 transparent transparent;
    right: auto;
    left: 5px;
  }

  .dropdown.menu.large-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #ff0000;
  }
}

.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto;
}

.is-dropdown-menu.vertical {
  width: 100px;
}

.is-dropdown-menu.vertical.align-right {
  float: right;
}

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

.is-dropdown-submenu-parent a::after {
  position: absolute;
  top: 50%;
  right: 5px;
  left: auto;
  margin-top: -6px;
}

.is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
  top: 100%;
  left: auto;
}

.is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
  right: 100%;
  left: auto;
}

.is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%;
}

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 200px;
  border: 1px solid #cacaca;
  background: #ffffff;
}

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

.is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
  right: 14px;
}

.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #ff0000 transparent transparent;
  right: auto;
  left: 5px;
}

.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #ff0000;
}

.is-dropdown-submenu .is-dropdown-submenu {
  margin-top: -1px;
}

.is-dropdown-submenu > li {
  width: 100%;
}

.is-dropdown-submenu.js-dropdown-active {
  display: block;
}

.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%;
}

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 0;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #ff0000;
  color: #ffffff;
}

.label.primary {
  background: #ff0000;
  color: #ffffff;
}

.label.secondary {
  background: #767676;
  color: #ffffff;
}

.label.success {
  background: #3adb76;
  color: #1e1e1e;
}

.label.warning {
  background: #ffae00;
  color: #1e1e1e;
}

.label.alert {
  background: #cc4b37;
  color: #ffffff;
}

.media-object {
  display: flex;
  margin-bottom: 1rem;
  flex-wrap: nowrap;
}

.media-object img {
  max-width: none;
}

@media screen and (max-width: 40.62375em) {
  .media-object.stack-for-small {
    flex-wrap: wrap;
  }
}

.media-object-section {
  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 screen and (max-width: 40.62375em) {
  .stack-for-small .media-object-section {
    padding: 0;
    padding-bottom: 1rem;
    flex-basis: 100%;
    max-width: 100%;
  }

  .stack-for-small .media-object-section img {
    width: 100%;
  }
}

.media-object-section.main-section {
  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%;
  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;
  transition: transform 0.5s ease;
  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 {
  box-shadow: 0 0 10px rgba(30, 30, 30, 0.7);
}

.off-canvas.is-open {
  transform: translate(0, 0);
}

.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  transition: transform 0.5s ease;
  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 {
  box-shadow: 0 0 10px rgba(30, 30, 30, 0.7);
}

.off-canvas-absolute.is-open {
  transform: translate(0, 0);
}

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  width: 300px;
  transform: translateX(-300px);
}

@media print, screen and (min-width: 40.625em) {
  .position-left {
    width: 420px;
    transform: translateX(-420px);
  }
}

.off-canvas-content .off-canvas.position-left {
  transform: translateX(-300px);
}

@media print, screen and (min-width: 40.625em) {
  .off-canvas-content .off-canvas.position-left {
    transform: translateX(-420px);
  }
}

.off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
  transform: translate(0, 0);
}

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

@media print, screen and (min-width: 40.625em) {
  .off-canvas-content.is-open-left.has-transition-push {
    transform: translateX(420px);
  }
}

.position-left.is-transition-push {
  box-shadow: inset -13px 0 20px -13px rgba(30, 30, 30, 0.25);
}

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  width: 300px;
  transform: translateX(300px);
}

@media print, screen and (min-width: 40.625em) {
  .position-right {
    width: 420px;
    transform: translateX(420px);
  }
}

.off-canvas-content .off-canvas.position-right {
  transform: translateX(300px);
}

@media print, screen and (min-width: 40.625em) {
  .off-canvas-content .off-canvas.position-right {
    transform: translateX(420px);
  }
}

.off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
  transform: translate(0, 0);
}

.off-canvas-content.is-open-right.has-transition-push {
  transform: translateX(-300px);
}

@media print, screen and (min-width: 40.625em) {
  .off-canvas-content.is-open-right.has-transition-push {
    transform: translateX(-420px);
  }
}

.position-right.is-transition-push {
  box-shadow: inset 13px 0 20px -13px rgba(30, 30, 30, 0.25);
}

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  transform: translateY(-250px);
}

.off-canvas-content .off-canvas.position-top {
  transform: translateY(-250px);
}

.off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
  transform: translate(0, 0);
}

.off-canvas-content.is-open-top.has-transition-push {
  transform: translateY(250px);
}

.position-top.is-transition-push {
  box-shadow: inset 0 -13px 20px -13px rgba(30, 30, 30, 0.25);
}

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  transform: translateY(250px);
}

.off-canvas-content .off-canvas.position-bottom {
  transform: translateY(250px);
}

.off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
  transform: translate(0, 0);
}

.off-canvas-content.is-open-bottom.has-transition-push {
  transform: translateY(-250px);
}

.position-bottom.is-transition-push {
  box-shadow: inset 0 13px 20px -13px rgba(30, 30, 30, 0.25);
}

.off-canvas-content {
  transform: none;
  transition: transform 0.5s ease;
  backface-visibility: hidden;
}

.off-canvas-content.has-transition-push {
  transform: translate(0, 0);
}

.off-canvas-content .off-canvas.is-open {
  transform: translate(0, 0);
}

@media print, screen and (min-width: 40.625em) {
  .position-left.reveal-for-medium {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }

  .position-left.reveal-for-medium .close-button {
    display: none;
  }

  .off-canvas-content .position-left.reveal-for-medium {
    transform: none;
  }

  .off-canvas-content.has-reveal-left {
    margin-left: 420px;
  }

  .position-left.reveal-for-medium ~ .off-canvas-content {
    margin-left: 420px;
  }

  .position-right.reveal-for-medium {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }

  .position-right.reveal-for-medium .close-button {
    display: none;
  }

  .off-canvas-content .position-right.reveal-for-medium {
    transform: none;
  }

  .off-canvas-content.has-reveal-right {
    margin-right: 420px;
  }

  .position-right.reveal-for-medium ~ .off-canvas-content {
    margin-right: 420px;
  }

  .position-top.reveal-for-medium {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }

  .position-top.reveal-for-medium .close-button {
    display: none;
  }

  .off-canvas-content .position-top.reveal-for-medium {
    transform: none;
  }

  .off-canvas-content.has-reveal-top {
    margin-top: 420px;
  }

  .position-top.reveal-for-medium ~ .off-canvas-content {
    margin-top: 420px;
  }

  .position-bottom.reveal-for-medium {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }

  .position-bottom.reveal-for-medium .close-button {
    display: none;
  }

  .off-canvas-content .position-bottom.reveal-for-medium {
    transform: none;
  }

  .off-canvas-content.has-reveal-bottom {
    margin-bottom: 420px;
  }

  .position-bottom.reveal-for-medium ~ .off-canvas-content {
    margin-bottom: 420px;
  }
}

@media print, screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }

  .position-left.reveal-for-large .close-button {
    display: none;
  }

  .off-canvas-content .position-left.reveal-for-large {
    transform: none;
  }

  .off-canvas-content.has-reveal-left {
    margin-left: 420px;
  }

  .position-left.reveal-for-large ~ .off-canvas-content {
    margin-left: 420px;
  }

  .position-right.reveal-for-large {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }

  .position-right.reveal-for-large .close-button {
    display: none;
  }

  .off-canvas-content .position-right.reveal-for-large {
    transform: none;
  }

  .off-canvas-content.has-reveal-right {
    margin-right: 420px;
  }

  .position-right.reveal-for-large ~ .off-canvas-content {
    margin-right: 420px;
  }

  .position-top.reveal-for-large {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }

  .position-top.reveal-for-large .close-button {
    display: none;
  }

  .off-canvas-content .position-top.reveal-for-large {
    transform: none;
  }

  .off-canvas-content.has-reveal-top {
    margin-top: 420px;
  }

  .position-top.reveal-for-large ~ .off-canvas-content {
    margin-top: 420px;
  }

  .position-bottom.reveal-for-large {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }

  .position-bottom.reveal-for-large .close-button {
    display: none;
  }

  .off-canvas-content .position-bottom.reveal-for-large {
    transform: none;
  }

  .off-canvas-content.has-reveal-bottom {
    margin-bottom: 420px;
  }

  .position-bottom.reveal-for-large ~ .off-canvas-content {
    margin-bottom: 420px;
  }
}

@media print, screen and (min-width: 40.625em) {
  .off-canvas.in-canvas-for-medium {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    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 {
    box-shadow: none;
    transform: none;
  }

  .off-canvas.in-canvas-for-medium .close-button {
    display: none;
  }
}

@media print, screen and (min-width: 64em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    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 {
    box-shadow: none;
    transform: none;
  }

  .off-canvas.in-canvas-for-large .close-button {
    display: none;
  }
}

.orbit {
  position: relative;
}

.orbit-container {
  position: relative;
  height: 0;
  margin: 0;
  list-style: none;
  overflow: hidden;
}

.orbit-slide {
  width: 100%;
  position: absolute;
}

.orbit-slide.no-motionui.is-active {
  top: 0;
  left: 0;
}

.orbit-figure {
  margin: 0;
}

.orbit-image {
  width: 100%;
  max-width: 100%;
  margin: 0;
}

.orbit-caption {
  position: absolute;
  bottom: 0;
  width: 100%;
  margin-bottom: 0;
  padding: 1rem;
  background-color: rgba(30, 30, 30, 0.5);
  color: #ffffff;
}

.orbit-previous,
.orbit-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #ffffff;
}

[data-whatinput='mouse'] .orbit-previous,
[data-whatinput='mouse'] .orbit-next {
  outline: 0;
}

.orbit-previous:hover,
.orbit-next:hover,
.orbit-previous:active,
.orbit-next:active,
.orbit-previous:focus,
.orbit-next:focus {
  background-color: rgba(30, 30, 30, 0.5);
}

.orbit-previous {
  left: 0;
}

.orbit-next {
  left: auto;
  right: 0;
}

.orbit-bullets {
  position: relative;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  text-align: center;
}

[data-whatinput='mouse'] .orbit-bullets {
  outline: 0;
}

.orbit-bullets button {
  width: 1.2rem;
  height: 1.2rem;
  margin: 0.1rem;
  border-radius: 50%;
  background-color: #cacaca;
}

.orbit-bullets button:hover {
  background-color: #8a8a8a;
}

.orbit-bullets button.is-active {
  background-color: #8a8a8a;
}

.pagination {
  margin-left: 0;
  margin-bottom: 1rem;
}

.pagination::before,
.pagination::after {
  display: table;
  content: ' ';
  flex-basis: 0;
  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: 40.625em) {
  .pagination li {
    display: inline-block;
  }
}

.pagination a,
.pagination button {
  display: block;
  padding: 0.1875rem 0.625rem;
  border-radius: 0;
  color: #1e1e1e;
}

.pagination a:hover,
.pagination button:hover {
  background: #e6e6e6;
}

.pagination .current {
  padding: 0.1875rem 0.625rem;
  background: #ff0000;
  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: #1e1e1e;
}

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

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

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0;
  background-color: #cacaca;
}

.progress.primary .progress-meter {
  background-color: #ff0000;
}

.progress.secondary .progress-meter {
  background-color: #767676;
}

.progress.success .progress-meter {
  background-color: #3adb76;
}

.progress.warning .progress-meter {
  background-color: #ffae00;
}

.progress.alert .progress-meter {
  background-color: #cc4b37;
}

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #ff0000;
}

.progress-meter-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  font-size: 0.75rem;
  font-weight: bold;
  color: #ffffff;
  white-space: nowrap;
}

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #e6e6e6;
  cursor: pointer;
  user-select: none;
  touch-action: none;
}

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.5rem;
  background-color: #cacaca;
  transition: all 0.2s ease-in-out;
}

.slider-fill.is-dragging {
  transition: all 0s linear;
}

.slider-handle {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 0;
  background-color: #ff0000;
  transition: all 0.2s ease-in-out;
  touch-action: manipulation;
}

[data-whatinput='mouse'] .slider-handle {
  outline: 0;
}

.slider-handle:hover {
  background-color: #d90000;
}

.slider-handle.is-dragging {
  transition: all 0s linear;
}

.slider.disabled,
.slider[disabled] {
  opacity: 0.25;
  cursor: not-allowed;
}

.slider.vertical {
  display: inline-block;
  width: 0.5rem;
  height: 12.5rem;
  margin: 0 1.25rem;
  transform: scale(1, -1);
}

.slider.vertical .slider-fill {
  top: 0;
  width: 0.5rem;
  max-height: 100%;
}

.slider.vertical .slider-handle {
  position: absolute;
  top: 0;
  left: 50%;
  width: 1.4rem;
  height: 1.4rem;
  transform: translateX(-50%);
}

.sticky-container {
  position: relative;
}

.sticky {
  position: relative;
  z-index: 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;
}

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(30, 30, 30, 0.45);
  overflow-y: auto;
}

.reveal {
  z-index: 1006;
  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;
}

[data-whatinput='mouse'] .reveal {
  outline: 0;
}

@media print, screen and (min-width: 40.625em) {
  .reveal {
    min-height: 0;
  }
}

.reveal .column,
.reveal .columns {
  min-width: 0;
}

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

@media print, screen and (min-width: 40.625em) {
  .reveal {
    width: 600px;
    max-width: 75rem;
  }
}

.reveal.collapse {
  padding: 0;
}

@media print, screen and (min-width: 40.625em) {
  .reveal.tiny {
    width: 30%;
    max-width: 75rem;
  }
}

@media print, screen and (min-width: 40.625em) {
  .reveal.small {
    width: 50%;
    max-width: 75rem;
  }
}

@media print, screen and (min-width: 40.625em) {
  .reveal.large {
    width: 90%;
    max-width: 75rem;
  }
}

.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 screen and (max-width: 40.62375em) {
  .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;
}

.switch {
  height: 2rem;
  position: relative;
  margin-bottom: 1rem;
  outline: 0;
  font-size: 0.875rem;
  font-weight: bold;
  color: #ffffff;
  user-select: none;
}

.switch-input {
  position: absolute;
  margin-bottom: 0;
  opacity: 0;
}

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 0;
  background: #cacaca;
  transition: all 0.25s ease-out;
  font-weight: inherit;
  color: inherit;
  cursor: pointer;
}

input + .switch-paddle {
  margin: 0;
}

.switch-paddle::after {
  position: absolute;
  top: 0.25rem;
  left: 0.25rem;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  transform: translate3d(0, 0, 0);
  border-radius: 0;
  background: #ffffff;
  transition: all 0.25s ease-out;
  content: '';
}

input:checked ~ .switch-paddle {
  background: #ff0000;
}

input:checked ~ .switch-paddle::after {
  left: 2.25rem;
}

[data-whatinput='mouse'] input:focus ~ .switch-paddle {
  outline: 0;
}

.switch-active,
.switch-inactive {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.switch-active {
  left: 8%;
  display: none;
}

input:checked + label > .switch-active {
  display: block;
}

.switch-inactive {
  right: 15%;
}

input:checked + label > .switch-inactive {
  display: none;
}

.switch.tiny {
  height: 1.5rem;
}

.switch.tiny .switch-paddle {
  width: 3rem;
  height: 1.5rem;
  font-size: 0.625rem;
}

.switch.tiny .switch-paddle::after {
  top: 0.25rem;
  left: 0.25rem;
  width: 1rem;
  height: 1rem;
}

.switch.tiny input:checked ~ .switch-paddle::after {
  left: 1.75rem;
}

.switch.small {
  height: 1.75rem;
}

.switch.small .switch-paddle {
  width: 3.5rem;
  height: 1.75rem;
  font-size: 0.75rem;
}

.switch.small .switch-paddle::after {
  top: 0.25rem;
  left: 0.25rem;
  width: 1.25rem;
  height: 1.25rem;
}

.switch.small input:checked ~ .switch-paddle::after {
  left: 2rem;
}

.switch.large {
  height: 2.5rem;
}

.switch.large .switch-paddle {
  width: 5rem;
  height: 2.5rem;
  font-size: 1rem;
}

.switch.large .switch-paddle::after {
  top: 0.25rem;
  left: 0.25rem;
  width: 2rem;
  height: 2rem;
}

.switch.large input:checked ~ .switch-paddle::after {
  left: 2.75rem;
}

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: 700;
}

thead {
  background: #f9f9f9;
  color: #1e1e1e;
}

tfoot {
  background: #f2f2f2;
  color: #1e1e1e;
}

thead tr,
tfoot tr {
  background: transparent;
}

thead th,
thead td,
tfoot th,
tfoot td {
  padding: 0.5rem 0.625rem 0.625rem;
  font-weight: 700;
  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: 0;
  border-bottom: 1px solid #f2f2f2;
  background-color: #ffffff;
}

@media screen and (max-width: 63.99875em) {
  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: ' ';
  flex-basis: 0;
  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: #ff0000;
}

.tabs.primary > li > a {
  color: #ffffff;
}

.tabs.primary > li > a:hover,
.tabs.primary > li > a:focus {
  background: #f20000;
}

.tabs-title {
  float: left;
}

.tabs-title > a {
  display: block;
  padding: 1.25rem 1.5rem;
  font-size: 0.75rem;
  line-height: 1;
  color: #ff0000;
}

[data-whatinput='mouse'] .tabs-title > a {
  outline: 0;
}

.tabs-title > a:hover {
  background: #ffffff;
  color: #db0000;
}

.tabs-title > a:focus,
.tabs-title > a[aria-selected='true'] {
  background: #e6e6e6;
  color: #ff0000;
}

.tabs-content {
  border: 1px solid #e6e6e6;
  border-top: 0;
  background: #ffffff;
  color: #1e1e1e;
  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;
}

.thumbnail {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 1rem;
  border: solid 4px #ffffff;
  border-radius: 0;
  box-shadow: 0 0 0 1px rgba(30, 30, 30, 0.2);
  line-height: 0;
}

a.thumbnail {
  transition: box-shadow 200ms ease-out;
}

a.thumbnail:hover,
a.thumbnail:focus {
  box-shadow: 0 0 6px 1px rgba(255, 0, 0, 0.5);
}

a.thumbnail image {
  box-shadow: none;
}

.title-bar {
  padding: 0.5rem;
  background: #1e1e1e;
  color: #ffffff;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.title-bar .menu-icon {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}

.title-bar-left,
.title-bar-right {
  flex: 1 1 0px;
}

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

.title-bar-title {
  display: inline-block;
  vertical-align: middle;
  font-weight: bold;
}

.has-tip {
  position: relative;
  display: inline-block;
  border-bottom: dotted 1px #8a8a8a;
  font-weight: 700;
  cursor: help;
}

.tooltip {
  position: absolute;
  top: calc(100% + 0.6495rem);
  z-index: 1200;
  max-width: 10rem;
  padding: 0.75rem;
  border-radius: 0;
  background-color: #1e1e1e;
  font-size: 80%;
  color: #ffffff;
}

.tooltip::before {
  position: absolute;
}

.tooltip.bottom::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.75rem;
  content: '';
  border-top-width: 0;
  border-bottom-style: solid;
  border-color: transparent transparent #1e1e1e;
  bottom: 100%;
}

.tooltip.bottom.align-center::before {
  left: 50%;
  transform: translateX(-50%);
}

.tooltip.top::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.75rem;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #1e1e1e transparent transparent;
  top: 100%;
  bottom: auto;
}

.tooltip.top.align-center::before {
  left: 50%;
  transform: translateX(-50%);
}

.tooltip.left::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.75rem;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #1e1e1e;
  left: 100%;
}

.tooltip.left.align-center::before {
  bottom: auto;
  top: 50%;
  transform: translateY(-50%);
}

.tooltip.right::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.75rem;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #1e1e1e transparent transparent;
  right: 100%;
  left: auto;
}

.tooltip.right.align-center::before {
  bottom: auto;
  top: 50%;
  transform: translateY(-50%);
}

.tooltip.align-top::before {
  bottom: auto;
  top: 10%;
}

.tooltip.align-bottom::before {
  bottom: 10%;
  top: auto;
}

.tooltip.align-left::before {
  left: 10%;
  right: auto;
}

.tooltip.align-right::before {
  left: auto;
  right: 10%;
}

.top-bar {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem;
  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 {
  flex: 0 0 100%;
  max-width: 100%;
}

@media print, screen and (min-width: 40.625em) {
  .top-bar {
    flex-wrap: nowrap;
  }

  .top-bar .top-bar-left {
    flex: 1 1 auto;
    margin-right: auto;
  }

  .top-bar .top-bar-right {
    flex: 0 1 auto;
    margin-left: auto;
  }
}

@media screen and (max-width: 63.99875em) {
  .top-bar.stacked-for-medium {
    flex-wrap: wrap;
  }

  .top-bar.stacked-for-medium .top-bar-left,
  .top-bar.stacked-for-medium .top-bar-right {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

@media screen and (max-width: 74.99875em) {
  .top-bar.stacked-for-large {
    flex-wrap: wrap;
  }

  .top-bar.stacked-for-large .top-bar-left,
  .top-bar.stacked-for-large .top-bar-right {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

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

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

.hide {
  display: none !important;
}

.invisible {
  visibility: hidden;
}

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

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

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

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

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

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

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

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

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

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

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

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

.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;
  }
}

.align-left {
  justify-content: flex-start;
}

.align-right {
  justify-content: flex-end;
}

.align-center {
  justify-content: center;
}

.align-justify {
  justify-content: space-between;
}

.align-spaced {
  justify-content: space-around;
}

.align-left.vertical.menu > li > a {
  justify-content: flex-start;
}

.align-right.vertical.menu > li > a {
  justify-content: flex-end;
}

.align-center.vertical.menu > li > a {
  justify-content: center;
}

.align-top {
  align-items: flex-start;
}

.align-self-top {
  align-self: flex-start;
}

.align-bottom {
  align-items: flex-end;
}

.align-self-bottom {
  align-self: flex-end;
}

.align-middle {
  align-items: center;
}

.align-self-middle {
  align-self: center;
}

.align-stretch {
  align-items: stretch;
}

.align-self-stretch {
  align-self: stretch;
}

.align-center-middle {
  justify-content: center;
  align-items: center;
  align-content: center;
}

.small-order-1 {
  order: 1;
}

.small-order-2 {
  order: 2;
}

.small-order-3 {
  order: 3;
}

.small-order-4 {
  order: 4;
}

.small-order-5 {
  order: 5;
}

.small-order-6 {
  order: 6;
}

@media print, screen and (min-width: 40.625em) {
  .medium-order-1 {
    order: 1;
  }

  .medium-order-2 {
    order: 2;
  }

  .medium-order-3 {
    order: 3;
  }

  .medium-order-4 {
    order: 4;
  }

  .medium-order-5 {
    order: 5;
  }

  .medium-order-6 {
    order: 6;
  }
}

@media print, screen and (min-width: 64em) {
  .large-order-1 {
    order: 1;
  }

  .large-order-2 {
    order: 2;
  }

  .large-order-3 {
    order: 3;
  }

  .large-order-4 {
    order: 4;
  }

  .large-order-5 {
    order: 5;
  }

  .large-order-6 {
    order: 6;
  }
}

.flex-container {
  display: flex;
}

.flex-child-auto {
  flex: 1 1 auto;
}

.flex-child-grow {
  flex: 1 0 auto;
}

.flex-child-shrink {
  flex: 0 1 auto;
}

.flex-dir-row {
  flex-direction: row;
}

.flex-dir-row-reverse {
  flex-direction: row-reverse;
}

.flex-dir-column {
  flex-direction: column;
}

.flex-dir-column-reverse {
  flex-direction: column-reverse;
}

@media print, screen and (min-width: 40.625em) {
  .medium-flex-container {
    display: flex;
  }

  .medium-flex-child-auto {
    flex: 1 1 auto;
  }

  .medium-flex-child-grow {
    flex: 1 0 auto;
  }

  .medium-flex-child-shrink {
    flex: 0 1 auto;
  }

  .medium-flex-dir-row {
    flex-direction: row;
  }

  .medium-flex-dir-row-reverse {
    flex-direction: row-reverse;
  }

  .medium-flex-dir-column {
    flex-direction: column;
  }

  .medium-flex-dir-column-reverse {
    flex-direction: column-reverse;
  }
}

@media print, screen and (min-width: 64em) {
  .large-flex-container {
    display: flex;
  }

  .large-flex-child-auto {
    flex: 1 1 auto;
  }

  .large-flex-child-grow {
    flex: 1 0 auto;
  }

  .large-flex-child-shrink {
    flex: 0 1 auto;
  }

  .large-flex-dir-row {
    flex-direction: row;
  }

  .large-flex-dir-row-reverse {
    flex-direction: row-reverse;
  }

  .large-flex-dir-column {
    flex-direction: column;
  }

  .large-flex-dir-column-reverse {
    flex-direction: column-reverse;
  }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    transform: translateX(7%);
  }

  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    transform: translateX(-7%);
  }
}

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

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

  100% {
    transform: rotate(0);
  }
}

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

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

  100% {
    transform: rotate(1turn);
  }
}

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

@keyframes wiggle-7deg {
  40%, 50%, 60% {
    transform: rotate(7deg);
  }

  35%, 45%, 55%, 65% {
    transform: rotate(-7deg);
  }

  0%, 30%, 70%, 100% {
    transform: rotate(0);
  }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */

/* FONT PATH
 * -------------------------- */

@font-face {
  font-family: 'FontAwesome';
  src: url(/build/fonts/fontawesome-webfont.674f50d2.eot);
  src: url(/build/fonts/fontawesome-webfont.674f50d2.eot) format("embedded-opentype"), url(/build/fonts/fontawesome-webfont.af7ae505.woff2) format("woff2"), url(/build/fonts/fontawesome-webfont.fee66e71.woff) format("woff"), url(/build/fonts/fontawesome-webfont.b06871f2.ttf) format("truetype"), url(/build/images/fontawesome-webfont.912ec66d.svg) format("svg");
  font-weight: normal;
  font-style: normal;
}

.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* makes the font 33% larger relative to the icon container */

.fa-lg {
  font-size: 1.33333em;
  line-height: 0.75em;
  vertical-align: -15%;
}

.fa-2x {
  font-size: 2em;
}

.fa-3x {
  font-size: 3em;
}

.fa-4x {
  font-size: 4em;
}

.fa-5x {
  font-size: 5em;
}

.fa-fw {
  width: 1.28571em;
  text-align: center;
}

.fa-ul {
  padding-left: 0;
  margin-left: 2.14286em;
  list-style-type: none;
}

.fa-ul > li {
  position: relative;
}

.fa-li {
  position: absolute;
  left: -2.14286em;
  width: 2.14286em;
  top: 0.14286em;
  text-align: center;
}

.fa-li.fa-lg {
  left: -1.85714em;
}

.fa-border {
  padding: .2em .25em .15em;
  border: solid 0.08em #eee;
  border-radius: .1em;
}

.fa-pull-left {
  float: left;
}

.fa-pull-right {
  float: right;
}

.fa.fa-pull-left {
  margin-right: .3em;
}

.fa.fa-pull-right {
  margin-left: .3em;
}

/* Deprecated as of 4.4.0 */

.pull-right {
  float: right;
}

.pull-left {
  float: left;
}

.fa.pull-left {
  margin-right: .3em;
}

.fa.pull-right {
  margin-left: .3em;
}

.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear;
}

.fa-pulse {
  -webkit-animation: fa-spin 1s infinite steps(8);
  animation: fa-spin 1s infinite steps(8);
}

@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}

@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}

.fa-rotate-90 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.fa-rotate-180 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.fa-rotate-270 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}

.fa-flip-horizontal {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1);
}

:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  filter: none;
}

.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}

.fa-stack-1x,
.fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}

.fa-stack-1x {
  line-height: inherit;
}

.fa-stack-2x {
  font-size: 2em;
}

.fa-inverse {
  color: #fff;
}

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */

.fa-glass:before {
  content: "\F000";
}

.fa-music:before {
  content: "\F001";
}

.fa-search:before {
  content: "\F002";
}

.fa-envelope-o:before {
  content: "\F003";
}

.fa-heart:before {
  content: "\F004";
}

.fa-star:before {
  content: "\F005";
}

.fa-star-o:before {
  content: "\F006";
}

.fa-user:before {
  content: "\F007";
}

.fa-film:before {
  content: "\F008";
}

.fa-th-large:before {
  content: "\F009";
}

.fa-th:before {
  content: "\F00A";
}

.fa-th-list:before {
  content: "\F00B";
}

.fa-check:before {
  content: "\F00C";
}

.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: "\F00D";
}

.fa-search-plus:before {
  content: "\F00E";
}

.fa-search-minus:before {
  content: "\F010";
}

.fa-power-off:before {
  content: "\F011";
}

.fa-signal:before {
  content: "\F012";
}

.fa-gear:before,
.fa-cog:before {
  content: "\F013";
}

.fa-trash-o:before {
  content: "\F014";
}

.fa-home:before {
  content: "\F015";
}

.fa-file-o:before {
  content: "\F016";
}

.fa-clock-o:before {
  content: "\F017";
}

.fa-road:before {
  content: "\F018";
}

.fa-download:before {
  content: "\F019";
}

.fa-arrow-circle-o-down:before {
  content: "\F01A";
}

.fa-arrow-circle-o-up:before {
  content: "\F01B";
}

.fa-inbox:before {
  content: "\F01C";
}

.fa-play-circle-o:before {
  content: "\F01D";
}

.fa-rotate-right:before,
.fa-repeat:before {
  content: "\F01E";
}

.fa-refresh:before {
  content: "\F021";
}

.fa-list-alt:before {
  content: "\F022";
}

.fa-lock:before {
  content: "\F023";
}

.fa-flag:before {
  content: "\F024";
}

.fa-headphones:before {
  content: "\F025";
}

.fa-volume-off:before {
  content: "\F026";
}

.fa-volume-down:before {
  content: "\F027";
}

.fa-volume-up:before {
  content: "\F028";
}

.fa-qrcode:before {
  content: "\F029";
}

.fa-barcode:before {
  content: "\F02A";
}

.fa-tag:before {
  content: "\F02B";
}

.fa-tags:before {
  content: "\F02C";
}

.fa-book:before {
  content: "\F02D";
}

.fa-bookmark:before {
  content: "\F02E";
}

.fa-print:before {
  content: "\F02F";
}

.fa-camera:before {
  content: "\F030";
}

.fa-font:before {
  content: "\F031";
}

.fa-bold:before {
  content: "\F032";
}

.fa-italic:before {
  content: "\F033";
}

.fa-text-height:before {
  content: "\F034";
}

.fa-text-width:before {
  content: "\F035";
}

.fa-align-left:before {
  content: "\F036";
}

.fa-align-center:before {
  content: "\F037";
}

.fa-align-right:before {
  content: "\F038";
}

.fa-align-justify:before {
  content: "\F039";
}

.fa-list:before {
  content: "\F03A";
}

.fa-dedent:before,
.fa-outdent:before {
  content: "\F03B";
}

.fa-indent:before {
  content: "\F03C";
}

.fa-video-camera:before {
  content: "\F03D";
}

.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: "\F03E";
}

.fa-pencil:before {
  content: "\F040";
}

.fa-map-marker:before {
  content: "\F041";
}

.fa-adjust:before {
  content: "\F042";
}

.fa-tint:before {
  content: "\F043";
}

.fa-edit:before,
.fa-pencil-square-o:before {
  content: "\F044";
}

.fa-share-square-o:before {
  content: "\F045";
}

.fa-check-square-o:before {
  content: "\F046";
}

.fa-arrows:before {
  content: "\F047";
}

.fa-step-backward:before {
  content: "\F048";
}

.fa-fast-backward:before {
  content: "\F049";
}

.fa-backward:before {
  content: "\F04A";
}

.fa-play:before {
  content: "\F04B";
}

.fa-pause:before {
  content: "\F04C";
}

.fa-stop:before {
  content: "\F04D";
}

.fa-forward:before {
  content: "\F04E";
}

.fa-fast-forward:before {
  content: "\F050";
}

.fa-step-forward:before {
  content: "\F051";
}

.fa-eject:before {
  content: "\F052";
}

.fa-chevron-left:before {
  content: "\F053";
}

.fa-chevron-right:before {
  content: "\F054";
}

.fa-plus-circle:before {
  content: "\F055";
}

.fa-minus-circle:before {
  content: "\F056";
}

.fa-times-circle:before {
  content: "\F057";
}

.fa-check-circle:before {
  content: "\F058";
}

.fa-question-circle:before {
  content: "\F059";
}

.fa-info-circle:before {
  content: "\F05A";
}

.fa-crosshairs:before {
  content: "\F05B";
}

.fa-times-circle-o:before {
  content: "\F05C";
}

.fa-check-circle-o:before {
  content: "\F05D";
}

.fa-ban:before {
  content: "\F05E";
}

.fa-arrow-left:before {
  content: "\F060";
}

.fa-arrow-right:before {
  content: "\F061";
}

.fa-arrow-up:before {
  content: "\F062";
}

.fa-arrow-down:before {
  content: "\F063";
}

.fa-mail-forward:before,
.fa-share:before {
  content: "\F064";
}

.fa-expand:before {
  content: "\F065";
}

.fa-compress:before {
  content: "\F066";
}

.fa-plus:before {
  content: "\F067";
}

.fa-minus:before {
  content: "\F068";
}

.fa-asterisk:before {
  content: "\F069";
}

.fa-exclamation-circle:before {
  content: "\F06A";
}

.fa-gift:before {
  content: "\F06B";
}

.fa-leaf:before {
  content: "\F06C";
}

.fa-fire:before {
  content: "\F06D";
}

.fa-eye:before {
  content: "\F06E";
}

.fa-eye-slash:before {
  content: "\F070";
}

.fa-warning:before,
.fa-exclamation-triangle:before {
  content: "\F071";
}

.fa-plane:before {
  content: "\F072";
}

.fa-calendar:before {
  content: "\F073";
}

.fa-random:before {
  content: "\F074";
}

.fa-comment:before {
  content: "\F075";
}

.fa-magnet:before {
  content: "\F076";
}

.fa-chevron-up:before {
  content: "\F077";
}

.fa-chevron-down:before {
  content: "\F078";
}

.fa-retweet:before {
  content: "\F079";
}

.fa-shopping-cart:before {
  content: "\F07A";
}

.fa-folder:before {
  content: "\F07B";
}

.fa-folder-open:before {
  content: "\F07C";
}

.fa-arrows-v:before {
  content: "\F07D";
}

.fa-arrows-h:before {
  content: "\F07E";
}

.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: "\F080";
}

.fa-twitter-square:before {
  content: "\F081";
}

.fa-facebook-square:before {
  content: "\F082";
}

.fa-camera-retro:before {
  content: "\F083";
}

.fa-key:before {
  content: "\F084";
}

.fa-gears:before,
.fa-cogs:before {
  content: "\F085";
}

.fa-comments:before {
  content: "\F086";
}

.fa-thumbs-o-up:before {
  content: "\F087";
}

.fa-thumbs-o-down:before {
  content: "\F088";
}

.fa-star-half:before {
  content: "\F089";
}

.fa-heart-o:before {
  content: "\F08A";
}

.fa-sign-out:before {
  content: "\F08B";
}

.fa-linkedin-square:before {
  content: "\F08C";
}

.fa-thumb-tack:before {
  content: "\F08D";
}

.fa-external-link:before {
  content: "\F08E";
}

.fa-sign-in:before {
  content: "\F090";
}

.fa-trophy:before {
  content: "\F091";
}

.fa-github-square:before {
  content: "\F092";
}

.fa-upload:before {
  content: "\F093";
}

.fa-lemon-o:before {
  content: "\F094";
}

.fa-phone:before {
  content: "\F095";
}

.fa-square-o:before {
  content: "\F096";
}

.fa-bookmark-o:before {
  content: "\F097";
}

.fa-phone-square:before {
  content: "\F098";
}

.fa-twitter:before {
  content: "\F099";
}

.fa-facebook-f:before,
.fa-facebook:before {
  content: "\F09A";
}

.fa-github:before {
  content: "\F09B";
}

.fa-unlock:before {
  content: "\F09C";
}

.fa-credit-card:before {
  content: "\F09D";
}

.fa-feed:before,
.fa-rss:before {
  content: "\F09E";
}

.fa-hdd-o:before {
  content: "\F0A0";
}

.fa-bullhorn:before {
  content: "\F0A1";
}

.fa-bell:before {
  content: "\F0F3";
}

.fa-certificate:before {
  content: "\F0A3";
}

.fa-hand-o-right:before {
  content: "\F0A4";
}

.fa-hand-o-left:before {
  content: "\F0A5";
}

.fa-hand-o-up:before {
  content: "\F0A6";
}

.fa-hand-o-down:before {
  content: "\F0A7";
}

.fa-arrow-circle-left:before {
  content: "\F0A8";
}

.fa-arrow-circle-right:before {
  content: "\F0A9";
}

.fa-arrow-circle-up:before {
  content: "\F0AA";
}

.fa-arrow-circle-down:before {
  content: "\F0AB";
}

.fa-globe:before {
  content: "\F0AC";
}

.fa-wrench:before {
  content: "\F0AD";
}

.fa-tasks:before {
  content: "\F0AE";
}

.fa-filter:before {
  content: "\F0B0";
}

.fa-briefcase:before {
  content: "\F0B1";
}

.fa-arrows-alt:before {
  content: "\F0B2";
}

.fa-group:before,
.fa-users:before {
  content: "\F0C0";
}

.fa-chain:before,
.fa-link:before {
  content: "\F0C1";
}

.fa-cloud:before {
  content: "\F0C2";
}

.fa-flask:before {
  content: "\F0C3";
}

.fa-cut:before,
.fa-scissors:before {
  content: "\F0C4";
}

.fa-copy:before,
.fa-files-o:before {
  content: "\F0C5";
}

.fa-paperclip:before {
  content: "\F0C6";
}

.fa-save:before,
.fa-floppy-o:before {
  content: "\F0C7";
}

.fa-square:before {
  content: "\F0C8";
}

.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: "\F0C9";
}

.fa-list-ul:before {
  content: "\F0CA";
}

.fa-list-ol:before {
  content: "\F0CB";
}

.fa-strikethrough:before {
  content: "\F0CC";
}

.fa-underline:before {
  content: "\F0CD";
}

.fa-table:before {
  content: "\F0CE";
}

.fa-magic:before {
  content: "\F0D0";
}

.fa-truck:before {
  content: "\F0D1";
}

.fa-pinterest:before {
  content: "\F0D2";
}

.fa-pinterest-square:before {
  content: "\F0D3";
}

.fa-google-plus-square:before {
  content: "\F0D4";
}

.fa-google-plus:before {
  content: "\F0D5";
}

.fa-money:before {
  content: "\F0D6";
}

.fa-caret-down:before {
  content: "\F0D7";
}

.fa-caret-up:before {
  content: "\F0D8";
}

.fa-caret-left:before {
  content: "\F0D9";
}

.fa-caret-right:before {
  content: "\F0DA";
}

.fa-columns:before {
  content: "\F0DB";
}

.fa-unsorted:before,
.fa-sort:before {
  content: "\F0DC";
}

.fa-sort-down:before,
.fa-sort-desc:before {
  content: "\F0DD";
}

.fa-sort-up:before,
.fa-sort-asc:before {
  content: "\F0DE";
}

.fa-envelope:before {
  content: "\F0E0";
}

.fa-linkedin:before {
  content: "\F0E1";
}

.fa-rotate-left:before,
.fa-undo:before {
  content: "\F0E2";
}

.fa-legal:before,
.fa-gavel:before {
  content: "\F0E3";
}

.fa-dashboard:before,
.fa-tachometer:before {
  content: "\F0E4";
}

.fa-comment-o:before {
  content: "\F0E5";
}

.fa-comments-o:before {
  content: "\F0E6";
}

.fa-flash:before,
.fa-bolt:before {
  content: "\F0E7";
}

.fa-sitemap:before {
  content: "\F0E8";
}

.fa-umbrella:before {
  content: "\F0E9";
}

.fa-paste:before,
.fa-clipboard:before {
  content: "\F0EA";
}

.fa-lightbulb-o:before {
  content: "\F0EB";
}

.fa-exchange:before {
  content: "\F0EC";
}

.fa-cloud-download:before {
  content: "\F0ED";
}

.fa-cloud-upload:before {
  content: "\F0EE";
}

.fa-user-md:before {
  content: "\F0F0";
}

.fa-stethoscope:before {
  content: "\F0F1";
}

.fa-suitcase:before {
  content: "\F0F2";
}

.fa-bell-o:before {
  content: "\F0A2";
}

.fa-coffee:before {
  content: "\F0F4";
}

.fa-cutlery:before {
  content: "\F0F5";
}

.fa-file-text-o:before {
  content: "\F0F6";
}

.fa-building-o:before {
  content: "\F0F7";
}

.fa-hospital-o:before {
  content: "\F0F8";
}

.fa-ambulance:before {
  content: "\F0F9";
}

.fa-medkit:before {
  content: "\F0FA";
}

.fa-fighter-jet:before {
  content: "\F0FB";
}

.fa-beer:before {
  content: "\F0FC";
}

.fa-h-square:before {
  content: "\F0FD";
}

.fa-plus-square:before {
  content: "\F0FE";
}

.fa-angle-double-left:before {
  content: "\F100";
}

.fa-angle-double-right:before {
  content: "\F101";
}

.fa-angle-double-up:before {
  content: "\F102";
}

.fa-angle-double-down:before {
  content: "\F103";
}

.fa-angle-left:before {
  content: "\F104";
}

.fa-angle-right:before {
  content: "\F105";
}

.fa-angle-up:before {
  content: "\F106";
}

.fa-angle-down:before {
  content: "\F107";
}

.fa-desktop:before {
  content: "\F108";
}

.fa-laptop:before {
  content: "\F109";
}

.fa-tablet:before {
  content: "\F10A";
}

.fa-mobile-phone:before,
.fa-mobile:before {
  content: "\F10B";
}

.fa-circle-o:before {
  content: "\F10C";
}

.fa-quote-left:before {
  content: "\F10D";
}

.fa-quote-right:before {
  content: "\F10E";
}

.fa-spinner:before {
  content: "\F110";
}

.fa-circle:before {
  content: "\F111";
}

.fa-mail-reply:before,
.fa-reply:before {
  content: "\F112";
}

.fa-github-alt:before {
  content: "\F113";
}

.fa-folder-o:before {
  content: "\F114";
}

.fa-folder-open-o:before {
  content: "\F115";
}

.fa-smile-o:before {
  content: "\F118";
}

.fa-frown-o:before {
  content: "\F119";
}

.fa-meh-o:before {
  content: "\F11A";
}

.fa-gamepad:before {
  content: "\F11B";
}

.fa-keyboard-o:before {
  content: "\F11C";
}

.fa-flag-o:before {
  content: "\F11D";
}

.fa-flag-checkered:before {
  content: "\F11E";
}

.fa-terminal:before {
  content: "\F120";
}

.fa-code:before {
  content: "\F121";
}

.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: "\F122";
}

.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: "\F123";
}

.fa-location-arrow:before {
  content: "\F124";
}

.fa-crop:before {
  content: "\F125";
}

.fa-code-fork:before {
  content: "\F126";
}

.fa-unlink:before,
.fa-chain-broken:before {
  content: "\F127";
}

.fa-question:before {
  content: "\F128";
}

.fa-info:before {
  content: "\F129";
}

.fa-exclamation:before {
  content: "\F12A";
}

.fa-superscript:before {
  content: "\F12B";
}

.fa-subscript:before {
  content: "\F12C";
}

.fa-eraser:before {
  content: "\F12D";
}

.fa-puzzle-piece:before {
  content: "\F12E";
}

.fa-microphone:before {
  content: "\F130";
}

.fa-microphone-slash:before {
  content: "\F131";
}

.fa-shield:before {
  content: "\F132";
}

.fa-calendar-o:before {
  content: "\F133";
}

.fa-fire-extinguisher:before {
  content: "\F134";
}

.fa-rocket:before {
  content: "\F135";
}

.fa-maxcdn:before {
  content: "\F136";
}

.fa-chevron-circle-left:before {
  content: "\F137";
}

.fa-chevron-circle-right:before {
  content: "\F138";
}

.fa-chevron-circle-up:before {
  content: "\F139";
}

.fa-chevron-circle-down:before {
  content: "\F13A";
}

.fa-html5:before {
  content: "\F13B";
}

.fa-css3:before {
  content: "\F13C";
}

.fa-anchor:before {
  content: "\F13D";
}

.fa-unlock-alt:before {
  content: "\F13E";
}

.fa-bullseye:before {
  content: "\F140";
}

.fa-ellipsis-h:before {
  content: "\F141";
}

.fa-ellipsis-v:before {
  content: "\F142";
}

.fa-rss-square:before {
  content: "\F143";
}

.fa-play-circle:before {
  content: "\F144";
}

.fa-ticket:before {
  content: "\F145";
}

.fa-minus-square:before {
  content: "\F146";
}

.fa-minus-square-o:before {
  content: "\F147";
}

.fa-level-up:before {
  content: "\F148";
}

.fa-level-down:before {
  content: "\F149";
}

.fa-check-square:before {
  content: "\F14A";
}

.fa-pencil-square:before {
  content: "\F14B";
}

.fa-external-link-square:before {
  content: "\F14C";
}

.fa-share-square:before {
  content: "\F14D";
}

.fa-compass:before {
  content: "\F14E";
}

.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: "\F150";
}

.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: "\F151";
}

.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: "\F152";
}

.fa-euro:before,
.fa-eur:before {
  content: "\F153";
}

.fa-gbp:before {
  content: "\F154";
}

.fa-dollar:before,
.fa-usd:before {
  content: "\F155";
}

.fa-rupee:before,
.fa-inr:before {
  content: "\F156";
}

.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: "\F157";
}

.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: "\F158";
}

.fa-won:before,
.fa-krw:before {
  content: "\F159";
}

.fa-bitcoin:before,
.fa-btc:before {
  content: "\F15A";
}

.fa-file:before {
  content: "\F15B";
}

.fa-file-text:before {
  content: "\F15C";
}

.fa-sort-alpha-asc:before {
  content: "\F15D";
}

.fa-sort-alpha-desc:before {
  content: "\F15E";
}

.fa-sort-amount-asc:before {
  content: "\F160";
}

.fa-sort-amount-desc:before {
  content: "\F161";
}

.fa-sort-numeric-asc:before {
  content: "\F162";
}

.fa-sort-numeric-desc:before {
  content: "\F163";
}

.fa-thumbs-up:before {
  content: "\F164";
}

.fa-thumbs-down:before {
  content: "\F165";
}

.fa-youtube-square:before {
  content: "\F166";
}

.fa-youtube:before {
  content: "\F167";
}

.fa-xing:before {
  content: "\F168";
}

.fa-xing-square:before {
  content: "\F169";
}

.fa-youtube-play:before {
  content: "\F16A";
}

.fa-dropbox:before {
  content: "\F16B";
}

.fa-stack-overflow:before {
  content: "\F16C";
}

.fa-instagram:before {
  content: "\F16D";
}

.fa-flickr:before {
  content: "\F16E";
}

.fa-adn:before {
  content: "\F170";
}

.fa-bitbucket:before {
  content: "\F171";
}

.fa-bitbucket-square:before {
  content: "\F172";
}

.fa-tumblr:before {
  content: "\F173";
}

.fa-tumblr-square:before {
  content: "\F174";
}

.fa-long-arrow-down:before {
  content: "\F175";
}

.fa-long-arrow-up:before {
  content: "\F176";
}

.fa-long-arrow-left:before {
  content: "\F177";
}

.fa-long-arrow-right:before {
  content: "\F178";
}

.fa-apple:before {
  content: "\F179";
}

.fa-windows:before {
  content: "\F17A";
}

.fa-android:before {
  content: "\F17B";
}

.fa-linux:before {
  content: "\F17C";
}

.fa-dribbble:before {
  content: "\F17D";
}

.fa-skype:before {
  content: "\F17E";
}

.fa-foursquare:before {
  content: "\F180";
}

.fa-trello:before {
  content: "\F181";
}

.fa-female:before {
  content: "\F182";
}

.fa-male:before {
  content: "\F183";
}

.fa-gittip:before,
.fa-gratipay:before {
  content: "\F184";
}

.fa-sun-o:before {
  content: "\F185";
}

.fa-moon-o:before {
  content: "\F186";
}

.fa-archive:before {
  content: "\F187";
}

.fa-bug:before {
  content: "\F188";
}

.fa-vk:before {
  content: "\F189";
}

.fa-weibo:before {
  content: "\F18A";
}

.fa-renren:before {
  content: "\F18B";
}

.fa-pagelines:before {
  content: "\F18C";
}

.fa-stack-exchange:before {
  content: "\F18D";
}

.fa-arrow-circle-o-right:before {
  content: "\F18E";
}

.fa-arrow-circle-o-left:before {
  content: "\F190";
}

.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: "\F191";
}

.fa-dot-circle-o:before {
  content: "\F192";
}

.fa-wheelchair:before {
  content: "\F193";
}

.fa-vimeo-square:before {
  content: "\F194";
}

.fa-turkish-lira:before,
.fa-try:before {
  content: "\F195";
}

.fa-plus-square-o:before {
  content: "\F196";
}

.fa-space-shuttle:before {
  content: "\F197";
}

.fa-slack:before {
  content: "\F198";
}

.fa-envelope-square:before {
  content: "\F199";
}

.fa-wordpress:before {
  content: "\F19A";
}

.fa-openid:before {
  content: "\F19B";
}

.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: "\F19C";
}

.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: "\F19D";
}

.fa-yahoo:before {
  content: "\F19E";
}

.fa-google:before {
  content: "\F1A0";
}

.fa-reddit:before {
  content: "\F1A1";
}

.fa-reddit-square:before {
  content: "\F1A2";
}

.fa-stumbleupon-circle:before {
  content: "\F1A3";
}

.fa-stumbleupon:before {
  content: "\F1A4";
}

.fa-delicious:before {
  content: "\F1A5";
}

.fa-digg:before {
  content: "\F1A6";
}

.fa-pied-piper-pp:before {
  content: "\F1A7";
}

.fa-pied-piper-alt:before {
  content: "\F1A8";
}

.fa-drupal:before {
  content: "\F1A9";
}

.fa-joomla:before {
  content: "\F1AA";
}

.fa-language:before {
  content: "\F1AB";
}

.fa-fax:before {
  content: "\F1AC";
}

.fa-building:before {
  content: "\F1AD";
}

.fa-child:before {
  content: "\F1AE";
}

.fa-paw:before {
  content: "\F1B0";
}

.fa-spoon:before {
  content: "\F1B1";
}

.fa-cube:before {
  content: "\F1B2";
}

.fa-cubes:before {
  content: "\F1B3";
}

.fa-behance:before {
  content: "\F1B4";
}

.fa-behance-square:before {
  content: "\F1B5";
}

.fa-steam:before {
  content: "\F1B6";
}

.fa-steam-square:before {
  content: "\F1B7";
}

.fa-recycle:before {
  content: "\F1B8";
}

.fa-automobile:before,
.fa-car:before {
  content: "\F1B9";
}

.fa-cab:before,
.fa-taxi:before {
  content: "\F1BA";
}

.fa-tree:before {
  content: "\F1BB";
}

.fa-spotify:before {
  content: "\F1BC";
}

.fa-deviantart:before {
  content: "\F1BD";
}

.fa-soundcloud:before {
  content: "\F1BE";
}

.fa-database:before {
  content: "\F1C0";
}

.fa-file-pdf-o:before {
  content: "\F1C1";
}

.fa-file-word-o:before {
  content: "\F1C2";
}

.fa-file-excel-o:before {
  content: "\F1C3";
}

.fa-file-powerpoint-o:before {
  content: "\F1C4";
}

.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: "\F1C5";
}

.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: "\F1C6";
}

.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: "\F1C7";
}

.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: "\F1C8";
}

.fa-file-code-o:before {
  content: "\F1C9";
}

.fa-vine:before {
  content: "\F1CA";
}

.fa-codepen:before {
  content: "\F1CB";
}

.fa-jsfiddle:before {
  content: "\F1CC";
}

.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: "\F1CD";
}

.fa-circle-o-notch:before {
  content: "\F1CE";
}

.fa-ra:before,
.fa-resistance:before,
.fa-rebel:before {
  content: "\F1D0";
}

.fa-ge:before,
.fa-empire:before {
  content: "\F1D1";
}

.fa-git-square:before {
  content: "\F1D2";
}

.fa-git:before {
  content: "\F1D3";
}

.fa-y-combinator-square:before,
.fa-yc-square:before,
.fa-hacker-news:before {
  content: "\F1D4";
}

.fa-tencent-weibo:before {
  content: "\F1D5";
}

.fa-qq:before {
  content: "\F1D6";
}

.fa-wechat:before,
.fa-weixin:before {
  content: "\F1D7";
}

.fa-send:before,
.fa-paper-plane:before {
  content: "\F1D8";
}

.fa-send-o:before,
.fa-paper-plane-o:before {
  content: "\F1D9";
}

.fa-history:before {
  content: "\F1DA";
}

.fa-circle-thin:before {
  content: "\F1DB";
}

.fa-header:before {
  content: "\F1DC";
}

.fa-paragraph:before {
  content: "\F1DD";
}

.fa-sliders:before {
  content: "\F1DE";
}

.fa-share-alt:before {
  content: "\F1E0";
}

.fa-share-alt-square:before {
  content: "\F1E1";
}

.fa-bomb:before {
  content: "\F1E2";
}

.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: "\F1E3";
}

.fa-tty:before {
  content: "\F1E4";
}

.fa-binoculars:before {
  content: "\F1E5";
}

.fa-plug:before {
  content: "\F1E6";
}

.fa-slideshare:before {
  content: "\F1E7";
}

.fa-twitch:before {
  content: "\F1E8";
}

.fa-yelp:before {
  content: "\F1E9";
}

.fa-newspaper-o:before {
  content: "\F1EA";
}

.fa-wifi:before {
  content: "\F1EB";
}

.fa-calculator:before {
  content: "\F1EC";
}

.fa-paypal:before {
  content: "\F1ED";
}

.fa-google-wallet:before {
  content: "\F1EE";
}

.fa-cc-visa:before {
  content: "\F1F0";
}

.fa-cc-mastercard:before {
  content: "\F1F1";
}

.fa-cc-discover:before {
  content: "\F1F2";
}

.fa-cc-amex:before {
  content: "\F1F3";
}

.fa-cc-paypal:before {
  content: "\F1F4";
}

.fa-cc-stripe:before {
  content: "\F1F5";
}

.fa-bell-slash:before {
  content: "\F1F6";
}

.fa-bell-slash-o:before {
  content: "\F1F7";
}

.fa-trash:before {
  content: "\F1F8";
}

.fa-copyright:before {
  content: "\F1F9";
}

.fa-at:before {
  content: "\F1FA";
}

.fa-eyedropper:before {
  content: "\F1FB";
}

.fa-paint-brush:before {
  content: "\F1FC";
}

.fa-birthday-cake:before {
  content: "\F1FD";
}

.fa-area-chart:before {
  content: "\F1FE";
}

.fa-pie-chart:before {
  content: "\F200";
}

.fa-line-chart:before {
  content: "\F201";
}

.fa-lastfm:before {
  content: "\F202";
}

.fa-lastfm-square:before {
  content: "\F203";
}

.fa-toggle-off:before {
  content: "\F204";
}

.fa-toggle-on:before {
  content: "\F205";
}

.fa-bicycle:before {
  content: "\F206";
}

.fa-bus:before {
  content: "\F207";
}

.fa-ioxhost:before {
  content: "\F208";
}

.fa-angellist:before {
  content: "\F209";
}

.fa-cc:before {
  content: "\F20A";
}

.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: "\F20B";
}

.fa-meanpath:before {
  content: "\F20C";
}

.fa-buysellads:before {
  content: "\F20D";
}

.fa-connectdevelop:before {
  content: "\F20E";
}

.fa-dashcube:before {
  content: "\F210";
}

.fa-forumbee:before {
  content: "\F211";
}

.fa-leanpub:before {
  content: "\F212";
}

.fa-sellsy:before {
  content: "\F213";
}

.fa-shirtsinbulk:before {
  content: "\F214";
}

.fa-simplybuilt:before {
  content: "\F215";
}

.fa-skyatlas:before {
  content: "\F216";
}

.fa-cart-plus:before {
  content: "\F217";
}

.fa-cart-arrow-down:before {
  content: "\F218";
}

.fa-diamond:before {
  content: "\F219";
}

.fa-ship:before {
  content: "\F21A";
}

.fa-user-secret:before {
  content: "\F21B";
}

.fa-motorcycle:before {
  content: "\F21C";
}

.fa-street-view:before {
  content: "\F21D";
}

.fa-heartbeat:before {
  content: "\F21E";
}

.fa-venus:before {
  content: "\F221";
}

.fa-mars:before {
  content: "\F222";
}

.fa-mercury:before {
  content: "\F223";
}

.fa-intersex:before,
.fa-transgender:before {
  content: "\F224";
}

.fa-transgender-alt:before {
  content: "\F225";
}

.fa-venus-double:before {
  content: "\F226";
}

.fa-mars-double:before {
  content: "\F227";
}

.fa-venus-mars:before {
  content: "\F228";
}

.fa-mars-stroke:before {
  content: "\F229";
}

.fa-mars-stroke-v:before {
  content: "\F22A";
}

.fa-mars-stroke-h:before {
  content: "\F22B";
}

.fa-neuter:before {
  content: "\F22C";
}

.fa-genderless:before {
  content: "\F22D";
}

.fa-facebook-official:before {
  content: "\F230";
}

.fa-pinterest-p:before {
  content: "\F231";
}

.fa-whatsapp:before {
  content: "\F232";
}

.fa-server:before {
  content: "\F233";
}

.fa-user-plus:before {
  content: "\F234";
}

.fa-user-times:before {
  content: "\F235";
}

.fa-hotel:before,
.fa-bed:before {
  content: "\F236";
}

.fa-viacoin:before {
  content: "\F237";
}

.fa-train:before {
  content: "\F238";
}

.fa-subway:before {
  content: "\F239";
}

.fa-medium:before {
  content: "\F23A";
}

.fa-yc:before,
.fa-y-combinator:before {
  content: "\F23B";
}

.fa-optin-monster:before {
  content: "\F23C";
}

.fa-opencart:before {
  content: "\F23D";
}

.fa-expeditedssl:before {
  content: "\F23E";
}

.fa-battery-4:before,
.fa-battery:before,
.fa-battery-full:before {
  content: "\F240";
}

.fa-battery-3:before,
.fa-battery-three-quarters:before {
  content: "\F241";
}

.fa-battery-2:before,
.fa-battery-half:before {
  content: "\F242";
}

.fa-battery-1:before,
.fa-battery-quarter:before {
  content: "\F243";
}

.fa-battery-0:before,
.fa-battery-empty:before {
  content: "\F244";
}

.fa-mouse-pointer:before {
  content: "\F245";
}

.fa-i-cursor:before {
  content: "\F246";
}

.fa-object-group:before {
  content: "\F247";
}

.fa-object-ungroup:before {
  content: "\F248";
}

.fa-sticky-note:before {
  content: "\F249";
}

.fa-sticky-note-o:before {
  content: "\F24A";
}

.fa-cc-jcb:before {
  content: "\F24B";
}

.fa-cc-diners-club:before {
  content: "\F24C";
}

.fa-clone:before {
  content: "\F24D";
}

.fa-balance-scale:before {
  content: "\F24E";
}

.fa-hourglass-o:before {
  content: "\F250";
}

.fa-hourglass-1:before,
.fa-hourglass-start:before {
  content: "\F251";
}

.fa-hourglass-2:before,
.fa-hourglass-half:before {
  content: "\F252";
}

.fa-hourglass-3:before,
.fa-hourglass-end:before {
  content: "\F253";
}

.fa-hourglass:before {
  content: "\F254";
}

.fa-hand-grab-o:before,
.fa-hand-rock-o:before {
  content: "\F255";
}

.fa-hand-stop-o:before,
.fa-hand-paper-o:before {
  content: "\F256";
}

.fa-hand-scissors-o:before {
  content: "\F257";
}

.fa-hand-lizard-o:before {
  content: "\F258";
}

.fa-hand-spock-o:before {
  content: "\F259";
}

.fa-hand-pointer-o:before {
  content: "\F25A";
}

.fa-hand-peace-o:before {
  content: "\F25B";
}

.fa-trademark:before {
  content: "\F25C";
}

.fa-registered:before {
  content: "\F25D";
}

.fa-creative-commons:before {
  content: "\F25E";
}

.fa-gg:before {
  content: "\F260";
}

.fa-gg-circle:before {
  content: "\F261";
}

.fa-tripadvisor:before {
  content: "\F262";
}

.fa-odnoklassniki:before {
  content: "\F263";
}

.fa-odnoklassniki-square:before {
  content: "\F264";
}

.fa-get-pocket:before {
  content: "\F265";
}

.fa-wikipedia-w:before {
  content: "\F266";
}

.fa-safari:before {
  content: "\F267";
}

.fa-chrome:before {
  content: "\F268";
}

.fa-firefox:before {
  content: "\F269";
}

.fa-opera:before {
  content: "\F26A";
}

.fa-internet-explorer:before {
  content: "\F26B";
}

.fa-tv:before,
.fa-television:before {
  content: "\F26C";
}

.fa-contao:before {
  content: "\F26D";
}

.fa-500px:before {
  content: "\F26E";
}

.fa-amazon:before {
  content: "\F270";
}

.fa-calendar-plus-o:before {
  content: "\F271";
}

.fa-calendar-minus-o:before {
  content: "\F272";
}

.fa-calendar-times-o:before {
  content: "\F273";
}

.fa-calendar-check-o:before {
  content: "\F274";
}

.fa-industry:before {
  content: "\F275";
}

.fa-map-pin:before {
  content: "\F276";
}

.fa-map-signs:before {
  content: "\F277";
}

.fa-map-o:before {
  content: "\F278";
}

.fa-map:before {
  content: "\F279";
}

.fa-commenting:before {
  content: "\F27A";
}

.fa-commenting-o:before {
  content: "\F27B";
}

.fa-houzz:before {
  content: "\F27C";
}

.fa-vimeo:before {
  content: "\F27D";
}

.fa-black-tie:before {
  content: "\F27E";
}

.fa-fonticons:before {
  content: "\F280";
}

.fa-reddit-alien:before {
  content: "\F281";
}

.fa-edge:before {
  content: "\F282";
}

.fa-credit-card-alt:before {
  content: "\F283";
}

.fa-codiepie:before {
  content: "\F284";
}

.fa-modx:before {
  content: "\F285";
}

.fa-fort-awesome:before {
  content: "\F286";
}

.fa-usb:before {
  content: "\F287";
}

.fa-product-hunt:before {
  content: "\F288";
}

.fa-mixcloud:before {
  content: "\F289";
}

.fa-scribd:before {
  content: "\F28A";
}

.fa-pause-circle:before {
  content: "\F28B";
}

.fa-pause-circle-o:before {
  content: "\F28C";
}

.fa-stop-circle:before {
  content: "\F28D";
}

.fa-stop-circle-o:before {
  content: "\F28E";
}

.fa-shopping-bag:before {
  content: "\F290";
}

.fa-shopping-basket:before {
  content: "\F291";
}

.fa-hashtag:before {
  content: "\F292";
}

.fa-bluetooth:before {
  content: "\F293";
}

.fa-bluetooth-b:before {
  content: "\F294";
}

.fa-percent:before {
  content: "\F295";
}

.fa-gitlab:before {
  content: "\F296";
}

.fa-wpbeginner:before {
  content: "\F297";
}

.fa-wpforms:before {
  content: "\F298";
}

.fa-envira:before {
  content: "\F299";
}

.fa-universal-access:before {
  content: "\F29A";
}

.fa-wheelchair-alt:before {
  content: "\F29B";
}

.fa-question-circle-o:before {
  content: "\F29C";
}

.fa-blind:before {
  content: "\F29D";
}

.fa-audio-description:before {
  content: "\F29E";
}

.fa-volume-control-phone:before {
  content: "\F2A0";
}

.fa-braille:before {
  content: "\F2A1";
}

.fa-assistive-listening-systems:before {
  content: "\F2A2";
}

.fa-asl-interpreting:before,
.fa-american-sign-language-interpreting:before {
  content: "\F2A3";
}

.fa-deafness:before,
.fa-hard-of-hearing:before,
.fa-deaf:before {
  content: "\F2A4";
}

.fa-glide:before {
  content: "\F2A5";
}

.fa-glide-g:before {
  content: "\F2A6";
}

.fa-signing:before,
.fa-sign-language:before {
  content: "\F2A7";
}

.fa-low-vision:before {
  content: "\F2A8";
}

.fa-viadeo:before {
  content: "\F2A9";
}

.fa-viadeo-square:before {
  content: "\F2AA";
}

.fa-snapchat:before {
  content: "\F2AB";
}

.fa-snapchat-ghost:before {
  content: "\F2AC";
}

.fa-snapchat-square:before {
  content: "\F2AD";
}

.fa-pied-piper:before {
  content: "\F2AE";
}

.fa-first-order:before {
  content: "\F2B0";
}

.fa-yoast:before {
  content: "\F2B1";
}

.fa-themeisle:before {
  content: "\F2B2";
}

.fa-google-plus-circle:before,
.fa-google-plus-official:before {
  content: "\F2B3";
}

.fa-fa:before,
.fa-font-awesome:before {
  content: "\F2B4";
}

.fa-handshake-o:before {
  content: "\F2B5";
}

.fa-envelope-open:before {
  content: "\F2B6";
}

.fa-envelope-open-o:before {
  content: "\F2B7";
}

.fa-linode:before {
  content: "\F2B8";
}

.fa-address-book:before {
  content: "\F2B9";
}

.fa-address-book-o:before {
  content: "\F2BA";
}

.fa-vcard:before,
.fa-address-card:before {
  content: "\F2BB";
}

.fa-vcard-o:before,
.fa-address-card-o:before {
  content: "\F2BC";
}

.fa-user-circle:before {
  content: "\F2BD";
}

.fa-user-circle-o:before {
  content: "\F2BE";
}

.fa-user-o:before {
  content: "\F2C0";
}

.fa-id-badge:before {
  content: "\F2C1";
}

.fa-drivers-license:before,
.fa-id-card:before {
  content: "\F2C2";
}

.fa-drivers-license-o:before,
.fa-id-card-o:before {
  content: "\F2C3";
}

.fa-quora:before {
  content: "\F2C4";
}

.fa-free-code-camp:before {
  content: "\F2C5";
}

.fa-telegram:before {
  content: "\F2C6";
}

.fa-thermometer-4:before,
.fa-thermometer:before,
.fa-thermometer-full:before {
  content: "\F2C7";
}

.fa-thermometer-3:before,
.fa-thermometer-three-quarters:before {
  content: "\F2C8";
}

.fa-thermometer-2:before,
.fa-thermometer-half:before {
  content: "\F2C9";
}

.fa-thermometer-1:before,
.fa-thermometer-quarter:before {
  content: "\F2CA";
}

.fa-thermometer-0:before,
.fa-thermometer-empty:before {
  content: "\F2CB";
}

.fa-shower:before {
  content: "\F2CC";
}

.fa-bathtub:before,
.fa-s15:before,
.fa-bath:before {
  content: "\F2CD";
}

.fa-podcast:before {
  content: "\F2CE";
}

.fa-window-maximize:before {
  content: "\F2D0";
}

.fa-window-minimize:before {
  content: "\F2D1";
}

.fa-window-restore:before {
  content: "\F2D2";
}

.fa-times-rectangle:before,
.fa-window-close:before {
  content: "\F2D3";
}

.fa-times-rectangle-o:before,
.fa-window-close-o:before {
  content: "\F2D4";
}

.fa-bandcamp:before {
  content: "\F2D5";
}

.fa-grav:before {
  content: "\F2D6";
}

.fa-etsy:before {
  content: "\F2D7";
}

.fa-imdb:before {
  content: "\F2D8";
}

.fa-ravelry:before {
  content: "\F2D9";
}

.fa-eercast:before {
  content: "\F2DA";
}

.fa-microchip:before {
  content: "\F2DB";
}

.fa-snowflake-o:before {
  content: "\F2DC";
}

.fa-superpowers:before {
  content: "\F2DD";
}

.fa-wpexplorer:before {
  content: "\F2DE";
}

.fa-meetup:before {
  content: "\F2E0";
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}

/* Slider */

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

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

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

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

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

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

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

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

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

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

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

.slick-slide img {
  display: block;
}

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

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

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

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

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

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

/* Slider */

.slick-loading .slick-list {
  background: #fff url(/build/images/ajax-loader.c5cd7f53.gif) center center no-repeat;
}

/* Icons */

@font-face {
  font-family: "slick";
  src: url(/build/fonts/slick.ced611da.eot);
  src: url(/build/fonts/slick.ced611da.eot) format("embedded-opentype"), url(/build/fonts/slick.b7c9e1e4.woff) format("woff"), url(/build/fonts/slick.d41f55a7.ttf) format("truetype"), url(/build/images/slick.f97e3bbf.svg) format("svg");
  font-weight: normal;
  font-style: normal;
}

/* Arrows */

.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}

.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}

[dir="rtl"] .slick-prev {
  left: auto;
  right: -25px;
}

.slick-prev:before {
  content: "\2190";
}

[dir="rtl"] .slick-prev:before {
  content: "\2192";
}

.slick-next {
  right: -25px;
}

[dir="rtl"] .slick-next {
  left: -25px;
  right: auto;
}

.slick-next:before {
  content: "\2192";
}

[dir="rtl"] .slick-next:before {
  content: "\2190";
}

/* Dots */

.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}

.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "\2022";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}

.zoomify {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: zoom-in;
}

.zoomify.zoomed {
  cursor: -webkit-zoom-out;
  cursor: zoom-out;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 0;
  box-shadow: none;
  position: relative;
  z-index: 1501;
}

.zoomify-shadow {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 1500;
  background: rgba(0, 0, 0, 0.3);
  opacity: 0;
}

.zoomify-shadow.zoomed {
  opacity: 1;
  cursor: pointer;
  cursor: -webkit-zoom-out;
  cursor: zoom-out;
}

/*! jQuery UI - v1.12.1 - 2017-10-22
* http://jqueryui.com
* Includes: core.css, autocomplete.css, menu.css, theme.css
* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=base&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cc0000&fcError=5f3f3f&borderColorError=f1a899&bgTextureError=flat&bgColorError=fddfdf&iconColorHighlight=777620&fcHighlight=777620&borderColorHighlight=dad55e&bgTextureHighlight=flat&bgColorHighlight=fffa90&iconColorActive=ffffff&fcActive=ffffff&borderColorActive=003eff&bgTextureActive=flat&bgColorActive=007fff&iconColorHover=555555&fcHover=2b2b2b&borderColorHover=cccccc&bgTextureHover=flat&bgColorHover=ededed&iconColorDefault=777777&fcDefault=454545&borderColorDefault=c5c5c5&bgTextureDefault=flat&bgColorDefault=f6f6f6&iconColorContent=444444&fcContent=333333&borderColorContent=dddddd&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=444444&fcHeader=333333&borderColorHeader=dddddd&bgTextureHeader=flat&bgColorHeader=e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=1em&ffDefault=Arial%2CHelvetica%2Csans-serif
* Copyright jQuery Foundation and other contributors; Licensed MIT */

/* Layout helpers
----------------------------------*/

.ui-helper-hidden {
  display: none;
}

.ui-helper-hidden-accessible {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.ui-helper-reset {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  line-height: 1.3;
  text-decoration: none;
  font-size: 100%;
  list-style: none;
}

.ui-helper-clearfix:before,
.ui-helper-clearfix:after {
  content: "";
  display: table;
  border-collapse: collapse;
}

.ui-helper-clearfix:after {
  clear: both;
}

.ui-helper-zfix {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  opacity: 0;
  filter: Alpha(Opacity=0);
  /* support: IE8 */
}

.ui-front {
  z-index: 100;
}

/* Interaction Cues
----------------------------------*/

.ui-state-disabled {
  cursor: default !important;
  pointer-events: none;
}

/* Icons
----------------------------------*/

.ui-icon {
  display: inline-block;
  vertical-align: middle;
  margin-top: -.25em;
  position: relative;
  text-indent: -99999px;
  overflow: hidden;
  background-repeat: no-repeat;
}

.ui-widget-icon-block {
  left: 50%;
  margin-left: -8px;
  display: block;
}

/* Misc visuals
----------------------------------*/

/* Overlays */

.ui-widget-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ui-autocomplete {
  position: absolute;
  top: 0;
  left: 0;
  cursor: default;
}

.ui-menu {
  list-style: none;
  padding: 0;
  margin: 0;
  display: block;
  outline: 0;
}

.ui-menu .ui-menu {
  position: absolute;
}

.ui-menu .ui-menu-item {
  margin: 0;
  cursor: pointer;
  /* support: IE10, see #8844 */
  list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");
}

.ui-menu .ui-menu-item-wrapper {
  position: relative;
  padding: 3px 1em 3px .4em;
}

.ui-menu .ui-menu-divider {
  margin: 5px 0;
  height: 0;
  font-size: 0;
  line-height: 0;
  border-width: 1px 0 0 0;
}

.ui-menu .ui-state-focus,
.ui-menu .ui-state-active {
  margin: -1px;
}

/* icon support */

.ui-menu-icons {
  position: relative;
}

.ui-menu-icons .ui-menu-item-wrapper {
  padding-left: 2em;
}

/* left-aligned */

.ui-menu .ui-icon {
  position: absolute;
  top: 0;
  bottom: 0;
  left: .2em;
  margin: auto 0;
}

/* right-aligned */

.ui-menu .ui-menu-icon {
  left: auto;
  right: 0;
}

/* Component containers
----------------------------------*/

.ui-widget {
  font-family: Arial,Helvetica,sans-serif;
  font-size: 1em;
}

.ui-widget .ui-widget {
  font-size: 1em;
}

.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
  font-family: Arial,Helvetica,sans-serif;
  font-size: 1em;
}

.ui-widget.ui-widget-content {
  border: 1px solid #c5c5c5;
}

.ui-widget-content {
  border: 1px solid #dddddd;
  background: #ffffff;
  color: #333333;
}

.ui-widget-content a {
  color: #333333;
}

.ui-widget-header {
  border: 1px solid #dddddd;
  background: #e9e9e9;
  color: #333333;
  font-weight: bold;
}

.ui-widget-header a {
  color: #333333;
}

/* Interaction states
----------------------------------*/

.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button,
html .ui-button.ui-state-disabled:hover,
html .ui-button.ui-state-disabled:active {
  border: 1px solid #c5c5c5;
  background: #f6f6f6;
  font-weight: normal;
  color: #454545;
}

.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited,
a.ui-button,
a:link.ui-button,
a:visited.ui-button,
.ui-button {
  color: #454545;
  text-decoration: none;
}

.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus,
.ui-button:hover,
.ui-button:focus {
  border: 1px solid #cccccc;
  background: #ededed;
  font-weight: normal;
  color: #2b2b2b;
}

.ui-state-hover a,
.ui-state-hover a:hover,
.ui-state-hover a:link,
.ui-state-hover a:visited,
.ui-state-focus a,
.ui-state-focus a:hover,
.ui-state-focus a:link,
.ui-state-focus a:visited,
a.ui-button:hover,
a.ui-button:focus {
  color: #2b2b2b;
  text-decoration: none;
}

.ui-visual-focus {
  box-shadow: 0 0 3px 1px #5e9ed6;
}

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
  border: 1px solid #003eff;
  background: #007fff;
  font-weight: normal;
  color: #ffffff;
}

.ui-icon-background,
.ui-state-active .ui-icon-background {
  border: #003eff;
  background-color: #ffffff;
}

.ui-state-active a,
.ui-state-active a:link,
.ui-state-active a:visited {
  color: #ffffff;
  text-decoration: none;
}

/* Interaction Cues
----------------------------------*/

.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
  border: 1px solid #dad55e;
  background: #fffa90;
  color: #777620;
}

.ui-state-checked {
  border: 1px solid #dad55e;
  background: #fffa90;
}

.ui-state-highlight a,
.ui-widget-content .ui-state-highlight a,
.ui-widget-header .ui-state-highlight a {
  color: #777620;
}

.ui-state-error,
.ui-widget-content .ui-state-error,
.ui-widget-header .ui-state-error {
  border: 1px solid #f1a899;
  background: #fddfdf;
  color: #5f3f3f;
}

.ui-state-error a,
.ui-widget-content .ui-state-error a,
.ui-widget-header .ui-state-error a {
  color: #5f3f3f;
}

.ui-state-error-text,
.ui-widget-content .ui-state-error-text,
.ui-widget-header .ui-state-error-text {
  color: #5f3f3f;
}

.ui-priority-primary,
.ui-widget-content .ui-priority-primary,
.ui-widget-header .ui-priority-primary {
  font-weight: bold;
}

.ui-priority-secondary,
.ui-widget-content .ui-priority-secondary,
.ui-widget-header .ui-priority-secondary {
  opacity: .7;
  filter: Alpha(Opacity=70);
  /* support: IE8 */
  font-weight: normal;
}

.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
  opacity: .35;
  filter: Alpha(Opacity=35);
  /* support: IE8 */
  background-image: none;
}

.ui-state-disabled .ui-icon {
  filter: Alpha(Opacity=35);
  /* support: IE8 - See #6059 */
}

/* Icons
----------------------------------*/

/* states and images */

.ui-icon {
  width: 16px;
  height: 16px;
}

.ui-icon,
.ui-widget-content .ui-icon {
  background-image: url(/build/images/ui-icons_444444_256x240.f4ebe485.png);
}

.ui-widget-header .ui-icon {
  background-image: url(/build/images/ui-icons_444444_256x240.f4ebe485.png);
}

.ui-state-hover .ui-icon,
.ui-state-focus .ui-icon,
.ui-button:hover .ui-icon,
.ui-button:focus .ui-icon {
  background-image: url(/build/images/ui-icons_555555_256x240.d70c49a1.png);
}

.ui-state-active .ui-icon,
.ui-button:active .ui-icon {
  background-image: url(/build/images/ui-icons_ffffff_256x240.e33c878c.png);
}

.ui-state-highlight .ui-icon,
.ui-button .ui-state-highlight.ui-icon {
  background-image: url(/build/images/ui-icons_777620_256x240.03c85664.png);
}

.ui-state-error .ui-icon,
.ui-state-error-text .ui-icon {
  background-image: url(/build/images/ui-icons_cc0000_256x240.bd6996f9.png);
}

.ui-button .ui-icon {
  background-image: url(/build/images/ui-icons_777777_256x240.6d28e77d.png);
}

/* positioning */

.ui-icon-blank {
  background-position: 16px 16px;
}

.ui-icon-caret-1-n {
  background-position: 0 0;
}

.ui-icon-caret-1-ne {
  background-position: -16px 0;
}

.ui-icon-caret-1-e {
  background-position: -32px 0;
}

.ui-icon-caret-1-se {
  background-position: -48px 0;
}

.ui-icon-caret-1-s {
  background-position: -65px 0;
}

.ui-icon-caret-1-sw {
  background-position: -80px 0;
}

.ui-icon-caret-1-w {
  background-position: -96px 0;
}

.ui-icon-caret-1-nw {
  background-position: -112px 0;
}

.ui-icon-caret-2-n-s {
  background-position: -128px 0;
}

.ui-icon-caret-2-e-w {
  background-position: -144px 0;
}

.ui-icon-triangle-1-n {
  background-position: 0 -16px;
}

.ui-icon-triangle-1-ne {
  background-position: -16px -16px;
}

.ui-icon-triangle-1-e {
  background-position: -32px -16px;
}

.ui-icon-triangle-1-se {
  background-position: -48px -16px;
}

.ui-icon-triangle-1-s {
  background-position: -65px -16px;
}

.ui-icon-triangle-1-sw {
  background-position: -80px -16px;
}

.ui-icon-triangle-1-w {
  background-position: -96px -16px;
}

.ui-icon-triangle-1-nw {
  background-position: -112px -16px;
}

.ui-icon-triangle-2-n-s {
  background-position: -128px -16px;
}

.ui-icon-triangle-2-e-w {
  background-position: -144px -16px;
}

.ui-icon-arrow-1-n {
  background-position: 0 -32px;
}

.ui-icon-arrow-1-ne {
  background-position: -16px -32px;
}

.ui-icon-arrow-1-e {
  background-position: -32px -32px;
}

.ui-icon-arrow-1-se {
  background-position: -48px -32px;
}

.ui-icon-arrow-1-s {
  background-position: -65px -32px;
}

.ui-icon-arrow-1-sw {
  background-position: -80px -32px;
}

.ui-icon-arrow-1-w {
  background-position: -96px -32px;
}

.ui-icon-arrow-1-nw {
  background-position: -112px -32px;
}

.ui-icon-arrow-2-n-s {
  background-position: -128px -32px;
}

.ui-icon-arrow-2-ne-sw {
  background-position: -144px -32px;
}

.ui-icon-arrow-2-e-w {
  background-position: -160px -32px;
}

.ui-icon-arrow-2-se-nw {
  background-position: -176px -32px;
}

.ui-icon-arrowstop-1-n {
  background-position: -192px -32px;
}

.ui-icon-arrowstop-1-e {
  background-position: -208px -32px;
}

.ui-icon-arrowstop-1-s {
  background-position: -224px -32px;
}

.ui-icon-arrowstop-1-w {
  background-position: -240px -32px;
}

.ui-icon-arrowthick-1-n {
  background-position: 1px -48px;
}

.ui-icon-arrowthick-1-ne {
  background-position: -16px -48px;
}

.ui-icon-arrowthick-1-e {
  background-position: -32px -48px;
}

.ui-icon-arrowthick-1-se {
  background-position: -48px -48px;
}

.ui-icon-arrowthick-1-s {
  background-position: -64px -48px;
}

.ui-icon-arrowthick-1-sw {
  background-position: -80px -48px;
}

.ui-icon-arrowthick-1-w {
  background-position: -96px -48px;
}

.ui-icon-arrowthick-1-nw {
  background-position: -112px -48px;
}

.ui-icon-arrowthick-2-n-s {
  background-position: -128px -48px;
}

.ui-icon-arrowthick-2-ne-sw {
  background-position: -144px -48px;
}

.ui-icon-arrowthick-2-e-w {
  background-position: -160px -48px;
}

.ui-icon-arrowthick-2-se-nw {
  background-position: -176px -48px;
}

.ui-icon-arrowthickstop-1-n {
  background-position: -192px -48px;
}

.ui-icon-arrowthickstop-1-e {
  background-position: -208px -48px;
}

.ui-icon-arrowthickstop-1-s {
  background-position: -224px -48px;
}

.ui-icon-arrowthickstop-1-w {
  background-position: -240px -48px;
}

.ui-icon-arrowreturnthick-1-w {
  background-position: 0 -64px;
}

.ui-icon-arrowreturnthick-1-n {
  background-position: -16px -64px;
}

.ui-icon-arrowreturnthick-1-e {
  background-position: -32px -64px;
}

.ui-icon-arrowreturnthick-1-s {
  background-position: -48px -64px;
}

.ui-icon-arrowreturn-1-w {
  background-position: -64px -64px;
}

.ui-icon-arrowreturn-1-n {
  background-position: -80px -64px;
}

.ui-icon-arrowreturn-1-e {
  background-position: -96px -64px;
}

.ui-icon-arrowreturn-1-s {
  background-position: -112px -64px;
}

.ui-icon-arrowrefresh-1-w {
  background-position: -128px -64px;
}

.ui-icon-arrowrefresh-1-n {
  background-position: -144px -64px;
}

.ui-icon-arrowrefresh-1-e {
  background-position: -160px -64px;
}

.ui-icon-arrowrefresh-1-s {
  background-position: -176px -64px;
}

.ui-icon-arrow-4 {
  background-position: 0 -80px;
}

.ui-icon-arrow-4-diag {
  background-position: -16px -80px;
}

.ui-icon-extlink {
  background-position: -32px -80px;
}

.ui-icon-newwin {
  background-position: -48px -80px;
}

.ui-icon-refresh {
  background-position: -64px -80px;
}

.ui-icon-shuffle {
  background-position: -80px -80px;
}

.ui-icon-transfer-e-w {
  background-position: -96px -80px;
}

.ui-icon-transferthick-e-w {
  background-position: -112px -80px;
}

.ui-icon-folder-collapsed {
  background-position: 0 -96px;
}

.ui-icon-folder-open {
  background-position: -16px -96px;
}

.ui-icon-document {
  background-position: -32px -96px;
}

.ui-icon-document-b {
  background-position: -48px -96px;
}

.ui-icon-note {
  background-position: -64px -96px;
}

.ui-icon-mail-closed {
  background-position: -80px -96px;
}

.ui-icon-mail-open {
  background-position: -96px -96px;
}

.ui-icon-suitcase {
  background-position: -112px -96px;
}

.ui-icon-comment {
  background-position: -128px -96px;
}

.ui-icon-person {
  background-position: -144px -96px;
}

.ui-icon-print {
  background-position: -160px -96px;
}

.ui-icon-trash {
  background-position: -176px -96px;
}

.ui-icon-locked {
  background-position: -192px -96px;
}

.ui-icon-unlocked {
  background-position: -208px -96px;
}

.ui-icon-bookmark {
  background-position: -224px -96px;
}

.ui-icon-tag {
  background-position: -240px -96px;
}

.ui-icon-home {
  background-position: 0 -112px;
}

.ui-icon-flag {
  background-position: -16px -112px;
}

.ui-icon-calendar {
  background-position: -32px -112px;
}

.ui-icon-cart {
  background-position: -48px -112px;
}

.ui-icon-pencil {
  background-position: -64px -112px;
}

.ui-icon-clock {
  background-position: -80px -112px;
}

.ui-icon-disk {
  background-position: -96px -112px;
}

.ui-icon-calculator {
  background-position: -112px -112px;
}

.ui-icon-zoomin {
  background-position: -128px -112px;
}

.ui-icon-zoomout {
  background-position: -144px -112px;
}

.ui-icon-search {
  background-position: -160px -112px;
}

.ui-icon-wrench {
  background-position: -176px -112px;
}

.ui-icon-gear {
  background-position: -192px -112px;
}

.ui-icon-heart {
  background-position: -208px -112px;
}

.ui-icon-star {
  background-position: -224px -112px;
}

.ui-icon-link {
  background-position: -240px -112px;
}

.ui-icon-cancel {
  background-position: 0 -128px;
}

.ui-icon-plus {
  background-position: -16px -128px;
}

.ui-icon-plusthick {
  background-position: -32px -128px;
}

.ui-icon-minus {
  background-position: -48px -128px;
}

.ui-icon-minusthick {
  background-position: -64px -128px;
}

.ui-icon-close {
  background-position: -80px -128px;
}

.ui-icon-closethick {
  background-position: -96px -128px;
}

.ui-icon-key {
  background-position: -112px -128px;
}

.ui-icon-lightbulb {
  background-position: -128px -128px;
}

.ui-icon-scissors {
  background-position: -144px -128px;
}

.ui-icon-clipboard {
  background-position: -160px -128px;
}

.ui-icon-copy {
  background-position: -176px -128px;
}

.ui-icon-contact {
  background-position: -192px -128px;
}

.ui-icon-image {
  background-position: -208px -128px;
}

.ui-icon-video {
  background-position: -224px -128px;
}

.ui-icon-script {
  background-position: -240px -128px;
}

.ui-icon-alert {
  background-position: 0 -144px;
}

.ui-icon-info {
  background-position: -16px -144px;
}

.ui-icon-notice {
  background-position: -32px -144px;
}

.ui-icon-help {
  background-position: -48px -144px;
}

.ui-icon-check {
  background-position: -64px -144px;
}

.ui-icon-bullet {
  background-position: -80px -144px;
}

.ui-icon-radio-on {
  background-position: -96px -144px;
}

.ui-icon-radio-off {
  background-position: -112px -144px;
}

.ui-icon-pin-w {
  background-position: -128px -144px;
}

.ui-icon-pin-s {
  background-position: -144px -144px;
}

.ui-icon-play {
  background-position: 0 -160px;
}

.ui-icon-pause {
  background-position: -16px -160px;
}

.ui-icon-seek-next {
  background-position: -32px -160px;
}

.ui-icon-seek-prev {
  background-position: -48px -160px;
}

.ui-icon-seek-end {
  background-position: -64px -160px;
}

.ui-icon-seek-start {
  background-position: -80px -160px;
}

/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */

.ui-icon-seek-first {
  background-position: -80px -160px;
}

.ui-icon-stop {
  background-position: -96px -160px;
}

.ui-icon-eject {
  background-position: -112px -160px;
}

.ui-icon-volume-off {
  background-position: -128px -160px;
}

.ui-icon-volume-on {
  background-position: -144px -160px;
}

.ui-icon-power {
  background-position: 0 -176px;
}

.ui-icon-signal-diag {
  background-position: -16px -176px;
}

.ui-icon-signal {
  background-position: -32px -176px;
}

.ui-icon-battery-0 {
  background-position: -48px -176px;
}

.ui-icon-battery-1 {
  background-position: -64px -176px;
}

.ui-icon-battery-2 {
  background-position: -80px -176px;
}

.ui-icon-battery-3 {
  background-position: -96px -176px;
}

.ui-icon-circle-plus {
  background-position: 0 -192px;
}

.ui-icon-circle-minus {
  background-position: -16px -192px;
}

.ui-icon-circle-close {
  background-position: -32px -192px;
}

.ui-icon-circle-triangle-e {
  background-position: -48px -192px;
}

.ui-icon-circle-triangle-s {
  background-position: -64px -192px;
}

.ui-icon-circle-triangle-w {
  background-position: -80px -192px;
}

.ui-icon-circle-triangle-n {
  background-position: -96px -192px;
}

.ui-icon-circle-arrow-e {
  background-position: -112px -192px;
}

.ui-icon-circle-arrow-s {
  background-position: -128px -192px;
}

.ui-icon-circle-arrow-w {
  background-position: -144px -192px;
}

.ui-icon-circle-arrow-n {
  background-position: -160px -192px;
}

.ui-icon-circle-zoomin {
  background-position: -176px -192px;
}

.ui-icon-circle-zoomout {
  background-position: -192px -192px;
}

.ui-icon-circle-check {
  background-position: -208px -192px;
}

.ui-icon-circlesmall-plus {
  background-position: 0 -208px;
}

.ui-icon-circlesmall-minus {
  background-position: -16px -208px;
}

.ui-icon-circlesmall-close {
  background-position: -32px -208px;
}

.ui-icon-squaresmall-plus {
  background-position: -48px -208px;
}

.ui-icon-squaresmall-minus {
  background-position: -64px -208px;
}

.ui-icon-squaresmall-close {
  background-position: -80px -208px;
}

.ui-icon-grip-dotted-vertical {
  background-position: 0 -224px;
}

.ui-icon-grip-dotted-horizontal {
  background-position: -16px -224px;
}

.ui-icon-grip-solid-vertical {
  background-position: -32px -224px;
}

.ui-icon-grip-solid-horizontal {
  background-position: -48px -224px;
}

.ui-icon-gripsmall-diagonal-se {
  background-position: -64px -224px;
}

.ui-icon-grip-diagonal-se {
  background-position: -80px -224px;
}

/* Misc visuals
----------------------------------*/

/* Corner radius */

.ui-corner-all,
.ui-corner-top,
.ui-corner-left,
.ui-corner-tl {
  border-top-left-radius: 3px;
}

.ui-corner-all,
.ui-corner-top,
.ui-corner-right,
.ui-corner-tr {
  border-top-right-radius: 3px;
}

.ui-corner-all,
.ui-corner-bottom,
.ui-corner-left,
.ui-corner-bl {
  border-bottom-left-radius: 3px;
}

.ui-corner-all,
.ui-corner-bottom,
.ui-corner-right,
.ui-corner-br {
  border-bottom-right-radius: 3px;
}

/* Overlays */

.ui-widget-overlay {
  background: #aaaaaa;
  opacity: .3;
  filter: Alpha(Opacity=30);
  /* support: IE8 */
}

.ui-widget-shadow {
  -webkit-box-shadow: 0px 0px 5px #666666;
  box-shadow: 0px 0px 5px #666666;
}

.spinner.input-group .input-group-addon a.spin-up,
.spinner.input-group .input-group-addon a.spin-down {
  height: 10px;
  width: 10px;
  font-size: 14px;
  overflow: hidden;
  display: block;
  text-align: center;
  text-decoration: none;
  position: relative;
  color: #999;
}

.spinner.input-group .input-group-addon a.spin-up .icon-sort-down,
.spinner.input-group .input-group-addon a.spin-down .icon-sort-down {
  position: relative;
  top: -6px;
}

.spinner.input-group .input-group-addon a.spin-up:hover,
.spinner.input-group .input-group-addon a.spin-down:hover {
  color: #555;
}

.spinner.input-group input {
  text-align: center;
}

.spinner.input-group.input-group-lg .input-group-addon a.spin-up,
.spinner.input-group.input-group-lg .input-group-addon a.spin-down {
  font-size: 16px;
  height: 12px;
}

.spinner.input-group.input-group-sm .input-group-addon a.spin-up,
.spinner.input-group.input-group-sm .input-group-addon a.spin-down {
  font-size: 12px;
  height: 9px;
}

.spinner {
  position: relative;
}

.spinner input {
  margin-bottom: 0;
}

.spinner .add-on {
  position: absolute;
  top: 0;
  right: 6px;
  height: 100%;
}

.spinner .add-on a {
  display: block;
  clear: both;
  height: 12px;
  opacity: 0.7;
}

.spinner .add-on a:hover {
  opacity: 1;
}

.spinner .add-on a i {
  color: #000;
  font-size: 18px;
}

@font-face {
  font-family: 'Gotham';
  src: url(/build/fonts/GothamThin.a4abd803.woff2) format("woff2"), url(/build/fonts/GothamThin.59614208.woff) format("woff"), url(/build/fonts/GothamThin.d486013b.ttf) format("truetype");
  font-weight: 100;
}

@font-face {
  font-family: 'Gotham';
  src: url(/build/fonts/GothamLight.bb71f343.woff2) format("woff2"), url(/build/fonts/GothamLight.622570eb.woff) format("woff"), url(/build/fonts/GothamLight.e49bbc5a.ttf) format("truetype");
  font-weight: 300;
}

@font-face {
  font-family: 'Gotham';
  src: url(/build/fonts/GothamMedium.63053d9f.woff2) format("woff2"), url(/build/fonts/GothamMedium.0151ff2a.woff) format("woff"), url(/build/fonts/GothamMedium.7ecfa91d.ttf) format("truetype");
  font-weight: 500;
}

@font-face {
  font-family: 'Gotham';
  src: url(/build/fonts/GothamBold.58320621.woff2) format("woff2"), url(/build/fonts/GothamBold.dc9e3c17.woff) format("woff"), url(/build/fonts/GothamBold.b698a834.ttf) format("truetype");
  font-weight: 700;
}

@font-face {
  font-family: 'Gotham';
  src: url(/build/fonts/GothamBlack.886f7eac.woff2) format("woff2"), url(/build/fonts/GothamBlack.5bf148e0.woff) format("woff"), url(/build/fonts/GothamBlack.f8b3ee90.ttf) format("truetype");
  font-weight: 900;
}

@font-face {
  font-family: 'Gotham-Book';
  src: url(/build/fonts/Gotham-Book.0af4c22d.woff2) format("woff2"), url(/build/fonts/Gotham-Book.a37f1202.woff) format("woff"), url(/build/fonts/Gotham-Book.629cc0c9.ttf) format("truetype");
}

@font-face {
  font-family: 'icomoon';
  src: url(/build/fonts/icomoon.38c5a247.woff) format("woff"), url(/build/fonts/icomoon.74e8f08d.ttf) format("truetype");
  font-weight: normal;
  font-style: normal;
}

h1,
.h1 {
  font-family: 'Gotham', sans-serif;
  font-weight: 700;
}

h2,
.h2,
h3,
.h3 {
  font-family: 'Roboto Slab', serif;
  font-weight: 300;
}

h4,
.h4 {
  font-family: 'Gotham', sans-serif;
  font-weight: 500;
}

h5,
.h5 {
  font-family: 'Roboto Slab', serif;
  font-weight: 400;
}

p {
  font-family: 'Gotham', sans-serif;
  font-weight: 300;
}

p strong {
  font-weight: 500 !important;
}

li {
  font-family: 'Gotham', sans-serif;
  font-weight: 300;
}

li strong {
  font-weight: 500 !important;
}

label {
  font-family: 'Gotham', sans-serif;
  font-weight: 300;
}

label strong {
  font-weight: 500 !important;
}

.Carousel {
  height: 265px;
  overflow-y: hidden;
}

.Carousel.with-legend {
  height: 360px;
}

.Carousel.with-legend .slick-arrow {
  top: calc(50% - 45px);
}

.Carousel .CarouselItem {
  color: #1e1e1e;
}

.Carousel .CarouselItem img {
  height: 265px;
}

.Carousel .CarouselItem .CarouselItem-title {
  font-family: 'Gotham', sans-serif;
  font-weight: 500;
  font-size: 1rem;
  margin-top: 15px;
}

.Carousel .CarouselItem .CarouselItem-subtitle {
  font-family: 'Gotham-Book', sans-serif;
  font-size: 0.9375rem;
  margin-bottom: 15px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.Carousel .CarouselItem .CarouselItem-details {
  font-family: 'Roboto Slab', serif;
  font-weight: 300;
  font-size: 0.875rem;
}

.Carousel .CarouselItem .CarouselItem-details span {
  color: #ff0000;
  font-weight: 700;
}

.Carousel .slick-slide {
  margin-right: 30px;
}

.Carousel .slick-arrow {
  z-index: 1;
  height: 75px;
  width: 75px;
  background-color: rgba(255, 255, 255, 0.2);
}

.Carousel .slick-arrow:before {
  font-family: 'FontAwesome', sans-serif;
  font-size: 30px;
  color: #333;
}

.Carousel .slick-arrow:hover {
  background-color: rgba(255, 255, 255, 0.6);
}

.Carousel .slick-prev {
  left: 0;
}

.Carousel .slick-prev:before {
  content: "\F053";
}

.Carousel .slick-next {
  right: 0;
}

.Carousel .slick-next:before {
  content: "\F054";
}

.wrapper-carousel {
  background-color: #ffffff;
  border-bottom: 50px solid #f5f5f5;
}

.wrapper-carousel.gray-black {
  background-color: #3b3939;
  color: #ffffff;
}

.wrapper-carousel.gray-black .owl-item h3,
.wrapper-carousel.gray-black .owl-item h4,
.wrapper-carousel.gray-black .owl-item p {
  color: #ffffff;
}

@media screen and (max-width: 40.62375em) {
  .wrapper-carousel .block-carousel.row {
    display: block !important;
  }
}

.wrapper-carousel span.carousel-price {
  color: #ff0000;
  font-weight: bold;
}

.wrapper-carousel.internal h5.block-title {
  padding-top: 30px;
  margin-bottom: 45px;
  font-weight: 300;
}

.wrapper-carousel.internal h5.block-title strong {
  border-bottom: 4px solid #fff;
  padding-bottom: 8px;
}

@media screen and (max-width: 40.62375em) {
  .wrapper-carousel.internal h5.block-title strong {
    display: block;
    margin-bottom: 10px;
  }
}

.button {
  font-family: 'Gotham', sans-serif;
  font-weight: 500;
}

.button.blackGrey {
  background-color: #3b3939;
  border: 1px solid #b1b1b1;
  color: #b1b1b1;
  margin-bottom: 0;
}

@media screen and (max-width: 40.62375em) {
  .button.blackGrey {
    display: block;
  }
}

.button.blackGrey:hover {
  background-color: #ff0000;
  border: 1px solid #ff0000;
  color: #ffffff;
}

.button.red {
  background: #ff0000;
  border: 2px solid #ff0000;
  color: #ffffff;
  text-transform: uppercase;
  padding-right: 50px;
  position: relative;
}

@media screen and (max-width: 40.62375em) {
  .button.red {
    display: block;
  }
}

.button.red:after {
  color: inherit;
  content: "\F178";
  font-family: 'FontAwesome';
  position: absolute;
  right: 8%;
  top: 28%;
}

.button.red:hover {
  color: #ff0000;
  border: 2px solid #ff0000;
  background: #ffffff;
}

.button.red[disabled] {
  opacity: 1;
  background: #d3d3d3;
  border-color: #d3d3d3;
  color: #b1b1b1;
}

.button.whiteRed {
  background: #ffffff;
  border: 2px solid #ff0000;
  color: #ff0000;
  text-transform: uppercase;
  margin-bottom: 0;
  margin-top: 1rem;
  padding-right: 50px;
  position: relative;
}

@media screen and (max-width: 40.62375em) {
  .button.whiteRed {
    display: block;
  }
}

.button.whiteRed:after {
  color: #ff0000;
  content: "\F178";
  font-family: 'FontAwesome';
  position: absolute;
  right: 8%;
  top: 28%;
}

.button.whiteRed:hover {
  background: #ff0000;
  border: 2px solid #ff0000;
  color: #ffffff;
}

.button.whiteRed:hover:after {
  color: #ffffff;
}

.button.gray-light {
  background: #d3d3d3;
  color: #3b3939;
  text-transform: uppercase;
  position: relative;
}

@media screen and (max-width: 40.62375em) {
  .button.gray-light {
    display: block;
  }
}

.button.gray-light:hover {
  background-color: #ff0000;
  color: #ffffff;
}

.button.gray-light:hover:after {
  color: #ffffff;
}

.button.greyRed {
  background: #4f4d4d;
  color: #ffffff;
  padding-right: 50px;
  text-transform: uppercase;
  position: relative;
}

@media screen and (max-width: 40.62375em) {
  .button.greyRed {
    display: block;
  }
}

.button.greyRed:after {
  color: #ffffff;
  content: "\F178";
  font-family: 'FontAwesome';
  position: absolute;
  right: 8%;
  top: 28%;
}

.button.greyRed:hover {
  background-color: #ff0000;
  color: #ffffff;
}

.button.greyRed:hover:after {
  color: #ffffff;
}

.button.blackWRed {
  background-color: transparent;
  border: 2px solid #ffffff;
  color: #ffffff;
  font-size: 0.8125rem;
  text-transform: uppercase;
}

@media screen and (max-width: 40.62375em) {
  .button.blackWRed {
    display: block;
  }
}

.button.blackWRed:hover {
  background-color: #ff0000;
  border: 2px solid #ff0000;
  color: #ffffff;
}

.button.transparent-red {
  background: transparent;
  border: 1px solid #ff0000;
  border-radius: 5px;
  color: #ff0000;
  text-transform: uppercase;
  margin-bottom: 0;
  padding: 2px 16px;
  position: relative;
}

@media screen and (max-width: 40.62375em) {
  .button.transparent-red {
    display: block;
  }
}

.button.transparent-red:hover {
  background: #ff0000;
  border: 1px solid #ff0000;
  color: #ffffff;
}

.button.transparent-red:hover:after {
  color: #ffffff;
}

.button.black-light {
  background: transparent;
  color: #1e1e1e;
  border: 2px solid #1e1e1e;
  text-transform: uppercase;
  position: relative;
}

@media screen and (max-width: 40.62375em) {
  .button.black-light {
    display: block;
  }
}

.button.black-light:hover {
  background: #1e1e1e;
  color: #ffffff;
}

.button.black-light:hover:after {
  color: #ffffff;
}

.button.green-light {
  background: transparent;
  color: #009900;
  border: 2px solid #009900;
  text-transform: uppercase;
  position: relative;
}

@media screen and (max-width: 40.62375em) {
  .button.green-light {
    display: block;
  }
}

.button.green-light:hover {
  background: #009900;
  color: #ffffff;
}

.button.red-light {
  background: transparent;
  color: #ff0000;
  border: 2px solid #ff0000;
  text-transform: uppercase;
  position: relative;
}

@media screen and (max-width: 40.62375em) {
  .button.red-light {
    display: block;
  }
}

.button.red-light:hover {
  background: #ff0000;
  color: #ffffff;
}

.button.link {
  background: transparent;
  color: #ff0000;
  border: none;
}

.button.link:hover {
  text-decoration: underline;
}

form.form-card .wrapper-form {
  border-bottom: 2px solid #ff0000;
  padding-bottom: 40px;
  margin-bottom: 20px;
}

form.form-card fieldset legend {
  font-family: 'Roboto Slab', serif;
  font-weight: bold;
  padding-left: 12px;
}

form.form-card fieldset legend span {
  padding-right: 8px;
  display: inline-block;
}

form.form-card .accordion {
  background: none;
}

form.form-card .accordion .accordion-item a.accordion-title::before {
  display: none;
}

form.form-card .accordion .accordion-item a.accordion-title,
form.form-card .item-form {
  background-color: #fafafa;
  border: 1px solid #fafafa;
  margin-bottom: 5px;
  padding: 10px 15px;
  position: relative;
}

form.form-card .accordion .accordion-item a.accordion-title.choosed,
form.form-card .item-form.choosed {
  background-color: #ffffff;
  border: 1px solid #b1b1b1;
}

form.form-card .accordion .accordion-item a.accordion-title.choosed label,
form.form-card .item-form.choosed label {
  font-family: 'Gotham', sans-serif;
  font-weight: 500;
}

form.form-card .accordion .accordion-item a.accordion-title.choosed span.price,
form.form-card .item-form.choosed span.price {
  color: #ff0000;
}

form.form-card .accordion .accordion-item a.accordion-title input,
form.form-card .item-form input {
  margin-bottom: 0 !important;
  box-shadow: 0 0 0;
}

form.form-card .accordion .accordion-item a.accordion-title input:focus,
form.form-card .item-form input:focus {
  box-shadow: 0 0 0;
}

form.form-card .accordion .accordion-item a.accordion-title label span.price,
form.form-card .item-form label span.price {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  float: right;
  font-size: 1.25rem;
  position: absolute;
  right: 15px;
  top: 5px;
}

form.form-card .accordion .accordion-item a.accordion-title label span.price {
  display: none;
}

form.form-card .accordion .accordion-item.is-active {
  margin-bottom: 5px;
}

form.form-card .accordion .accordion-item.is-active .accordion-content {
  border: 1px solid #b1b1b1;
  border-top: none !important;
}

form.form-card .accordion .accordion-item.is-active a.accordion-title {
  background-color: #ffffff;
  border: 1px solid #b1b1b1;
  border-bottom: none !important;
  margin-bottom: 0;
}

form.form-card .accordion .accordion-item.is-active a.accordion-title::before {
  display: none;
}

form.form-card .accordion .accordion-item.is-active a.accordion-title label {
  font-family: 'Gotham', sans-serif;
  font-weight: 500;
}

form.form-card .accordion .accordion-item.is-active a.accordion-title label span.price {
  display: block;
}

form.form-card .accordion .accordion-item.is-active a.accordion-title span.price {
  color: #ff0000;
}

form.form-card .expedition-message,
form.form-card .not-deliverable {
  padding: 5px;
  font-family: 'Gotham', sans-serif;
  font-size: 15px;
  font-weight: 400 !important;
}

form.form-card #message-container {
  float: left;
  width: calc(100% - 160px);
}

form.form-card p.total {
  float: left;
  width: 150px;
  text-align: right;
  font-size: 1.5rem;
}

form.form-card p.total span {
  color: #ff0000;
}

form.form-card span.radio {
  height: 17px;
  width: 17px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8e8d8d;
  float: left;
  border: 1px solid #8e8d8d;
  border-radius: 100%;
  margin-right: 8px;
}

form.form-card span.radio:before {
  font-family: 'FontAwesome';
  font-size: 11px;
}

form.form-card span.radio.checked {
  border: 1px solid #ff0000;
}

form.form-card span.radio.checked:before {
  content: "\F00C";
  color: #ff0000;
}

form.form-card .choosed span.radio:before {
  content: "\F00C";
  color: #ff0000;
}

form.form-card .choosed .radio-item {
  color: #000;
}

form.form-card .radio-item {
  color: #8e8d8d;
}

form.form-card #other {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50%;
}

form.form-card #other input {
  float: left;
  max-width: 190px;
  padding: 5px;
  margin-top: 8px;
}

form.form-card #other i {
  padding-left: 9px;
}

form.form-card a.radio-item {
  display: block;
  line-height: 15px;
}

form.form-card #options-envoi {
  margin-top: 20px;
}

form.form-card #options-envoi .type-radio span.price {
  float: right;
  font-size: 20px;
  line-height: 20px;
}

form.form-card .description-select {
  font-size: 13px;
  padding-top: 10px;
  margin: 0 10px 10px 33px;
}

form.form-card .description-select .disponible-stock .red {
  color: #ff0000;
}

form.form-card .accordion-content {
  padding: 0;
}

#buy-photo .accordion-title {
  color: #8e8d8d;
  font-size: 15px;
}

#buy-photo .accordion-title .has-tip {
  background: transparent url(/build/images/icon-i.4ebd3f29.png) no-repeat center center/90% auto;
  height: 20px;
  width: 20px;
  margin: 0 0 -5px 15px;
  outline: none;
  border-bottom: none;
  cursor: default;
}

#buy-photo .accordion-title .price {
  display: none;
  float: right;
  font-size: 20px;
}

#buy-photo .accordion-title[aria-expanded="true"] {
  color: #000;
}

#buy-photo .accordion-title[aria-expanded="true"] .label-radio {
  font-weight: bold;
}

#buy-photo .accordion-title[aria-expanded="true"] .price {
  display: block;
}

.tooltip.framingHelp {
  max-width: 20rem;
}

a.item-checkbox {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 8px;
  color: #3b3939;
}

a.item-checkbox span.check {
  border: 2px solid #3b3939;
  height: 20px;
  width: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 20px;
}

a.item-checkbox span.check:before {
  font-family: 'FontAwesome';
  content: "\F00D";
  font-size: 12px;
  display: none;
}

a.item-checkbox.active span.check::before {
  color: #ff0000;
  display: block;
}

.big-radios {
  list-style: none;
  margin: 0;
}

.big-radios li {
  margin-left: 35px;
  margin-bottom: 10px;
}

.big-radios .item-radio {
  height: 54px;
  width: 60px;
  display: inline-block;
  background: #000;
  border: 3px solid #f6f6f6;
  border-radius: 100%;
}

.big-radios .item-radio:before {
  font-family: 'FontAwesome';
  content: "\F00C";
  color: #fff;
  font-size: 20px;
  align-items: center;
  justify-content: center;
  height: 100%;
  display: none;
}

.big-radios #aluminium .item-radio {
  background: url(/build/images/pattern-white-aluminium.9d4f1cae.png) no-repeat 0 0;
  background-size: cover;
}

.big-radios #chene .item-radio {
  background: url(/build/images/pattern-wood-oak.d1a9b7ea.png) no-repeat 0 0;
  background-size: cover;
}

.big-radios #bois .item-radio {
  background: url(/build/images/pattern-black-wood.6c5b3067.png) no-repeat 0 0;
  background-size: cover;
}

.big-radios .big-radio {
  display: flex;
  align-items: center;
}

.big-radios .big-radio .price {
  display: none;
  font-size: 20px;
}

.big-radios .big-radio .label-radio {
  margin-left: 10px;
  width: 100%;
}

.big-radios .big-radio.active .price {
  display: block;
  float: right;
  font-weight: bold;
}

.big-radios .big-radio.active .item-radio {
  border: 3px solid #ff0000;
}

.big-radios .big-radio.active .item-radio:before {
  display: flex;
}

#buy-photo .action-forms {
  clear: both;
  overflow: hidden;
}

#buy-photo .action-forms .text-center {
  float: right;
}

.box-filter-nav {
  clear: both;
  overflow: hidden;
  background-color: #fff;
  width: 100%;
}

#filters-btn {
  background-color: #262626;
  color: #fff;
  height: 70px;
  margin-bottom: 0;
  float: left;
  width: 15%;
  z-index: 700;
  font-size: 20px;
}

@media screen and (max-width: 74.99875em) {
  #filters-btn {
    width: 100%;
    padding-left: 5px;
    padding-right: 5px;
  }
}

#filters-btn span.results {
  display: none;
  color: #fff;
}

#filters-btn i {
  padding-right: 10px;
  font-size: 26px;
}

#filters-btn[aria-expanded="true"] {
  background-color: #000;
  width: 420px;
}

@media screen and (max-width: 74.99875em) {
  #filters-btn[aria-expanded="true"] {
    width: 100%;
  }
}

#filters-btn[aria-expanded="true"]:after {
  font-family: 'icomoon';
  color: #fff;
  content: "\E905";
  right: 0;
  float: right;
  margin-right: 30px;
  font-size: 26px;
}

#filters-btn[aria-expanded="true"] span.results {
  display: inline-block;
  color: #fff;
}

.second-navigation {
  float: right;
  width: 85%;
  height: 70px;
  background: #fff;
  padding: 0 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media screen and (max-width: 74.99875em) {
  .second-navigation {
    width: 100%;
  }
}

.second-navigation nav {
  width: 90%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media screen and (max-width: 74.99875em) {
  .second-navigation nav {
    width: auto;
    flex-flow: wrap row;
  }
}

.second-navigation nav a.drop-menu {
  display: none;
  width: 100%;
  padding: 8px 16px;
  text-align: center;
}

@media screen and (max-width: 74.99875em) {
  .second-navigation nav a.drop-menu {
    display: block;
  }
}

.second-navigation ul {
  list-style: none;
  margin: 0;
  padding-left: 60px;
  padding-right: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-flow: wrap row;
  width: 100%;
}

@media screen and (max-width: 74.99875em) {
  .second-navigation ul {
    padding: 16px 0;
    display: none;
    background: #fff;
    position: absolute;
    top: 140px;
    width: 100%;
    left: 0;
    z-index: 800;
    border-top: 1px solid  #3b3939;
    border-bottom: 1px solid  #3b3939;
  }
}

.second-navigation ul li {
  width: 33%;
  text-align: center;
  position: relative;
}

@media screen and (max-width: 74.99875em) {
  .second-navigation ul li {
    width: 100%;
    padding: 4px 16px;
    text-align: left;
  }
}

.second-navigation ul li:after {
  height: 10px;
  width: 1px;
  color: #3b3939;
  right: 0;
  top: 25%;
  content: " ";
  background: #3b3939;
  position: absolute;
}

@media screen and (max-width: 74.99875em) {
  .second-navigation ul li:after {
    display: none;
  }
}

.second-navigation ul li:last-child:after {
  display: none;
}

.second-navigation ul li a {
  color: #3b3939;
  padding-bottom: 23px;
  border-bottom: 4px solid #fff;
}

@media screen and (max-width: 74.99875em) {
  .second-navigation ul li a {
    border-bottom: 0;
    padding-bottom: 6px;
    display: block;
  }
}

.second-navigation ul li a.active,
.second-navigation ul li a:hover {
  color: #ff0000;
  border-bottom: 4px solid #ff0000;
}

@media screen and (max-width: 74.99875em) {
  .second-navigation ul li a.active,
  .second-navigation ul li a:hover {
    border-bottom: 0;
  }
}

.second-navigation .buttons-actions {
  width: 10%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 74.99875em) {
  .second-navigation .buttons-actions {
    width: auto;
    justify-content: flex-end;
    padding-right: 20px;
  }
}

.second-navigation .buttons-actions a {
  height: 36px;
  width: 36px;
  border: 2px solid #3b3939;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  color: #3b3939;
}

.second-navigation .buttons-actions a.active,
.second-navigation .buttons-actions a:hover {
  color: #ff0000;
  border: 2px solid #ff0000;
}

.second-navigation .buttons-actions a:first-child {
  margin-right: 18px;
}

.second-navigation .buttons-actions a.grid:after {
  content: "\E903";
  font-family: 'icomoon';
  font-size: 24px;
  height: 24px;
  width: 24px;
  line-height: 1;
}

.second-navigation .buttons-actions a.play:after {
  content: "\E904";
  font-family: 'icomoon';
  font-size: 24px;
  height: 24px;
  width: 24px;
  line-height: 1;
}

.box-filter-nav.active .second-navigation {
  width: 74%;
}

.position-left.is-transition-push {
  box-shadow: 0 0;
}

.off-canvas-absolute {
  background: #fff;
}

#filtersGroup {
  z-index: 0;
}

#filters {
  padding-right: 10px;
  padding-left: 10px;
  padding-top: 30px;
}

@media screen and (min-width: 64em) {
  #filters {
    padding-left: 70px;
    padding-right: 40px;
    width: 100%;
  }
}

#filters fieldset {
  margin-bottom: 25px;
}

#filters legend {
  border-bottom: 2px solid #ff0000;
  width: 100%;
}

#filters .search {
  position: relative;
}

#filters .search input {
  border: 0;
  border-bottom: 1px solid #bababa;
  box-shadow: 0 0;
  color: #8a8a8a;
  padding-right: 25px;
}

#filters .search i {
  position: absolute;
  top: 15px;
  right: 5px;
  color: #ff0000;
}

#filters ul.tags {
  list-style: none;
  margin: 0;
}

#filters ul.tags li {
  display: inline-block;
  margin: 3px 0 8px 3px;
  padding: 3px 5px;
  background: #1e1e1e;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  border-radius: 3px;
  color: #ffffff;
  font-size: 12px;
  font-family: 'Gotham', sans-serif;
  font-weight: 500;
  cursor: pointer;
}

#filters ul.tags li:hover {
  opacity: 0.85;
}

#filters ul.tags li i {
  font-size: 8px;
  padding-left: 3px;
}

@media screen and (min-width: 40.625em) and (max-width: 63.99875em) {
  #filters ul.tags li {
    font-size: 0.8125rem;
  }
}

@media screen and (max-width: 40.62375em) {
  #filters ul.tags li {
    font-size: 0.625rem;
  }
}

#filters .box-themes .button.red {
  padding-right: 20px;
}

#filters .box-themes .button.red::after {
  display: none;
}

#filters ul.themes {
  list-style: none;
  margin: 20px 0 10px 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-flow: wrap row;
}

#filters ul.themes li {
  margin: 0 0 12px 0;
}

#filters ul.themes a.theme {
  color: #3b3939;
  background: #f5f5f5;
  font-size: 12px;
  border: 1px solid #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 8px;
  width: 80px;
  height: 60px;
  text-align: center;
}

#filters ul.themes a.theme.active,
#filters ul.themes a.theme:hover {
  background: transparent;
  color: #ff0000;
  border: 1px solid #ff0000;
}

#filters ul.couleurs {
  list-style: none;
  margin: 20px 0 10px 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

#filters ul.couleurs li {
  margin: 0 0 12px 0;
}

#filters ul.couleurs a {
  display: block;
  height: 19px;
  width: 19px;
  border-radius: 100%;
  background: #ef5051;
  border: 1px solid #ef5051;
  text-indent: -9999px;
  position: relative;
}

#filters ul.couleurs a:after {
  position: absolute;
  content: "";
  top: -4px;
  left: -4px;
  width: 25px;
  height: 25px;
  border: 1px solid;
  border-color: inherit;
  background: transparent;
  border-radius: 100%;
  opacity: 0;
  transition: all .65s ease-in;
}

#filters ul.couleurs a:hover:after,
#filters ul.couleurs a.active:after {
  opacity: 1;
}

#filters ul.sizes {
  list-style: none;
  margin: 0;
}

#filters .checkboxes {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

ul.orientations {
  list-style: none;
  margin: 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

ul.orientations li a {
  color: #1e1e1e;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: row wrap;
}

ul.orientations li a.active,
ul.orientations li a:hover {
  color: #ff0000;
}

ul.orientations li a.active span.orientation,
ul.orientations li a:hover span.orientation {
  border-color: #ff0000;
}

ul.orientations li a.active span.orientation:after,
ul.orientations li a:hover span.orientation:after {
  border-color: #ff0000;
}

ul.orientations span.text {
  font-size: 10px;
  clear: both;
  width: 100%;
  text-align: center;
}

ul.orientations span.orientation {
  border: 2px solid #1e1e1e;
  background: #fff;
  padding: 2px;
  display: block;
  position: relative;
}

ul.orientations span.orientation:after {
  background: #ebebeb;
  border: 2px solid #1e1e1e;
  content: " ";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 100%;
  height: 100%;
}

ul.orientations .horizontal span.orientation {
  height: 38px;
  width: 58px;
}

ul.orientations .horizontal span.orientation:after {
  height: 30px;
  width: 50px;
}

ul.orientations .carre span.orientation {
  height: 42px;
  width: 38px;
}

ul.orientations .carre span.orientation:after {
  height: 34px;
  width: 30px;
}

ul.orientations .portrait span.orientation {
  height: 42px;
  width: 28px;
}

ul.orientations .portrait span.orientation:after {
  height: 34px;
  width: 20px;
}

ul.orientations .panoramique span.orientation {
  height: 38px;
  width: 79px;
}

ul.orientations .panoramique span.orientation:after {
  height: 30px;
  width: 72px;
}

.f-natures {
  overflow: hidden;
  clear: both;
  width: 100%;
  margin: 0 0;
  padding: 0 0;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.f-natures a {
  color: #3b3939;
  font-size: 10px;
  text-align: center;
}

.f-natures a span.icn {
  font-family: 'icomoon';
  font-size: 32px;
  width: 100%;
  display: block;
  clear: both;
  color: #3b3939;
  line-height: 1;
}

.f-natures a.active,
.f-natures a:hover,
.f-natures a.active span.icn,
.f-natures a:hover span.icn {
  color: #ff0000;
}

.f-natures a.sculpture span.icn:before {
  content: "\E900";
}

.f-natures a.painting span.icn:before {
  content: "\E909";
}

.f-natures a.photographie span.icn:before {
  content: "\E902";
}

.f-natures a.livre span.icn:before {
  content: "\E901";
}

.f-natures a.illustration span.icn:before {
  content: "\E906";
}

.prix {
  position: relative;
}

.prix .slider {
  margin-top: 2px;
}

.prix .slider-handle {
  background: white url(/build/images/slider-ui-handle.7fe5dcae.svg) no-repeat;
  padding-top: 22px;
  margin-top: 6px;
}

.prix i {
  font-size: 11px;
}

.prix .price {
  font-weight: bold;
}

.prix #number-one,
.prix #number-two {
  position: absolute;
  width: 50px;
}

.slider-fill {
  background-color: #f5f5f5;
}

.box-prices {
  width: 100%;
  display: block;
  padding-bottom: 15px;
  position: relative;
}

@media screen and (max-width: 40.62375em) {
  .box-prices {
    display: none;
  }
}

.box-prices .price-one {
  position: absolute;
  left: 14.57%;
  padding-bottom: 9px;
}

.box-prices .price-one:after {
  background: #cccccc;
  width: 2px;
  height: 8px;
  content: " ";
  bottom: 0;
  position: absolute;
  left: 40%;
}

.box-prices .price-two {
  position: absolute;
  left: 34.6%;
  padding-bottom: 9px;
}

.box-prices .price-two:after {
  background: #cccccc;
  width: 2px;
  height: 8px;
  content: " ";
  bottom: 0;
  position: absolute;
  left: 40%;
}

.box-prices .price-three {
  position: absolute;
  left: 57.23%;
  padding-bottom: 9px;
}

.box-prices .price-three:after {
  background: #cccccc;
  width: 2px;
  height: 8px;
  content: " ";
  bottom: 0;
  position: absolute;
  left: 40%;
}

.box-prices .price-end {
  float: right;
}

#gallery {
  list-style: none;
  margin: 0 70px;
}

@media screen and (max-width: 74.99875em) {
  #gallery {
    margin: 0 20px;
  }
}

#gallery.withFiltersAside {
  min-height: 480px;
  display: flex;
  flex-wrap: wrap;
}

@media screen and (min-width: 75em) {
  #gallery.withFiltersAside {
    min-height: 1152px;
  }
}

#gallery .item-gallery {
  width: 25%;
  padding: 0 15px;
  margin-bottom: 60px;
}

@media screen and (max-width: 40.62375em) {
  #gallery .item-gallery {
    width: 100%;
  }
}

@media screen and (min-width: 40.625em) and (max-width: 63.99875em) {
  #gallery .item-gallery {
    width: 50%;
  }
}

@media screen and (min-width: 64em) and (max-width: 74.99875em) {
  #gallery .item-gallery {
    width: 33.33%;
  }
}

#gallery .item-gallery a img {
  -webkit-box-shadow: -1px -1px 17px 0px rgba(50, 50, 50, 0.75);
  -moz-box-shadow: -1px -1px 17px 0px rgba(50, 50, 50, 0.75);
  box-shadow: -1px -1px 17px 0px rgba(50, 50, 50, 0.75);
}

#gallery .item-gallery .item-gallery-info {
  background: #fff;
  padding: 20px;
  position: relative;
  margin-top: 10px;
}

#gallery .item-gallery .item-gallery-info .like-it {
  position: absolute;
  top: 20px;
  right: 10px;
  color: #d3d3d3;
  z-index: 4;
  font-size: 22px;
}

#gallery .item-gallery .item-gallery-info .like-it.active,
#gallery .item-gallery .item-gallery-info .like-it:hover {
  color: #ff0000;
}

#gallery h3 {
  font-size: 15px;
  color: #898989;
  padding-bottom: 10px;
  margin-bottom: 10px;
  overflow: hidden;
  border-bottom: 1px solid #ff0000;
}

#gallery h3 strong {
  display: block;
  color: #333333;
  font-size: 18px;
}

#gallery p {
  color: #1e1e1e;
  font-size: 15px;
}

#gallery span.price {
  font-weight: bold;
  color: #ff0000;
}

#gallery .item-gallery img {
  width: 100%;
}

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

.fancybox-is-open .fancybox-bg {
  opacity: 1;
  background: #262626;
}

.fancybox-arrow {
  opacity: 1 !important;
  top: 25%;
  height: 100%;
  width: 30px;
  max-height: 600px;
}

.fancybox-arrow::after {
  top: 50%;
  background: rgba(255, 255, 255, 0.6) none;
  color: #232323;
  font-family: 'FontAwesome', serif;
  font-size: 28px;
  text-align: center;
}

.fancybox-arrow.fancybox-arrow--left {
  transform: none;
}

.fancybox-arrow.fancybox-arrow--left::after {
  content: "\F053";
  padding-right: 3px;
  padding-top: 2px;
}

.fancybox-arrow.fancybox-arrow--right::after {
  content: "\F054";
  left: -14px;
  padding-left: 4px;
  padding-top: 2px;
}

.fancybox-arrow.fancybox-arrow--left img {
  left: -160px;
}

@media screen and (max-width: 63.99875em) {
  .fancybox-arrow.fancybox-arrow--left img {
    display: none;
  }
}

.fancybox-arrow.fancybox-arrow--right img {
  right: -160px;
}

@media screen and (max-width: 63.99875em) {
  .fancybox-arrow.fancybox-arrow--right img {
    display: none;
  }
}

.fancybox-arrow img {
  position: absolute;
  top: 73px;
  max-width: 430px;
  max-height: 500px;
  opacity: .4;
}

.fancybox-container {
  z-index: 9000;
}

.fancybox-caption-wrap {
  opacity: 1 !important;
  visibility: visible !important;
}

.fancybox-caption-wrap .fancybox-caption {
  border: 0;
  max-width: 400px;
  margin: 0 auto;
  padding: 15px 0;
}

.fancybox-caption-wrap .fancybox-caption a {
  text-decoration: none;
}

.fancybox-caption-wrap .sep {
  background: #ff0000;
  width: 100%;
  height: 1px;
  display: block;
}

.fancybox-caption-wrap h2 {
  font-size: 20px;
  margin-bottom: 0;
}

.fancybox-caption-wrap h1 {
  font-size: 22px;
}

.fancybox-caption-wrap h1 a {
  border-bottom: 0;
  text-decoration: none;
}

.fancybox-caption-wrap .product-price {
  color: #ff0000;
  margin-bottom: 0;
}

#close-fancybox {
  color: #fff;
  font-size: 32px;
  position: absolute;
  top: 8%;
  z-index: 99999;
  right: 5%;
  opacity: 0.8;
}

#close-fancybox:hover {
  opacity: 1;
}

#close-fancybox span {
  border: 2px solid #fff;
  border-radius: 100%;
  height: 40px;
  width: 40px;
  display: block;
  position: relative;
}

#close-fancybox span:before {
  line-height: 1.1;
  text-align: center;
  width: 35px;
  height: 35px;
  display: block;
}

.fancytext {
  font-size: 16px;
  color: #fff;
  max-width: 600px;
  margin: 0 auto;
  z-index: 9000;
  position: relative;
  top: 2%;
}

@media screen and (min-width: 64em) {
  .fancytext {
    font-size: 19px;
    top: 8%;
  }
}

.fancytext .numsur {
  font-size: 28px;
  font-weight: bold;
  margin-right: 5px;
}

@media screen and (min-width: 64em) {
  .fancytext .numsur {
    font-size: 32px;
  }
}

.fancytext .sur {
  margin-left: 5px;
}

.fancytext .numerotation {
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
}

@media screen and (min-width: 64em) {
  .fancytext .numerotation {
    font-size: 19px;
  }
}

.Gallery-title {
  display: inline-block;
  margin: 30px 20px 36px;
  font-size: 16px;
  font-weight: bold;
  border-bottom: 2px solid #000;
}

@media screen and (min-width: 40.625em) {
  .Gallery-title {
    margin: 0 80px 30px 80px;
  }
}

.Gallery-title .red {
  color: #ff0000;
}

.Gallery-body {
  margin: 0 70px;
}

@media screen and (max-width: 74.99875em) {
  .Gallery-body {
    margin: 0 20px;
  }
}

.Gallery-body .item-gallery {
  width: 25%;
  padding: 0 15px;
  margin-bottom: 60px;
}

@media screen and (max-width: 40.62375em) {
  .Gallery-body .item-gallery {
    width: 100%;
  }
}

@media screen and (min-width: 40.625em) and (max-width: 63.99875em) {
  .Gallery-body .item-gallery {
    width: 50%;
  }
}

@media screen and (min-width: 64em) and (max-width: 74.99875em) {
  .Gallery-body .item-gallery {
    width: 33.33%;
  }
}

.Gallery-body .item-gallery a img {
  -webkit-box-shadow: -1px -1px 17px 0px rgba(50, 50, 50, 0.75);
  -moz-box-shadow: -1px -1px 17px 0px rgba(50, 50, 50, 0.75);
  box-shadow: -1px -1px 17px 0px rgba(50, 50, 50, 0.75);
}

.Gallery-body .item-gallery .item-gallery-info {
  background: #fff;
  padding: 20px;
  position: relative;
  margin-top: 10px;
}

.Gallery-body .item-gallery .item-gallery-info .like-it {
  position: absolute;
  top: 20px;
  right: 10px;
  color: #d3d3d3;
  z-index: 4;
  font-size: 22px;
}

.Gallery-body .item-gallery .item-gallery-info .like-it.active,
.Gallery-body .item-gallery .item-gallery-info .like-it:hover {
  color: #ff0000;
}

.Gallery-body h3 {
  font-size: 15px;
  color: #898989;
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 10px;
  overflow: hidden;
}

.Gallery-body h3 strong {
  display: block;
  color: #333333;
  font-size: 18px;
}

.Gallery-body h3:after {
  border-bottom: 1px solid #ff0000;
  content: " ";
  position: absolute;
  bottom: 0;
  width: 100%;
  left: 0;
}

.Gallery-body p {
  color: #1e1e1e;
  font-size: 15px;
}

.Gallery-body span.price {
  font-weight: bold;
  color: #ff0000;
}

.Gallery-body .item-gallery img {
  width: 100%;
}

.reveal {
  outline: none;
  padding: 0;
  border-radius: 0;
  border: 0;
}

.reveal .modal-header {
  background: #1e1e1e;
  padding: 10px;
}

.reveal .modal-header img {
  max-width: 205px;
}

.reveal .modal-body {
  padding: 40px 20px;
}

.reveal-overlay {
  z-index: 9999;
  background-color: rgba(73, 73, 73, 0.85);
}

@media screen and (max-width: 40.62375em) {
  .reveal-overlay {
    z-index: 9999;
  }
}

@media screen and (min-width: 40.625em) {
  .reveal {
    max-width: 690px;
  }
}

.reveal .close-button {
  top: 0;
}

.reveal .close-button:hover {
  color: #fff;
}

#modalInvite .modal-body,
#modalInvite p {
  text-align: center;
}

#modalInvite a.connect-facebook {
  margin-bottom: 10px;
  display: block;
  opacity: 0.85;
}

#modalInvite a.connect-facebook:hover {
  opacity: 1;
}

#modalInvite form {
  max-width: 320px;
  width: 100%;
  margin: 0 auto;
}

#modalInvite form .input-item {
  width: 100%;
}

#modalInvite form .input-item input {
  height: 47px;
}

#modalInvite form a {
  display: block;
  width: 100%;
  background: #0b0b0b;
}

#modalInvite form a:hover {
  background: #999999;
}

#modalInvite form input {
  border: 2px solid #999999;
}

#modalAddProduct {
  padding-bottom: 0;
}

@media screen and (min-width: 40.625em) {
  #modalAddProduct {
    max-width: 810px;
  }
}

#modalAddProduct .wrapper-carousel {
  border-bottom: 0;
  padding-top: 36px;
}

#modalAddProduct .grid-padding-x > .cell,
#modalAddProduct .large-space-lg {
  padding-left: 0;
  padding-right: 0;
}

#modalAddProduct p,
#modalAddProduct h3,
#modalAddProduct h4,
#modalAddProduct .block-intro {
  padding-left: 20px;
}

#modalAddProduct h5 {
  padding-top: 0;
}

#modalAddProduct .modal-body h2,
#modalAddProduct .modal-body h3 {
  text-align: center;
}

#modalAddProduct .modal-body h2 {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 0;
}

#modalAddProduct .modal-body h3 {
  font-size: 14px;
}

#modalAddProduct .modal-body .red {
  color: #ff0000;
  font-weight: bold;
}

#modalAddProduct .box-produit {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 560px;
  margin: 0 auto;
  width: 100%;
  padding-bottom: 40px;
  padding-top: 20px;
}

#modalAddProduct .box-produit p {
  margin-bottom: 0;
  font-size: 14px;
}

#modalAddProduct .box-produit img {
  max-height: 70px;
  max-width: 70px;
  -webkit-box-shadow: 9px 2px 141px -57px rgba(0, 0, 0, 0.47);
  -moz-box-shadow: 9px 2px 141px -57px rgba(0, 0, 0, 0.47);
  box-shadow: 9px 2px 141px -57px rgba(0, 0, 0, 0.47);
}

#modalAddProduct div.actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 480px;
  width: 100%;
  margin: 0 auto;
}

#modalAddProduct div.actions a {
  max-width: 230px;
  width: 100%;
  margin-bottom: 0;
  color: #fff;
}

@media screen and (min-width: 40.625em) {
  #modalAddProduct div.actions a {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

#modalAddProduct div.actions a i {
  padding-right: 10px;
}

#modalAddProduct div.actions a:hover {
  opacity: 0.8;
}

#modalAddProduct div.actions a.continue {
  background: #d3d3d3;
  color: #000;
}

#modalAddProduct div.actions a.black {
  background: #0b0b0b;
}

section {
  padding-bottom: 40px;
  padding-top: 40px;
}

.h2 {
  font-size: 2rem;
  line-height: 2.1875rem;
}

.h2.l-line-title::after {
  background-color: #ff0000;
  content: " ";
  display: block;
  height: 2px;
  margin: 15px 0;
  width: 100%;
}

@media screen and (max-width: 63.99875em) {
  .h2.l-line-title::after {
    max-width: 93px;
  }
}

.h2.s-line-title::after {
  background-color: #ff0000;
  content: " ";
  display: block;
  height: 2px;
  margin: 15px 0;
  max-width: 93px;
  width: 100%;
}

ul.inline-list {
  list-style: none;
}

ul.inline-list li {
  display: inline-block;
  list-style: none;
}

.block-works {
  background-color: #ffffff;
  height: 100%;
}

.block-works .description {
  display: flex;
  align-items: center;
  -moz-align-items: center;
  -webkit-align-items: center;
}

.wrp-content-block {
  background-color: #ffffff;
  padding: 30px;
}

@media screen and (max-width: 40.62375em) {
  .wrp-content-block {
    padding: 20px 10px;
  }
}

.wrp-content-block p {
  font-family: 'Gotham', sans-serif;
  font-weight: 500;
}

figure {
  height: 100%;
}

figure img {
  height: 100%;
}

.figure {
  position: relative;
}

.figure .arrow {
  width: 0;
  height: 0;
  border-top: 30px solid transparent;
  border-bottom: 30px solid transparent;
  border-right: 30px solid #ffffff;
  display: block;
  position: absolute;
}

@media screen and (min-width: 64em) {
  .figure .arrow {
    right: 0;
    top: 47%;
  }
}

@media screen and (max-width: 63.99875em) {
  .figure .arrow {
    bottom: 0;
    left: 44%;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-bottom: 30px solid #ffffff;
  }
}

.figure figure {
  height: 100%;
  overflow: hidden;
  position: relative;
}

@media screen and (min-width: 40em) and (max-width: 50em) {
  .figure figure img {
    width: 100%;
  }
}

@media screen and (max-width: 40.62375em) {
  .figure figure img {
    width: 100%;
  }
}

.tablet-full-width {
  /* Tablet only */
}

@media screen and (min-width: 40em) and (max-width: 50em) {
  .tablet-full-width {
    clear: both !important;
    display: block !important;
    margin-bottom: 20px;
    min-width: 96%;
    width: 100% !important;
  }
}

.dropdown-pane {
  background-color: #3b3939;
}

.panel {
  background-color: #3b3939;
  padding: 20px 40px;
  max-width: 700px;
  margin: 35px auto 0 auto;
}

@media screen and (max-width: 40.62375em) {
  .panel {
    padding: 20px 20px;
  }
}

@media screen and (min-width: 40.625em) {
  .panel .content-panel {
    display: flex;
    align-items: center;
    -moz-align-items: center;
    -webkit-align-items: center;
  }
}

.panel p {
  color: #ffffff;
  margin-bottom: 0;
  padding-left: 15px;
}

@media screen and (max-width: 40.62375em) {
  .panel p {
    padding-top: 15px;
    padding-left: 0;
  }
}

.panel .button {
  margin-bottom: 0;
}

.t-white {
  color: #ffffff;
}

.t-gray {
  color: #b1b1b1;
}

.t-red {
  color: #ff0000;
}

.t-green {
  color: #009900;
}

@media screen and (min-width: 75em) {
  .large-space-md {
    padding-left: 60px;
    padding-right: 60px;
  }
}

@media screen and (min-width: 75em) {
  .large-space-lg {
    padding-left: 110px;
    padding-right: 110px;
  }
}

.off-canvas.is-transition-overlap {
  z-index: 9999;
}

.icon-close-thin:before {
  font-family: 'icomoon';
  content: "\E905";
}

.list-decoration img {
  width: 43px !important;
  height: 43px;
}

.photo-for-zoom {
  height: 0;
}

.photo-zoom {
  z-index: 0;
  position: relative;
}

.page-produit .list-decoration img {
  width: 43px !important;
  height: 43px;
}

.icon-keyboard_arrow_down:before {
  font-family: 'icomoon';
  content: "\E907";
}

.bg-gray {
  background-color: #f5f5f5;
}

.icon-keyboard_arrow_right:before {
  font-family: 'icomoon';
  content: "\E908";
}

.icon-film:before {
  font-family: 'icomoon';
  content: "\E913";
}

.zbfm-no-picture {
  max-width: 200px;
  max-height: 200px;
}

.grecaptcha-badge {
  visibility: hidden;
}

.warning-encadrement {
  font-size: 10px !important;
  font-family: 'Gotham', sans-serif;
}

.ProductImage-container {
  margin-bottom: 4rem !important;
}

.ProductImage {
  margin-bottom: 1rem !important;
}

#no-delivery-message {
  margin-top: 20px;
}

#no-delivery-message .contact {
  color: #1f58b6;
}

.no-delivery-group,
.delivery-group {
  justify-content: right !important;
  align-items: end !important;
}

header {
  background-color: #3b3939;
  padding-top: 45px;
}

header.checkout-header {
  padding-bottom: 45px;
}

header.checkout-header .top-header .box-right {
  justify-content: flex-end;
}

@media screen and (max-width: 63.99875em) {
  header {
    padding-top: 0;
  }
}

header ul li a {
  font-size: 0.9em;
}

header #logo {
  outline: none !important;
}

@media screen and (max-width: 40.62375em) {
  header #logo {
    padding-top: 5px;
    padding-left: 10px;
    text-align: center;
  }
}

@media screen and (min-width: 40.625em) {
  header #logo {
    padding-left: 15px;
  }
}

header #logo img {
  max-width: 260px;
}

@media screen and (max-width: 40.62375em) {
  header #logo img {
    max-width: 140px;
  }
}

@media screen and (max-width: 40.62375em) and (orientation: landscape) {
  header #logo img {
    max-width: 160px;
  }
}

header #logo a {
  outline: none !important;
}

header .top-header {
  height: 60px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}

@media screen and (min-width: 75em) {
  header .top-header {
    margin: 0 auto;
    padding: 0 20px;
  }
}

@media screen and (min-width: 40.625em) and (max-width: 63.99875em) {
  header .top-header {
    position: relative;
    width: 100%;
  }
}

header .top-header .box-right {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

header .top-header .box-right .top-bar-menu {
  float: left;
  width: 80%;
}

@media screen and (min-width: 64em) {
  header .top-header .box-right .top-bar-menu {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
}

header .top-header .box-right .title-bar {
  width: 20%;
  float: right;
  padding-top: 0;
  padding-bottom: 0;
  background: #ff0000;
  display: flex;
  height: 60px;
  align-items: center;
  justify-content: center;
}

header .top-header .box-right .menu-icon {
  width: 30px;
}

header .top-header .top-bar-menu > ul.menu {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  -moz-justify-content: flex-end;
  -webkit-justify-content: flex-end;
  float: right;
}

@media screen and (max-width: 74.99875em) {
  header .top-header .top-bar-menu > ul.menu {
    width: 100%;
  }
}

header .top-header .top-bar-menu li {
  padding: 0 12px;
}

@media screen and (max-width: 40.62375em) {
  header .top-header .top-bar-menu li {
    padding: 0 8px;
  }
}

header .top-header .top-bar-menu a,
header .top-header .top-bar-menu i {
  color: #898888;
  padding: 0;
  background: transparent;
}

header .top-header .top-bar-menu i {
  font-size: 16px;
}

@media screen and (min-width: 64em) {
  header .top-header .top-bar-menu i {
    font-size: 20px;
  }
}

header .top-header .top-bar-menu #form-search {
  position: relative;
}

@media screen and (min-width: 75em) {
  header .top-header .top-bar-menu #form-search {
    margin-right: 20px;
    border-bottom: 1px solid #8d8c8c !important;
  }
}

header .top-header .top-bar-menu #form-search form {
  display: none;
}

@media screen and (min-width: 75em) {
  header .top-header .top-bar-menu #form-search form {
    display: block;
  }
}

header .top-header .top-bar-menu #form-search form.active {
  position: absolute;
  left: -20px;
  top: 30px;
  width: 120px;
  background: #3b3939;
  border: 2px solid #fff;
  color: #fff;
  display: block;
  z-index: 600;
}

header .top-header .top-bar-menu #form-search form.active:after {
  background: transparent url(/build/images/t-arrow-dropdown.a19561a6.png) no-repeat;
  content: " ";
  display: block;
  width: 15px;
  height: 10px;
  position: absolute;
  left: 27%;
  top: -10px;
}

header .top-header .top-bar-menu #form-search form.active input {
  padding: 0 6px;
  border-bottom: 1px solid #fff;
}

header .top-header .top-bar-menu #form-search input {
  background: none;
  border: none;
  box-shadow: 0 0 0;
  color: #f5f5f5;
  font-family: 'Gotham', sans-serif;
  font-weight: 300;
  padding-right: 40px;
  padding-bottom: 0;
  padding-left: 2px;
  padding-top: 0;
}

header .top-header .top-bar-menu #form-search input:focus {
  background: none;
  border: none;
  box-shadow: 0 0 0;
}

header .top-header .top-bar-menu #form-search a {
  color: #8d8c8c;
  top: 10px;
  right: 2%;
}

@media screen and (min-width: 75em) {
  header .top-header .top-bar-menu #form-search a {
    position: absolute;
  }
}

header .top-header .top-bar-menu #form-search a i {
  color: #8d8c8c;
}

header .top-header .top-bar-menu #user a.active i {
  color: #d1d0d0;
}

header .top-header .top-bar-menu #language {
  display: none;
}

@media screen and (min-width: 40.625em) {
  header .top-header .top-bar-menu #language {
    display: block;
  }

  header .top-header .top-bar-menu #language button {
    position: relative;
    color: #d1d0d0;
    font-weight: 300;
  }

  header .top-header .top-bar-menu #language button:after {
    content: ' ';
    display: none;
    position: absolute;
    bottom: -10px;
    right: 7px;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 5px solid #fff;
  }

  header .top-header .top-bar-menu #language button[aria-expanded="true"]:after {
    display: block;
  }
}

@media screen and (min-width: 75em) {
  header .main-navigation {
    margin: 0 auto;
  }
}

header #main-menu .home {
  display: none;
}

header .menu-tools {
  display: none;
}

header.sticky {
  z-index: 900;
}

header.compressed {
  z-index: 99999;
}

@media screen and (min-width: 64em) {
  #responsive-menu {
    padding-top: 30px;
  }
}

.top-bar {
  background: none;
  padding-bottom: 0 !important;
}

.top-bar ul {
  background: none;
}

.top-bar ul li {
  margin-left: 1rem;
  margin-right: 1rem;
  color: #ffffff;
  border-bottom: 2px solid #3b3939;
}

@media screen and (min-width: 64em) and (max-width: 74.99875em) {
  .top-bar ul li {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
}

.top-bar ul li:first-child {
  padding-left: 0;
}

.top-bar ul li.active,
.top-bar ul li:hover {
  color: #ff0000;
  border-bottom-color: #ff0000;
}

.top-bar ul li.koncept-link a {
  padding: 5px 0;
}

.top-bar ul li.koncept-link img {
  max-height: 24px;
}

.top-bar ul li.koncept-link:hover {
  border-bottom-color: #ee6730;
}

.top-bar ul li a {
  color: inherit !important;
  font-family: 'Gotham', sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: transparent !important;
}

@media screen and (min-width: 64em) and (max-width: 74.99875em) {
  .top-bar ul li a {
    font-size: 0.9rem;
  }
}

#ActionMenuMobile {
  position: relative;
  z-index: 90;
}

#ActionMenuMobile button {
  cursor: pointer;
  display: block;
  border: none !important;
  margin: 0 !important;
  padding: 15px;
  height: 60px;
  min-width: 55px;
  max-width: 55px;
}

#ActionMenuMobile button .fa {
  cursor: pointer;
  font-size: 1.5rem;
}

#ActionMenuMobile button .fa-bars {
  display: block;
}

#ActionMenuMobile button .fa-times {
  display: none;
  font-size: 1.7rem;
}

#ActionMenuMobile button.menu-open .fa-bars {
  display: none !important;
}

#ActionMenuMobile button.menu-open .fa-times {
  display: block !important;
}

#menuMobileLeft {
  background-color: #3b3939;
}

#mobile-menu #logo-nav-mbl {
  outline: none;
}

#mobile-menu #logo-nav-mbl a {
  outline: none;
}

#mobile-menu #logo-nav-mbl img {
  outline: none;
  max-width: 200px;
}

#mobile-menu p.languages-active {
  color: #f5f5f5;
  padding-left: 1rem;
  padding-right: 1rem;
}

#mobile-menu p.languages-active a {
  color: #f5f5f5;
}

#mobile-menu p.languages-active a:hover,
#mobile-menu p.languages-active a.is-active {
  font-family: 'Gotham', sans-serif;
  font-weight: 700;
}

#mobile-menu li {
  display: block;
  clear: both;
  width: 100%;
  margin-left: 1rem;
  margin-right: 1rem;
  color: #ffffff;
  border-bottom: 2px solid #3b3939;
}

#mobile-menu li.active,
#mobile-menu li:hover {
  color: #ff0000;
  border-bottom-color: #ff0000;
}

#mobile-menu li.koncept-link img {
  max-height: 24px;
}

#mobile-menu li.koncept-link:hover {
  border-bottom-color: #ee6730;
}

#mobile-menu li a {
  color: inherit !important;
  font-family: 'Gotham', sans-serif;
  font-weight: 500;
  font-size: 1.125rem !important;
  text-transform: uppercase;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: transparent !important;
}

.js-off-canvas-overlay {
  background: none !important;
}

.l-header.compressed.show,
.l-header.is-stuck.show {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
  -webkit-transition: -webkit-transform .3s ease-in-out;
  transition: transform .3s ease-in-out;
}

.l-header.compressed .top-header,
.l-header.is-stuck .top-header {
  display: none;
}

.l-header.compressed #main-menu,
.l-header.is-stuck #main-menu {
  float: left;
  width: 80%;
}

.l-header.compressed #main-menu .home,
.l-header.is-stuck #main-menu .home {
  display: block;
}

.l-header.compressed #main-menu .home a,
.l-header.is-stuck #main-menu .home a {
  padding-top: 0 !important;
}

@media screen and (min-width: 64em) {
  .l-header.compressed #responsive-menu,
  .l-header.is-stuck #responsive-menu {
    padding-top: 0;
  }
}

.l-header.compressed .menu-tools,
.l-header.is-stuck .menu-tools {
  display: block;
  float: right;
  margin: 0;
  list-style: none;
}

.l-header.compressed .menu-tools li,
.l-header.is-stuck .menu-tools li {
  display: inline-block;
}

.l-header.compressed .menu-tools button,
.l-header.is-stuck .menu-tools button {
  position: relative;
}

.l-header.compressed .menu-tools a,
.l-header.is-stuck .menu-tools a {
  text-decoration: none;
  opacity: 0.8;
}

.l-header.compressed .menu-tools a:hover,
.l-header.is-stuck .menu-tools a:hover {
  border-bottom: 0;
  opacity: 1;
}

.l-header.compressed .menu-tools a:hover i,
.l-header.is-stuck .menu-tools a:hover i {
  color: #fff;
}

.l-header.compressed .menu-tools i,
.l-header.is-stuck .menu-tools i {
  font-size: 24px;
  color: #898888;
  padding-top: 5px;
}

.l-header.compressed .menu-tools .number-product,
.l-header.is-stuck .menu-tools .number-product {
  background: #ff0000;
  color: #fff;
  font-size: 11px;
  position: absolute;
  border-radius: 100%;
  padding: 2px 4px;
  right: -7px;
  top: 0;
}

.l-header.compressed .__top-bar-left__,
.l-header.is-stuck .__top-bar-left__ {
  width: 100%;
}

.l-header--scroll {
  display: none;
  position: fixed;
  top: 0;
  width: 100%;
  -webkit-transform: translate(0, -100%);
  -ms-transform: translate(0, -100%);
  transform: translate(0, -100%);
  -webkit-transition: -webkit-transform .2s ease-out;
  transition: transform .2s ease-out;
  z-index: 9999;
  background-color: #3b3939;
  padding-top: 10px;
}

@media screen and (min-width: 75em) {
  .l-header--scroll {
    display: block;
  }
}

.l-header--scroll #panierButton button {
  cursor: pointer;
}

.l-header--scroll #logo-box {
  padding-bottom: 0;
}

@media screen and (min-width: 64em) and (max-width: 74.99875em) {
  .l-header--scroll .top-bar ul li a {
    font-size: 15px;
  }
}

@media screen and (min-width: 75em) and (max-width: 89.99875em) {
  .l-header--scroll .top-bar ul li a {
    font-size: 15px;
  }
}

#languagePanel {
  border-width: 3px;
  border-color: #ffffff;
  width: 60px;
  padding: 3px;
  text-align: center;
}

#panier {
  border-width: 3px;
  border-color: #ffffff;
}

@media screen and (min-width: 40.625em) {
  #panier {
    width: 365px;
  }
}

#panier .product-car {
  width: 100%;
}

#panier .product-car p {
  margin-bottom: 0;
  clear: both;
  overflow: hidden;
  width: 100%;
}

#panier .product-car p span {
  font-family: 'Gotham', sans-serif;
  font-weight: 500;
  float: left;
  font-size: 14px;
  display: block;
}

#panier .product-car p strong {
  font-family: 'Gotham', sans-serif;
  font-weight: 500;
  font-size: 15px;
  float: right;
}

#panier .wpa-item {
  float: right;
  width: 260px;
  padding: 10px 16px;
  border-bottom: 1px solid #000;
  overflow: hidden;
  clear: both;
}

#panier .action-cart {
  float: right;
  width: 260px;
  margin-top: 20px;
  clear: both;
}

#panier .item-pro {
  position: relative;
  width: 100%;
  clear: both;
  overflow: hidden;
}

#panier .item-pro .remove-produit {
  font-size: 22px;
  color: #fff;
  outline: none;
}

#panier .item-pro .remove-produit i {
  color: #fff;
}

#panier .action {
  position: absolute;
  float: left;
  height: 100%;
  width: 20%;
  padding-top: 16px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

@media screen and (max-width: 40.62375em) {
  #panier .action {
    width: 5%;
  }
}

#panier-scroll,
#panier {
  z-index: 92;
}

@media screen and (max-width: 40.62375em) {
  #panier-scroll.is-open,
  #panier.is-open {
    width: 95%;
    left: 3% !important;
    top: 36px !important;
  }
}

#panierButton {
  line-height: 1;
  position: relative;
  z-index: 90;
}

#panierButton button {
  cursor: pointer;
  position: relative;
}

#panierButton button:after {
  position: absolute;
  bottom: -10px;
  right: 5px;
  content: " ";
  display: none;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 5px solid #fff;
}

#panierButton button[aria-expanded="true"]:after {
  display: block;
}

#panierButton span.number-product {
  position: absolute;
  background: #ff0000;
  border-radius: 100%;
  color: #fff;
  height: 16px;
  width: 16px;
  right: 6px;
  top: 6px;
  font-size: 12px;
  text-align: center;
  line-height: 16px;
}

#show-more-footer {
  text-align: initial;
}

@media screen and (max-width: 40.62375em) {
  #show-more-footer {
    padding-left: 8px;
    padding-right: 8px;
  }
}

#show-more-footer span {
  margin-left: 6px;
}

#show-more-footer.open i {
  -moz-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

#show-more-footer:focus {
  outline: 0;
}

footer {
  background: #262626;
}

footer .first-footer {
  padding: 30px 0;
  background-color: #3b3939;
}

footer ul.nav-footer {
  margin-bottom: 0;
  text-align: left;
}

@media screen and (max-width: 40.62375em) {
  footer ul.nav-footer {
    margin-bottom: 20px;
    margin-left: 0;
    text-align: center;
  }
}

footer ul.nav-footer li {
  margin-right: 10px;
}

@media screen and (max-width: 40.62375em) {
  footer ul.nav-footer li a {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

footer ul.link-quit {
  margin-bottom: 0;
  text-align: right;
}

@media screen and (max-width: 40.62375em) {
  footer ul.link-quit {
    margin-left: 0;
    text-align: center;
  }
}

@media screen and (min-width: 40.625em) and (max-width: 63.99875em) {
  footer ul.link-quit li.link-home img {
    max-width: 190px;
  }
}

footer ul.link-quit li {
  vertical-align: middle;
  margin-left: 5px;
  margin-right: 5px;
}

@media screen and (max-width: 40.62375em) {
  footer ul.link-quit li {
    margin-bottom: 15px;
  }
}

footer ul.link-quit li i {
  font-size: 30px;
  color: #fff;
}

footer ul.link-quit li:hover i {
  opacity: 0.6;
}

footer ul.link-quit li a {
  display: flex;
  align-items: center;
  justify-content: center;
}

footer ul.link-quit li.link-home {
  margin-right: 20px;
}

@media screen and (max-width: 40.62375em) {
  footer ul.link-quit li.link-home {
    margin-right: 0;
    margin-left: 0;
    min-width: 100%;
  }
}

@media screen and (max-width: 40.62375em) {
  footer ul.link-quit li.link-home a {
    display: block;
    padding-bottom: 10px;
    padding-top: 10px;
    text-align: center;
  }
}

footer ul.link-quit li.link-home img {
  max-height: 30px;
}

footer #more-footer {
  background: #262626;
  overflow: hidden;
  padding: 0 15px;
  display: flex;
  align-items: center;
  justify-content: center;
}

footer #more-footer .wrapper-second-footer {
  padding: 80px 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-flow: wrap row;
  width: 90%;
}

@media screen and (min-width: 90em) {
  footer #more-footer .wrapper-second-footer {
    width: 100%;
  }
}

@media screen and (max-width: 40.62375em) {
  footer #more-footer .wrapper-second-footer {
    width: 100%;
  }
}

footer #more-footer.collapsed {
  height: 0;
  overflow: hidden;
}

footer #more-footer a {
  text-transform: uppercase;
  color: #fff;
  transition: all .45s ease-in;
  opacity: 1;
  font-family: 'Gotham', sans-serif;
  font-weight: 900;
}

footer #more-footer a:hover {
  opacity: 0.75;
  color: #ff0000;
}

footer #more-footer .NewsletterSubscription {
  width: 100%;
  padding: 15px;
  background: #3b3939;
  color: #fff;
}

footer #more-footer .NewsletterSubscription label {
  margin-bottom: 10px;
  font-size: 20px;
  font-weight: 700;
  color: #fff;
}

footer #more-footer .NewsletterSubscription .helper {
  margin-bottom: 10px;
  font-size: 13px;
}

footer #more-footer .NewsletterSubscription input {
  display: inline-block;
  vertical-align: middle;
  height: 42px;
  border: 0;
}

@media screen and (min-width: 64em) {
  footer #more-footer .NewsletterSubscription input {
    width: calc(100% - 70px);
    margin-right: 14px;
  }
}

footer #more-footer .NewsletterSubscription .button {
  width: 100%;
  border: 2px solid #ff0000;
  text-transform: uppercase;
}

footer #more-footer .NewsletterSubscription .button:hover {
  color: #ff0000;
  background: #ffffff;
  border: 2px solid #ff0000;
}

footer #more-footer .NewsletterSubscription .button[disabled] {
  color: #b1b1b1;
  background: #d3d3d3;
  border-color: #d3d3d3;
}

@media screen and (min-width: 40.625em) {
  footer #more-footer .NewsletterSubscription .button {
    width: auto;
  }
}

@media screen and (min-width: 40.625em) {
  footer #more-footer .NewsletterSubscription {
    width: 50%;
    max-width: 450px;
  }
}

footer #block-menu-menu-footer-navigation {
  width: 50%;
}

@media screen and (max-width: 40.62375em) {
  footer #block-menu-menu-footer-navigation {
    width: 100%;
  }
}

footer #block-menu-menu-footer-navigation ul {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-flow: wrap row;
}

footer #block-menu-menu-footer-navigation ul li {
  width: 50%;
  margin-bottom: 12px;
}

footer #block-simplenews-25 {
  width: 50%;
}

@media screen and (max-width: 40.62375em) {
  footer #block-simplenews-25 {
    width: 100%;
  }
}

footer #block-simplenews-25 .wrapper {
  background: #3b3939;
  padding: 30px;
}

footer #block-simplenews-25 h1 {
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 10px;
  color: #fff;
}

footer #block-simplenews-25 form > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

footer #block-simplenews-25 div.form-type-textfield {
  width: 90%;
}

@media screen and (max-width: 40.62375em) {
  footer #block-simplenews-25 div.form-type-textfield {
    width: 80%;
  }
}

footer #block-simplenews-25 .button {
  width: 10%;
}

@media screen and (max-width: 40.62375em) {
  footer #block-simplenews-25 .button {
    width: 20%;
  }
}

footer #block-menu-menu-legal-navigation {
  width: 100%;
  padding-top: 0;
  padding-bottom: 50px;
}

@media screen and (max-width: 40.62375em) {
  footer #block-menu-menu-legal-navigation {
    padding-top: 10px;
  }
}

footer #block-menu-menu-legal-navigation a {
  color: #fff;
}

#breadcrumbs-wrap {
  background-color: #ffffff;
}

#breadcrumbs-wrap a.back-button {
  float: left;
  margin-bottom: 0;
  margin-right: 15px;
  padding: 25px 40px;
}

@media screen and (min-width: 75em) {
  #breadcrumbs-wrap a.back-button {
    padding: 25px 40px 25px 100px;
  }
}

#breadcrumbs-wrap ul.breadcrumbs {
  margin: 0;
  padding-top: 25px;
}

#block-featured {
  padding-bottom: 0;
  padding-top: 0;
}

@media screen and (max-width: 40.62375em) {
  #block-featured {
    padding-top: 0;
  }
}

#block-featured .grid-container {
  max-width: 80rem !important;
}

#block-featured .figure figure img {
  width: 100%;
}

@media screen and (min-width: 40.625em) and (max-width: 63.99875em) {
  #block-featured .figure figure::after {
    top: auto;
    bottom: 0;
    right: 50%;
    height: 21px;
    width: 45px;
  }
}

#guarantees {
  background-color: #f5f5f5;
  padding-top: 0;
}

#guarantees h4 {
  margin-bottom: 0;
  text-transform: uppercase;
  font-size: 1.1875rem;
}

@media screen and (max-width: 40.62375em) {
  #guarantees h4 {
    font-size: 0.6875rem;
  }
}

#guarantees p {
  font-style: italic;
  font-size: 0.875rem;
}

@media screen and (max-width: 40.62375em) {
  #guarantees p {
    font-size: 0.5625rem;
  }
}

#guarantees i {
  font-size: 32px;
}

.block-social {
  padding-top: 0;
}

.block-social ul.social-share {
  margin-left: 0;
}

.block-social ul.social-share li {
  background: transparent url(/build/images/separateur-line.b8b28100.png) no-repeat center bottom/contain;
  list-style: none;
  font-size: 2rem;
  padding: 0 5px;
  text-align: center;
}

@media screen and (max-width: 40.62375em) {
  .block-social ul.social-share li {
    font-size: 20px;
  }
}

.block-social ul.social-share li a {
  color: #3b3939;
}

.block-social ul.social-share li a:hover {
  color: #ff0000;
}

#box-features-header {
  color: #8f8e8e;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media screen and (max-width: 40.62375em) {
  #box-features-header {
    display: none;
  }
}

#box-features-header h4 {
  font-size: 11px;
  margin-top: 0;
  margin-bottom: 0;
}

@media screen and (min-width: 75em) {
  #box-features-header h4 {
    font-size: 14.5px;
  }
}

#box-features-header h5 {
  font-size: 9.8px;
  margin-top: 0;
  margin-bottom: 0;
  font-family: 'Gotham', sans-serif;
  font-weight: 500;
}

@media screen and (max-width: 74.99875em) {
  #box-features-header h5 {
    display: none;
  }
}

#box-features-header i {
  font-size: 16px;
  margin-right: 6px;
}

@media screen and (min-width: 75em) {
  #box-features-header i {
    font-size: 40px;
    margin-right: 20px;
  }
}

#box-features-header .col-guarantees {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-flow: wrap row;
  padding-left: 20px;
}

@media screen and (min-width: 40.625em) {
  #box-features-header .col-guarantees {
    flex-flow: nowrap row;
  }
}

.form-user {
  display: none;
  max-width: 536px;
  width: 100%;
  background: #fff;
  margin: 0 auto;
}

.form-user.active {
  display: block;
}

.form-user .ou {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: wrap row;
  height: 100%;
  width: 100%;
  margin-bottom: 10px;
  overflow: hidden;
}

.form-user .ou:after {
  height: 1px;
  width: 100%;
  background: #c4c3c3;
  position: absolute;
  content: "";
  z-index: 0;
  left: 0;
  top: 49%;
}

.form-user .ou span {
  font-weight: bold;
  background: #fff;
  display: block;
  text-align: center;
  padding: 0 10px;
  width: 40px;
  z-index: 1;
  position: relative;
  margin: 0 auto;
  text-transform: uppercase;
}

.form-user .form-error {
  display: block;
  margin-top: 1rem;
  text-align: center;
  font-size: 14px;
}

.form-user .connect-facebook {
  display: block;
  width: 100%;
  padding: 7px;
  margin-bottom: 20px;
  color: #fff;
  background-color: #4267b2;
  text-align: center;
}

.form-user .connect-facebook i {
  font-size: 2em;
  vertical-align: -6px;
  margin-right: 12px;
}

.form-user .button.black-light {
  width: 100%;
  margin-bottom: 0;
}

.form-user .button.black {
  display: block;
  width: 100%;
  background: #0b0b0b;
  margin-bottom: 0;
}

.form-user .button.black:hover {
  background: #999999;
}

.form-user .form-input-text {
  position: relative;
  padding-bottom: 12px;
}

.form-user .form-input-text input,
.form-user .form-input-text textarea {
  border: 1px solid #999999;
  box-shadow: 0 0;
  margin-bottom: 0;
}

.form-user .form-input-text input::placeholder,
.form-user .form-input-text textarea::placeholder {
  color: #999999;
}

.form-user .form-input-text.email:after,
.form-user .form-input-text.name:after,
.form-user .form-input-text.password:after,
.form-user .form-input-text.phone:after {
  font-family: 'FontAwesome';
  color: #999999;
  position: absolute;
  top: 10%;
  right: 12px;
  font-size: 16px;
}

.form-user .form-input-text.email:after {
  content: "\F0E0";
}

.form-user .form-input-text.name:after {
  content: "\F007";
}

.form-user .form-input-text.password:after {
  content: "\F023";
}

.form-user .form-input-text.phone:after {
  content: "\F095";
}

.form-user .group-checkboxes input {
  margin-bottom: 0;
}

.form-user .group-checkboxes #registration_promotions {
  float: left;
  margin-top: 7px;
}

.form-user .group-checkboxes span {
  display: block;
  margin: 0 0 20px 24px;
}

.form-user .actions .group-top {
  margin-bottom: 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.form-user .actions span,
.form-user .actions a {
  font-size: 14px;
  color: #3b3939;
}

.form-user .actions span.black,
.form-user .actions a.black {
  color: #fff;
  text-transform: uppercase;
  font-size: 14px;
}

.form-user .actions a.link-text {
  border-bottom: 1px solid #d9d9d9;
}

.form-user .actions a.link-text i {
  padding-right: 10px;
}

.form-user .actions a.link-text:hover {
  border-color: #fff;
  opacity: 0.75;
}

.form-user .other-options {
  margin: 40px 0 0;
  padding: 20px 0 0;
  text-align: center;
  border-top: 1px solid #999999;
}

.form-user .other-options a {
  font-size: 14px;
  color: #000;
}

.form-user .other-options a span {
  font-weight: 600;
  text-decoration: underline;
  text-transform: uppercase;
}

.form-user .other-options a:hover {
  color: #ff0000;
}

.js-security-request-login,
.js-security-request-reset {
  cursor: pointer;
}

body {
  overflow-x: hidden;
}

.main-content.page-home {
  background-color: #f5f5f5;
  padding-bottom: 35px;
  padding-top: 40px;
}

.main-content.page-home .image {
  display: flex;
  align-items: center;
}

.main-content.page-home .image img {
  margin: auto;
  width: 100%;
  max-height: 100%;
}

.ProductSelection {
  background-color: #ffffff;
  border-bottom: 50px solid #f5f5f5;
}

@media print, screen and (min-width: 40.625em) {
  .ProductSelection .ProductSelection-title {
    width: 230px;
  }
}

.ProductSelection > p {
  margin-top: 15px;
}

.ProductSelection.gray-black {
  background-color: #3b3939;
  color: #ffffff;
}

.ProductSelection.gray-black .CarouselItem-title,
.ProductSelection.gray-black .CarouselItem-subtitle,
.ProductSelection.gray-black .CarouselItem-details {
  color: #ffffff;
}

#contact-request {
  display: block;
}

.ArtistSeries {
  background-color: #ffffff;
  border-bottom: 50px solid #f5f5f5;
}

h1.title-medium-page {
  font-family: 'Roboto Slab', serif;
  font-weight: 300;
  font-size: 2rem;
}

h1.title-medium-page span {
  font-weight: 700;
}

@media screen and (max-width: 40.62375em) {
  h1.title-medium-page {
    font-size: 16px;
  }
}

.main-produit {
  background-color: #f5f5f5;
  padding-top: 50px;
}

section.informations {
  position: relative;
  padding-top: 10px;
  padding-right: 45px;
}

@media screen and (max-width: 40.62375em) {
  section.informations {
    padding-right: 0;
  }
}

section.informations::before {
  background-color: #1e1e1e;
  content: ' ';
  display: block;
  height: 2px;
  margin: 15px 0;
  max-width: 50%;
  width: 100%;
}

@media screen and (max-width: 40.62375em) {
  section.informations p {
    padding-right: 45px;
  }
}

section.informations ul.list-decoration {
  margin: 0;
}

section.informations ul.list-decoration li {
  margin-right: 10px;
}

.advantages {
  display: flex;
  margin-left: 0;
}

@media screen and (max-width: 40.62375em) {
  .advantages {
    display: block;
  }
}

.advantages li {
  display: inline-block;
  list-style: none;
  padding: 5px;
  min-width: 33%;
}

@media screen and (max-width: 40.62375em) {
  .advantages li {
    display: block;
    min-width: 100%;
  }
}

.advantages li .block {
  border: 1px solid #b1b1b1;
  -webkit-border-radius: 7px;
  -moz-border-radius: 7px;
  -ms-border-radius: 7px;
  border-radius: 7px;
  padding: 7px;
}

.advantages li h4 {
  color: #b1b1b1;
  font-size: 0.625rem;
  margin-top: 10px;
  margin-bottom: 0;
  text-transform: uppercase;
}

.advantages li p {
  color: #b1b1b1;
  font-size: 0.5rem;
  font-style: italic;
  margin-bottom: 5px;
}

.advantages li i {
  font-size: 24px;
}

ul.tags {
  margin-left: 0;
}

ul.tags li {
  display: inline-block;
  list-style: none;
  margin-right: 7px;
  margin-bottom: 10px;
}

ul.tags li a {
  background-color: #3b3939;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  border-radius: 3px;
  color: #ffffff;
  font-family: 'Gotham', sans-serif;
  font-weight: 500;
  opacity: 1;
  padding: 3px 5px;
  display: block;
}

@media screen and (min-width: 40.625em) and (max-width: 63.99875em) {
  ul.tags li a {
    font-size: 0.8125rem;
  }
}

@media screen and (max-width: 40.62375em) {
  ul.tags li a {
    font-size: 0.625rem;
  }
}

ul.tags li a:hover {
  opacity: 0.85;
}

.wrapper-lartiste {
  border-bottom: 50px solid #f5f5f5;
}

.wrapper-lartiste .block-picture figure {
  background-color: #f5f5f5;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  border-radius: 100%;
  height: 150px;
  width: 150px;
  display: flex;
  align-items: center;
  -moz-align-items: center;
  -webkit-align-items: center;
  justify-content: center;
  -moz-justify-content: center;
  -webkit-justify-content: center;
}

.wrapper-lartiste .block-picture figure img {
  height: auto;
}

.wrapper-lartiste h2 {
  font-weight: bold;
}

.wrapper-lartiste h2.block-title {
  font-size: 1.5rem;
}

.wrapper-lartiste a.go-to-artist {
  color: #1e1e1e;
  display: block;
  padding-left: 30px;
  position: relative;
}

.wrapper-lartiste a.go-to-artist:after {
  color: #ff0000;
  content: "\F178";
  font-family: 'FontAwesome';
  position: absolute;
  left: 0;
  top: 4%;
}

.wrapper-lartiste a.go-to-artist:hover {
  color: #ff0000;
}

.wrapper-lartiste .block-content {
  padding-top: 40px;
}

.bottom-options {
  clear: both;
  position: relative;
}

.bottom-options .options-left {
  width: 80%;
  float: left;
}

@media screen and (min-width: 40.625em) {
  .bottom-options .options-left {
    width: 95%;
  }
}

@media screen and (max-width: 40.62375em) {
  .bottom-options .options-left {
    width: 100%;
  }
}

.bottom-options .options-right {
  float: left;
  width: 20%;
}

@media screen and (min-width: 40.625em) {
  .bottom-options .options-right {
    width: 5%;
  }
}

@media screen and (max-width: 40.62375em) {
  .bottom-options .options-right {
    right: 0;
    top: 0;
    position: absolute;
  }
}

.ProductImage {
  max-width: 100%;
  margin: auto;
  -webkit-box-shadow: 0 2px 22px -2px rgba(0, 0, 0, 0.78);
  -moz-box-shadow: 0 2px 22px -2px rgba(0, 0, 0, 0.78);
  box-shadow: 0 2px 22px -2px rgba(0, 0, 0, 0.78);
}

.ProductImage-container {
  margin: 20px 0;
  text-align: center;
  transition: background 1s;
}

.ProductImage-container.scene-default {
  padding: 10px;
}

@media screen and (min-width: 40.625em) {
  .ProductImage-container.scene-default {
    padding: 40px;
  }
}

.ProductImage-container.scene-whiteWall,
.ProductImage-container.scene-blackWall {
  padding: 20px;
  background-size: cover;
}

@media screen and (min-width: 40.625em) {
  .ProductImage-container.scene-whiteWall,
  .ProductImage-container.scene-blackWall {
    padding: 80px;
  }
}

.ProductImage-container.scene-whiteWall {
  background: url(/build/images/scene-wall-white.3bd4dc6f.jpg);
}

.ProductImage-container.scene-blackWall {
  background: url(/build/images/scene-wall-black.157894d0.jpg);
}

.ProductImage-container.scene-sofa {
  padding: 5% 19% 31% 5%;
  background: url(/build/images/scene-sofa.fdd959a3.jpg);
  background-size: cover;
}

.ProductImage.shadowbox-black .ProductImage-topBorder {
  position: relative;
  background: url(/build/images/shadowbox-black-top.f48d9bb3.png) repeat-x;
  background-size: contain;
  height: 19px;
  margin: 0 18px;
}

.ProductImage.shadowbox-black .ProductImage-topBorder::before {
  content: '';
  position: absolute;
  top: 0;
  left: -18px;
  height: 25px;
  width: 25px;
  z-index: 1;
  background: url(/build/images/shadowbox-black-topLeft.ace80b68.png) no-repeat;
  background-size: contain;
}

.ProductImage.shadowbox-black .ProductImage-topBorder::after {
  content: '';
  position: absolute;
  top: 0;
  right: -18px;
  height: 25px;
  width: 25px;
  z-index: 1;
  background: url(/build/images/shadowbox-black-topRight.e4fb29c7.png) no-repeat;
  background-size: contain;
}

.ProductImage.shadowbox-black .ProductImage-main {
  position: relative;
  background-color: #fff;
  margin: 0 19px;
}

.ProductImage.shadowbox-black .ProductImage-main::before {
  content: '';
  position: absolute;
  top: -1px;
  left: -19px;
  height: calc(100% + 2px);
  width: 19px;
  background: url(/build/images/shadowbox-black-left.8f27929f.png) repeat-y;
  background-size: contain;
}

.ProductImage.shadowbox-black .ProductImage-main::after {
  content: '';
  position: absolute;
  top: -1px;
  right: -19px;
  height: calc(100% + 2px);
  width: 19px;
  background: url(/build/images/shadowbox-black-right.6cc3b22e.png) repeat-y;
  background-size: contain;
}

.ProductImage.shadowbox-black .ProductImage-bottomBorder {
  position: relative;
  background: url(/build/images/shadowbox-black-bottom.b378f134.png) repeat-x;
  background-size: contain;
  height: 19px;
  margin: 0 18px;
}

.ProductImage.shadowbox-black .ProductImage-bottomBorder::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: -18px;
  height: 25px;
  width: 25px;
  z-index: 1;
  background: url(/build/images/shadowbox-black-bottomLeft.0755bcc2.png) no-repeat;
  background-size: contain;
}

.ProductImage.shadowbox-black .ProductImage-bottomBorder::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: -18px;
  height: 25px;
  width: 25px;
  z-index: 1;
  background: url(/build/images/shadowbox-black-bottomRight.dd68b201.png) no-repeat;
  background-size: contain;
}

.ProductImage.shadowbox-white .ProductImage-topBorder {
  position: relative;
  background: url(/build/images/shadowbox-white-top.07a21b9b.png) repeat-x;
  background-size: contain;
  height: 19px;
  margin: 0 18px;
}

.ProductImage.shadowbox-white .ProductImage-topBorder::before {
  content: '';
  position: absolute;
  top: 0;
  left: -18px;
  height: 25px;
  width: 25px;
  z-index: 1;
  background: url(/build/images/shadowbox-white-topLeft.7f8ba8ff.png) no-repeat;
  background-size: contain;
}

.ProductImage.shadowbox-white .ProductImage-topBorder::after {
  content: '';
  position: absolute;
  top: 0;
  right: -18px;
  height: 25px;
  width: 25px;
  z-index: 1;
  background: url(/build/images/shadowbox-white-topRight.e184aea7.png) no-repeat;
  background-size: contain;
}

.ProductImage.shadowbox-white .ProductImage-main {
  position: relative;
  background-color: #fff;
  margin: 0 19px;
}

.ProductImage.shadowbox-white .ProductImage-main::before {
  content: '';
  position: absolute;
  top: -1px;
  left: -19px;
  height: calc(100% + 2px);
  width: 19px;
  background: url(/build/images/shadowbox-white-left.b05ceadb.png) repeat-y;
  background-size: contain;
}

.ProductImage.shadowbox-white .ProductImage-main::after {
  content: '';
  position: absolute;
  top: -1px;
  right: -19px;
  height: calc(100% + 2px);
  width: 19px;
  background: url(/build/images/shadowbox-white-right.f52876c2.png) repeat-y;
  background-size: contain;
}

.ProductImage.shadowbox-white .ProductImage-bottomBorder {
  position: relative;
  background: url(/build/images/shadowbox-white-bottom.19d362a9.png) repeat-x;
  background-size: contain;
  height: 19px;
  margin: 0 18px;
}

.ProductImage.shadowbox-white .ProductImage-bottomBorder::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: -18px;
  height: 25px;
  width: 25px;
  z-index: 1;
  background: url(/build/images/shadowbox-white-bottomLeft.423566da.png) no-repeat;
  background-size: contain;
}

.ProductImage.shadowbox-white .ProductImage-bottomBorder::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: -18px;
  height: 25px;
  width: 25px;
  z-index: 1;
  background: url(/build/images/shadowbox-white-bottomRight.11a4eba7.png) no-repeat;
  background-size: contain;
}

.ProductImage.behindglass-black .ProductImage-topBorder {
  position: relative;
  background: url(/build/images/behindglass-black-top.0019bb69.png) repeat-x;
  background-size: contain;
  height: 14px;
  margin: 0 13px;
}

.ProductImage.behindglass-black .ProductImage-topBorder::before {
  content: '';
  position: absolute;
  top: 0;
  left: -13px;
  height: 18px;
  width: 18px;
  z-index: 1;
  background: url(/build/images/behindglass-black-topLeft.0a53ad1f.png) no-repeat;
  background-size: contain;
}

.ProductImage.behindglass-black .ProductImage-topBorder::after {
  content: '';
  position: absolute;
  top: 0;
  right: -13px;
  height: 18px;
  width: 18px;
  z-index: 1;
  background: url(/build/images/behindglass-black-topRight.ce872f49.png) no-repeat;
  background-size: contain;
}

.ProductImage.behindglass-black .ProductImage-main {
  position: relative;
  background-color: #fff;
  margin: 0 14px;
}

.ProductImage.behindglass-black .ProductImage-main::before {
  content: '';
  position: absolute;
  top: -1px;
  left: -14px;
  height: calc(100% + 2px);
  width: 14px;
  background: url(/build/images/behindglass-black-left.b30b7d53.png) repeat-y;
  background-size: contain;
}

.ProductImage.behindglass-black .ProductImage-main::after {
  content: '';
  position: absolute;
  top: -1px;
  right: -14px;
  height: calc(100% + 2px);
  width: 14px;
  background: url(/build/images/behindglass-black-right.8513013b.png) repeat-y;
  background-size: contain;
}

.ProductImage.behindglass-black .ProductImage-bottomBorder {
  position: relative;
  background: url(/build/images/behindglass-black-bottom.f3683b4d.png) repeat-x;
  background-size: contain;
  height: 14px;
  margin: 0 13px;
}

.ProductImage.behindglass-black .ProductImage-bottomBorder::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: -13px;
  height: 18px;
  width: 18px;
  z-index: 1;
  background: url(/build/images/behindglass-black-bottomLeft.4dd3b038.png) no-repeat;
  background-size: contain;
}

.ProductImage.behindglass-black .ProductImage-bottomBorder::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: -13px;
  height: 18px;
  width: 18px;
  z-index: 1;
  background: url(/build/images/behindglass-black-bottomRight.a337dc67.png) no-repeat;
  background-size: contain;
}

.ProductImage.behindglass-white .ProductImage-topBorder {
  position: relative;
  background: url(/build/images/behindglass-white-top.7c396a8e.png) repeat-x;
  background-size: contain;
  height: 14px;
  margin: 0 13px;
}

.ProductImage.behindglass-white .ProductImage-topBorder::before {
  content: '';
  position: absolute;
  top: 0;
  left: -13px;
  height: 18px;
  width: 18px;
  z-index: 1;
  background: url(/build/images/behindglass-white-topLeft.37977f19.png) no-repeat;
  background-size: contain;
}

.ProductImage.behindglass-white .ProductImage-topBorder::after {
  content: '';
  position: absolute;
  top: 0;
  right: -13px;
  height: 18px;
  width: 18px;
  z-index: 1;
  background: url(/build/images/behindglass-white-topRight.31e2d609.png) no-repeat;
  background-size: contain;
}

.ProductImage.behindglass-white .ProductImage-main {
  position: relative;
  background-color: #fff;
  margin: 0 14px;
}

.ProductImage.behindglass-white .ProductImage-main::before {
  content: '';
  position: absolute;
  top: -1px;
  left: -14px;
  height: calc(100% + 2px);
  width: 14px;
  background: url(/build/images/behindglass-white-left.cc51328e.png) repeat-y;
  background-size: contain;
}

.ProductImage.behindglass-white .ProductImage-main::after {
  content: '';
  position: absolute;
  top: -1px;
  right: -14px;
  height: calc(100% + 2px);
  width: 14px;
  background: url(/build/images/behindglass-white-right.81c30a64.png) repeat-y;
  background-size: contain;
}

.ProductImage.behindglass-white .ProductImage-bottomBorder {
  position: relative;
  background: url(/build/images/behindglass-white-bottom.4c3a8663.png) repeat-x;
  background-size: contain;
  height: 14px;
  margin: 0 13px;
}

.ProductImage.behindglass-white .ProductImage-bottomBorder::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: -13px;
  height: 18px;
  width: 18px;
  z-index: 1;
  background: url(/build/images/behindglass-white-bottomLeft.94bba1e8.png) no-repeat;
  background-size: contain;
}

.ProductImage.behindglass-white .ProductImage-bottomBorder::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: -13px;
  height: 18px;
  width: 18px;
  z-index: 1;
  background: url(/build/images/behindglass-white-bottomRight.559a1e3c.png) no-repeat;
  background-size: contain;
}

.ProductImage-main.mounted {
  -webkit-box-shadow: 0 2px 11px -2px rgba(0, 0, 0, 0.78) inset;
  -moz-box-shadow: 0 2px 11px -2px rgba(0, 0, 0, 0.78) inset;
  box-shadow: 0 2px 11px -2px rgba(0, 0, 0, 0.78) inset;
  padding: 20px;
}

#block-views-options ul {
  margin-left: 0;
  margin-bottom: 0;
}

#block-views-options ul li {
  display: inline-block;
  margin-right: 10px;
  border: 1px solid #1e1e1e;
  border-radius: 4px;
  cursor: pointer;
}

#block-views-options ul li.active {
  border-color: #ff0000;
}

#block-views-options ul li img {
  height: 62px;
  width: 62px;
}

@media screen and (max-width: 40.62375em) {
  #block-views-options ul li img {
    width: 42px;
    height: 42px;
  }
}

figure.giftVoucher {
  height: auto;
  text-align: center;
}

figure.giftVoucher img {
  height: auto;
}

.outofstock-form {
  background-color: #ffffff;
  border: 1px solid #b1b1b1;
  margin-bottom: 10px;
}

.outofstock-form .request-outofstock-message {
  font-family: 'Gotham', sans-serif;
  font-weight: 300;
  font-size: 13px;
  padding-top: 10px;
  margin: 0 10px 10px 33px;
}

.outofstock-form .text-left {
  margin-left: 33px;
}

.page-catalogue {
  position: relative;
}

.wrapper-main-catalogue {
  background-color: #f5f5f5;
}

.main-vernissage {
  overflow: hidden;
  padding-top: 40px;
}

.main-vernissage .main-body {
  background: #fff;
  overflow: hidden;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-flow: wrap row;
  padding: 20px;
}

@media screen and (min-width: 75em) {
  .main-vernissage .main-body {
    padding: 50px 100px;
    flex-flow: nowrap row;
  }
}

.main-vernissage .main-body > div.left {
  width: 100%;
}

@media screen and (min-width: 75em) {
  .main-vernissage .main-body > div.left {
    width: 70%;
  }
}

@media screen and (min-width: 64em) and (max-width: 74.99875em) and (orientation: landscape) {
  .main-vernissage .main-body > div.left {
    width: 60%;
  }
}

@media screen and (max-width: 40.62375em) {
  .main-vernissage .main-body > div.left {
    width: 100%;
  }
}

@media screen and (max-width: 40.62375em) and (orientation: landscape) {
  .main-vernissage .main-body > div.left {
    width: 100%;
  }
}

.main-vernissage .main-body aside {
  width: 100%;
}

@media screen and (max-width: 40.62375em) {
  .main-vernissage .main-body aside {
    width: 100%;
  }
}

@media screen and (max-width: 40.62375em) and (orientation: landscape) {
  .main-vernissage .main-body aside {
    width: 100%;
  }
}

@media screen and (min-width: 75em) {
  .main-vernissage .main-body aside {
    margin-left: 100px;
    width: 25%;
  }
}

@media screen and (min-width: 64em) and (max-width: 74.99875em) and (orientation: landscape) {
  .main-vernissage .main-body aside {
    margin-left: 20px;
    width: 30%;
  }
}

.main-vernissage .main-body aside section {
  background: #f5f5f5;
  padding: 20px 10px;
  margin-bottom: 50px;
}

.main-vernissage .main-body aside .button.red-light {
  padding: 12px 0;
  width: 100%;
}

.main-vernissage .main-body aside .circle {
  margin: 10px auto 20px auto;
}

.main-vernissage .main-body aside h3 {
  font-size: 16px;
  font-weight: bold;
  border-bottom: 2px solid #ff0000;
  padding-bottom: 10px;
}

.main-vernissage .main-body aside .box-content {
  padding: 20px;
}

.main-vernissage .main-body aside ul {
  color: #3b3939;
  list-style: none;
  margin: 0 0;
}

.main-vernissage .main-body aside li {
  padding-left: 1em;
  text-indent: -.7em;
}

.main-vernissage .main-body aside li::before {
  content: "\2022   ";
  color: #ff0000;
  /* or whatever color you prefer */
}

.main-vernissage .main-body aside .icon-film {
  font-size: 60px;
}

.main-vernissage .main-body aside .fa-calendar-check-o {
  padding-left: 6px;
}

.main-vernissage .artists {
  padding: 20px 20px;
  background: #fff;
  margin: 50px 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-flow: wrap row;
}

@media screen and (min-width: 40.625em) {
  .main-vernissage .artists {
    flex-flow: nowrap row;
    padding: 50px 100px;
  }
}

@media screen and (max-width: 40.62375em) {
  .main-vernissage .artists .group-left {
    width: 100%;
  }
}

@media screen and (min-width: 40.625em) {
  .main-vernissage .artists .group-left {
    margin-right: 55px;
  }
}

.main-vernissage .artists .box-title {
  font-weight: bold;
  font-size: 20px;
  padding-bottom: 10px;
  padding-right: 40px;
  border-bottom: 2px solid #ff0000;
  display: inline-block;
  clear: both;
  margin-bottom: 10px;
}

.main-vernissage .artists .circle {
  background: #f5f5f5;
  height: 150px;
  width: 150px;
}

@media screen and (max-width: 40.62375em) {
  .main-vernissage .artists .circle {
    margin: 0 auto;
  }
}

.main-vernissage .artists .ic-people {
  background: url(/build/images/ic-people.9d697a79.png) no-repeat;
  height: 55px;
  width: 78px;
}

.main-vernissage .artists ul {
  list-style: none;
  margin: 0;
}

.main-vernissage .artists ul li {
  display: inline-block;
  color: #ff0000;
}

.main-vernissage .artists ul li:after {
  content: " | ";
  color: #626060;
}

.main-vernissage .artists ul li:last-child:after {
  content: "";
}

.main-vernissage .artists ul li a {
  text-decoration: underline;
  font-weight: bold;
}

@media screen and (max-width: 40.62375em) {
  .main-vernissage .artists ul li a {
    font-size: 14px;
  }
}

.main-vernissage .artists ul li a:hover {
  text-decoration: none;
}

.main-vernissage .post-title {
  font-size: 24px;
  font-weight: bold;
  padding: 10px 0;
  margin: 0 0;
}

@media screen and (min-width: 40.625em) {
  .main-vernissage .post-title {
    padding: 0;
  }
}

.main-vernissage .post-date {
  font-weight: bold;
  font-size: 20px;
}

.main-vernissage .post-address {
  position: relative;
  font-size: 20.87px;
  color: #666666;
  font-weight: 300;
  padding-bottom: 10px;
  margin-bottom: 10px;
  display: inline-block;
}

.main-vernissage .post-address i {
  color: #ff0000;
}

.main-vernissage .post-address:after {
  height: 2px;
  background: #ff0000;
  width: 50%;
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
}

.main-vernissage .post-images {
  margin: 20px 0;
  clear: both;
  width: 100%;
}

@media screen and (min-width: 75em) {
  .main-vernissage .post-images {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-flow: wrap row;
  }
}

@media screen and (min-width: 75em) {
  .main-vernissage .post-images .img-wrapper {
    width: 33%;
    text-align: center;
  }
}

.circle {
  height: 100px;
  width: 100px;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
}

.circle i {
  color: #101212;
  font-size: 60px;
}

.block-title-gallery {
  margin: 0 20px 10px 20px;
  font-size: 16px;
  font-weight: bold;
  border-bottom: 3px solid #ff0000;
  display: inline-block;
}

.block-title-gallery .red {
  color: #ff0000;
}

@media screen and (min-width: 40.625em) {
  .block-title-gallery {
    margin: 0 80px 30px 80px;
  }
}

main.artist {
  padding-top: 20px;
}

@media screen and (min-width: 40.625em) {
  main.artist {
    padding-top: 50px;
  }
}

#artist-information {
  background-size: cover;
  padding: 25px  20px;
}

@media screen and (min-width: 64em) {
  #artist-information {
    padding: 50px  70px;
  }
}

@media screen and (min-width: 40.625em) and (max-width: 63.99875em) and (orientation: portrait) {
  #artist-information {
    padding: 20px;
  }
}

#artist-information .body-text {
  padding-top: 0;
  padding-bottom: 20px;
  clear: both;
}

@media screen and (min-width: 40.625em) {
  #artist-information .body-text {
    padding-bottom: 24px;
  }
}

#artist-information .panel.white.transparent {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-flow: wrap row;
  padding: 20px 10px;
}

@media screen and (min-width: 40.625em) {
  #artist-information .panel.white.transparent {
    flex-flow: nowrap row;
  }
}

@media screen and (min-width: 64em) {
  #artist-information .panel.white.transparent {
    padding: 50px 120px 50px 60px;
  }
}

@media screen and (min-width: 40.625em) and (max-width: 63.99875em) and (orientation: portrait) {
  #artist-information .panel.white.transparent {
    padding: 40px 60px;
  }
}

@media screen and (max-width: 40.62375em) {
  #artist-information .panel.white.transparent .button.transparent-red {
    margin: 10px 0 0;
    position: absolute;
    top: 0;
    right: 0;
  }
}

#artist-information .panel.white.transparent .box-image {
  padding-right: 20px;
  min-width: 205px;
  min-height: 205px;
  width: 15%;
}

@media screen and (max-width: 40.62375em) {
  #artist-information .panel.white.transparent .box-image {
    text-align: center;
    width: 100%;
    padding-right: 0;
  }
}

#artist-information .panel.white.transparent .box-artist-info {
  width: 83%;
}

@media screen and (max-width: 40.62375em) {
  #artist-information .panel.white.transparent .box-artist-info {
    width: 100%;
  }
}

#artist-information .panel.white.transparent .box-artist-info p {
  padding: 0;
}

#artist-information h1.page-title {
  font-size: 24px;
  margin-right: 16px;
  margin-bottom: 0;
  position: relative;
}

#artist-information .group-top {
  position: relative;
}

@media screen and (min-width: 40.625em) {
  #artist-information .group-top {
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }
}

@media screen and (max-width: 40.62375em) {
  #artist-information .group-top {
    overflow: hidden;
    clear: both;
    margin-top: 20px;
  }
}

.panel.white.transparent {
  background: rgba(251, 251, 251, 0.8);
  margin: 0 auto;
  width: 100%;
  max-width: 100%;
}

.panel.white.transparent p {
  color: #3b3939;
}

.circle-image {
  border-radius: 100%;
}

#box-artist-video {
  background: #fff;
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-flow: wrap row;
  padding: 20px;
}

@media screen and (min-width: 64em) {
  #box-artist-video {
    flex-flow: nowrap row;
  }
}

@media screen and (min-width: 75em) {
  #box-artist-video {
    padding: 40px 100px;
  }
}

#box-artist-video .video-wrapper {
  width: 50%;
}

@media screen and (max-width: 63.99875em) {
  #box-artist-video .video-wrapper {
    width: 100%;
    min-height: 180px;
    margin: 20px 0;
  }
}

#box-artist-video .video {
  background: #3b3939;
  height: 100%;
  width: 100%;
  min-height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#box-artist-video .video .play-video {
  height: 120px;
  width: 120px;
  border-radius: 100%;
  background: rgba(98, 96, 96, 0.65);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.65;
}

#box-artist-video .video .play-video i {
  font-size: 60px;
  color: #fff;
  padding-left: 15px;
}

#box-artist-video .video .play-video:hover {
  opacity: 1;
}

#box-artist-video .video-info {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

@media screen and (min-width: 40.625em) and (max-width: 63.99875em) and (orientation: portrait) {
  #box-artist-video .video-info {
    flex-flow: wrap row;
  }
}

@media screen and (max-width: 40.62375em) {
  #box-artist-video .video-info .circle-gray {
    width: 80px;
    height: 80px;
  }
}

@media screen and (max-width: 40.62375em) {
  #box-artist-video .video-info .circle-gray img {
    height: 40px;
    width: 50px;
  }
}

#box-artist-video .video-info .group-one {
  margin-right: 20px;
}

@media screen and (max-width: 40.62375em) {
  #box-artist-video .video-info .group-one {
    margin-right: 10px;
  }
}

@media screen and (min-width: 75em) {
  #box-artist-video .video-info .group-one {
    margin-right: 60px;
  }
}

#box-artist-video .video-info hr.red {
  width: 100%;
}

@media screen and (min-width: 64em) {
  #box-artist-video .video-info hr.red {
    max-width: 224px;
  }
}

#box-artist-video .video-info h3.title {
  font-weight: bold;
}

@media screen and (min-width: 40.625em) and (max-width: 63.99875em) and (orientation: portrait) {
  #box-artist-video .video-info h3.title {
    font-size: 22px;
  }
}

#box-artist-video .video-info h2 {
  font-size: 30px;
  font-weight: bold;
}

#box-artist-video .video-info a {
  font-size: 14px;
  color: #5f5f5f;
  display: block;
  max-width: 130px;
}

#box-artist-video .video-info a .text {
  display: inline-block;
  width: 80%;
}

#box-artist-video .video-info a i {
  color: #ff0000;
  display: inline-block;
  width: 20%;
  float: left;
  padding-top: 5px;
  font-weight: bold;
}

#box-artist-video .video-info a:hover {
  color: #ff0000;
}

.circle-gray {
  border-radius: 100%;
  background: #f5f5f5;
  width: 150px;
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.circle-gray img {
  height: 60px;
  width: 70px;
}

hr.red {
  border: 2px solid #ff0000;
  clear: both;
  margin: 24px 0;
  width: 100%;
}

@media screen and (min-width: 64em) {
  hr.red {
    max-width: 206px;
  }
}

.main-artistes {
  overflow: hidden;
}

.block-letters {
  border-bottom: 4px solid #f5f5f5;
  width: 100%;
  margin: 0;
  padding: 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  flex-flow: nowrap row;
  position: relative;
}

.block-letters ul {
  list-style: none;
  margin: 0 auto;
  display: inline-block;
  height: auto;
  width: auto;
}

@media screen and (max-width: 40.62375em) {
  .block-letters ul {
    width: 90%;
    margin: 6px auto;
    display: flex;
    flex-flow: wrap row;
    justify-content: center;
    align-items: flex-start;
  }
}

.block-letters ul li {
  position: relative;
  display: inline-block;
  text-align: left;
}

@media screen and (max-width: 40.62375em) {
  .block-letters ul li {
    display: block;
    width: 36px;
    text-align: center;
  }
}

.block-letters ul li:after {
  background: #f5f5f5;
  height: 10px;
  width: 2px;
  content: " ";
  position: absolute;
  right: 0;
  top: 39%;
}

@media screen and (max-width: 40.62375em) {
  .block-letters ul li:after {
    top: 30%;
  }
}

.block-letters ul li:last-child:after {
  display: none;
}

.block-letters ul li a {
  text-transform: uppercase;
  color: #1e1e1e;
  padding: 5px 5px;
  display: block;
  border-bottom: 4px solid #fff;
  font-weight: bold;
}

@media screen and (max-width: 40.62375em) {
  .block-letters ul li a {
    padding: 0 5px;
  }
}

@media screen and (min-width: 75em) and (max-width: 89.99875em) {
  .block-letters ul li a {
    padding: 15px 10px;
  }
}

@media screen and (min-width: 90em) {
  .block-letters ul li a {
    padding: 20px 20px;
  }
}

.block-letters ul li a.selected,
.block-letters ul li a:hover {
  color: #ff0000;
  border-bottom: 4px solid #ff0000;
}

.block-artistes-filters {
  border-bottom: 4px solid #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: wrap row;
  padding: 0 0 10px 0;
  background: #fff;
  position: relative;
}

@media screen and (min-width: 40.625em) {
  .block-artistes-filters {
    padding: 20px 0;
  }
}

.block-artistes-filters > .selected {
  display: none;
  width: 100%;
  padding: 10px 0 0 0;
}

@media screen and (max-width: 63.99875em) {
  .block-artistes-filters > .selected {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0;
  }
}

.block-artistes-filters > .selected > a {
  display: block;
  margin-bottom: 0;
  color: #3b3939;
  text-transform: capitalize;
}

.block-artistes-filters > .selected > a span {
  padding: 0 6px;
}

.block-artistes-filters > .selected > a:before {
  font-family: 'icomoon';
  font-size: 20px;
  padding-right: 0;
  display: inline-block;
}

.block-artistes-filters > .selected > a.sculpture:before {
  content: "\E900";
}

.block-artistes-filters > .selected > a.painting:before {
  content: "\E909";
}

.block-artistes-filters > .selected > a.photographie:before {
  content: "\E902";
}

.block-artistes-filters > .selected > a.livre:before {
  content: "\E901";
}

.block-artistes-filters > .selected > a.illustration:before {
  content: "\E906";
}

.block-artistes-filters > .selected > a:hover {
  color: #ff0000;
}

.block-artistes-filters > .selected a i {
  font-size: 16px;
}

.block-artistes-filters .box-list-filters {
  display: block;
}

@media screen and (max-width: 63.99875em) {
  .block-artistes-filters .box-list-filters {
    display: none;
  }
}

.block-artistes-filters ul {
  list-style: none;
  margin: 0 0;
  display: inline-block;
}

@media screen and (max-width: 63.99875em) {
  .block-artistes-filters ul {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-flow: wrap row;
    width: 100%;
    position: absolute;
    top: 50px;
    background: #fff;
    left: 0;
    z-index: 9;
    border-bottom: 4px solid #f5f5f5;
  }
}

.block-artistes-filters ul li {
  display: inline-block;
  text-align: left;
  width: auto;
  padding-right: 30px;
  padding-left: 30px;
}

@media screen and (max-width: 63.99875em) {
  .block-artistes-filters ul li {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 8px 0;
  }
}

.block-artistes-filters ul li a {
  color: #3b3939;
  text-transform: capitalize;
  position: relative;
  display: flex;
  align-items: center;
}

@media screen and (max-width: 63.99875em) {
  .block-artistes-filters ul li a {
    min-width: 120px;
  }
}

.block-artistes-filters ul li a.selected,
.block-artistes-filters ul li a:hover {
  color: #ff0000;
}

.block-artistes-filters ul li a:before {
  display: block;
  font-family: 'icomoon';
  font-size: 16px;
  padding-right: 10px;
}

@media screen and (min-width: 40.625em) {
  .block-artistes-filters ul li a:before {
    font-size: 20px;
    display: inline-block;
  }
}

@media screen and (min-width: 75em) {
  .block-artistes-filters ul li a:before {
    font-size: 30px;
  }
}

.block-artistes-filters ul li a.sculpture:before {
  content: "\E900";
}

.block-artistes-filters ul li a.painting:before {
  content: "\E909";
}

.block-artistes-filters ul li a.photographie:before {
  content: "\E902";
}

.block-artistes-filters ul li a.livre:before {
  content: "\E901";
}

.block-artistes-filters ul li a.illustration:before {
  content: "\E906";
}

.block-search-artist {
  padding: 20px 0;
  margin-bottom: 20px;
  background: #fff;
}

.block-search-artist .input-search {
  max-width: 700px;
  margin: 0 auto;
  width: 100%;
  position: relative;
}

@media screen and (max-width: 40.62375em) {
  .block-search-artist .input-search {
    width: 90%;
  }
}

.block-search-artist .input-search:after {
  content: "\F002";
  font-family: 'FontAwesome';
  position: absolute;
  top: 8px;
  right: 6px;
  color: #ff0000;
}

.block-search-artist .input-search input {
  border-top: 0;
  border-right: 0;
  border-left: 0;
  border-bottom: 1px solid #bababa;
  box-shadow: 0 0;
  margin-bottom: 0;
  background: transparent;
  text-align: center;
}

.block-search-artist input::placeholder,
.block-search-artist textarea::placeholder {
  color: #bababa;
  text-align: center;
}

p.no-result-text {
  padding: 30px 0;
  font-size: 1.1em;
  text-align: center;
  background-color: #fff;
}

.BlockArtist {
  margin: 20px 0;
  background: #fff;
  padding: 20px;
}

.BlockArtist .BlockArtist-header {
  overflow: hidden;
  padding: 20px;
}

@media screen and (max-width: 40.62375em) {
  .BlockArtist .BlockArtist-header {
    padding: 20px 0;
  }
}

.BlockArtist .BlockArtist-header h2 {
  color: #1e1e1e;
  font-size: 24px;
}

@media screen and (min-width: 64em) {
  .BlockArtist .BlockArtist-header h2 {
    font-size: 30px;
  }
}

.BlockArtist .BlockArtist-header a {
  color: #5f5f5f;
  font-size: 12px;
}

@media screen and (min-width: 64em) {
  .BlockArtist .BlockArtist-header a {
    font-size: 14px;
  }
}

.BlockArtist .BlockArtist-header a i {
  color: #ff0000;
}

.BlockArtist .BlockArtist-header .avatar {
  height: 80px;
  width: 80px;
  overflow: hidden;
  border-radius: 100%;
  float: left;
  margin-right: 20px;
  margin-bottom: 20px;
}

.BlockArtist .BlockArtist-carousel {
  height: 265px;
  overflow-y: hidden;
}

.BlockArtist .BlockArtist-carousel .slick-slide {
  margin-right: 30px;
}

.BlockArtist .BlockArtist-carousel .slick-arrow {
  z-index: 1;
  height: 75px;
  width: 75px;
  background-color: rgba(255, 255, 255, 0.2);
}

.BlockArtist .BlockArtist-carousel .slick-arrow:before {
  font-family: 'FontAwesome', sans-serif;
  font-size: 30px;
  color: #333;
}

.BlockArtist .BlockArtist-carousel .slick-arrow:hover {
  background-color: rgba(255, 255, 255, 0.6);
}

.BlockArtist .BlockArtist-carousel .slick-prev {
  left: 0;
}

.BlockArtist .BlockArtist-carousel .slick-prev:before {
  content: "\F053";
}

.BlockArtist .BlockArtist-carousel .slick-next {
  right: 0;
}

.BlockArtist .BlockArtist-carousel .slick-next:before {
  content: "\F054";
}

.BlockArtist .BlockArtist-carousel img {
  height: 265px;
}

p.total {
  font-family: 'Gotham', sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
}

p.total span {
  font-family: 'Roboto', sans-serif;
}

.main-checkout {
  background: #f5f5f5;
  padding: 20px 0;
}

@media screen and (min-width: 64em) {
  .main-checkout {
    padding: 20px 20px;
  }
}

.main-checkout h1.page-title {
  font-size: 22px;
  width: 100%;
  padding-bottom: 10px;
  border-bottom: 2px solid #d3d3d3;
  margin-bottom: 16px;
}

.main-checkout h1.page-title.roboto {
  font-family: 'Roboto Slab', serif;
  font-weight: bold;
}

.main-checkout select.numero {
  min-width: 50px;
  width: 60px;
}

@media screen and (max-width: 40.62375em) {
  .main-checkout select.numero {
    padding-left: 2px;
  }
}

.main-checkout .panel.white {
  background: #fff;
  padding: 20px;
  margin: 0 auto;
  max-width: 100%;
  width: 100%;
}

.main-checkout .actions {
  clear: both;
  width: 100%;
  padding: 30px 0 0 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-flow: wrap row;
}

@media screen and (min-width: 40.625em) {
  .main-checkout .actions {
    flex-flow: nowrap row;
  }
}

.main-checkout .actions .button {
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0;
}

.main-checkout .actions .button.transparent-red {
  border-radius: 0;
}

.main-checkout .actions .button.gray-light {
  border-radius: 0;
  padding: 20px 40px;
}

@media screen and (max-width: 40.62375em) {
  .main-checkout .actions .button.gray-light {
    max-width: 100%;
    width: 100%;
  }
}

.main-checkout .actions .back i {
  padding-right: 10px;
}

.main-checkout .actions .submit i {
  padding-left: 10px;
}

.main-checkout .actions .submit {
  width: 100%;
  max-width: 322px;
  font-weight: bold;
}

@media screen and (max-width: 40.62375em) {
  .main-checkout .actions .submit {
    margin-top: 20px;
    max-width: 100%;
  }
}

.main-checkout .promo-code {
  width: 100%;
  max-width: 322px;
  clear: both;
  float: right;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.main-checkout .promo-code input {
  margin-bottom: 0;
}

.main-checkout .promo-code a.submit-code.black {
  border: 0;
  background: #000000;
  text-transform: uppercase;
  margin-left: 6px;
  opacity: 1;
  transition: all .65s ease-in;
}

.main-checkout .promo-code a.submit-code.black:hover {
  opacity: 0.65;
}

.main-checkout .total {
  width: 100%;
  clear: both;
  display: block;
  float: right;
  text-align: right;
  margin-top: 30px;
}

@media screen and (min-width: 64em) {
  .main-checkout .total {
    width: 40%;
  }
}

.main-checkout .total h2 {
  font-size: 22px;
  font-family: 'Gotham', sans-serif;
  font-weight: 700;
}

.main-checkout .total h2 .red {
  color: #ff0000;
  font-weight: bold;
}

.main-checkout .box-product {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-flow: nowrap row;
  padding: 25px 0;
}

@media screen and (max-width: 40.62375em) {
  .main-checkout .box-product {
    flex-flow: wrap row;
  }
}

@media screen and (min-width: 40.625em) {
  .main-checkout .box-product .group-left {
    margin-right: 80px;
  }
}

.main-checkout .box-product .group-left img {
  max-height: 175px;
  max-width: 175px;
  -webkit-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.75);
  -moz-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.75);
  box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.75);
}

@media screen and (max-width: 40.62375em) {
  .main-checkout .box-product .group-left {
    margin-bottom: 20px;
  }
}

.main-checkout .box-product .group-right {
  text-align: left;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.main-checkout .box-product h2 {
  font-size: 16px;
  margin-top: 0;
  margin-bottom: 0;
  font-style: italic;
  font-family: 'Gotham-Book', sans-serif;
}

@media screen and (max-width: 40.62375em) {
  .main-checkout .box-product h2 {
    line-height: 1.2;
  }
}

.main-checkout .box-product h2.artist {
  margin-bottom: 0;
  line-height: 1.4;
  font-family: 'Gotham', sans-serif;
  font-weight: 700;
}

.main-checkout .box-product h3 {
  font-size: 14px;
  margin-bottom: 0;
  font-family: 'Gotham-Book', sans-serif;
}

@media screen and (max-width: 40.62375em) {
  .main-checkout section.panel.white {
    padding: 10px;
  }
}

.main-checkout .spinner {
  width: 90px;
  margin: 0 auto;
}

.main-checkout .delete i {
  color: #808080;
  font-size: 26px;
}

@media screen and (max-width: 40.62375em) {
  .main-checkout .delete i {
    font-size: 20px;
  }
}

.main-checkout .main-group {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-flow: wrap row;
}

@media screen and (min-width: 64em) {
  .main-checkout .main-group {
    flex-flow: nowrap row;
  }
}

.main-checkout .main-group > div.left {
  width: 100%;
}

@media screen and (min-width: 64em) {
  .main-checkout .main-group > div.left {
    width: 67%;
  }
}

.main-checkout .main-group aside {
  width: 100%;
}

@media screen and (min-width: 64em) {
  .main-checkout .main-group aside {
    width: 30%;
    position: relative;
  }
}

.main-checkout #guarantees {
  padding-top: 48px;
  padding-bottom: 48px;
  color: #494949;
}

.main-checkout #guarantees .col-guarantees {
  border-right: 2px solid #939393;
}

.main-checkout #guarantees .col-guarantees:last-child {
  border-right: 0;
}

.main-checkout #guarantees h4,
.main-checkout #guarantees p,
.main-checkout #guarantees i {
  color: #494949;
}

.main-checkout select,
.main-checkout textarea,
.main-checkout input {
  border: 1px solid #888888;
  box-shadow: 0 0;
}

.main-checkout textarea {
  resize: none;
}

.table-checkout {
  border: 0;
}

.table-checkout thead,
.table-checkout tbody,
.table-checkout tfoot {
  border: 0;
  background-color: #ffffff;
}

@media screen and (max-width: 40.62375em) {
  .table-checkout th,
  .table-checkout td {
    padding-left: 5px;
    padding-right: 5px;
  }
}

.table-checkout thead {
  background: #e9e9e9;
  color: #3b3939;
  text-align: center;
}

.table-checkout thead th {
  text-align: center;
  font-size: 12px;
  text-transform: uppercase;
  height: 48px;
  padding-top: 0;
  padding-bottom: 0;
}

.table-checkout thead th:nth-child(3) {
  content: "SUP";
}

@media screen and (max-width: 63.99875em) {
  .table-checkout thead th:nth-child(4) {
    display: none;
  }
}

.table-checkout tbody td {
  text-align: center;
  font-family: 'Gotham', sans-serif;
  font-weight: 500;
  padding-top: 30px;
  vertical-align: top;
}

@media screen and (max-width: 63.99875em) {
  .table-checkout tbody td {
    padding-top: 20px;
  }
}

.table-checkout tbody td:nth-child(1) {
  padding-top: 0;
}

@media screen and (max-width: 63.99875em) {
  .table-checkout tbody td:nth-child(4) {
    display: none;
  }
}

@media screen and (max-width: 63.99875em) {
  .table-checkout tbody td .price {
    font-size: 12px;
  }
}

.block-mon-panier {
  background: #fff;
  padding: 20px;
}

.block-mon-panier.fixed {
  position: fixed;
  top: 20px;
}

.block-mon-panier.absolute {
  position: absolute;
  top: 20px;
}

.block-mon-panier h2.block-title {
  font-size: 22px;
  width: 100%;
  padding-bottom: 10px;
  border-bottom: 2px solid #d3d3d3;
  margin-bottom: 16px;
  font-family: 'Roboto Slab', serif;
  font-weight: 700;
}

.block-mon-panier ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.block-mon-panier ul li {
  border-bottom: 1px solid #d3d3d3;
  padding-top: 24px;
  padding-bottom: 24px;
  width: 100%;
  clear: both;
  overflow: hidden;
}

.block-mon-panier ul li:last-child {
  border-bottom: 0;
}

.block-mon-panier ul li span.box-text {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.block-mon-panier ul li span.text {
  text-align: left;
  float: left;
}

.block-mon-panier ul li span.bold {
  font-weight: bold;
}

.block-mon-panier ul li span.price {
  text-align: right;
  font-weight: bold;
  float: right;
}

.block-mon-panier ul li span.price.red {
  color: #ff0000;
}

.block-mon-panier ul li span.total {
  font-size: 20px;
  float: right;
  margin-top: 0;
  color: #3b3939;
}

@media screen and (min-width: 90em) {
  .block-mon-panier ul li span.total {
    font-size: 22px;
  }
}

.block-mon-panier ul li span.red {
  color: #ff0000;
}

.block-mon-panier a.modifier {
  display: block;
  float: left;
  color: #3b3939;
  font-size: 14px;
  padding-bottom: 2px;
}

.block-mon-panier a.modifier:hover {
  opacity: 0.8;
}

.block-mon-panier img {
  -webkit-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.75);
  -moz-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.75);
  box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.75);
  max-width: 68px;
}

.block-mon-panier .box-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-flow: nowrap row;
}

.block-mon-panier .box-item > div {
  text-align: left;
}

.block-mon-panier .box-item .qty {
  display: block;
  clear: both;
  width: 100%;
  padding-top: 20px;
}

.block-mon-panier .box-item .artist {
  display: block;
  font-family: 'Gotham', sans-serif;
  font-weight: 700;
}

.block-mon-panier .box-item .text,
.block-mon-panier .box-item .name-art {
  display: block;
  clear: both;
}

.block-mon-panier .box-item .group-one {
  width: 40%;
}

@media screen and (min-width: 40.625em) {
  .block-mon-panier .box-item .group-one {
    padding-left: 20px;
  }
}

.block-mon-panier .box-item .group-one span {
  font-size: 13px;
}

.block-mon-panier .box-item .group-two {
  width: 40%;
}

.block-mon-panier .box-item .group-two span {
  font-size: 14px;
}

.block-mon-panier .box-item .group-three {
  width: 20%;
}

.block-mon-panier .js-remove-payment {
  cursor: pointer;
}

.block-bode-paiement {
  background: #fff;
  padding: 20px;
  margin-bottom: 50px;
}

.block-bode-paiement h2.block-title {
  font-size: 22px;
  width: 100%;
  padding-bottom: 10px;
  border-bottom: 2px solid #d3d3d3;
  margin-bottom: 16px;
  font-family: 'Roboto Slab', serif;
  font-weight: 700;
  margin-bottom: 30px;
}

.block-bode-paiement h2.block-title img {
  padding-left: 16px;
}

.block-bode-paiement .button.red-light {
  max-width: 320px;
  width: 100%;
  clear: both;
  float: right;
  margin: 20px 0;
  height: 47px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0;
}

.block-bode-paiement .button.green-light {
  max-width: 320px;
  width: 100%;
  clear: both;
  float: right;
  margin: 20px 0;
}

.block-bode-paiement .action {
  clear: both;
  width: 100%;
  display: block;
  overflow: hidden;
}

.block-bode-paiement .information {
  clear: both;
}

.block-bode-paiement .payment-tabs {
  position: relative;
  overflow: hidden;
}

.block-bode-paiement .payment-tabs .active-tab {
  transition: all 0.66s ease-in;
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-bottom: 20px solid #e3e3e3;
  position: absolute;
  bottom: 0;
  left: 0;
  display: none;
}

@media screen and (min-width: 75em) {
  .block-bode-paiement .payment-tabs .active-tab {
    display: block;
  }
}

.block-bode-paiement .tabs {
  border: 0;
}

.block-bode-paiement .tabs .tabs-title {
  padding-bottom: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 20%;
}

@media screen and (min-width: 75em) {
  .block-bode-paiement .tabs .tabs-title {
    padding-bottom: 20px;
  }
}

@media screen and (max-width: 40.62375em) {
  .block-bode-paiement .tabs .tabs-title:first-child {
    width: 100%;
    padding: 4px 0;
  }
}

@media screen and (max-width: 40.62375em) {
  .block-bode-paiement .tabs .tabs-title:first-child a {
    width: 100%;
  }
}

@media screen and (max-width: 40.62375em) {
  .block-bode-paiement .tabs .tabs-title {
    width: 50%;
    padding: 4px 0;
  }
}

.block-bode-paiement .tabs .tabs-title > a {
  background: #e3e3e3;
  position: relative;
  margin-right: 0;
  border: 1px solid #fff;
  padding: 10px 8px;
  outline: none;
  height: 80px;
  width: 95%;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 40.62375em) {
  .block-bode-paiement .tabs .tabs-title > a {
    height: 80px;
    border: 1px solid #fff;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}

.block-bode-paiement .tabs .tabs-title:last-child a {
  width: 100%;
}

.block-bode-paiement .tabs .tabs-title > a:hover {
  border: 2px solid #999999;
}

@media screen and (max-width: 40.62375em) {
  .block-bode-paiement .tabs .tabs-title > a:hover {
    border: 1px solid #999999;
  }
}

.block-bode-paiement .tabs .is-active > a {
  background: #e3e3e3;
  border: 2px solid #999999;
}

.block-bode-paiement .tabs-content {
  border: 0;
  background: #e3e3e3;
}

.block-bode-paiement .two-col {
  padding-top: 20px;
  padding-bottom: 10px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-flow: wrap row;
}

@media screen and (min-width: 64em) {
  .block-bode-paiement .two-col {
    flex-flow: nowrap row;
  }
}

.block-bode-paiement .two-col .first-col {
  width: 100%;
  margin-bottom: 20px;
  text-align: center;
}

@media screen and (min-width: 64em) {
  .block-bode-paiement .two-col .first-col {
    width: 40%;
    margin-bottom: 0;
  }
}

.block-bode-paiement .two-col .second-col {
  width: 100%;
}

@media screen and (min-width: 64em) {
  .block-bode-paiement .two-col .second-col {
    width: 60%;
  }
}

.block-bode-paiement .form-item {
  display: flex;
  align-items: flex-start;
  flex-flow: wrap;
}

.block-bode-paiement .form-item .box-label {
  width: 100%;
  text-align: left;
  color: #3b3939;
}

@media screen and (min-width: 64em) {
  .block-bode-paiement .form-item .box-label {
    width: 30%;
    text-align: right;
    padding-right: 20px;
    padding-top: 4px;
  }
}

.block-bode-paiement .form-item .box-input {
  width: 100%;
  margin-bottom: 16px;
  border: 1px solid #888888;
  padding: 8px 12px;
  background-color: #fff;
}

@media screen and (min-width: 64em) {
  .block-bode-paiement .form-item .box-input {
    width: 65%;
  }
}

.block-bode-paiement .form-item .box-error {
  display: none;
  width: 100%;
  margin: -16px 0 10px;
  color: #ff0000;
}

@media screen and (min-width: 64em) {
  .block-bode-paiement .form-item .box-error {
    width: 65%;
    margin-left: 30%;
  }
}

.block-bode-paiement .form-item .box-error.active {
  display: block;
}

.block-bode-paiement .form-item #stripe-cardExpiry-element {
  max-width: 100px;
}

.block-bode-paiement .form-item #stripe-cardCvc-element {
  max-width: 55px;
}

.block-bode-paiement .form-item img.powered {
  margin-top: 16px;
}

.block-bode-paiement #stripe-form {
  width: 75%;
  margin: 20px auto;
}

.mode-livraison {
  background: #fff;
  padding: 20px;
  margin-bottom: 50px;
}

.mode-livraison h2.block-title {
  font-size: 22px;
  width: 100%;
  padding-bottom: 10px;
  border-bottom: 2px solid #d3d3d3;
  margin-bottom: 16px;
  font-family: 'Roboto Slab', serif;
  font-weight: 700;
  margin-bottom: 30px;
}

.mode-livraison .shipping-tabs {
  position: relative;
  overflow: hidden;
}

.mode-livraison .shipping-tabs .active-tab {
  transition: all 0.66s ease-in;
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-bottom: 20px solid #e3e3e3;
  position: absolute;
  bottom: 0;
  left: 0;
  display: none;
}

@media screen and (min-width: 40.625em) {
  .mode-livraison .shipping-tabs .active-tab {
    display: block;
  }
}

.mode-livraison .shipping-tabs .tabs {
  border: 0;
}

.mode-livraison .shipping-tabs .tabs .tabs-title {
  padding-bottom: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 33.33%;
}

@media screen and (min-width: 40.625em) {
  .mode-livraison .shipping-tabs .tabs .tabs-title {
    padding-bottom: 20px;
  }
}

@media screen and (max-width: 40.62375em) {
  .mode-livraison .shipping-tabs .tabs .tabs-title {
    width: 100%;
    padding: 4px 0;
  }
}

.mode-livraison .shipping-tabs .tabs .tabs-title > a {
  color: #3b3939;
  background: #e3e3e3;
  position: relative;
  margin-right: 0;
  border: 1px solid #fff;
  padding: 10px 8px;
  outline: none;
  height: 55px;
  width: 95%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .9rem;
}

@media screen and (max-width: 40.62375em) {
  .mode-livraison .shipping-tabs .tabs .tabs-title > a {
    width: 100%;
    height: 80px;
    border: 1px solid #fff;
    padding-left: 0;
    padding-right: 0;
  }
}

.mode-livraison .shipping-tabs .tabs .tabs-title > a i {
  padding-right: 8px;
  font-size: 22px;
}

.mode-livraison .shipping-tabs .tabs .tabs-title:last-child a {
  width: 100%;
}

.mode-livraison .shipping-tabs .tabs .tabs-title > a:hover {
  border: 2px solid #999999;
}

@media screen and (max-width: 40.62375em) {
  .mode-livraison .shipping-tabs .tabs .tabs-title > a:hover {
    border: 1px solid #999999;
  }
}

.mode-livraison .shipping-tabs .tabs .is-active > a {
  background: #e3e3e3;
  border: 2px solid #999999;
}

.mode-livraison .tabs-content {
  background: #e3e3e3;
  padding: 20px;
}

@media screen and (max-width: 40.62375em) {
  .mode-livraison .tabs-content {
    padding: 20px 10px;
  }
}

.mode-livraison .form .two-col {
  padding-top: 20px;
  padding-bottom: 20px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-flow: wrap row;
}

@media screen and (min-width: 64em) {
  .mode-livraison .form .two-col {
    flex-flow: nowrap row;
  }
}

.mode-livraison .form .two-col .group-left {
  width: 100%;
}

@media screen and (min-width: 64em) {
  .mode-livraison .form .two-col .group-left {
    width: 48%;
  }
}

.mode-livraison .form .two-col .group-right {
  width: 100%;
}

@media screen and (min-width: 64em) {
  .mode-livraison .form .two-col .group-right {
    width: 48%;
  }
}

.mode-livraison .form .two-col .has-error input,
.mode-livraison .form .two-col .has-error select {
  border-color: #ff0000;
}

.mode-livraison .form .two-col .has-error ul {
  list-style: none;
  margin-bottom: 2px;
}

.mode-livraison .form .two-col .has-error ul li {
  color: #ff0000;
  font-size: .9em;
}

.mode-livraison .form .comments {
  width: 100%;
  clear: both;
}

.mode-livraison .form .comments textarea {
  height: 98px;
}

.mode-livraison .actions {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}

.mode-livraison .actions a {
  color: #666;
}

.mode-livraison .submit {
  width: 320px;
  float: right;
  clear: both;
}

.mode-livraison .box-label {
  margin-bottom: 20px;
  display: block;
  color: #3b3939;
}

.mode-livraison span.radio {
  margin-top: 4px;
}

.mode-livraison .label-radio {
  color: #3b3939;
}

.mode-livraison .group-top {
  width: 100%;
  overflow: hidden;
  padding: 10px 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-flow: nowrap row;
}

@media screen and (min-width: 75em) {
  .mode-livraison .group-top {
    width: 60%;
  }
}

.mode-livraison .group-top .box-image img {
  max-width: 40px;
}

@media screen and (min-width: 64em) {
  .mode-livraison .group-top .box-image img {
    max-width: 75px;
  }
}

.mode-livraison .group-top .box-desc {
  padding: 0 10px;
}

@media screen and (min-width: 64em) {
  .mode-livraison .group-top .box-desc {
    padding: 0 20px;
  }
}

.mode-livraison .group-top h3,
.mode-livraison .group-top h2 {
  font-size: 13px;
  margin: 0 0;
  line-height: 1.4;
}

@media screen and (min-width: 40.625em) {
  .mode-livraison .group-top h3,
  .mode-livraison .group-top h2 {
    font-size: 15px;
  }
}

.mode-livraison .group-top h2 {
  font-weight: bold;
}

.mode-livraison .group-top .price {
  font-size: 15px;
  font-weight: bold;
  color: #ff0000;
  width: auto;
  min-width: 25px;
}

@media screen and (min-width: 64em) {
  .mode-livraison .group-top .price {
    font-size: 22px;
  }
}

@media screen and (min-width: 64em) {
  .mode-livraison .group-top .price {
    width: 10%;
  }
}

@media screen and (max-width: 40.62375em) {
  .mode-livraison .delivery-methods-selection {
    font-size: 10px;
  }

  .mode-livraison .delivery-methods-selection td {
    padding: 3px;
  }
}

#validate-coupon {
  width: 93%;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-flow: wrap row;
}

@media screen and (min-width: 64em) {
  #validate-coupon {
    flex-flow: nowrap row;
  }
}

#validate-coupon .box-label {
  width: 100%;
  text-align: right;
  padding-right: 20px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

@media screen and (min-width: 64em) {
  #validate-coupon .box-label {
    justify-content: flex-end;
    width: 160px;
  }
}

#validate-coupon input {
  margin-bottom: 0;
}

#validate-coupon input.button.black.submit {
  background: #1e1e1e;
  color: #fff;
  border: 2px solid #1e1e1e;
  text-transform: uppercase;
  position: relative;
}

@media screen and (max-width: 40.62375em) {
  #validate-coupon input.button.black.submit {
    display: block;
    margin-top: 10px;
  }
}

@media screen and (min-width: 64em) {
  #validate-coupon input.button.black.submit {
    margin-left: 16px;
  }
}

#validate-coupon input.button.black.submit:hover {
  background: transparent;
  color: #1e1e1e;
}

#validate-coupon input.button.black.submit:hover:after {
  color: #ffffff;
}

span.radio {
  height: 17px;
  width: 17px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8e8d8d;
  float: left;
  border: 1px solid #8e8d8d;
  border-radius: 100%;
  margin-right: 8px;
}

span.radio:before {
  font-family: 'FontAwesome';
  font-size: 11px;
}

span.radio.checked {
  border: 1px solid #ff0000;
}

span.radio.checked:before {
  content: "\F00C";
  color: #ff0000;
}

.buttons-tabs {
  position: relative;
  overflow: hidden;
}

.buttons-tabs .active-tab {
  transition: all 0.66s ease-in;
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-bottom: 20px solid #e3e3e3;
  position: absolute;
  bottom: 0;
  left: 0;
  display: none;
}

@media screen and (min-width: 64em) {
  .buttons-tabs .active-tab {
    display: block;
  }
}

span.lpay {
  color: #3b3939;
  font-size: 12px;
  font-family: 'Gotham-Book', sans-serif;
  text-align: center;
  display: block;
  clear: both;
  width: 100%;
  margin-top: 3px;
}

@media screen and (max-width: 40.62375em) {
  span.lpay {
    width: 96%;
    margin: 0 auto;
    font-size: 9px;
  }
}

span.boxpay {
  text-align: center;
}

span.boxpay img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
}

#confirmation-block {
  width: 100%;
  max-width: 1000px;
  margin: 20px auto;
  background-color: #fff;
  padding: 50px 30px;
}

#confirmation-block .header {
  font-size: 21px;
  margin-bottom: 30px;
}

.alma-alert-giftvoucher .red {
  color: #ff0000;
}

.alma-alert-giftvoucher .bold {
  font-weight: bold;
}

main.NewsItemContainer h1 {
  margin-bottom: 0;
  padding: 20px 10px;
  text-align: center;
  font-size: 24px;
}

@media screen and (min-width: 75em) {
  main.NewsItemContainer h1 {
    padding: 100px 10px 50px 10px;
  }
}

section.NewsItemContainer {
  padding: 10px 20px;
}

@media screen and (min-width: 75em) {
  section.NewsItemContainer {
    padding: 10px 70px;
  }
}

div.NewsItem {
  display: flex;
  flex-flow: column;
  position: relative;
  padding: 20px;
  margin: 20px 0;
  background: #fff;
}

@media screen and (min-width: 40.625em) {
  div.NewsItem {
    flex-flow: row;
  }
}

@media screen and (min-width: 75em) {
  div.NewsItem {
    margin: 50px 0;
  }
}

div.NewsItem .NewsItem-image {
  width: 100%;
  text-align: center;
  margin-bottom: 10px;
}

@media screen and (min-width: 40.625em) {
  div.NewsItem .NewsItem-image {
    flex: 0 0 300px;
    padding-right: 20px;
    margin-bottom: 0;
  }
}

div.NewsItem .NewsItem-text {
  width: 100%;
}

@media screen and (min-width: 40.625em) {
  div.NewsItem .NewsItem-text {
    flex-grow: 1;
    width: auto;
  }
}

div.NewsItem .NewsItem-title {
  margin: 0;
  padding-top: 10px;
  font-size: 18px;
  font-weight: bold;
}

@media screen and (min-width: 40.625em) {
  div.NewsItem .NewsItem-title {
    padding-top: 0;
  }
}

div.NewsItem .NewsItem-address {
  font-size: 16px;
  color: #666666;
  font-weight: 300;
}

div.NewsItem .NewsItem-address i {
  color: #ff0000;
}

div.NewsItem .separator {
  width: 150px;
  margin: 10px 0;
  border-top: 2px solid #ff0000;
}

div.NewsItem .NewsItem-date {
  font-weight: bold;
  font-size: 16px;
}

div.NewsItem .NewsItem-date .red {
  color: #ff0000;
}

div.NewsItem .NewsItem-vernissage {
  background: url(/build/images/vernissage.7723823b.png) no-repeat;
  width: 117px;
  height: 118px;
  text-indent: -9999px;
  position: absolute;
  top: 0;
  right: 0;
}

div.NewsItem a.invitation {
  margin-left: 10px;
  padding: 0.71em 1em;
}

div.NewsItem a.invitation i {
  margin-left: 10px;
  font-size: 20px;
  vertical-align: -2px;
}

main.NewsItem {
  padding-top: 40px;
}

.NewsItemArticle {
  display: flex;
  flex-flow: column;
  padding: 20px;
  background: #fff;
}

@media screen and (min-width: 40.625em) {
  .NewsItemArticle {
    flex-flow: row;
    padding: 50px 100px;
  }
}

.NewsItemArticle article {
  width: 100%;
}

@media screen and (min-width: 40.625em) {
  .NewsItemArticle article {
    flex-grow: 1;
    width: auto;
  }
}

.NewsItemArticle article .separator {
  width: 200px;
  margin: 10px 0;
  border-top: 2px solid #ff0000;
}

.NewsItemArticle aside {
  width: 100%;
}

@media screen and (min-width: 40.625em) {
  .NewsItemArticle aside {
    margin-left: 100px;
    flex: 0 0 350px;
  }
}

.NewsItemArticle aside section {
  background: #f5f5f5;
  padding: 20px 10px;
  margin-bottom: 50px;
}

.NewsItemArticle aside section .button.red-light {
  padding: 0.71em 0;
  width: 100%;
}

.NewsItemArticle aside section .button.red-light i {
  margin-left: 10px;
  font-size: 20px;
  vertical-align: -2px;
}

.NewsItemArticle aside section .circle {
  margin: 10px auto 20px auto;
}

.NewsItemArticle aside section h3 {
  font-size: 16px;
  font-weight: bold;
  border-bottom: 2px solid #ff0000;
  padding-bottom: 10px;
}

.NewsItemArticle aside section .box-content {
  padding: 20px;
}

.NewsItemArticle aside section ul {
  color: #3b3939;
  list-style: none;
  margin: 0 0;
}

.NewsItemArticle aside section ul li {
  padding-left: 1em;
  text-indent: -.7em;
}

.NewsItemArticle aside section ul li::before {
  content: "\2022   ";
  color: #ff0000;
  /* or whatever color you prefer */
}

.NewsItemArticle aside section .icon-film {
  font-size: 60px;
}

.NewsItemArticle aside section .fa-calendar-check-o {
  padding-left: 6px;
}

.NewsItemArticle-title {
  padding-top: 10px;
  margin: 0;
  font-size: 24px;
  font-weight: bold;
}

@media screen and (min-width: 40.625em) {
  .NewsItemArticle-title {
    padding: 0;
  }
}

.NewsItemArticle-address {
  font-size: 20.87px;
  color: #666666;
  font-weight: 300;
}

.NewsItemArticle-address i {
  color: #ff0000;
}

.NewsItemArticle-date {
  font-weight: bold;
  font-size: 20px;
}

.NewsItemArticle-date .red {
  color: #ff0000;
}

.NewsItemArticle .circle {
  height: 100px;
  width: 100px;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
}

.NewsItemArticle .circle i {
  color: #101212;
  font-size: 60px;
}

.NewsItemArticle .block-title-gallery {
  margin: 0 20px 10px 20px;
  font-size: 16px;
  font-weight: bold;
  border-bottom: 3px solid #ff0000;
  display: inline-block;
}

.NewsItemArticle .block-title-gallery .red {
  color: #ff0000;
}

@media screen and (min-width: 40.625em) {
  .NewsItemArticle .block-title-gallery {
    margin: 0 80px 30px 80px;
  }
}

.NewsItemArtists {
  padding: 20px 20px;
  background: #fff;
  margin: 50px 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-flow: wrap row;
}

@media screen and (min-width: 40.625em) {
  .NewsItemArtists {
    flex-flow: nowrap row;
    padding: 50px 100px;
  }
}

@media screen and (max-width: 40.62375em) {
  .NewsItemArtists .group-left {
    width: 100%;
  }
}

@media screen and (min-width: 40.625em) {
  .NewsItemArtists .group-left {
    margin-right: 55px;
  }
}

.NewsItemArtists .box-title {
  font-weight: bold;
  font-size: 20px;
  padding-bottom: 10px;
  padding-right: 40px;
  border-bottom: 2px solid #ff0000;
  display: inline-block;
  clear: both;
  margin-bottom: 10px;
}

.NewsItemArtists .circle {
  background: #f5f5f5;
  height: 150px;
  width: 150px;
}

@media screen and (max-width: 40.62375em) {
  .NewsItemArtists .circle {
    margin: 0 auto;
  }
}

.NewsItemArtists .ic-people {
  background: url(/build/images/ic-people.9d697a79.png) no-repeat;
  height: 55px;
  width: 78px;
}

.NewsItemArtists ul {
  list-style: none;
  margin: 0;
}

.NewsItemArtists ul li {
  display: inline-block;
  color: #ff0000;
}

.NewsItemArtists ul li:after {
  content: "|";
  margin: 0 5px;
  color: #626060;
}

.NewsItemArtists ul li:last-child:after {
  content: "";
}

.NewsItemArtists ul li a {
  text-decoration: underline;
  font-weight: bold;
}

@media screen and (max-width: 40.62375em) {
  .NewsItemArtists ul li a {
    font-size: 14px;
  }
}

.NewsItemArtists ul li a:hover {
  text-decoration: none;
}

.cms {
  padding: 50px 100px;
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy9saWIvanF1ZXJ5LmZhbmN5Ym94LmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy9mcm9udGVuZC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy92ZW5kb3Ivbm9ybWFsaXplLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcm93LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19ndXR0ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ndXR0ZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19wb3NpdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZnJhbWUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19iYWRnZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FyZC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LWljb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLW1lbnUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZWRpYS1vYmplY3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29yYml0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wcm9ncmVzcy1iYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3NsaWRlci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3RpY2t5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aHVtYm5haWwuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9vbHRpcC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX3RyYW5zaXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fY2xhc3Nlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2tleWZyYW1lLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NsaWRlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9faGluZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fem9vbS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fYW5pbWF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9zY3NzL2ZvbnQtYXdlc29tZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvc2Nzcy9fcGF0aC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvc2Nzcy9fY29yZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvc2Nzcy9fbGFyZ2VyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9zY3NzL19maXhlZC13aWR0aC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvc2Nzcy9fbGlzdC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvc2Nzcy9fYm9yZGVyZWQtcHVsbGVkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9zY3NzL19hbmltYXRlZC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvc2Nzcy9fcm90YXRlZC1mbGlwcGVkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9zY3NzL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9udC1hd2Vzb21lL3Njc3MvX3N0YWNrZWQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm9udC1hd2Vzb21lL3Njc3MvX2ljb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9zY3NzL19zY3JlZW4tcmVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3NsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3NsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLXRoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvbGliL3pvb21pZnkuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2xpYi9qcXVlcnktdWktZnJvbnQuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2xpYi9faW5wdXQtc3Bpbm5lci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2Zyb250ZW5kL2NvbXBvbmVudHMvX2ZvbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvZnJvbnRlbmQvY29tcG9uZW50cy9fdHlwb2dyYXBoeS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2Zyb250ZW5kL2NvbXBvbmVudHMvX2Nhcm91c2VsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvZnJvbnRlbmQvY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2Zyb250ZW5kL2NvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvZnJvbnRlbmQvY29tcG9uZW50cy9fZmlsdGVycy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2Zyb250ZW5kL2NvbXBvbmVudHMvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2Zyb250ZW5kL2NvbXBvbmVudHMvX2dhbGxlcnlfY2F0YWxvZ3VlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvZnJvbnRlbmQvY29tcG9uZW50cy9fZ2FsbGVyeS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2Zyb250ZW5kL2NvbXBvbmVudHMvX21vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvZnJvbnRlbmQvbGF5b3V0cy9fbWFpbi5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2Zyb250ZW5kL2xheW91dHMvX2hlYWRlci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2Zyb250ZW5kL2xheW91dHMvX2Zvb3Rlci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2Zyb250ZW5kL2NvbXBvbmVudHMvX2Jsb2Nrcy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2Zyb250ZW5kL3BhZ2VzL19sb2dpbi5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2Zyb250ZW5kL3BhZ2VzL19ob21lLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvZnJvbnRlbmQvcGFnZXMvX2ZpY2hlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvZnJvbnRlbmQvcGFnZXMvX2NhdGFsb2d1ZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2Zyb250ZW5kL3BhZ2VzL192ZXJuaXNzYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvZnJvbnRlbmQvcGFnZXMvX2FydGlzdC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2Zyb250ZW5kL3BhZ2VzL19hcnRpc3Rlcy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2Zyb250ZW5kL3BhZ2VzL19jaGVja291dC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2Zyb250ZW5kL3BhZ2VzL19uZXdzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvZnJvbnRlbmQvcGFnZXMvX2Ntcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJ5SkFBQSxpQkFBaUI7QUFDakI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxrQkFBa0I7RUFDbEIsYUFBYSxFQUFFOztBQUVqQjtFQUNFLG1CQUFtQjtFQUNuQixhQUFhO0VBQ2IsY0FBYztFQUNkLG1CQUFtQixFQUFFOztBQUV2QjtFQUNFLGdCQUFnQjtFQUNoQixPQUFPO0VBQ1AsUUFBUTtFQUNSLFlBQVk7RUFDWixhQUFhO0VBQ2IsZUFBZTtFQUNmLHlDQUF5QztFQUN6QyxvQ0FBb0M7RUFDcEMsNEJBQTRCO0VBQzVCLGlDQUFpQztFQUNqQyx5QkFBeUIsRUFBRTs7QUFFN0IsZ0RBQWdEO0FBQ2hEO0VBQ0UsZUFBZSxF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OztBSVRDO0VBQ0U7RUFDQTtDSllIOztBSUhDO0VBQ0U7RUFDQTtFQUNBO0NKTUg7O0FJQUM7RUFDRTtFQUNBO0NKR0g7O0FJS0M7RUFDRTtDSkZIOztBSVFDO0VBQ0U7RUFDQTtFQUNBO0NKTEg7O0FJVUM7O0VBRUU7Q0pQSDs7QUlhQzs7O0VBR0U7RUFDQTtDSlZIOztBSWVDO0VBQ0U7Q0paSDs7QUlrQkM7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7Q0pmSDs7QUlrQkM7RUFDRTtDSmZIOztBSWtCQztFQUNFO0NKZkg7O0FJdUJDO0VBQ0U7Q0pwQkg7O0FJNkJDOzs7OztFQUtFO0VBQ0E7RUFDQTtFQUNBO0NKMUJIOztBSWdDQzs7RUFFRTtDSjdCSDs7QUltQ0M7O0VBRUU7Q0poQ0g7O0FJcUNDOzs7O0VBSUU7Q0psQ0g7O0FJdUNDOzs7O0VBSUU7RUFDQTtDSnBDSDs7QUl5Q0M7Ozs7RUFJRTtDSnRDSDs7QUkyQ0M7RUFDRTtDSnhDSDs7QUlnREM7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q0o3Q0g7O0FJa0RDO0VBQ0U7Q0ovQ0g7O0FJb0RDO0VBQ0U7Q0pqREg7O0FBakNEOztFSTBGSTtFQUNBO0NKcERIOztBQWxDRDs7RUk2Rkk7Q0p0REg7O0FBbkNEO0VJZ0dJO0VBQ0E7Q0p6REg7O0FBcENEO0VJbUdJO0NKM0RIOztBSWlFQztFQUNFO0VBQ0E7Q0o5REg7O0FJc0VDO0VBQ0U7Q0puRUg7O0FJd0VDO0VBQ0U7Q0pyRUg7O0FJNkVDO0VBQ0U7Q0oxRUg7O0FBekNEO0VJeUhJO0NKNUVIOztBSy9EQztFQUNFO0NMa0VIOztBSXJNQztFQ3VJRTtFQUNBO0NMa0VIOztBSzlEQzs7O0VBR0U7Q0xpRUg7O0FJdE1DO0VDMElFO0VBQ0E7RUFFQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBR0U7RUFDQTtDTDRETDs7QUlqSEM7RUMyREU7RUFDQTtFQUdBO0VBQ0E7RUFDQTtDTHdESDs7QUk1QkM7RUN2QkU7RUFDQTtFQUNBO0NMdURIOztBS25EQztFQUNFO0VBQ0E7RUFDQTtDTHNESDs7QUtqREM7Ozs7OztFQUtJO0NMcURMOztBS2hEQztFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NMa0RIOztBQXBEQztFTWRFO0NOc0VIOztBSWxPQztFQ2lMRTtDTHFESDs7QUl0SkM7Ozs7O0VDMEdFO0NMb0RIOztBS2hEQztFQUNFO0NMbURIOztBS2hEQztFQUNFO0NMbURIOztBT3JLQztFQzlCQTtFRDNERTtFQUNBO0VBSUE7RUFDQTtDUGdRSDs7QU83S0M7RUMzQ0U7RUFDQTtDUjROSDs7QUUzSUs7RUt2Q0o7SUMzQ0U7SUFDQTtHUmtPRDtDQUNGOztBRWxKSztFS3ZDSjtJQzNDRTtJQUNBO0dSeU9EO0NBQ0Y7O0FPaE1DO0VBUU07RUFDQTtDUDRMUDs7QU9yTUM7RUM5QkE7Q1J1T0Q7O0FPek1DO0VBa0JNO0VBQ0E7Q1AyTFA7O0FPOU1DO0VDOUJBO0NSZ1BEOztBT2xOQzs7RUV6R0U7RUFDQTtDVGdVSDs7QU94TkM7OztFQXFDSTtFQUNBO0NQeUxMOztBT3BMQzs7RUF0REE7RUU5RkU7RUFDQTtFRmtFQTtDUDZRSDs7QUVoTUs7RUtJSjs7SUVwSkU7SUFDQTtHVHNWRDtDQUNGOztBTzlMQzs7RUFDRTtFQUNBO0NQa01IOztBTzlMQzs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtDUGtNSDs7QU81TEs7RUFDRTtFQUNBO0NQK0xQOztBT3pMSztFR3RJSjtDVm1VRDs7QU9yTUs7RUFDRTtFQUNBO0NQd01QOztBT2xNSztFR3RJSjtDVjRVRDs7QU85TUs7RUFDRTtFQUNBO0NQaU5QOztBTzNNSztFR3RJSjtDVnFWRDs7QU92Tks7RUFDRTtFQUNBO0NQME5QOztBT3BOSztFR3RJSjtDVjhWRDs7QU9oT0s7RUFDRTtFQUNBO0NQbU9QOztBTzdOSztFR3RJSjtDVnVXRDs7QU96T0s7RUFDRTtFQUNBO0NQNE9QOztBT3RPSztFR3RJSjtDVmdYRDs7QU9sUEs7RUFDRTtFQUNBO0NQcVBQOztBTy9PSztFR3RJSjtDVnlYRDs7QU8zUEs7RUFDRTtFQUNBO0NQOFBQOztBT3hQSztFR3RJSjtDVmtZRDs7QU9wUUs7RUFDRTtFQUNBO0NQdVFQOztBT2pRSztFR3RJSjtDVjJZRDs7QU83UUs7RUFDRTtFQUNBO0NQZ1JQOztBTzFRSztFR3RJSjtDVm9aRDs7QU90Uks7RUFDRTtFQUNBO0NQeVJQOztBT25SSztFR3RJSjtDVjZaRDs7QU8vUks7RUFDRTtFQUNBO0NQa1NQOztBTzVSSztFR3RJSjtDVnNhRDs7QU96Uks7RUExR0o7Q1B1WUQ7O0FPcllDOztFQUdFO0VBQ0E7Q1B1WUg7O0FPblNLO0VBMUdKO0NQaVpEOztBTy9ZQzs7RUFHRTtFQUNBO0NQaVpIOztBTzdTSztFQTFHSjtDUDJaRDs7QU96WkM7O0VBR0U7RUFDQTtDUDJaSDs7QU92VEs7RUExR0o7Q1BxYUQ7O0FPbmFDOztFQUdFO0VBQ0E7Q1BxYUg7O0FPalVLO0VBMUdKO0NQK2FEOztBTzdhQzs7RUFHRTtFQUNBO0NQK2FIOztBTzNVSztFQTFHSjtDUHliRDs7QU92YkM7O0VBR0U7RUFDQTtDUHliSDs7QU9yVks7RUExR0o7Q1BtY0Q7O0FPamNDOztFQUdFO0VBQ0E7Q1BtY0g7O0FPL1ZLO0VBMUdKO0NQNmNEOztBTzNjQzs7RUFHRTtFQUNBO0NQNmNIOztBTzdVRzs7RUVyTkE7RUFDQTtDVHVpQkg7O0FPL1VHOztFRXpOQTtFQUNBO0NUNmlCSDs7QUU5Wks7RUswQkE7SUFDRTtJQUNBO0dQd1lMOztFT2xZRztJR3RJSjtHVjRnQkM7O0VPOVlHO0lBQ0U7SUFDQTtHUGlaTDs7RU8zWUc7SUd0SUo7R1ZxaEJDOztFT3ZaRztJQUNFO0lBQ0E7R1AwWkw7O0VPcFpHO0lHdElKO0dWOGhCQzs7RU9oYUc7SUFDRTtJQUNBO0dQbWFMOztFTzdaRztJR3RJSjtHVnVpQkM7O0VPemFHO0lBQ0U7SUFDQTtHUDRhTDs7RU90YUc7SUd0SUo7R1ZnakJDOztFT2xiRztJQUNFO0lBQ0E7R1BxYkw7O0VPL2FHO0lHdElKO0dWeWpCQzs7RU8zYkc7SUFDRTtJQUNBO0dQOGJMOztFT3hiRztJR3RJSjtHVmtrQkM7O0VPcGNHO0lBQ0U7SUFDQTtHUHVjTDs7RU9qY0c7SUd0SUo7R1Yya0JDOztFTzdjRztJQUNFO0lBQ0E7R1BnZEw7O0VPMWNHO0lHdElKO0dWb2xCQzs7RU90ZEc7SUFDRTtJQUNBO0dQeWRMOztFT25kRztJR3RJSjtHVjZsQkM7O0VPL2RHO0lBQ0U7SUFDQTtHUGtlTDs7RU81ZEc7SUd0SUo7R1ZzbUJDOztFT3hlRztJQUNFO0lBQ0E7R1AyZUw7O0VPcmVHO0lHdElKO0dWK21CQzs7RU9sZUc7SUExR0o7R1BnbEJDOztFTzlrQkQ7O0lBR0U7SUFDQTtHUGdsQkQ7O0VPNWVHO0lBMUdKO0dQMGxCQzs7RU94bEJEOztJQUdFO0lBQ0E7R1AwbEJEOztFT3RmRztJQTFHSjtHUG9tQkM7O0VPbG1CRDs7SUFHRTtJQUNBO0dQb21CRDs7RU9oZ0JHO0lBMUdKO0dQOG1CQzs7RU81bUJEOztJQUdFO0lBQ0E7R1A4bUJEOztFTzFnQkc7SUExR0o7R1B3bkJDOztFT3RuQkQ7O0lBR0U7SUFDQTtHUHduQkQ7O0VPcGhCRztJQTFHSjtHUGtvQkM7O0VPaG9CRDs7SUFHRTtJQUNBO0dQa29CRDs7RU85aEJHO0lBMUdKO0dQNG9CQzs7RU8xb0JEOztJQUdFO0lBQ0E7R1A0b0JEOztFT3hpQkc7SUExR0o7R1BzcEJDOztFT3BwQkQ7O0lBR0U7SUFDQTtHUHNwQkQ7Q0FDRjs7QUU1bEJLO0VLaURFO0lBQ0U7R1AraUJQO0NBQ0Y7O0FPMWlCTzs7RUFFSTtDUDZpQlg7O0FFdm1CSztFS3dERTs7SUFLTTtHUGdqQlg7Q0FDRjs7QUU5bUJLO0VLcUVGOztJRXJOQTtJQUNBO0dUb3dCRDs7RU81aUJDOztJRXpOQTtJQUNBO0dUMHdCRDtDQUNGOztBRTVuQks7RUswQkE7SUFDRTtJQUNBO0dQc21CTDs7RU9obUJHO0lHdElKO0dWMHVCQzs7RU81bUJHO0lBQ0U7SUFDQTtHUCttQkw7O0VPem1CRztJR3RJSjtHVm12QkM7O0VPcm5CRztJQUNFO0lBQ0E7R1B3bkJMOztFT2xuQkc7SUd0SUo7R1Y0dkJDOztFTzluQkc7SUFDRTtJQUNBO0dQaW9CTDs7RU8zbkJHO0lHdElKO0dWcXdCQzs7RU92b0JHO0lBQ0U7SUFDQTtHUDBvQkw7O0VPcG9CRztJR3RJSjtHVjh3QkM7O0VPaHBCRztJQUNFO0lBQ0E7R1BtcEJMOztFTzdvQkc7SUd0SUo7R1Z1eEJDOztFT3pwQkc7SUFDRTtJQUNBO0dQNHBCTDs7RU90cEJHO0lHdElKO0dWZ3lCQzs7RU9scUJHO0lBQ0U7SUFDQTtHUHFxQkw7O0VPL3BCRztJR3RJSjtHVnl5QkM7O0VPM3FCRztJQUNFO0lBQ0E7R1A4cUJMOztFT3hxQkc7SUd0SUo7R1ZrekJDOztFT3ByQkc7SUFDRTtJQUNBO0dQdXJCTDs7RU9qckJHO0lHdElKO0dWMnpCQzs7RU83ckJHO0lBQ0U7SUFDQTtHUGdzQkw7O0VPMXJCRztJR3RJSjtHVm8wQkM7O0VPdHNCRztJQUNFO0lBQ0E7R1B5c0JMOztFT25zQkc7SUd0SUo7R1Y2MEJDOztFT2hzQkc7SUExR0o7R1A4eUJDOztFTzV5QkQ7O0lBR0U7SUFDQTtHUDh5QkQ7O0VPMXNCRztJQTFHSjtHUHd6QkM7O0VPdHpCRDs7SUFHRTtJQUNBO0dQd3pCRDs7RU9wdEJHO0lBMUdKO0dQazBCQzs7RU9oMEJEOztJQUdFO0lBQ0E7R1BrMEJEOztFTzl0Qkc7SUExR0o7R1A0MEJDOztFTzEwQkQ7O0lBR0U7SUFDQTtHUDQwQkQ7O0VPeHVCRztJQTFHSjtHUHMxQkM7O0VPcDFCRDs7SUFHRTtJQUNBO0dQczFCRDs7RU9sdkJHO0lBMUdKO0dQZzJCQzs7RU85MUJEOztJQUdFO0lBQ0E7R1BnMkJEOztFTzV2Qkc7SUExR0o7R1AwMkJDOztFT3gyQkQ7O0lBR0U7SUFDQTtHUDAyQkQ7O0VPdHdCRztJQTFHSjtHUG8zQkM7O0VPbDNCRDs7SUFHRTtJQUNBO0dQbzNCRDtDQUNGOztBRTF6Qks7RUtpREU7SUFDRTtHUDZ3QlA7Q0FDRjs7QU94d0JPOztFQUVJO0NQMndCWDs7QUVyMEJLO0VLd0RFOztJQUtNO0dQOHdCWDtDQUNGOztBRTUwQks7RUtxRUY7O0lFck5BO0lBQ0E7R1RrK0JEOztFTzF3QkM7O0lFek5BO0lBQ0E7R1R3K0JEO0NBQ0Y7O0FPM3dCQztFQUNFO0VBQ0E7Q1A4d0JIOztBTzF3QkM7RUUvTEU7Q1Q2OEJIOztBUzM4Qkc7RUFDRTtDVDg4Qkw7O0FFdjJCSztFS3FGSjtJRS9MRTtHVHM5QkQ7O0VTcDlCQztJQUNFO0dUdTlCSDtDQUNGOztBVzNnQ0M7RUNvQk07RUFBQTtFQ2ROO0VBQ0E7RUFDQTtDYjJnQ0Q7O0FFejNCSztFUzFKSjtJQ29CTTtJQUFBO0dacWdDTDtDQUNGOztBVzFoQ0M7RUNvQk07RUFBQTtFQ2ROO0VBQ0E7RUFDQTtDYjBoQ0Q7O0FFeDRCSztFUzFKSjtJQ29CTTtJQUFBO0dab2hDTDtDQUNGOztBV3ppQ0M7RUM2Qkk7RUFBQTtFQ3ZCSjtFQUNBO0VBQ0E7Q2J5aUNEOztBV3BpQ0M7RUVTQTtFQUNBO0NiK2hDRDs7QVdyaUNDO0VHcUJFO0VBQ0E7RUFDQTtFQXNDQTtDZCsrQkg7O0FXNWlDQztFRzBCRTtDZHNoQ0g7O0FXaGpDQztFRzZCRTtDZHVoQ0g7O0FXdmlDQztFR3dDRTtDZG1nQ0g7O0FXM2lDQztFRzRDRTtDZG1nQ0g7O0FXL2hDRzs7Ozs7Ozs7Ozs7Ozs7RUFNSTtDWDBpQ1A7O0FFcDhCSztFUzVHRjs7Ozs7Ozs7Ozs7Ozs7SUFNSTtHWDRqQ0w7Q0FDRjs7QUV2OUJLO0VTNUdGOzs7Ozs7Ozs7Ozs7OztJQU1JO0dYK2tDTDtDQUNGOztBV2xrQ0c7Ozs7Ozs7Ozs7OztFR3BCQTtDZHFtQ0g7O0FXbGtDSztFR0hGO0NkeWtDSDs7QVd0a0NLO0VHSEY7Q2Q2a0NIOztBVzFrQ0s7RUdIRjtDZGlsQ0g7O0FXOWtDSztFR0hGO0NkcWxDSDs7QVdsbENLO0VHSEY7Q2R5bENIOztBV3RsQ0s7RUdIRjtDZDZsQ0g7O0FXMWxDSztFR0hGO0NkaW1DSDs7QVc5bENLO0VHSEY7Q2RxbUNIOztBV2xtQ0s7RUdIRjtDZHltQ0g7O0FXdG1DSztFR0hGO0NkNm1DSDs7QVcxbUNLO0VHSEY7Q2RpbkNIOztBVzltQ0s7RUdIRjtDZHFuQ0g7O0FFemlDSztFUzlGQTtJR2pCRjtJQTJCQTtHZG1vQ0Q7O0VXdm9DQzs7Ozs7Ozs7Ozs7OztJR3BCQTtHZDJxQ0Q7O0VXanBDRztJR0VGO0dkbXBDRDs7RVc1b0NHO0lHSEY7R2RtcENEOztFV2hwQ0c7SUdIRjtHZHVwQ0Q7O0VXcHBDRztJR0hGO0dkMnBDRDs7RVd4cENHO0lHSEY7R2QrcENEOztFVzVwQ0c7SUdIRjtHZG1xQ0Q7O0VXaHFDRztJR0hGO0dkdXFDRDs7RVdwcUNHO0lHSEY7R2QycUNEOztFV3hxQ0c7SUdIRjtHZCtxQ0Q7O0VXNXFDRztJR0hGO0dkbXJDRDs7RVdockNHO0lHSEY7R2R1ckNEOztFV3ByQ0c7SUdIRjtHZDJyQ0Q7O0VXeHJDRztJR0hGO0dkK3JDRDtDQUNGOztBRXBuQ0s7RVM5RkE7SUdqQkY7SUEyQkE7R2Q4c0NEOztFV2x0Q0M7Ozs7Ozs7Ozs7Ozs7SUdwQkE7R2RzdkNEOztFVzV0Q0c7SUdFRjtHZDh0Q0Q7O0VXdnRDRztJR0hGO0dkOHRDRDs7RVczdENHO0lHSEY7R2RrdUNEOztFVy90Q0c7SUdIRjtHZHN1Q0Q7O0VXbnVDRztJR0hGO0dkMHVDRDs7RVd2dUNHO0lHSEY7R2Q4dUNEOztFVzN1Q0c7SUdIRjtHZGt2Q0Q7O0VXL3VDRztJR0hGO0dkc3ZDRDs7RVdudkNHO0lHSEY7R2QwdkNEOztFV3Z2Q0c7SUdIRjtHZDh2Q0Q7O0VXM3ZDRztJR0hGO0dka3dDRDs7RVcvdkNHO0lHSEY7R2Rzd0NEOztFV253Q0c7SUdIRjtHZDB3Q0Q7Q0FDRjs7QVdod0NDO0VBQ0U7Q1htd0NIOztBVy92Q0M7RUFDRTtDWGt3Q0g7O0FXcHVDQztFQ3pHTTtFQUFBO0NaazFDUDs7QUU1c0NLO0VTN0JKO0lDekdNO0lBQUE7R1p3MUNMO0NBQ0Y7O0FXaHZDQztFRzFERTtFRnRDRTtFQUFBO0NaczFDTDs7QUV6dENLO0VTN0JKO0lHMURFO0lGdENFO0lBQUE7R1o2MUNIO0NBQ0Y7O0FXdHhDQztFRy9CRTtDZHl6Q0g7O0FXdHhDQztFRy9CRTtDZHl6Q0g7O0FXbHhDRztFR25DQTtDZHl6Q0g7O0FXdHhDRztFR25DQTtDZDZ6Q0g7O0FXMXhDRztFR25DQTtDZGkwQ0g7O0FXOXhDRztFR25DQTtDZHEwQ0g7O0FXbHlDRztFR25DQTtDZHkwQ0g7O0FXdHlDRztFR25DQTtDZDYwQ0g7O0FXMXlDRztFR25DQTtDZGkxQ0g7O0FXOXlDRztFR25DQTtDZHExQ0g7O0FXbHpDRztFR25DQTtDZHkxQ0g7O0FXdHpDRztFR25DQTtDZDYxQ0g7O0FXMXpDRztFR25DQTtDZGkyQ0g7O0FXOXpDRztFR25DQTtDZHEyQ0g7O0FFenhDSztFU3JESjtJRy9CRTtHZGszQ0Q7O0VXLzBDRDtJRy9CRTtHZGszQ0Q7O0VXMzBDQztJR25DQTtHZGszQ0Q7O0VXLzBDQztJR25DQTtHZHMzQ0Q7O0VXbjFDQztJR25DQTtHZDAzQ0Q7O0VXdjFDQztJR25DQTtHZDgzQ0Q7O0VXMzFDQztJR25DQTtHZGs0Q0Q7O0VXLzFDQztJR25DQTtHZHM0Q0Q7O0VXbjJDQztJR25DQTtHZDA0Q0Q7O0VXdjJDQztJR25DQTtHZDg0Q0Q7O0VXMzJDQztJR25DQTtHZGs1Q0Q7O0VXLzJDQztJR25DQTtHZHM1Q0Q7O0VXbjNDQztJR25DQTtHZDA1Q0Q7O0VXdjNDQztJR25DQTtHZDg1Q0Q7O0VXdjRDRDtJRy9CRTtHZDA2Q0Q7O0VXdjRDRDtJRy9CRTtHZDA2Q0Q7O0VXbjRDQztJR25DQTtHZDA2Q0Q7O0VXdjRDQztJR25DQTtHZDg2Q0Q7O0VXMzRDQztJR25DQTtHZGs3Q0Q7O0VXLzRDQztJR25DQTtHZHM3Q0Q7O0VXbjVDQztJR25DQTtHZDA3Q0Q7O0VXdjVDQztJR25DQTtHZDg3Q0Q7O0VXMzVDQztJR25DQTtHZGs4Q0Q7O0VXLzVDQztJR25DQTtHZHM4Q0Q7O0VXbjZDQztJR25DQTtHZDA4Q0Q7O0VXdjZDQztJR25DQTtHZDg4Q0Q7O0VXMzZDQztJR25DQTtHZGs5Q0Q7O0VXLzZDQztJR25DQTtHZHM5Q0Q7Q0FDRjs7QUUzNENLO0VTckRKO0lHL0JFO0dkbytDRDs7RVdqOENEO0lHL0JFO0dkbytDRDs7RVc3N0NDO0lHbkNBO0dkbytDRDs7RVdqOENDO0lHbkNBO0dkdytDRDs7RVdyOENDO0lHbkNBO0dkNCtDRDs7RVd6OENDO0lHbkNBO0dkZy9DRDs7RVc3OENDO0lHbkNBO0dkby9DRDs7RVdqOUNDO0lHbkNBO0dkdy9DRDs7RVdyOUNDO0lHbkNBO0dkNC9DRDs7RVd6OUNDO0lHbkNBO0dkZ2dERDs7RVc3OUNDO0lHbkNBO0dkb2dERDs7RVdqK0NDO0lHbkNBO0dkd2dERDs7RVdyK0NDO0lHbkNBO0dkNGdERDs7RVd6K0NDO0lHbkNBO0dkZ2hERDtDQUNGOztBVzk3Q0M7RUM3SU07RUFBQTtDWmdsRFA7O0FFMThDSztFU09KO0lDN0lNO0lBQUE7R1pzbERMO0NBQ0Y7O0FXajhDRztFQ3RKSTtFQUFBO0NaNGxEUDs7QUV0OUNLO0VTZ0JGO0lDdEpJO0lBQUE7R1prbURMO0NBQ0Y7O0FXdDlDQztFQzdJTTtFQUFBO0Nad21EUDs7QUVsK0NLO0VTT0o7SUM3SU07SUFBQTtHWjhtREw7Q0FDRjs7QWVqbkRDO0VENERFO0NkeWpESDs7QWVybkRDO0VENERFO0NkNmpESDs7QWV6bkRDO0VENERFO0NkaWtESDs7QWU3bkRDO0VENERFO0NkcWtESDs7QWVqb0RDO0VENERFO0NkeWtESDs7QWVyb0RDO0VENERFO0NkNmtESDs7QWV6b0RDO0VENERFO0NkaWxESDs7QWU3b0RDO0VENERFO0NkcWxESDs7QUV6Z0RLO0VheElKO0lENERFO0dkMGxERDs7RWV0cEREO0lENERFO0dkOGxERDs7RWUxcEREO0lENERFO0dka21ERDs7RWU5cEREO0lENERFO0dkc21ERDs7RWVscUREO0lENERFO0dkMG1ERDs7RWV0cUREO0lENERFO0dkOG1ERDs7RWUxcUREO0lENERFO0dka25ERDs7RWU5cUREO0lENERFO0dkc25ERDtDQUNGOztBRTNpREs7RWF4SUo7SUQ0REU7R2Q0bkREOztFZXhyREQ7SUQ0REU7R2Rnb0REOztFZTVyREQ7SUQ0REU7R2Rvb0REOztFZWhzREQ7SUQ0REU7R2R3b0REOztFZXBzREQ7SUQ0REU7R2Q0b0REOztFZXhzREQ7SUQ0REU7R2RncEREOztFZTVzREQ7SUQ0REU7R2RvcEREOztFZWh0REQ7SUQ0REU7R2R3cEREO0NBQ0Y7O0FlcnREQztFRDRERTtDZDZwREg7O0FlenREQztFRDRERTtDZGlxREg7O0FlN3REQztFRDRERTtDZHFxREg7O0FlanVEQztFRDRERTtDZHlxREg7O0FlcnVEQztFRDRERTtDZDZxREg7O0FlenVEQztFRDRERTtDZGlyREg7O0FlN3VEQztFRDRERTtDZHFyREg7O0FlanZEQztFRDRERTtDZHlyREg7O0FFN21ESztFYXhJSjtJRDRERTtHZDhyREQ7O0VlMXZERDtJRDRERTtHZGtzREQ7O0VlOXZERDtJRDRERTtHZHNzREQ7O0VlbHdERDtJRDRERTtHZDBzREQ7O0VldHdERDtJRDRERTtHZDhzREQ7O0VlMXdERDtJRDRERTtHZGt0REQ7O0VlOXdERDtJRDRERTtHZHN0REQ7O0VlbHhERDtJRDRERTtHZDB0REQ7O0VldHhERDtJRDRERTtHZDh0REQ7O0VlMXhERDtJRDRERTtHZGt1REQ7O0VlOXhERDtJRDRERTtHZHN1REQ7O0VlbHlERDtJRDRERTtHZDB1REQ7O0VldHlERDtJRDRERTtHZDh1REQ7O0VlMXlERDtJRDRERTtHZGt2REQ7O0VlOXlERDtJRDRERTtHZHN2REQ7O0VlbHpERDtJRDRERTtHZDB2REQ7Q0FDRjs7QUUvcURLO0VheElKO0lENERFO0dkZ3dERDs7RWU1ekREO0lENERFO0dkb3dERDs7RWVoMEREO0lENERFO0dkd3dERDs7RWVwMEREO0lENERFO0dkNHdERDs7RWV4MEREO0lENERFO0dkZ3hERDs7RWU1MEREO0lENERFO0dkb3hERDs7RWVoMUREO0lENERFO0dkd3hERDs7RWVwMUREO0lENERFO0dkNHhERDtDQUNGOztBVzlvREs7RUtoTkU7RUFBQTtDaEJtMkRQOztBZ0JoMkRLO0VBRUk7RUFBQTtDaEJtMkRUOztBZ0I3MERXO0VGc0NSO0NkMnlESDs7QWdCajFEVztFRnNDUjtDZCt5REg7O0FnQnIxRFc7RUZzQ1I7Q2RtekRIOztBZ0J6MURXO0VGc0NSO0NkdXpESDs7QWdCNzFEVztFRnNDUjtDZDJ6REg7O0FnQmoyRFc7RUZzQ1I7Q2QrekRIOztBZ0JyMkRXO0VGc0NSO0NkbTBESDs7QWdCejJEVztFRnNDUjtDZHUwREg7O0FnQjcyRFc7RUZzQ1I7Q2QyMERIOztBZ0JqM0RXO0VGc0NSO0NkKzBESDs7QWdCcjNEVztFRnNDUjtDZG0xREg7O0FnQnozRFc7RUZzQ1I7Q2R1MURIOztBRTN3REs7RWNsSE07SUZzQ1I7R2Q0MUREOztFZ0JsNERTO0lGc0NSO0dkZzJERDs7RWdCdDREUztJRnNDUjtHZG8yREQ7O0VnQjE0RFM7SUZzQ1I7R2R3MkREOztFZ0I5NERTO0lGc0NSO0dkNDJERDs7RWdCbDVEUztJRnNDUjtHZGczREQ7O0VnQnQ1RFM7SUZzQ1I7R2RvM0REOztFZ0IxNURTO0lGc0NSO0dkdzNERDs7RWdCOTVEUztJRnNDUjtHZDQzREQ7O0VnQmw2RFM7SUZzQ1I7R2RnNEREOztFZ0J0NkRTO0lGc0NSO0dkbzRERDs7RWdCMTZEUztJRnNDUjtHZHc0REQ7Q0FDRjs7QUU3ekRLO0VjbEhNO0lGc0NSO0dkODRERDs7RWdCcDdEUztJRnNDUjtHZGs1REQ7O0VnQng3RFM7SUZzQ1I7R2RzNUREOztFZ0I1N0RTO0lGc0NSO0dkMDVERDs7RWdCaDhEUztJRnNDUjtHZDg1REQ7O0VnQnA4RFM7SUZzQ1I7R2RrNkREOztFZ0J4OERTO0lGc0NSO0dkczZERDs7RWdCNThEUztJRnNDUjtHZDA2REQ7O0VnQmg5RFM7SUZzQ1I7R2Q4NkREOztFZ0JwOURTO0lGc0NSO0dkazdERDs7RWdCeDlEUztJRnNDUjtHZHM3REQ7O0VnQjU5RFM7SUZzQ1I7R2QwN0REO0NBQ0Y7O0FXdHlESztFSy9LRTtFQUFBO0NoQjA5RFA7O0FnQnY5REs7RUFFSTtFQUFBO0NoQjA5RFQ7O0FFejNESztFU21FQTtJS2hORTtJQUFBO0doQjRnRUw7O0VnQnpnRUc7SUFFSTtJQUFBO0doQjRnRVA7Q0FDRjs7QUVyNERLO0VjM0hNO0lGK0NSO0dkczlERDs7RWdCcmdFUztJRitDUjtHZDA5REQ7O0VnQnpnRVM7SUYrQ1I7R2Q4OUREOztFZ0I3Z0VTO0lGK0NSO0dkaytERDs7RWdCamhFUztJRitDUjtHZHMrREQ7O0VnQnJoRVM7SUYrQ1I7R2QwK0REOztFZ0J6aEVTO0lGK0NSO0dkOCtERDs7RWdCN2hFUztJRitDUjtHZGsvREQ7O0VnQmppRVM7SUYrQ1I7R2RzL0REOztFZ0JyaUVTO0lGK0NSO0dkMC9ERDs7RWdCemlFUztJRitDUjtHZDgvREQ7O0VnQjdpRVM7SUYrQ1I7R2RrZ0VEO0NBQ0Y7O0FFdjdESztFY2xITTtJRnNDUjtHZHdnRUQ7O0VnQjlpRVM7SUZzQ1I7R2Q0Z0VEOztFZ0JsakVTO0lGc0NSO0dkZ2hFRDs7RWdCdGpFUztJRnNDUjtHZG9oRUQ7O0VnQjFqRVM7SUZzQ1I7R2R3aEVEOztFZ0I5akVTO0lGc0NSO0dkNGhFRDs7RWdCbGtFUztJRnNDUjtHZGdpRUQ7O0VnQnRrRVM7SUZzQ1I7R2RvaUVEOztFZ0Ixa0VTO0lGc0NSO0dkd2lFRDs7RWdCOWtFUztJRnNDUjtHZDRpRUQ7O0VnQmxsRVM7SUZzQ1I7R2RnakVEOztFZ0J0bEVTO0lGc0NSO0dkb2pFRDtDQUNGOztBRXorREs7RWNsSE07SUZzQ1I7R2QwakVEOztFZ0JobUVTO0lGc0NSO0dkOGpFRDs7RWdCcG1FUztJRnNDUjtHZGtrRUQ7O0VnQnhtRVM7SUZzQ1I7R2Rza0VEOztFZ0I1bUVTO0lGc0NSO0dkMGtFRDs7RWdCaG5FUztJRnNDUjtHZDhrRUQ7O0VnQnBuRVM7SUZzQ1I7R2RrbEVEOztFZ0J4bkVTO0lGc0NSO0dkc2xFRDs7RWdCNW5FUztJRnNDUjtHZDBsRUQ7O0VnQmhvRVM7SUZzQ1I7R2Q4bEVEOztFZ0Jwb0VTO0lGc0NSO0dka21FRDs7RWdCeG9FUztJRnNDUjtHZHNtRUQ7Q0FDRjs7QUUzaEVLO0VTeUVBO0lLL0tFO0lBQUE7R2hCdW9FTDs7RWdCcG9FRztJQUVJO0lBQUE7R2hCdW9FUDtDQUNGOztBRXZpRUs7RVNtRUE7SUtoTkU7SUFBQTtHaEIwckVMOztFZ0J2ckVHO0lBRUk7SUFBQTtHaEIwckVQO0NBQ0Y7O0FFbmpFSztFYzNITTtJRitDUjtHZG9vRUQ7O0VnQm5yRVM7SUYrQ1I7R2R3b0VEOztFZ0J2ckVTO0lGK0NSO0dkNG9FRDs7RWdCM3JFUztJRitDUjtHZGdwRUQ7O0VnQi9yRVM7SUYrQ1I7R2RvcEVEOztFZ0Juc0VTO0lGK0NSO0dkd3BFRDs7RWdCdnNFUztJRitDUjtHZDRwRUQ7O0VnQjNzRVM7SUYrQ1I7R2RncUVEOztFZ0Ivc0VTO0lGK0NSO0dkb3FFRDs7RWdCbnRFUztJRitDUjtHZHdxRUQ7O0VnQnZ0RVM7SUYrQ1I7R2Q0cUVEOztFZ0IzdEVTO0lGK0NSO0dkZ3JFRDtDQUNGOztBRXJtRUs7RWMzSE07SUYrQ1I7R2RzckVEOztFZ0JydUVTO0lGK0NSO0dkMHJFRDs7RWdCenVFUztJRitDUjtHZDhyRUQ7O0VnQjd1RVM7SUYrQ1I7R2Rrc0VEOztFZ0JqdkVTO0lGK0NSO0dkc3NFRDs7RWdCcnZFUztJRitDUjtHZDBzRUQ7O0VnQnp2RVM7SUYrQ1I7R2Q4c0VEOztFZ0I3dkVTO0lGK0NSO0dka3RFRDs7RWdCandFUztJRitDUjtHZHN0RUQ7O0VnQnJ3RVM7SUYrQ1I7R2QwdEVEOztFZ0J6d0VTO0lGK0NSO0dkOHRFRDs7RWdCN3dFUztJRitDUjtHZGt1RUQ7Q0FDRjs7QUV2cEVLO0VjbEhNO0lGc0NSO0dkd3VFRDs7RWdCOXdFUztJRnNDUjtHZDR1RUQ7O0VnQmx4RVM7SUZzQ1I7R2RndkVEOztFZ0J0eEVTO0lGc0NSO0dkb3ZFRDs7RWdCMXhFUztJRnNDUjtHZHd2RUQ7O0VnQjl4RVM7SUZzQ1I7R2Q0dkVEOztFZ0JseUVTO0lGc0NSO0dkZ3dFRDs7RWdCdHlFUztJRnNDUjtHZG93RUQ7O0VnQjF5RVM7SUZzQ1I7R2R3d0VEOztFZ0I5eUVTO0lGc0NSO0dkNHdFRDs7RWdCbHpFUztJRnNDUjtHZGd4RUQ7O0VnQnR6RVM7SUZzQ1I7R2RveEVEO0NBQ0Y7O0FFenNFSztFU3lFQTtJSy9LRTtJQUFBO0doQnF6RUw7O0VnQmx6RUc7SUFFSTtJQUFBO0doQnF6RVA7Q0FDRjs7QU9uckVLO0VVM0tGO0NqQmsyRUg7O0FXOW5FSztFTXBPRjtDakJzMkVIOztBTzNyRUs7RVUzS0Y7Q2pCMDJFSDs7QVd0b0VLO0VNcE9GO0NqQjgyRUg7O0FPbnNFSztFVTNLRjtDakJrM0VIOztBVzlvRUs7RU1wT0Y7Q2pCczNFSDs7QU8zc0VLO0VVM0tGO0NqQjAzRUg7O0FXdHBFSztFTXBPRjtDakI4M0VIOztBT250RUs7RVUzS0Y7Q2pCazRFSDs7QVc5cEVLO0VNcE9GO0NqQnM0RUg7O0FPM3RFSztFVTNLRjtDakIwNEVIOztBV3RxRUs7RU1wT0Y7Q2pCODRFSDs7QU9udUVLO0VVM0tGO0NqQms1RUg7O0FXOXFFSztFTXBPRjtDakJzNUVIOztBTzN1RUs7RVUzS0Y7Q2pCMDVFSDs7QVd0ckVLO0VNcE9GO0NqQjg1RUg7O0FPbnZFSztFVTNLRjtDakJrNkVIOztBVzlyRUs7RU1wT0Y7Q2pCczZFSDs7QU8zdkVLO0VVM0tGO0NqQjA2RUg7O0FXdHNFSztFTXBPRjtDakI4NkVIOztBT253RUs7RVUzS0Y7Q2pCazdFSDs7QVc5c0VLO0VNcE9GO0NqQnM3RUg7O0FPM3dFSztFVTNLRjtDakIwN0VIOztBV3R0RUs7RU1wT0Y7Q2pCODdFSDs7QUVyekVLO0VLa0NBO0lVM0tGO0dqQm04RUQ7O0VXL3RFRztJTXBPRjtHakJ1OEVEOztFTzV4RUc7SVUzS0Y7R2pCMjhFRDs7RVd2dUVHO0lNcE9GO0dqQis4RUQ7O0VPcHlFRztJVTNLRjtHakJtOUVEOztFVy91RUc7SU1wT0Y7R2pCdTlFRDs7RU81eUVHO0lVM0tGO0dqQjI5RUQ7O0VXdnZFRztJTXBPRjtHakIrOUVEOztFT3B6RUc7SVUzS0Y7R2pCbStFRDs7RVcvdkVHO0lNcE9GO0dqQnUrRUQ7O0VPNXpFRztJVTNLRjtHakIyK0VEOztFV3Z3RUc7SU1wT0Y7R2pCKytFRDs7RU9wMEVHO0lVM0tGO0dqQm0vRUQ7O0VXL3dFRztJTXBPRjtHakJ1L0VEOztFTzUwRUc7SVUzS0Y7R2pCMi9FRDs7RVd2eEVHO0lNcE9GO0dqQisvRUQ7O0VPcDFFRztJVTNLRjtHakJtZ0ZEOztFVy94RUc7SU1wT0Y7R2pCdWdGRDs7RU81MUVHO0lVM0tGO0dqQjJnRkQ7O0VXdnlFRztJTXBPRjtHakIrZ0ZEOztFT3AyRUc7SVUzS0Y7R2pCbWhGRDs7RVcveUVHO0lNcE9GO0dqQnVoRkQ7O0VPNTJFRztJVTNLRjtHakIyaEZEOztFV3Z6RUc7SU1wT0Y7R2pCK2hGRDtDQUNGOztBRXY1RUs7RUtrQ0E7SVUzS0Y7R2pCcWlGRDs7RVdqMEVHO0lNcE9GO0dqQnlpRkQ7O0VPOTNFRztJVTNLRjtHakI2aUZEOztFV3owRUc7SU1wT0Y7R2pCaWpGRDs7RU90NEVHO0lVM0tGO0dqQnFqRkQ7O0VXajFFRztJTXBPRjtHakJ5akZEOztFTzk0RUc7SVUzS0Y7R2pCNmpGRDs7RVd6MUVHO0lNcE9GO0dqQmlrRkQ7O0VPdDVFRztJVTNLRjtHakJxa0ZEOztFV2oyRUc7SU1wT0Y7R2pCeWtGRDs7RU85NUVHO0lVM0tGO0dqQjZrRkQ7O0VXejJFRztJTXBPRjtHakJpbEZEOztFT3Q2RUc7SVUzS0Y7R2pCcWxGRDs7RVdqM0VHO0lNcE9GO0dqQnlsRkQ7O0VPOTZFRztJVTNLRjtHakI2bEZEOztFV3ozRUc7SU1wT0Y7R2pCaW1GRDs7RU90N0VHO0lVM0tGO0dqQnFtRkQ7O0VXajRFRztJTXBPRjtHakJ5bUZEOztFTzk3RUc7SVUzS0Y7R2pCNm1GRDs7RVd6NEVHO0lNcE9GO0dqQmluRkQ7O0VPdDhFRztJVTNLRjtHakJxbkZEOztFV2o1RUc7SU1wT0Y7R2pCeW5GRDs7RU85OEVHO0lVM0tGO0dqQjZuRkQ7O0VXejVFRztJTXBPRjtHakJpb0ZEO0NBQ0Y7O0FXcmpGZTtFRXhFZDtFQUNBO0NiaW9GRDs7QVdqNUVDO0VHN01BO0VBQ0E7Q2RrbUZEOztBV3Q1RUM7RUdqTUU7Q2QybEZIOztBVzE1RUM7RUc3TEU7Q2QybEZIOztBVzk1RUM7Ozs7Ozs7Ozs7Ozs7O0VBMkJNO0NYbzVFUDs7QUU1aEZLO0VTNkdKOzs7Ozs7Ozs7Ozs7OztJQTJCTTtHWHM2RUw7Q0FDRjs7QUUvaUZLO0VTNkdKOzs7Ozs7Ozs7Ozs7OztJQTJCTTtHWHk3RUw7Q0FDRjs7QVdyOUVDOzs7Ozs7Ozs7Ozs7RUd6TkU7Q2Q2ckZIOztBV3ArRUM7RUd6TEU7Q2RpcUZIOztBV3grRUM7RUd6TEU7Q2RxcUZIOztBVzUrRUM7RUd6TEU7Q2R5cUZIOztBV2gvRUM7RUd6TEU7Q2Q2cUZIOztBV3AvRUM7RUd6TEU7Q2RpckZIOztBV3gvRUM7RUd6TEU7Q2RxckZIOztBVzUvRUM7RUd6TEU7Q2R5ckZIOztBV2hnRkM7RUd6TEU7Q2Q2ckZIOztBV3BnRkM7RUd6TEU7Q2Rpc0ZIOztBV3hnRkM7RUd6TEU7Q2Rxc0ZIOztBVzVnRkM7RUd6TEU7Q2R5c0ZIOztBV2hoRkM7RUd6TEU7Q2Q2c0ZIOztBRWpvRks7RVM2R0o7SUc1TkU7SUEyQkE7R2QydEZEOztFVzFoRkQ7Ozs7Ozs7Ozs7Ozs7SUd6TkU7R2Rtd0ZEOztFVzFpRkQ7SUc3TEU7R2QydUZEOztFVzlpRkQ7SUd6TEU7R2QydUZEOztFV2xqRkQ7SUd6TEU7R2QrdUZEOztFV3RqRkQ7SUd6TEU7R2RtdkZEOztFVzFqRkQ7SUd6TEU7R2R1dkZEOztFVzlqRkQ7SUd6TEU7R2QydkZEOztFV2xrRkQ7SUd6TEU7R2QrdkZEOztFV3RrRkQ7SUd6TEU7R2Rtd0ZEOztFVzFrRkQ7SUd6TEU7R2R1d0ZEOztFVzlrRkQ7SUd6TEU7R2Qyd0ZEOztFV2xsRkQ7SUd6TEU7R2Qrd0ZEOztFV3RsRkQ7SUd6TEU7R2RteEZEOztFVzFsRkQ7SUd6TEU7R2R1eEZEO0NBQ0Y7O0FFNXNGSztFUzZHSjtJRzVORTtJQTJCQTtHZHN5RkQ7O0VXcm1GRDs7Ozs7Ozs7Ozs7OztJR3pORTtHZDgwRkQ7O0VXcm5GRDtJRzdMRTtHZHN6RkQ7O0VXem5GRDtJR3pMRTtHZHN6RkQ7O0VXN25GRDtJR3pMRTtHZDB6RkQ7O0VXam9GRDtJR3pMRTtHZDh6RkQ7O0VXcm9GRDtJR3pMRTtHZGswRkQ7O0VXem9GRDtJR3pMRTtHZHMwRkQ7O0VXN29GRDtJR3pMRTtHZDAwRkQ7O0VXanBGRDtJR3pMRTtHZDgwRkQ7O0VXcnBGRDtJR3pMRTtHZGsxRkQ7O0VXenBGRDtJR3pMRTtHZHMxRkQ7O0VXN3BGRDtJR3pMRTtHZDAxRkQ7O0VXanFGRDtJR3pMRTtHZDgxRkQ7O0VXcnFGRDtJR3pMRTtHZGsyRkQ7Q0FDRjs7QVd6bUZHO0VDcFRJO0VBQUE7Q1prNkZQOztBRTV4Rks7RVM4S0Y7SUNwVEk7SUFBQTtHWnc2Rkw7Q0FDRjs7QVdybkZHO0VDcFRJO0VBQUE7Q1o4NkZQOztBRXh5Rks7RVM4S0Y7SUNwVEk7SUFBQTtHWm83Rkw7Q0FDRjs7QVc1MEZDO0VDekdNO0VBQUE7Q1owN0ZQOztBRXB6Rks7RVM3Qko7SUN6R007SUFBQTtHWmc4Rkw7Q0FDRjs7QVd4MUZDO0VHMURFO0VGdENFO0VBQUE7Q1o4N0ZMOztBRWowRks7RVM3Qko7SUcxREU7SUZ0Q0U7SUFBQTtHWnE4Rkg7Q0FDRjs7QVc5M0ZDO0VHL0JFO0NkaTZGSDs7QVc5M0ZDO0VHL0JFO0NkaTZGSDs7QVcxM0ZHO0VHbkNBO0NkaTZGSDs7QVc5M0ZHO0VHbkNBO0NkcTZGSDs7QVdsNEZHO0VHbkNBO0NkeTZGSDs7QVd0NEZHO0VHbkNBO0NkNjZGSDs7QVcxNEZHO0VHbkNBO0NkaTdGSDs7QVc5NEZHO0VHbkNBO0NkcTdGSDs7QVdsNUZHO0VHbkNBO0NkeTdGSDs7QVd0NUZHO0VHbkNBO0NkNjdGSDs7QVcxNUZHO0VHbkNBO0NkaThGSDs7QVc5NUZHO0VHbkNBO0NkcThGSDs7QVdsNkZHO0VHbkNBO0NkeThGSDs7QVd0NkZHO0VHbkNBO0NkNjhGSDs7QUVqNEZLO0VTckRKO0lHL0JFO0dkMDlGRDs7RVd2N0ZEO0lHL0JFO0dkMDlGRDs7RVduN0ZDO0lHbkNBO0dkMDlGRDs7RVd2N0ZDO0lHbkNBO0dkODlGRDs7RVczN0ZDO0lHbkNBO0dkaytGRDs7RVcvN0ZDO0lHbkNBO0dkcytGRDs7RVduOEZDO0lHbkNBO0dkMCtGRDs7RVd2OEZDO0lHbkNBO0dkOCtGRDs7RVczOEZDO0lHbkNBO0dkay9GRDs7RVcvOEZDO0lHbkNBO0dkcy9GRDs7RVduOUZDO0lHbkNBO0dkMC9GRDs7RVd2OUZDO0lHbkNBO0dkOC9GRDs7RVczOUZDO0lHbkNBO0dka2dHRDs7RVcvOUZDO0lHbkNBO0dkc2dHRDs7RVcvK0ZEO0lHL0JFO0dka2hHRDs7RVcvK0ZEO0lHL0JFO0dka2hHRDs7RVczK0ZDO0lHbkNBO0dka2hHRDs7RVcvK0ZDO0lHbkNBO0dkc2hHRDs7RVduL0ZDO0lHbkNBO0dkMGhHRDs7RVd2L0ZDO0lHbkNBO0dkOGhHRDs7RVczL0ZDO0lHbkNBO0dka2lHRDs7RVcvL0ZDO0lHbkNBO0dkc2lHRDs7RVduZ0dDO0lHbkNBO0dkMGlHRDs7RVd2Z0dDO0lHbkNBO0dkOGlHRDs7RVczZ0dDO0lHbkNBO0dka2pHRDs7RVcvZ0dDO0lHbkNBO0dkc2pHRDs7RVduaEdDO0lHbkNBO0dkMGpHRDs7RVd2aEdDO0lHbkNBO0dkOGpHRDtDQUNGOztBRW4vRks7RVNyREo7SUcvQkU7R2Q0a0dEOztFV3ppR0Q7SUcvQkU7R2Q0a0dEOztFV3JpR0M7SUduQ0E7R2Q0a0dEOztFV3ppR0M7SUduQ0E7R2RnbEdEOztFVzdpR0M7SUduQ0E7R2RvbEdEOztFV2pqR0M7SUduQ0E7R2R3bEdEOztFV3JqR0M7SUduQ0E7R2Q0bEdEOztFV3pqR0M7SUduQ0E7R2RnbUdEOztFVzdqR0M7SUduQ0E7R2RvbUdEOztFV2prR0M7SUduQ0E7R2R3bUdEOztFV3JrR0M7SUduQ0E7R2Q0bUdEOztFV3prR0M7SUduQ0E7R2RnbkdEOztFVzdrR0M7SUduQ0E7R2RvbkdEOztFV2psR0M7SUduQ0E7R2R3bkdEO0NBQ0Y7O0FXMTJGQztFT3pWRTtFQUNBO0VBQ0E7RUFDQTtFQTJCSTtDbEI2cUdQOztBVzkyRkM7RUFDRTtDWGkzRkg7O0FXOTJGQztFT2hURTtFQUNBO0VBR0Y7RUFDQTtDbEJncUdEOztBV2ozRkM7RU94VEU7RUFDQTtFQUNBO0VBTUY7RUFDQTtDbEJ3cUdEOztBV3AzRkM7RU83U0E7RUFDQTtFQUNBO0NsQnFxR0Q7O0FrQm5xR0M7RUFDRTtFQUNBO0NsQnNxR0g7O0FFbmxHSztFUzJORjtJT2pYQTtJQUNBO0lBQ0E7SUFDQTtJQTJCSTtHbEJvdEdMOztFVzczRkM7SUFDRTtHWGc0Rkg7O0VXNzNGQztJT3hVQTtJQUNBO0lBR0Y7SUFDQTtHbEJ1c0dDOztFV2g0RkM7SU9oVUY7SUFDQTtJQUNBO0dsQm9zR0M7O0VrQmxzR0Q7SUFDRTtJQUNBO0dsQnFzR0Q7O0VXdjRGQztJT3BWQTtJQUNBO0lBQ0E7SUFNRjtJQUNBO0dsQjB0R0M7Q0FDRjs7QUUzbkdLO0VTMk5GO0lPalhBO0lBQ0E7SUFDQTtJQUNBO0lBMkJJO0dsQjR2R0w7O0VXcjZGQztJQUNFO0dYdzZGSDs7RVdyNkZDO0lPeFVBO0lBQ0E7SUFHRjtJQUNBO0dsQit1R0M7O0VXeDZGQztJT2hVRjtJQUNBO0lBQ0E7R2xCNHVHQzs7RWtCMXVHRDtJQUNFO0lBQ0E7R2xCNnVHRDs7RVcvNkZDO0lPcFZBO0lBQ0E7SUFDQTtJQU1GO0lBQ0E7R2xCa3dHQztDQUNGOztBV2w3Rkc7RUFFSTtFT3pZSjtFQUNBO0VBQ0E7RUFDQTtFQXlCSTtDbEJzeUdQOztBRTVxR0s7RVNpUEY7SUFRTTtJTy9ZTjtJQUNBO0lBQ0E7SUFDQTtJQXlCSTtHbEJnekdMO0NBQ0Y7O0FFdnJHSztFU2lQRjtJQVFNO0lPL1lOO0lBQ0E7SUFDQTtJQUNBO0lBeUJJO0dsQjJ6R0w7Q0FDRjs7QVduOEZHO0VBRUk7Q1hxOEZQOztBRXRzR0s7RVMrUEY7SUFNTTtHWHM4RlA7Q0FDRjs7QUU1c0dLO0VTK1BGO0lBTU07R1g0OEZQO0NBQ0Y7O0FXL3VHQztFQ3pHTTtFQUFBO0NaNjFHUDs7QUV2dEdLO0VTN0JKO0lDekdNO0lBQUE7R1ptMkdMO0NBQ0Y7O0FXM3ZHQztFRzFERTtFRnRDRTtFQUFBO0NaaTJHTDs7QUVwdUdLO0VTN0JKO0lHMURFO0lGdENFO0lBQUE7R1p3MkdIO0NBQ0Y7O0FXanlHQztFRy9CRTtDZG8wR0g7O0FXanlHQztFRy9CRTtDZG8wR0g7O0FXN3hHRztFR25DQTtDZG8wR0g7O0FXanlHRztFR25DQTtDZHcwR0g7O0FXcnlHRztFR25DQTtDZDQwR0g7O0FXenlHRztFR25DQTtDZGcxR0g7O0FXN3lHRztFR25DQTtDZG8xR0g7O0FXanpHRztFR25DQTtDZHcxR0g7O0FXcnpHRztFR25DQTtDZDQxR0g7O0FXenpHRztFR25DQTtDZGcyR0g7O0FXN3pHRztFR25DQTtDZG8yR0g7O0FXajBHRztFR25DQTtDZHcyR0g7O0FXcjBHRztFR25DQTtDZDQyR0g7O0FXejBHRztFR25DQTtDZGczR0g7O0FFcHlHSztFU3JESjtJRy9CRTtHZDYzR0Q7O0VXMTFHRDtJRy9CRTtHZDYzR0Q7O0VXdDFHQztJR25DQTtHZDYzR0Q7O0VXMTFHQztJR25DQTtHZGk0R0Q7O0VXOTFHQztJR25DQTtHZHE0R0Q7O0VXbDJHQztJR25DQTtHZHk0R0Q7O0VXdDJHQztJR25DQTtHZDY0R0Q7O0VXMTJHQztJR25DQTtHZGk1R0Q7O0VXOTJHQztJR25DQTtHZHE1R0Q7O0VXbDNHQztJR25DQTtHZHk1R0Q7O0VXdDNHQztJR25DQTtHZDY1R0Q7O0VXMTNHQztJR25DQTtHZGk2R0Q7O0VXOTNHQztJR25DQTtHZHE2R0Q7O0VXbDRHQztJR25DQTtHZHk2R0Q7O0VXbDVHRDtJRy9CRTtHZHE3R0Q7O0VXbDVHRDtJRy9CRTtHZHE3R0Q7O0VXOTRHQztJR25DQTtHZHE3R0Q7O0VXbDVHQztJR25DQTtHZHk3R0Q7O0VXdDVHQztJR25DQTtHZDY3R0Q7O0VXMTVHQztJR25DQTtHZGk4R0Q7O0VXOTVHQztJR25DQTtHZHE4R0Q7O0VXbDZHQztJR25DQTtHZHk4R0Q7O0VXdDZHQztJR25DQTtHZDY4R0Q7O0VXMTZHQztJR25DQTtHZGk5R0Q7O0VXOTZHQztJR25DQTtHZHE5R0Q7O0VXbDdHQztJR25DQTtHZHk5R0Q7O0VXdDdHQztJR25DQTtHZDY5R0Q7O0VXMTdHQztJR25DQTtHZGkrR0Q7Q0FDRjs7QUV0NUdLO0VTckRKO0lHL0JFO0dkKytHRDs7RVc1OEdEO0lHL0JFO0dkKytHRDs7RVd4OEdDO0lHbkNBO0dkKytHRDs7RVc1OEdDO0lHbkNBO0dkbS9HRDs7RVdoOUdDO0lHbkNBO0dkdS9HRDs7RVdwOUdDO0lHbkNBO0dkMi9HRDs7RVd4OUdDO0lHbkNBO0dkKy9HRDs7RVc1OUdDO0lHbkNBO0dkbWdIRDs7RVdoK0dDO0lHbkNBO0dkdWdIRDs7RVdwK0dDO0lHbkNBO0dkMmdIRDs7RVd4K0dDO0lHbkNBO0dkK2dIRDs7RVc1K0dDO0lHbkNBO0dkbWhIRDs7RVdoL0dDO0lHbkNBO0dkdWhIRDs7RVdwL0dDO0lHbkNBO0dkMmhIRDtDQUNGOztBV3BzR0c7RU8vWUk7Q2xCdWxIUDs7QUVwOUdLO0VTNFFGO0lPL1lJO0dsQjRsSEw7Q0FDRjs7QUUxOUdLO0VTNFFGO0lPL1lJO0dsQmttSEw7Q0FDRjs7QUVoK0dLO0VTZ1JBO0lPblpFO0dsQndtSEw7Q0FDRjs7QUV0K0dLO0VTZ1JBO0lPblpFO0dsQjhtSEw7Q0FDRjs7QW1CbjVHQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQW1CRTtFQUNBO0NuQnM1R0g7O0FtQmw1R0M7RUFDRTtFQUVBO0VBQ0E7RUFDQTtDbkJvNUdIOztBbUJoNUdDOztFQUVFO0VBQ0E7Q25CbTVHSDs7QW1CLzRHQzs7RUFFRTtFQUNBO0NuQms1R0g7O0FJcG1IQztFZXVORTtFQUNBO0NuQmk1R0g7O0FtQjc0R0M7Ozs7Ozs7Ozs7OztFQU1FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25CczVHSDs7QW1CaDZHQzs7Ozs7Ozs7Ozs7O0VBYUk7RUFDQTtDbkJrNkdMOztBbUJ6NUdPOztFQUlJO0VBWUE7RUFRQTtFQU9BO0NuQms0R1g7O0FtQmo2R087O0VBSUk7RUFZQTtFQVFBO0VBT0E7Q25CMDRHWDs7QW1CejZHTzs7RUFJSTtFQVlBO0VBUUE7RUFPQTtDbkJrNUdYOztBbUJqN0dPOztFQUlJO0VBWUE7RUFRQTtFQU9BO0NuQjA1R1g7O0FtQno3R087O0VBSUk7RUFZQTtFQVFBO0VBT0E7Q25CazZHWDs7QW1CajhHTzs7RUFJSTtFQVlBO0VBUUE7RUFPQTtDbkIwNkdYOztBRTltSEs7RWlCcUtFOztJQUlJO0duQjI4R1Q7O0VtQi84R0s7O0lBSUk7R25CZzlHVDs7RW1CcDlHSzs7SUFJSTtHbkJxOUdUOztFbUJ6OUdLOztJQUlJO0duQjA5R1Q7O0VtQjk5R0s7O0lBSUk7R25CKzlHVDs7RW1CbitHSzs7SUFJSTtHbkJvK0dUO0NBQ0Y7O0FJNXZIQztFZTJURTtFQUNBO0VBQ0E7RUFFQTtDbkJvOEdIOztBbUJ6OEdDOztFQVNJO0NuQnE4R0w7O0FtQjk4R0M7RUFnQkk7Q25CazhHTDs7QUkveEhDO0VlbVdFO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7Q25CODdHSDs7QW1CMTdHQzs7O0VBR0U7RUFDQTtFQUNBO0NuQjY3R0g7O0FtQno3R0M7RUFDRTtDbkI0N0dIOztBbUJ4N0dDO0VBQ0U7RUFDQTtDbkIyN0dIOztBbUJ2N0dDO0VBQ0U7Q25CMDdHSDs7QW1CdDdHQzs7OztFQUVJO0VBQ0E7Q25CMjdHTDs7QW1CdDdHQztFQUNFO0NuQnk3R0g7O0FtQjE3R0M7RUFJSTtFQUNBO0NuQjA3R0w7O0FtQnI3R0M7RUFDRTtFQUNBO0VBQ0E7Q25CdzdHSDs7QW1CMzdHQzs7RUFNSTtFQUNBO0NuQjA3R0w7O0FtQnI3R0M7RUFDRTtFQUNBO0VBQ0E7Q25CdzdHSDs7QW1CMzdHQztFQU1JO0NuQnk3R0w7O0FtQnA3R0M7O0VBQ0U7RUFDQTtFQUNBO0NuQnc3R0g7O0FtQnA3R0M7RUFDRTtDbkJ1N0dIOztBbUJuN0dDO0VBQ0U7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0NuQm83R0g7O0FtQmg3R0M7RUFDRTtFQUNBO0VBRUE7RUFFQTtFQUNBO0NuQmk3R0g7O0FvQngzSEM7RUFDRTtFQUNBO0VBRUE7RUFDQTtFQUNBO0NwQjAzSEg7O0FvQnQzSEM7RUFDRTtFQUNBO0NwQnkzSEg7O0FvQnIzSEM7RUFDRTtFQUNBO0NwQnczSEg7O0FvQnQzSEc7RUFDRTtDcEJ5M0hMOztBb0JyM0hDOztFQUdJO0VBQ0E7Q3BCdTNITDs7QXFCcjdIUztFQUNFO0NyQnc3SFg7O0FxQno3SFM7RUFDRTtDckI0N0hYOztBcUI3N0hTO0VBQ0U7Q3JCZzhIWDs7QXFCajhIUztFQUNFO0NyQm84SFg7O0FFN3lISztFbUI3Skk7SUFDRTtHckI4OEhUOztFcUIvOEhPO0lBQ0U7R3JCazlIVDs7RXFCbjlITztJQUNFO0dyQnM5SFQ7O0VxQnY5SE87SUFDRTtHckIwOUhUO0NBQ0Y7O0FFL3pISztFbUI3Skk7SUFDRTtHckJnK0hUOztFcUJqK0hPO0lBQ0U7R3JCbytIVDs7RXFCcitITztJQUNFO0dyQncrSFQ7O0VxQnorSE87SUFDRTtHckI0K0hUO0NBQ0Y7O0FzQnQrSEM7RUFBa0I7Q3RCMCtIbkI7O0FzQngrSEM7RUFDRTtJQUVJO0lBR0Y7SUFFQTtJQUNBO0d0QnUrSEg7O0VzQmwvSEQ7SUFjb0I7R3RCdytIbkI7O0VzQnYrSEM7SUFBa0I7R3RCMitIbkI7O0VzQnorSEM7SUFBdUI7R3RCNitIeEI7O0VzQjUrSEM7SUFBdUI7R3RCZy9IeEI7O0VzQi8rSEM7SUFBdUI7R3RCbS9IeEI7O0VzQmwvSEM7SUFBb0I7R3RCcy9IckI7O0VzQnIvSEM7SUFBb0I7R3RCeS9IckI7O0VzQngvSEM7SUFBb0I7R3RCNC9IckI7O0VzQnovSEM7O0lBQ1k7R3RCNi9IYjs7RXNCMy9IRztJQUFnQjtHdEIrL0huQjs7RXNCMy9IQzs7O0lBRXFCO0d0QisvSHRCOztFc0I1L0hDO0lBQW9CO0d0QmdnSXJCOztFc0I3L0hDOztJQUVFO0lBQ0E7R3RCZ2dJSDs7RXNCNS9IQztJQUFRO0d0QmdnSVQ7O0VzQjkvSEM7O0lBQ007R3RCa2dJUDs7RUlqOUhEO0lrQi9DUTtHdEJvZ0lQOztBc0JsZ0lDO0lBQVE7Q3RCc2dJWDs7RXNCcGdJRzs7O0lBR0U7SUFDQTtHdEJ1Z0lIOztFc0JuZ0lDOztJQUNLO0d0QnVnSU47O0VzQnBnSUM7SUFDRTtHdEJ1Z0lIO0NBQ0Y7O0F1QnIxSEM7RUFoTEE7RUFDQTtFQUNBO0VBVUU7RUFHRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFxQ0E7RUFDQTtDdkIwOUhEOztBQWp1REM7RU1yc0VFO0NOMDZISDs7QXVCNTlIQzs7RUFDRTtFQUNBO0N2QmcrSEg7O0F1QmozSEM7RUFNTTtDdkIrMkhQOztBdUJyM0hDO0VBTU07Q3ZCbTNIUDs7QXVCejNIQztFQU1NO0N2QnUzSFA7O0F1QjczSEM7RUFsSkU7RUFDQTtFQUNBO0VBQ0E7Q3ZCbWhJSDs7QXVCcDRIQztFQXBIQTtFQUNBO0N2QjQvSEQ7O0F1QjEvSEM7O0VBQ0U7RUFDQTtDdkI4L0hIOztBdUIvNEhDO0VBcEhBO0VBQ0E7Q3ZCdWdJRDs7QXVCcmdJQzs7RUFDRTtFQUNBO0N2QnlnSUg7O0F1QjE1SEM7RUFwSEE7RUFDQTtDdkJraElEOztBdUJoaElDOztFQUNFO0VBQ0E7Q3ZCb2hJSDs7QXVCcjZIQztFQXBIQTtFQUNBO0N2QjZoSUQ7O0F1QjNoSUM7O0VBQ0U7RUFDQTtDdkIraElIOztBdUJoN0hDO0VBcEhBO0VBQ0E7Q3ZCd2lJRDs7QXVCdGlJQzs7RUFDRTtFQUNBO0N2QjBpSUg7O0F1QjM3SEM7O0VBMURBO0VBQ0E7Q3ZCMC9IRDs7QXVCeC9IQzs7Ozs7O0VBQ0U7RUFDQTtDdkJnZ0lIOztBdUIzOEhDOztFQTFEQTtFQUNBO0N2QjBnSUQ7O0F1QnhnSUM7Ozs7OztFQUNFO0VBQ0E7Q3ZCZ2hJSDs7QXVCMzlIQzs7RUExREE7RUFDQTtDdkIwaElEOztBdUJ4aElDOzs7Ozs7RUFDRTtFQUNBO0N2QmdpSUg7O0F1QjMrSEM7O0VBMURBO0VBQ0E7Q3ZCMGlJRDs7QXVCeGlJQzs7Ozs7O0VBQ0U7RUFDQTtDdkJnaklIOztBdUIzL0hDOztFQTFEQTtFQUNBO0N2QjBqSUQ7O0F1QnhqSUM7Ozs7OztFQUNFO0VBQ0E7Q3ZCZ2tJSDs7QXVCM2dJQzs7RUExREE7RUFDQTtDdkIwa0lEOztBdUJ4a0lDOzs7Ozs7RUFDRTtFQUNBO0N2QmdsSUg7O0F1QjNoSUM7RUFuRkE7RUFDQTtDdkJrbklEOztBdUJ6b0lDOzs7RUFHRTtDdkI0b0lIOztBdUJ2b0lHOzs7Ozs7RUFFRTtDdkI4b0lMOztBdUIvbklDOztFQUNFO0VBQ0E7Q3ZCbW9JSDs7QXVCbG9JRzs7OztFQUVFO0VBQ0E7Q3ZCdW9JTDs7QXVCN2pJQztFQW5GQTtFQUNBO0N2Qm9wSUQ7O0F1QmxwSUM7O0VBQ0U7RUFDQTtDdkJzcElIOztBdUJycElHOzs7O0VBRUU7RUFDQTtDdkIwcElMOztBdUJobElDO0VBbkZBO0VBQ0E7Q3ZCdXFJRDs7QXVCcnFJQzs7RUFDRTtFQUNBO0N2QnlxSUg7O0F1QnhxSUc7Ozs7RUFFRTtFQUNBO0N2QjZxSUw7O0F1Qm5tSUM7RUFuRkE7RUFDQTtDdkIwcklEOztBdUJ4cklDOztFQUNFO0VBQ0E7Q3ZCNHJJSDs7QXVCM3JJRzs7OztFQUVFO0VBQ0E7Q3ZCZ3NJTDs7QXVCdG5JQztFQW5GQTtFQUNBO0N2QjZzSUQ7O0F1QjNzSUM7O0VBQ0U7RUFDQTtDdkIrc0lIOztBdUI5c0lHOzs7O0VBRUU7RUFDQTtDdkJtdElMOztBdUJ6b0lDO0VBbkZBO0VBQ0E7Q3ZCZ3VJRDs7QXVCOXRJQzs7RUFDRTtFQUNBO0N2Qmt1SUg7O0F1Qmp1SUc7Ozs7RUFFRTtFQUNBO0N2QnN1SUw7O0F1QjVwSUM7RUFuRkE7RUFDQTtDdkJtdklEOztBdUIxd0lDOzs7RUFHRTtDdkI2d0lIOztBdUJ4d0lHOzs7Ozs7RUFFRTtDdkIrd0lMOztBdUJod0lDOztFQUNFO0VBQ0E7Q3ZCb3dJSDs7QXVCbndJRzs7OztFQUVFO0VBQ0E7Q3ZCd3dJTDs7QXVCOXJJQzs7Ozs7Ozs7O0VBdUZVO0N2Qm1uSVg7O0F1QjFzSUM7RUFuRkE7RUFDQTtDdkJpeUlEOztBdUIveElDOztFQUNFO0VBQ0E7Q3ZCbXlJSDs7QXVCbHlJRzs7OztFQUVFO0VBQ0E7Q3ZCdXlJTDs7QXVCN3RJQzs7Ozs7Ozs7O0VBb0djO0N2QnFvSWY7O0F1Qnp1SUM7RUFuRkE7RUFDQTtDdkJnMElEOztBdUI5eklDOztFQUNFO0VBQ0E7Q3ZCazBJSDs7QXVCajBJRzs7OztFQUVFO0VBQ0E7Q3ZCczBJTDs7QXVCNXZJQzs7Ozs7Ozs7O0VBb0djO0N2Qm9xSWY7O0F1Qnh3SUM7RUFuRkE7RUFDQTtDdkIrMUlEOztBdUI3MUlDOztFQUNFO0VBQ0E7Q3ZCaTJJSDs7QXVCaDJJRzs7OztFQUVFO0VBQ0E7Q3ZCcTJJTDs7QXVCM3hJQzs7Ozs7Ozs7O0VBb0djO0N2Qm1zSWY7O0F1QnZ5SUM7RUFuRkE7RUFDQTtDdkI4M0lEOztBdUI1M0lDOztFQUNFO0VBQ0E7Q3ZCZzRJSDs7QXVCLzNJRzs7OztFQUVFO0VBQ0E7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S0M7RUFDRTtDdkNnM0tIOztBdUNwMUtDO0VBbkJFO0VBR0Y7Q3ZDeTJLRDs7QXVDdjJLQztFQUNFO0N2QzAyS0g7O0F1Q3YxS0M7RUFDRTtDdkMwMUtIOztBd0N6M0tDO0VBWEE7RUFDQTtFQUNBO0N4Q3c0S0Q7O0FBeHlFQztFTTUrRkU7Q053eEtIOztBd0MxNEtDOztFQUVFO0N4QzY0S0g7O0F3Q3g0S0M7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7Q3hDbTZLRDs7QXdDLzRLQzs7RUF2QkE7RUFDQTtFQUNBO0VBQ0E7Q3hDMjZLRDs7QWtDbHBLQztFQS9TQTtFQUNBO0VBQ0E7RUFDQTtFQUdFO0VBQ0E7Q2xDbThLSDs7QUFuekVDO0VNbGdHRTtDTnl6S0g7O0FrQ2g4S0M7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7Q2xDbThLSDs7QWtDLzdLQzs7OztFQUlFO0NsQ2s4S0g7O0FrQy83S0M7RUFDRTtDbENrOEtIOztBa0NscktDOztFQXBMSTtFQUNBO0NsQzIyS0w7O0FrQ3hyS0M7RUF6S0k7RUFDQTtDbENxMktMOztBa0N0OEtHO0VBQ0U7Q2xDeThLTDs7QWtDanNLQztFQXRKRTtDbEMyMUtIOztBa0N4MUtDO0VBQ0U7Q2xDMjFLSDs7QWtDeDFLQztFQUNFO0NsQzIxS0g7O0FFMzRLSztFZ0M4TEo7SUFwTEk7SUFDQTtHbENzNEtIOztFa0NudEtEO0lBektJO0lBQ0E7R2xDZzRLSDs7RWtDaitLQztJQUNFO0dsQ28rS0g7O0VrQ3IrS0M7SUFDRTtHbEN3K0tIO0NBQ0Y7O0FFLzVLSztFZ0M4TEo7SUFwTEk7SUFDQTtHbEMwNUtIOztFa0N2dUtEO0lBektJO0lBQ0E7R2xDbzVLSDs7RWtDci9LQztJQUNFO0dsQ3cvS0g7O0VrQ3ovS0M7SUFDRTtHbEM0L0tIO0NBQ0Y7O0FrQ3J2S0M7RUE5SEU7RUFDQTtDbEN1M0tIOztBa0MvMktHO0VBQ0U7Q2xDazNLTDs7QWtDbjNLRzs7OztFQUNFO0NsQ3kzS0w7O0FrQ3QyS0c7RUFFSTtDbEN3MktQOztBa0NyMktLOzs7RUFHRTtDbEN3MktQOztBa0MvMUtHO0VBRUk7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O0VBT0U7RUFDQTtDOUMydU1IOztBOEMvdU1DO0VBUU07RUFDQTtDOUMydU1QOztBOENwdk1DO0VBUU07RUFDQTtDOUNndk1QOztBOEN6dk1DO0VBUU07RUFDQTtDOUNxdk1QOztBOEM5dk1DO0VBUU07RUFDQTtDOUMwdk1QOztBOENud01DO0VBUU07RUFDQTtDOUMrdk1QOztBK0NodE1DO0VBcEZBO0VBQ0E7RUFHRTtDL0NzeU1IOztBK0NueU1DO0VBQ0U7Qy9Dc3lNSDs7QUV6cE1LO0U2Q3pJRjtJQUVJO0cvQ3F5TUw7Q0FDRjs7QStDNXRNQztFQWhFRTtDL0NneU1IOztBK0N6eE1DO0VBQ0U7Qy9DNHhNSDs7QStDenhNQztFQUNFO0MvQzR4TUg7O0ErQ3p4TUM7RUFDRTtDL0M0eE1IOztBRS9xTUs7RTZDMUdKO0lBd0JBO0lBQ0E7SUFHRTtJQUNBO0cvQ293TUQ7O0UrQ2p5TUQ7SUFvQ0U7Ry9DaXdNRDtDQUNGOztBK0MveE1HO0VBQ0U7Qy9Da3lNTDs7QWdEaHhNQztFQUNFO0NoRG14TUg7O0FnRC93TUM7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUVBO0VBRUE7RUFDQTtFQUVBO0NoRDZ3TUg7O0FnRDd4TUM7RUFtQkk7RUFDQTtDaEQ4d01MOztBZ0RseU1DO0VBd0JJO0NoRDh3TUw7O0FnRHR5TUM7RUE0Qkk7Q2hEOHdNTDs7QWdEMXlNQztFQWdDSTtDaEQ4d01MOztBZ0RyOUxDO0VBbFRBO0VBQ0E7Q2hEMndNRDs7QWdEcjlMQztFQTFTRTtFQU9GO0VBT0E7RUFDQTtFQUVBO0NoRHN2TUQ7O0FBempGQztFTXhwSEU7Q05xdE1IOztBZ0Rqd01DO0VBQ0U7Q2hEb3dNSDs7QWdEM3ZNQztFQUNFO0NoRDh2TUg7O0FnRDF2TUM7RUFDRTtDaEQ2dk1IOztBZ0Qzdk1HO0VBQ0U7Q2hEOHZNTDs7QWdEenZNQztFQUNFO0NoRDR2TUg7O0FnRDErTEM7RUFsVEU7RUFJRjtFQU9BO0VBQ0E7RUFFQTtDaERzeE1EOztBQXRrRkM7RU0zcUhFO0NOcXZNSDs7QWdEanlNQztFQUNFO0NoRG95TUg7O0FnRDN4TUM7RUFDRTtDaEQ4eE1IOztBZ0QxeE1DO0VBQ0U7Q2hENnhNSDs7QWdEM3hNRztFQUNFO0NoRDh4TUw7O0FnRHp4TUM7RUFDRTtDaEQ0eE1IOztBZ0RyZ01DO0VBNVFFO0VBQ0E7RUFDQTtFQUNBO0VBSUk7RUFDQTtDaERreE1QOztBRXR6TUs7RThDd1NKO0lBclFNO0lBQ0E7R2hEd3hNTDtDQUNGOztBZ0RweE1XO0VBSUY7Q2hEb3hNVDs7QUVqME1LO0U4Q3lDTTtJQUlGO0doRHl4TVA7Q0FDRjs7QWdEOXhNVztFQVFKO0NoRDB4TVA7O0FnRHJ4TVc7RUFJQTtDaERxeE1YOztBRS8wTUs7RThDc0RNO0lBSUE7R2hEMHhNVDtDQUNGOztBZ0RwcU1HO0UxQzdUQTtDTnErTUg7O0FnRGhqTUM7RUF4T0U7RUFDQTtFQUNBO0VBQ0E7RUFJSTtFQUNBO0NoRHl4TVA7O0FFbDJNSztFOEN5U0o7SUFqT007SUFDQTtHaEQreE1MO0NBQ0Y7O0FnRDN4TVc7RUFJRjtDaEQyeE1UOztBRTcyTUs7RThDOEVNO0lBSUY7R2hEZ3lNUDtDQUNGOztBZ0RyeU1XO0VBUUo7Q2hEaXlNUDs7QWdENXhNVztFQUlBO0NoRDR4TVg7O0FFMzNNSztFOEMyRk07SUFJQTtHaERpeU1UO0NBQ0Y7O0FnRGh0TUc7RTFDL1RBO0NObWhOSDs7QWdEM2xNQztFQXBNRTtFQUNBO0VBQ0E7RUFDQTtFQUlJO0VBQ0E7Q2hEZ3lNUDs7QWdEM3hNVztFQUdGO0NoRDR4TVQ7O0FnRC94TVc7RUFPSjtDaEQ0eE1QOztBZ0R2eE1XO0VBSUE7Q2hEdXhNWDs7QWdEenVNRztFMUMzVEE7Q053aU5IOztBZ0Rubk1DO0VBaktFO0VBQ0E7RUFDQTtFQUNBO0VBSUk7RUFDQTtDaERxeE1QOztBZ0RoeE1XO0VBR0Y7Q2hEaXhNVDs7QWdEcHhNVztFQU9KO0NoRGl4TVA7O0FnRDV3TVc7RUFJQTtDaEQ0d01YOztBZ0Rsd01HO0UxQ2pVQTtDTnVrTkg7O0FnRDFvTUM7RUF4R0E7RUFDQTtFQUNBO0NoRHN2TUQ7O0FnRG52TUM7RUFDRTtDaERzdk1IOztBZ0Rsdk1DO0VBQ0U7Q2hEcXZNSDs7QUVyOE1LO0U4Q3FURTtJQTFGTjtJQUNBO0lBQ0E7SUFDQTtHaEQrdU1DOztFZ0R6dU1EO0lBQ0U7R2hENHVNRDs7RWdEeHVNRDtJQUNFO0doRDJ1TUQ7O0VnRHh1TU87SUFDTjtHaEQydU1EOztFZ0R2dU1EO0lBQ0U7R2hEMHVNRDs7RWdEcHFNSztJQTlGTjtJQUNBO0lBQ0E7SUFDQTtHaERzd01DOztFZ0Rod01EO0lBQ0U7R2hEbXdNRDs7RWdEL3ZNRDtJQUNFO0doRGt3TUQ7O0VnRC92TU87SUFDTjtHaERrd01EOztFZ0Q5dk1EO0lBQ0U7R2hEaXdNRDs7RWdEdnJNSztJQWxHTjtJQUNBO0lBQ0E7SUFDQTtHaEQ2eE1DOztFZ0R2eE1EO0lBQ0U7R2hEMHhNRDs7RWdEdHhNRDtJQUNFO0doRHl4TUQ7O0VnRHR4TU87SUFDTjtHaER5eE1EOztFZ0RyeE1EO0lBQ0U7R2hEd3hNRDs7RWdEMXNNSztJQXRHTjtJQUNBO0lBQ0E7SUFDQTtHaERvek1DOztFZ0Q5eU1EO0lBQ0U7R2hEaXpNRDs7RWdEN3lNRDtJQUNFO0doRGd6TUQ7O0VnRDd5TU87SUFDTjtHaERnek1EOztFZ0Q1eU1EO0lBQ0U7R2hEK3lNRDtDQUNGOztBRW5pTks7RThDcVRFO0lBMUZOO0lBQ0E7SUFDQTtJQUNBO0doRDYwTUM7O0VnRHYwTUQ7SUFDRTtHaEQwME1EOztFZ0R0ME1EO0lBQ0U7R2hEeTBNRDs7RWdEdDBNTztJQUNOO0doRHkwTUQ7O0VnRHIwTUQ7SUFDRTtHaER3ME1EOztFZ0Rsd01LO0lBOUZOO0lBQ0E7SUFDQTtJQUNBO0doRG8yTUM7O0VnRDkxTUQ7SUFDRTtHaERpMk1EOztFZ0Q3MU1EO0lBQ0U7R2hEZzJNRDs7RWdENzFNTztJQUNOO0doRGcyTUQ7O0VnRDUxTUQ7SUFDRTtHaEQrMU1EOztFZ0RyeE1LO0lBbEdOO0lBQ0E7SUFDQTtJQUNBO0doRDIzTUM7O0VnRHIzTUQ7SUFDRTtHaER3M01EOztFZ0RwM01EO0lBQ0U7R2hEdTNNRDs7RWdEcDNNTztJQUNOO0do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c0Qvdk9DO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7Q3REa3dPSDs7QXNEL3ZPQztFQUNFO0N0RGt3T0g7O0F1RHRwT0M7RUE5R0E7RUFDQTtFQUNBO0VBQ0E7Q3ZEd3dPRDs7QXVELzFPQzs7O0VBR0U7RUFDQTtDdkRrMk9IOztBdUQ5MU9DO0VBQ0U7RUFDQTtDdkRpMk9IOztBc0J6NU9HO0VpQzZEQTtFQUNBO0N2RGcyT0g7O0F1RDUxT0M7RUFDRTtFQUNBO0N2RCsxT0g7O0F1RDMxT0M7O0VBSUk7Q3ZENDFPTDs7QXVEaDJPQzs7OztFQVVJO0VBQ0E7RUFDQTtDdkQ2MU9MOztBdUR4MU9DOztFQUdJO0N2RDAxT0w7O0F1RGg2T0s7RUFDRTtFQUNBO0N2RG02T1A7O0F1RHAxT0s7RUFFRTtDdkRzMU9QOztBdUR6NU9DO0VBQ0U7RUFDQTtFQUNBO0N2RDQ1T0g7O0FFMTFPSztFcURnSEY7SUFDRTtHdkQ4dU9IOztFdUQxdU9EO0lBQ0U7R3ZENnVPRDs7RXVEMXVPRDs7O0lBR0U7R3ZENnVPRDs7RXVEMXVPRDtJQUNFO0d2RDZ1T0Q7Q0FDRjs7QXVEL3RPQztFQXZHQTtFQUNBO0VBQ0E7Q3ZEMDBPRDs7QXVEbjBPRztFQUNFO0N2RHMwT0w7O0F1RGgwT0c7RUFDRTtDdkRtME9MOztBdUQ3ek9HO0VBQ0U7Q3ZEZzBPTDs7QXVEenpPSztFQUNFO0N2RDR6T1A7O0F1RDd1T0M7RUFDRTtDdkRndk9IOztBd0RwNk9DO0VBakZBO0VBQ0E7RUFDQTtFQUNBO0N4RHkvT0Q7O0FNajVPQzs7RUFFRTtFQUNBO0VBR0U7RUFDQTtDTms1T0w7O0FNOTRPQztFQUNFO0NOaTVPSDs7QXdEaGdQQztFQUNFO0VBQ0E7RUFDQTtDeERtZ1BIOztBd0RuN09DO0VBRUk7Q3hEcTdPTDs7QXdEdjdPQztFQUtNO0N4RHM3T1A7O0F3RGg3T0M7RUFDRTtDeERtN09IOztBd0RwN09DO0VBSUk7Q3hEbzdPTDs7QXdEeDdPQzs7RUFRTTtDeERxN09QOztBd0RoN09DO0VBM0ZBO0N4RCtnUEQ7O0F3RDdnUEM7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N4RCtnUEg7O0FBeDlGRztFTTM4SUE7Q051Nk9IOztBd0RqaFBHO0VBQ0U7RUFDQTtDeERvaFBMOztBd0RqaFBHOztFQUVFO0VBQ0E7Q3hEb2hQTDs7QXdEdjhPQztFQWxFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N4RDZnUEQ7O0F3RDM4T0M7RUEzREE7RUFDQTtDeEQwZ1BEOztBd0Q1OE9DO0VBdkRBO0VBQ0E7Q3hEdWdQRDs7QXdEcmdQQztFQUNFO0N4RHdnUEg7O0F5RHZsUEM7RUF6QkE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7Q3pEa25QRDs7QXlEN2xQQztFQWpCQTtDekRrblBEOztBeURoblBDOztFQUVFO0N6RG1uUEg7O0F5RGhuUEM7RUFDRTtDekRtblBIOztBMERwb1BDO0VBQ0U7RUFDQTtFQUNBO0VBR0U7RUFDQTtFQUNBO0MxRHFvUEw7O0EwRDdvUEM7RUFlSTtFQUNBO0MxRGtvUEw7O0EwRDduUEc7O0VBRUU7QzFEZ29QTDs7QTBEN25QRztFQUNFO0MxRGdvUEw7O0EwRGxuUEM7RUFDRTtFQUNBO0VBQ0E7QzFEcW5QSDs7QTJEOWlQQztFQW5HQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0MzRG9wUEQ7O0EyRGxqUEM7RUE5RkE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0MzRGtwUEQ7O0EyRGhwUEM7RUFDRTtDM0RtcFBIOztBMkQvb1BHO0VyRHJDRjtFQUNBO0VBQ0E7RUFFQTtFQUVBO0VBUUU7RUFDQTtFQUNBO0VxRHVCRTtDM0R5cFBMOztBMkR0cFBHO0VBQ0U7RUFDQTtDM0R5cFBMOztBMkRwcFBHO0VyRGpERjtFQUNBO0VBQ0E7RUFFQTtFQUVBO0VBR0U7RUFDQTtFQUNBO0VxRHdDRTtFQUNBO0MzRDhwUEw7O0EyRDNwUEc7RUFDRTtFQUNBO0MzRDhwUEw7O0EyRHpwUEc7RXJEOURGO0VBQ0E7RUFDQTtFQUVBO0VBRUE7RUFhRTtFQUNBO0VBQ0E7RXFEMkNFO0MzRG1xUEw7O0EyRGhxUEc7RUFDRTtFQUNBO0VBQ0E7QzNEbXFQTDs7QTJEOXBQRztFckQzRUY7RUFDQTtFQUNBO0VBRUE7RUFFQTtFQWtCRTtFQUNBO0VBQ0E7RXFEbURFO0VBQ0E7QzNEd3FQTDs7QTJEcnFQRztFQUNFO0VBQ0E7RUFDQTtDM0R3cVBMOztBMkRwcVBDO0VBQ0U7RUFDQTtDM0R1cVBIOztBMkRwcVBDO0VBQ0U7RUFDQTtDM0R1cVBIOztBMkRwcVBDO0VBQ0U7RUFDQTtDM0R1cVBIOztBMkRwcVBDO0VBQ0U7RUFDQTtDM0R1cVBIOztBNERqc1BDO0VBdEZFO0VBQ0E7RUFDQTtFQUNBO0VBTUY7RUFrQ0U7QzVEcXZQSDs7QTREcnhQQzs7RUFFRTtDNUR3eFBIOztBNEQ3d1BDO0VBQ0U7RUFDQTtDNURneFBIOztBNEQ1d1BDO0VBQ0U7RUFDQTtDNUQrd1BIOztBNEQ1d1BDO0VBQ0U7QzVEK3dQSDs7QTREcndQRzs7RUFFRTtFQUNBO0M1RHd3UEw7O0FFdHJQSztFMEQ3Q0o7SUF0QkU7RzVEOHZQRDs7RTRENXZQQztJQUNFO0lBQ0E7RzVEK3ZQSDs7RTRENXZQQztJQUNFO0lBQ0E7RzVEK3ZQSDtDQUNGOztBRWpzUEs7RTBEbERKO0lBM0NFO0c1RG15UEQ7O0U0RGh5UEM7O0lBRUU7SUFDQTtHNURteVBIO0NBQ0Y7O0FFN3NQSztFMERsREo7SUEzQ0U7RzVEK3lQRDs7RTRENXlQQzs7SUFFRTtJQUNBO0c1RCt5UEg7Q0FDRjs7QTREbnZQRztFQUNFO0VBQ0E7QzVEc3ZQTDs7QTREbnZQRzs7RUFFRTtDNURzdlBMOztBNkQ5MFBDO0VBQ0U7QzdEaTFQSDs7QTZEOTBQQztFQUNFO0M3RGkxUEg7O0FFM3VQSztFMkR2RkY7SUExQkE7RzdEaTJQRDtDQUNGOztBNkRyM1BHO0VBaURBO0lBaERFO0c3RHkzUEg7Q0FDRjs7QUU1dlBLO0UyRDNGQTtJQXpCRjtHN0RxM1BEO0NBQ0Y7O0FFN3ZQSztFMkQ1RkE7SUFqRUY7RzdEKzVQRDtDQUNGOztBRW53UEs7RTJEdkZGO0lBMUJBO0c3RHkzUEQ7Q0FDRjs7QTZENzRQRztFQWlEQTtJQWhERTtHN0RpNVBIO0NBQ0Y7O0FFcHhQSztFMkQzRkE7SUF6QkY7RzdENjRQRDtDQUNGOztBRXJ4UEs7RTJENUZBO0lBakVGO0c3RHU3UEQ7Q0FDRjs7QUUzeFBLO0UyRHZGRjtJQTFCQTtHN0RpNVBEO0NBQ0Y7O0E2RHI2UEc7RUFpREE7SUFoREU7RzdEeTZQSDtDQUNGOztBNkRuM1BDOztFdkRtSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDTnF3UEQ7O0E2RHozUEM7O0V2RHlIQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q05xd1BEOztBNkQzM1BDOztFQUVFO0M3RDgzUEg7O0FFbDBQSztFMkQ5REo7O0lBS0k7RzdEaTRQSDtDQUNGOztBRXowUEs7RTJEOURKOztJQVNJO0c3RG80UEg7Q0FDRjs7QTZEajRQQzs7RUFFRTtDN0RvNFBIOztBRXIxUEs7RTJEakRKOztJQUtJO0c3RHU0UEg7Q0FDRjs7QUU1MVBLO0UyRGpESjs7SUFTSTtHN0QwNFBIO0NBQ0Y7O0E4RHA4UEc7RUNuQkY7Qy9EMjlQRDs7QThEeDhQRztFQ25CRjtDL0QrOVBEOztBOEQ1OFBHO0VDbkJGO0MvRG0rUEQ7O0E4RGg5UEc7RUNuQkY7Qy9EdStQRDs7QThEcDlQRztFQ25CRjtDL0QyK1BEOztBOERqOVBHO0VDMUJGO0MvRCsrUEQ7O0E4RHI5UEc7RUMxQkY7Qy9EbS9QRDs7QThEejlQRztFQzFCRjtDL0R1L1BEOztBOERsOVBHO0VDcENGO0MvRDAvUEQ7O0E4RGw5UEc7RUN4QkY7Qy9EOCtQRDs7QThEMTlQRztFQ3BDRjtDL0RrZ1FEOztBOEQxOVBHO0VDeEJGO0MvRHMvUEQ7O0E4RGwrUEc7RUNwQ0Y7Qy9EMGdRRDs7QThEbCtQRztFQ3hCRjtDL0Q4L1BEOztBOEQxK1BHO0VDcENGO0MvRGtoUUQ7O0E4RDErUEc7RUN4QkY7Qy9Ec2dRRDs7QThEeCtQQztFQy9DQTtFQUNBO0VEZ0RFO0M5RDQrUEg7O0E4RHQrUEs7RUNoQ0o7Qy9EMGdRRDs7QThEMStQSztFQ2hDSjtDL0Q4Z1FEOztBOEQ5K1BLO0VDaENKO0MvRGtoUUQ7O0E4RGwvUEs7RUNoQ0o7Qy9Ec2hRRDs7QThEdC9QSztFQ2hDSjtDL0QwaFFEOztBOEQxL1BLO0VDaENKO0MvRDhoUUQ7O0FFdDhQSztFNER4REE7SUNoQ0o7Ry9EbWlRQzs7RThEbmdRRztJQ2hDSjtHL0R1aVFDOztFOER2Z1FHO0lDaENKO0cvRDJpUUM7O0U4RDNnUUc7SUNoQ0o7Ry9EK2lRQzs7RThEL2dRRztJQ2hDSjtHL0RtalFDOztFOERuaFFHO0lDaENKO0cvRHVqUUM7Q0FDRjs7QUVoK1BLO0U0RHhEQTtJQ2hDSjtHL0Q2alFDOztFOEQ3aFFHO0lDaENKO0cvRGlrUUM7O0U4RGppUUc7SUNoQ0o7Ry9EcWtRQzs7RThEcmlRRztJQ2hDSjtHL0R5a1FDOztFOER6aVFHO0lDaENKO0cvRDZrUUM7O0U4RDdpUUc7SUNoQ0o7Ry9EaWxRQztDQUNGOztBOEQvb1FDO0VDWUE7Qy9EdW9RRDs7QThEL29RQztFQUNFO0M5RGtwUUg7O0E4RC9vUUM7RUFDRTtDOURrcFFIOztBOEQvb1FDO0VBQ0U7QzlEa3BRSDs7QThEOW9RRztFQ3NERjtDL0Q0bFFEOztBOERscFFHO0VDc0RGO0MvRGdtUUQ7O0E4RHRwUUc7RUNzREY7Qy9Eb21RRDs7QThEMXBRRztFQ3NERjtDL0R3bVFEOztBRTFoUUs7RTREMUhJO0lDZlI7Ry9Ed3FRQzs7RThEcnBRTztJQUNFO0c5RHdwUVQ7O0U4RHJwUU87SUFDRTtHOUR3cFFUOztFOERycFFPO0lBQ0U7RzlEd3BRVDs7RThEcHBRUztJQzJCVjtHL0Q2blFDOztFOER4cFFTO0lDMkJWO0cvRGlvUUM7O0U4RDVwUVM7SUMyQlY7Ry9EcW9RQzs7RThEaHFRUztJQzJCVjtHL0R5b1FDO0NBQ0Y7O0FFNWpRSztFNEQxSEk7SUNmUjtHL0Qwc1FDOztFOER2clFPO0lBQ0U7RzlEMHJRVDs7RThEdnJRTztJQUNFO0c5RDByUVQ7O0U4RHZyUU87SUFDRTtHOUQwclFUOztFOER0clFTO0lDMkJWO0cvRCtwUUM7O0U4RDFyUVM7SUMyQlY7Ry9EbXFRQzs7RThEOXJRUztJQzJCVjtHL0R1cVFDOztFOERsc1FTO0lDMkJWO0cvRDJxUUM7Q0FDRjs7QWdFL3VRRztFQ2xCRjtFQUNBO0VDaURFO0VDekJFO0VBR0Y7Q25FNnVRSDs7QWdFM3VRRztFRW9CQTtDbEUydFFIOztBZ0UzdlFHO0VDbEJGO0VBQ0E7RUNpREU7RUN6QkU7RUFHRjtDbkV5dlFIOztBZ0V2dlFHO0VFb0JBO0NsRXV1UUg7O0FnRXZ3UUc7RUNsQkY7RUFDQTtFQ2lERTtFQ3pCRTtFQUdGO0NuRXF3UUg7O0FnRW53UUc7RUVvQkE7Q2xFbXZRSDs7QWdFbnhRRztFQ2xCRjtFQUNBO0VDaURFO0VDekJFO0VBR0Y7Q25FaXhRSDs7QWdFL3dRRztFRW9CQTtDbEUrdlFIOztBZ0UveFFHO0VDbEJGO0VBQ0E7RUNpREU7RUN6QkU7RUFHRjtDbkU2eFFIOztBZ0UzeFFHO0VFb0JBO0NsRTJ3UUg7O0FnRTN5UUc7RUNsQkY7RUFDQTtFQ2lERTtFQ3pCRTtFQUdGO0NuRXl5UUg7O0FnRXZ5UUc7RUVvQkE7Q2xFdXhRSDs7QWdFdnpRRztFQ2xCRjtFQUNBO0VDaURFO0VDekJFO0VBR0Y7Q25FcXpRSDs7QWdFbnpRRztFRW9CQTtDbEVteVFIOztBZ0VuMFFHO0VDbEJGO0VBQ0E7RUNpREU7RUN6QkU7RUFHRjtDbkVpMFFIOztBZ0UvelFHO0VFb0JBO0NsRSt5UUg7O0FnRS8wUUc7RUNsQkY7RUFDQTtFQ2lERTtFRWhDQTtDcEVzMVFIOztBZ0UxMFFHO0VFb0JBO0NsRTB6UUg7O0FnRTExUUc7RUNsQkY7RUFDQTtFQ2lERTtFRWhDQTtDcEVpMlFIOztBZ0VyMVFHO0VFb0JBO0NsRXEwUUg7O0FnRXIyUUc7RUNsQkY7RUFDQTtFQ2lERTtFQUFBO0VHekJFO0VBQ0E7Q3JFczJRTDs7QWdFbDJRRztFRW9CQTtFR2RFO0NyRWkyUUw7O0FnRW4zUUc7RUNsQkY7RUFDQTtFQ2lERTtFQUFBO0VHekJFO0VBQ0E7Q3JFbzNRTDs7QWdFaDNRRztFRW9CQTtFR2RFO0NyRSsyUUw7O0FnRWo0UUc7RUNsQkY7RUFDQTtFQ2lERTtFQUFBO0VHekJFO0VBQ0E7Q3JFazRRTDs7QWdFOTNRRztFRW9CQTtFR2RFO0NyRTYzUUw7O0FnRS80UUc7RUNsQkY7RUFDQTtFQ2lERTtFQUFBO0VHekJFO0VBQ0E7Q3JFZzVRTDs7QWdFNTRRRztFRW9CQTtFR2RFO0NyRTI0UUw7O0FnRTc1UUc7RUNsQkY7RUFDQTtFQ2lERTtFQUFBO0VHekJFO0VBQ0E7Q3JFODVRTDs7QWdFMTVRRztFRW9CQTtFR2RFO0NyRXk1UUw7O0FnRTM2UUc7RUNsQkY7RUFDQTtFQ2lERTtFQUFBO0VHekJFO0VBQ0E7Q3JFNDZRTDs7QWdFeDZRRztFRW9CQTtFR2RFO0NyRXU2UUw7O0FnRXo3UUc7RUNsQkY7RUFDQTtFQ2lERTtFQUFBO0VHekJFO0VBQ0E7Q3JFMDdRTDs7QWdFdDdRRztFRW9CQTtFR2RFO0NyRXE3UUw7O0FnRXY4UUc7RUNsQkY7RUFDQTtFQ2lERTtFQUFBO0VHekJFO0VBQ0E7Q3JFdzhRTDs7QWdFcDhRRztFRW9CQTtFR2RFO0NyRW04UUw7O0FnRXI5UUc7RUNsQkY7RUFDQTtFQ2lERTtFQUFBO0VHekJFO0VBQ0E7Q3JFczlRTDs7QWdFbDlRRztFRW9CQTtFR2RFO0NyRWk5UUw7O0FnRW4rUUc7RUNsQkY7RUFDQTtFQ2lERTtFQUFBO0VHekJFO0VBQ0E7Q3JFbytRTDs7QWdFaCtRRztFRW9CQTtFR2RFO0NyRSs5UUw7O0FnRWovUUc7RUNsQkY7RUFDQTtFQ2lERTtFQUFBO0VHekJFO0VBQ0E7Q3JFay9RTDs7QWdFOStRRztFRW9CQTtFR2RFO0NyRTYrUUw7O0FnRS8vUUc7RUNsQkY7RUFDQTtFQ2lERTtFQUFBO0VHekJFO0VBQ0E7Q3JFZ2dSTDs7QWdFNS9RRztFRW9CQTtFR2RFO0NyRTIvUUw7O0FnRTdnUkc7RUNsQkY7RUFDQTtFQ2lERTtFSTdCRTtFQUNBO0N0RWloUkw7O0FnRXpnUkc7RUVvQkE7RUlsQkU7Q3RFNGdSTDs7QWdFMWhSRztFQ2xCRjtFQUNBO0VDaURFO0VJN0JFO0VBQ0E7Q3RFOGhSTDs7QWdFdGhSRztFRW9CQTtFSWxCRTtDdEV5aFJMOztBZ0V2aVJHO0VDbEJGO0VBQ0E7RUNpREU7RUk3QkU7RUFDQTtDdEUyaVJMOztBZ0VuaVJHO0VFb0JBO0VJbEJFO0N0RXNpUkw7O0FnRXBqUkc7RUNsQkY7RUFDQTtFQ2lERTtFSTdCRTtFQUNBO0N0RXdqUkw7O0FnRWhqUkc7RUVvQkE7RUlsQkU7Q3RFbWpSTDs7QWdFamtSRztFQ2xCRjtFQUNBO0VDaURFO0VLN0JFO0VBQ0E7Q3ZFcWtSTDs7QWdFN2pSRztFRW9CQTtFS2xCRTtDdkVna1JMOztBZ0U5a1JHO0VDbEJGO0VBQ0E7RUNpREU7RUs3QkU7RUFDQTtDdkVrbFJMOztBZ0Uxa1JHO0VFb0JBO0VLbEJFO0N2RTZrUkw7O0FnRTNsUkc7RUNsQkY7RUFDQTtFQ2lERTtFSzdCRTtFQUNBO0N2RStsUkw7O0FnRXZsUkc7RUVvQkE7RUtsQkU7Q3ZFMGxSTDs7QWdFeG1SRztFQ2xCRjtFQUNBO0VDaURFO0VLN0JFO0VBQ0E7Q3ZFNG1STDs7QWdFcG1SRztFRW9CQTtFS2xCRTtDdkV1bVJMOztBaUVubFJLO0VBQVk7Q2pFdWxSakI7O0FpRXZsUks7RUFBWTtDakUybFJqQjs7QWlFcmxSSztFQUFZO0NqRXlsUmpCOztBaUV6bFJLO0VBQVk7Q2pFNmxSakI7O0FpRTdsUks7RUFBWTtDakVpbVJqQjs7QWlFam1SSztFQUFZO0NqRXFtUmpCOztBaUVybVJLO0VBQVk7Q2pFeW1SakI7O0FpRXptUks7RUFBWTtDakU2bVJqQjs7QWlFN21SSztFQUFZO0NqRWluUmpCOztBaUVqblJLO0VBQVk7Q2pFcW5SakI7O0FpRS9tUks7RUFBa0I7Q2pFbW5SdkI7O0FpRW5uUks7RUFBa0I7Q2pFdW5SdkI7O0FpRS9tUkM7RU90RUE7Q3hFeXJSRDs7QWtFcHJSQztFQUdJO0lBR0k7R2xFbXJSUDs7RWtFdHJSRztJQUdJO0dsRXVyUlA7Q0FDRjs7QWlFNW5SQztFT3ZFQTtDeEV1c1JEOztBa0Vsc1JDO0VBR0k7SUFHSTtHbEVpc1JQOztFa0Vwc1JHO0lBR0k7R2xFcXNSUDtDQUNGOztBaUV6b1JDO0VPeEVBO0N4RXF0UkQ7O0FrRWh0UkM7RUFHSTtJQUdJO0dsRStzUlA7O0VrRWx0Ukc7SUFHSTtHbEVtdFJQO0NBQ0Y7O0FpRXRwUkM7RU96RUE7Q3hFbXVSRDs7QWtFOXRSQztFQUdJO0lBR0k7R2xFNnRSUDs7RWtFaHVSRztJQUdJO0dsRWl1UlA7O0VrRXB1Ukc7SUFHSTtHbEVxdVJQO0NBQ0Y7O0FpRXRxUkM7Ozs7RUFJRTtDakV5cVJIOztBaUVwcVJDO0VBQVk7Q2pFd3FSYjs7QWlFMXNSSztFQXNDWTtDakV3cVJqQjs7QWlFOXNSSztFQXNDWTtDakU0cVJqQjs7QWlFNXNSSztFQXNDWTtDakUwcVJqQjs7QWlFaHRSSztFQXNDWTtDakU4cVJqQjs7QWlFcHRSSztFQXNDWTtDakVrclJqQjs7QWlFeHRSSztFQXNDWTtDakVzclJqQjs7QWlFNXRSSztFQXNDWTtDakUwclJqQjs7QWlFaHVSSztFQXNDWTtDakU4clJqQjs7QWlFcHVSSztFQXNDWTtDakVrc1JqQjs7QWlFeHVSSztFQXNDWTtDakVzc1JqQjs7QWlFdHVSSztFQXNDa0I7Q2pFb3NSdkI7O0FpRTF1Uks7RUFzQ2tCO0NqRXdzUnZCOztBeUVqelJEOzs7R3pFc3pSRzs7QTBFdHpSSDtnQzFFeXpSZ0M7O0EwRXR6UmhDO0VBQ0U7RUFDQTtFQUNBO0VBTUE7RUFDQTtDMUVvelJEOztBMkU5elJEO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzRWkwUkQ7O0E0RXYwUkQ7O0FBQ0E7RUFDRTtFQUNBO0VBQ0E7QzVFMjBSRDs7QTRFejBSRDtFQUF3QjtDNUU2MFJ2Qjs7QTRFNTBSRDtFQUF3QjtDNUVnMVJ2Qjs7QTRFLzBSRDtFQUF3QjtDNUVtMVJ2Qjs7QTRFbDFSRDtFQUF3QjtDNUVzMVJ2Qjs7QTZFaDJSRDtFQUNFO0VBQ0E7QzdFbTJSRDs7QThFcDJSRDtFQUNFO0VBQ0E7RUFDQTtDOUV1MlJEOztBOEUxMlJEO0VBSVM7QzlFMDJSUjs7QThFeDJSRDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlFMjJSRDs7QThFaDNSRDtFQU9JO0M5RTYyUkg7O0ErRTEzUkQ7RUFDRTtFQUNBO0VBQ0E7Qy9FNjNSRDs7QStFMTNSRDtFQUErQjtDL0U4M1I5Qjs7QStFNzNSRDtFQUFnQztDL0VpNFIvQjs7QStFLzNSRDtFQUNrQztDL0VrNFJqQzs7QStFbjRSRDtFQUVtQztDL0VxNFJsQzs7QStFbDRSRDs7QUFDQTtFQUFjO0MvRXU0UmI7O0ErRXQ0UkQ7RUFBYTtDL0UwNFJaOztBK0V4NFJEO0VBQ2dCO0MvRTI0UmY7O0ErRTU0UkQ7RUFFaUI7Qy9FODRSaEI7O0FnRmw2UkQ7RUFDRTtFQUNRO0NoRnE2UlQ7O0FnRmw2UkQ7RUFDRTtFQUNRO0NoRnE2UlQ7O0FnRmw2UkQ7RUFDRTtJQUNFO0lBQ1E7R2hGcTZSVDs7RWdGbjZSRDtJQUNFO0lBQ1E7R2hGczZSVDtDQUNGOztBZ0ZuNlJEO0VBQ0U7SUFDRTtJQUNRO0doRnM2UlQ7O0VnRnA2UkQ7SUFDRTtJQUNRO0doRnU2UlQ7Q0FDRjs7QWlGcDhSRDtFQ1dFO0VBQ0E7RUFDSTtFQUNJO0NsRjY3UlQ7O0FpRjE4UkQ7RUNVRTtFQUNBO0VBQ0k7RUFDSTtDbEZvOFJUOztBaUZoOVJEO0VDU0U7RUFDQTtFQUNJO0VBQ0k7Q2xGMjhSVDs7QWlGcjlSRDtFQ2NFO0VBQ0E7RUFDSTtFQUNJO0NsRjI4UlQ7O0FpRjM5UkQ7RUNhRTtFQUNBO0VBQ0k7RUFDSTtDbEZrOVJUOztBaUY3OVJEOzs7OztFQUtFO0NqRmcrUkQ7O0FtRi8rUkQ7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25Gay9SRDs7QW1GaC9SRDs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtDbkZvL1JEOztBbUZsL1JEO0VBQThCO0NuRnMvUjdCOztBbUZyL1JEO0VBQThCO0NuRnkvUjdCOztBbUZ4L1JEO0VBQTZCO0NuRjQvUjVCOztBb0YvZ1NEO29FcEZraFNvRTs7QW9GL2dTcEU7RUFBa0M7Q3BGbWhTakM7O0FvRmxoU0Q7RUFBa0M7Q3BGc2hTakM7O0FvRnJoU0Q7RUFBbUM7Q3BGeWhTbEM7O0FvRnhoU0Q7RUFBdUM7Q3BGNGhTdEM7O0FvRjNoU0Q7RUFBa0M7Q3BGK2hTakM7O0FvRjloU0Q7RUFBaUM7Q3BGa2lTaEM7O0FvRmppU0Q7RUFBbUM7Q3BGcWlTbEM7O0FvRnBpU0Q7RUFBaUM7Q3BGd2lTaEM7O0FvRnZpU0Q7RUFBaUM7Q3BGMmlTaEM7O0FvRjFpU0Q7RUFBcUM7Q3BGOGlTcEM7O0FvRjdpU0Q7RUFBK0I7Q3BGaWpTOUI7O0FvRmhqU0Q7RUFBb0M7Q3BGb2pTbkM7O0FvRm5qU0Q7RUFBa0M7Q3BGdWpTakM7O0FvRnRqU0Q7OztFQUVrQztDcEYwalNqQzs7QW9GempTRDtFQUF3QztDcEY2alN2Qzs7QW9GNWpTRDtFQUF5QztDcEZna1N4Qzs7QW9GL2pTRDtFQUFzQztDcEZta1NyQzs7QW9GbGtTRDtFQUFtQztDcEZza1NsQzs7QW9GcmtTRDs7RUFDZ0M7Q3BGeWtTL0I7O0FvRnhrU0Q7RUFBb0M7Q3BGNGtTbkM7O0FvRjNrU0Q7RUFBaUM7Q3BGK2tTaEM7O0FvRjlrU0Q7RUFBbUM7Q3BGa2xTbEM7O0FvRmpsU0Q7RUFBb0M7Q3BGcWxTbkM7O0FvRnBsU0Q7RUFBaUM7Q3BGd2xTaEM7O0FvRnZsU0Q7RUFBcUM7Q3BGMmxTcEM7O0FvRjFsU0Q7RUFBZ0Q7Q3BGOGxTL0M7O0FvRjdsU0Q7RUFBOEM7Q3BGaW1TN0M7O0FvRmhtU0Q7RUFBa0M7Q3BGb21TakM7O0FvRm5tU0Q7RUFBMEM7Q3BGdW1TekM7O0FvRnRtU0Q7O0VBQ21DO0NwRjBtU2xDOztBb0Z6bVNEO0VBQW9DO0NwRjZtU25DOztBb0Y1bVNEO0VBQXFDO0NwRmduU3BDOztBb0YvbVNEO0VBQWlDO0NwRm1uU2hDOztBb0ZsblNEO0VBQWlDO0NwRnNuU2hDOztBb0ZyblNEO0VBQXVDO0NwRnluU3RDOztBb0Z4blNEO0VBQXVDO0NwRjRuU3RDOztBb0YzblNEO0VBQXdDO0NwRituU3ZDOztBb0Y5blNEO0VBQXNDO0NwRmtvU3JDOztBb0Zqb1NEO0VBQW1DO0NwRnFvU2xDOztBb0Zwb1NEO0VBQW9DO0NwRndvU25DOztBb0Z2b1NEO0VBQWdDO0NwRjJvUy9COztBb0Yxb1NEO0VBQWlDO0NwRjhvU2hDOztBb0Y3b1NEO0VBQWlDO0NwRmlwU2hDOztBb0ZocFNEO0VBQXFDO0NwRm9wU3BDOztBb0ZucFNEO0VBQWtDO0NwRnVwU2pDOztBb0Z0cFNEO0VBQW1DO0NwRjBwU2xDOztBb0Z6cFNEO0VBQWlDO0NwRjZwU2hDOztBb0Y1cFNEO0VBQWlDO0NwRmdxU2hDOztBb0YvcFNEO0VBQW1DO0NwRm1xU2xDOztBb0ZscVNEO0VBQXdDO0NwRnNxU3ZDOztBb0ZycVNEO0VBQXVDO0NwRnlxU3RDOztBb0Z4cVNEO0VBQXVDO0NwRjRxU3RDOztBb0YzcVNEO0VBQXlDO0NwRitxU3hDOztBb0Y5cVNEO0VBQXdDO0NwRmtyU3ZDOztBb0ZqclNEO0VBQTBDO0NwRnFyU3pDOztBb0ZwclNEO0VBQWlDO0NwRndyU2hDOztBb0Z2clNEOztFQUNvQztDcEYyclNuQzs7QW9GMXJTRDtFQUFtQztDcEY4clNsQzs7QW9GN3JTRDtFQUF5QztDcEZpc1N4Qzs7QW9GaHNTRDs7O0VBRXNDO0NwRm9zU3JDOztBb0Zuc1NEO0VBQW1DO0NwRnVzU2xDOztBb0Z0c1NEO0VBQXVDO0NwRjBzU3RDOztBb0Z6c1NEO0VBQW1DO0NwRjZzU2xDOztBb0Y1c1NEO0VBQWlDO0NwRmd0U2hDOztBb0Yvc1NEOztFQUM0QztDcEZtdFMzQzs7QW9GbHRTRDtFQUEyQztDcEZzdFMxQzs7QW9GcnRTRDtFQUEyQztDcEZ5dFMxQzs7QW9GeHRTRDtFQUFtQztDcEY0dFNsQzs7QW9GM3RTRDtFQUEwQztDcEYrdFN6Qzs7QW9GOXRTRDtFQUEwQztDcEZrdVN6Qzs7QW9GanVTRDtFQUFxQztDcEZxdVNwQzs7QW9GcHVTRDtFQUFpQztDcEZ3dVNoQzs7QW9GdnVTRDtFQUFrQztDcEYydVNqQzs7QW9GMXVTRDtFQUFpQztDcEY4dVNoQzs7QW9GN3VTRDtFQUFvQztDcEZpdlNuQzs7QW9GaHZTRDtFQUF5QztDcEZvdlN4Qzs7QW9GbnZTRDtFQUF5QztDcEZ1dlN4Qzs7QW9GdHZTRDtFQUFrQztDcEYwdlNqQzs7QW9GenZTRDtFQUF5QztDcEY2dlN4Qzs7QW9GNXZTRDtFQUEwQztDcEZnd1N6Qzs7QW9GL3ZTRDtFQUF3QztDcEZtd1N2Qzs7QW9GbHdTRDtFQUF5QztDcEZzd1N4Qzs7QW9GcndTRDtFQUF5QztDcEZ5d1N4Qzs7QW9GeHdTRDtFQUF5QztDcEY0d1N4Qzs7QW9GM3dTRDtFQUE0QztDcEYrd1MzQzs7QW9GOXdTRDtFQUF3QztDcEZreFN2Qzs7QW9GanhTRDtFQUF1QztDcEZxeFN0Qzs7QW9GcHhTRDtFQUEyQztDcEZ3eFMxQzs7QW9GdnhTRDtFQUEyQztDcEYyeFMxQzs7QW9GMXhTRDtFQUFnQztDcEY4eFMvQjs7QW9GN3hTRDtFQUF1QztDcEZpeVN0Qzs7QW9GaHlTRDtFQUF3QztDcEZveVN2Qzs7QW9GbnlTRDtFQUFxQztDcEZ1eVNwQzs7QW9GdHlTRDtFQUF1QztDcEYweVN0Qzs7QW9GenlTRDs7RUFDa0M7Q3BGNnlTakM7O0FvRjV5U0Q7RUFBbUM7Q3BGZ3pTbEM7O0FvRi95U0Q7RUFBcUM7Q3BGbXpTcEM7O0FvRmx6U0Q7RUFBaUM7Q3BGc3pTaEM7O0FvRnJ6U0Q7RUFBa0M7Q3BGeXpTakM7O0FvRnh6U0Q7RUFBcUM7Q3BGNHpTcEM7O0FvRjN6U0Q7RUFBK0M7Q3BGK3pTOUM7O0FvRjl6U0Q7RUFBaUM7Q3BGazBTaEM7O0FvRmowU0Q7RUFBaUM7Q3BGcTBTaEM7O0FvRnAwU0Q7RUFBaUM7Q3BGdzBTaEM7O0FvRnYwU0Q7RUFBZ0M7Q3BGMjBTL0I7O0FvRjEwU0Q7RUFBc0M7Q3BGODBTckM7O0FvRjcwU0Q7O0VBQ2lEO0NwRmkxU2hEOztBb0ZoMVNEO0VBQWtDO0NwRm8xU2pDOztBb0ZuMVNEO0VBQXFDO0NwRnUxU3BDOztBb0Z0MVNEO0VBQW1DO0NwRjAxU2xDOztBb0Z6MVNEO0VBQW9DO0NwRjYxU25DOztBb0Y1MVNEO0VBQW1DO0NwRmcyU2xDOztBb0YvMVNEO0VBQXVDO0NwRm0yU3RDOztBb0ZsMlNEO0VBQXlDO0NwRnMyU3hDOztBb0ZyMlNEO0VBQW9DO0NwRnkyU25DOztBb0Z4MlNEO0VBQTBDO0NwRjQyU3pDOztBb0YzMlNEO0VBQW1DO0NwRisyU2xDOztBb0Y5MlNEO0VBQXdDO0NwRmszU3ZDOztBb0ZqM1NEO0VBQXFDO0NwRnEzU3BDOztBb0ZwM1NEO0VBQXFDO0NwRnczU3BDOztBb0Z2M1NEOztFQUNzQztDcEYyM1NyQzs7QW9GMTNTRDtFQUEyQztDcEY4M1MxQzs7QW9GNzNTRDtFQUE0QztDcEZpNFMzQzs7QW9GaDRTRDtFQUF5QztDcEZvNFN4Qzs7QW9GbjRTRDtFQUFnQztDcEZ1NFMvQjs7QW9GdDRTRDs7RUFDaUM7Q3BGMDRTaEM7O0FvRno0U0Q7RUFBcUM7Q3BGNjRTcEM7O0FvRjU0U0Q7RUFBd0M7Q3BGZzVTdkM7O0FvRi80U0Q7RUFBMEM7Q3BGbTVTekM7O0FvRmw1U0Q7RUFBc0M7Q3BGczVTckM7O0FvRnI1U0Q7RUFBb0M7Q3BGeTVTbkM7O0FvRng1U0Q7RUFBcUM7Q3BGNDVTcEM7O0FvRjM1U0Q7RUFBNEM7Q3BGKzVTM0M7O0FvRjk1U0Q7RUFBdUM7Q3BGazZTdEM7O0FvRmo2U0Q7RUFBMEM7Q3BGcTZTekM7O0FvRnA2U0Q7RUFBb0M7Q3BGdzZTbkM7O0FvRnY2U0Q7RUFBbUM7Q3BGMjZTbEM7O0FvRjE2U0Q7RUFBMEM7Q3BGODZTekM7O0FvRjc2U0Q7RUFBbUM7Q3BGaTdTbEM7O0FvRmg3U0Q7RUFBb0M7Q3BGbzdTbkM7O0FvRm43U0Q7RUFBa0M7Q3BGdTdTakM7O0FvRnQ3U0Q7RUFBcUM7Q3BGMDdTcEM7O0FvRno3U0Q7RUFBdUM7Q3BGNjdTdEM7O0FvRjU3U0Q7RUFBeUM7Q3BGZzhTeEM7O0FvRi83U0Q7RUFBb0M7Q3BGbThTbkM7O0FvRmw4U0Q7O0VBQ3FDO0NwRnM4U3BDOztBb0ZyOFNEO0VBQW1DO0NwRnk4U2xDOztBb0Z4OFNEO0VBQW1DO0NwRjQ4U2xDOztBb0YzOFNEO0VBQXdDO0NwRis4U3ZDOztBb0Y5OFNEOztFQUNnQztDcEZrOVMvQjs7QW9GajlTRDtFQUFrQztDcEZxOVNqQzs7QW9GcDlTRDtFQUFxQztDcEZ3OVNwQzs7QW9GdjlTRDtFQUFpQztDcEYyOVNoQzs7QW9GMTlTRDtFQUF3QztDcEY4OVN2Qzs7QW9GNzlTRDtFQUF5QztDcEZpK1N4Qzs7QW9GaCtTRDtFQUF3QztDcEZvK1N2Qzs7QW9GbitTRDtFQUFzQztDcEZ1K1NyQzs7QW9GdCtTRDtFQUF3QztDcEYwK1N2Qzs7QW9GeitTRDtFQUE4QztDcEY2K1M3Qzs7QW9GNStTRDtFQUErQztDcEZnL1M5Qzs7QW9GLytTRDtFQUE0QztDcEZtL1MzQzs7QW9GbC9TRDtFQUE4QztDcEZzL1M3Qzs7QW9Gci9TRDtFQUFrQztDcEZ5L1NqQzs7QW9GeC9TRDtFQUFtQztDcEY0L1NsQzs7QW9GMy9TRDtFQUFrQztDcEYrL1NqQzs7QW9GOS9TRDtFQUFtQztDcEZrZ1RsQzs7QW9GamdURDtFQUFzQztDcEZxZ1RyQzs7QW9GcGdURDtFQUF1QztDcEZ3Z1R0Qzs7QW9GdmdURDs7RUFDa0M7Q3BGMmdUakM7O0FvRjFnVEQ7O0VBQ2lDO0NwRjhnVGhDOztBb0Y3Z1REO0VBQWtDO0NwRmloVGpDOztBb0ZoaFREO0VBQWtDO0NwRm9oVGpDOztBb0ZuaFREOztFQUNxQztDcEZ1aFRwQzs7QW9GdGhURDs7RUFDb0M7Q3BGMGhUbkM7O0FvRnpoVEQ7RUFBc0M7Q3BGNmhUckM7O0FvRjVoVEQ7O0VBQ3FDO0NwRmdpVHBDOztBb0YvaFREO0VBQW1DO0NwRm1pVGxDOztBb0ZsaVREOzs7RUFFaUM7Q3BGc2lUaEM7O0FvRnJpVEQ7RUFBb0M7Q3BGeWlUbkM7O0FvRnhpVEQ7RUFBb0M7Q3BGNGlUbkM7O0FvRjNpVEQ7RUFBMEM7Q3BGK2lUekM7O0FvRjlpVEQ7RUFBc0M7Q3BGa2pUckM7O0FvRmpqVEQ7RUFBa0M7Q3BGcWpUakM7O0FvRnBqVEQ7RUFBa0M7Q3BGd2pUakM7O0FvRnZqVEQ7RUFBa0M7Q3BGMmpUakM7O0FvRjFqVEQ7RUFBc0M7Q3BGOGpUckM7O0FvRjdqVEQ7RUFBNkM7Q3BGaWtUNUM7O0FvRmhrVEQ7RUFBK0M7Q3BGb2tUOUM7O0FvRm5rVEQ7RUFBd0M7Q3BGdWtUdkM7O0FvRnRrVEQ7RUFBa0M7Q3BGMGtUakM7O0FvRnprVEQ7RUFBdUM7Q3BGNmtUdEM7O0FvRjVrVEQ7RUFBcUM7Q3BGZ2xUcEM7O0FvRi9rVEQ7RUFBdUM7Q3BGbWxUdEM7O0FvRmxsVEQ7RUFBd0M7Q3BGc2xUdkM7O0FvRnJsVEQ7RUFBb0M7Q3BGeWxUbkM7O0FvRnhsVEQ7O0VBQ2lDO0NwRjRsVGhDOztBb0YzbFREOztFQUNzQztDcEYrbFRyQzs7QW9GOWxURDs7RUFDcUM7Q3BGa21UcEM7O0FvRmptVEQ7RUFBcUM7Q3BGcW1UcEM7O0FvRnBtVEQ7RUFBcUM7Q3BGd21UcEM7O0FvRnZtVEQ7O0VBQ2lDO0NwRjJtVGhDOztBb0YxbVREOztFQUNrQztDcEY4bVRqQzs7QW9GN21URDs7RUFDdUM7Q3BGaW5UdEM7O0FvRmhuVEQ7RUFBc0M7Q3BGb25UckM7O0FvRm5uVEQ7RUFBdUM7Q3BGdW5UdEM7O0FvRnRuVEQ7O0VBQ2lDO0NwRjBuVGhDOztBb0Z6blREO0VBQW9DO0NwRjZuVG5DOztBb0Y1blREO0VBQXFDO0NwRmdvVHBDOztBb0YvblREOztFQUNzQztDcEZtb1RyQzs7QW9GbG9URDtFQUF3QztDcEZzb1R2Qzs7QW9Gcm9URDtFQUFxQztDcEZ5b1RwQzs7QW9GeG9URDtFQUEyQztDcEY0b1QxQzs7QW9GM29URDtFQUF5QztDcEYrb1R4Qzs7QW9GOW9URDtFQUFvQztDcEZrcFRuQzs7QW9GanBURDtFQUF3QztDcEZxcFR2Qzs7QW9GcHBURDtFQUFxQztDcEZ3cFRwQzs7QW9GdnBURDtFQUFtQztDcEYycFRsQzs7QW9GMXBURDtFQUFtQztDcEY4cFRsQzs7QW9GN3BURDtFQUFvQztDcEZpcVRuQzs7QW9GaHFURDtFQUF3QztDcEZvcVR2Qzs7QW9GbnFURDtFQUF1QztDcEZ1cVR0Qzs7QW9GdHFURDtFQUF1QztDcEYwcVR0Qzs7QW9GenFURDtFQUFzQztDcEY2cVRyQzs7QW9GNXFURDtFQUFtQztDcEZnclRsQzs7QW9GL3FURDtFQUF3QztDcEZtclR2Qzs7QW9GbHJURDtFQUFpQztDcEZzclRoQzs7QW9GcnJURDtFQUFxQztDcEZ5clRwQzs7QW9GeHJURDtFQUF3QztDcEY0clR2Qzs7QW9GM3JURDtFQUE4QztDcEYrclQ3Qzs7QW9GOXJURDtFQUErQztDcEZrc1Q5Qzs7QW9GanNURDtFQUE0QztDcEZxc1QzQzs7QW9GcHNURDtFQUE4QztDcEZ3c1Q3Qzs7QW9GdnNURDtFQUF1QztDcEYyc1R0Qzs7QW9GMXNURDtFQUF3QztDcEY4c1R2Qzs7QW9GN3NURDtFQUFxQztDcEZpdFRwQzs7QW9GaHRURDtFQUF1QztDcEZvdFR0Qzs7QW9GbnRURDtFQUFvQztDcEZ1dFRuQzs7QW9GdHRURDtFQUFtQztDcEYwdFRsQzs7QW9GenRURDtFQUFtQztDcEY2dFRsQzs7QW9GNXRURDs7RUFDbUM7Q3BGZ3VUbEM7O0FvRi90VEQ7RUFBcUM7Q3BGbXVUcEM7O0FvRmx1VEQ7RUFBdUM7Q3BGc3VUdEM7O0FvRnJ1VEQ7RUFBd0M7Q3BGeXVUdkM7O0FvRnh1VEQ7RUFBb0M7Q3BGNHVUbkM7O0FvRjN1VEQ7RUFBbUM7Q3BGK3VUbEM7O0FvRjl1VEQ7O0VBQ2tDO0NwRmt2VGpDOztBb0ZqdlREO0VBQXVDO0NwRnF2VHRDOztBb0ZwdlREO0VBQXFDO0NwRnd2VHBDOztBb0Z2dlREO0VBQTBDO0NwRjJ2VHpDOztBb0YxdlREO0VBQW9DO0NwRjh2VG5DOztBb0Y3dlREO0VBQW9DO0NwRml3VG5DOztBb0Zod1REO0VBQWtDO0NwRm93VGpDOztBb0Zud1REO0VBQW9DO0NwRnV3VG5DOztBb0Z0d1REO0VBQXVDO0NwRjB3VHRDOztBb0Z6d1REO0VBQW1DO0NwRjZ3VGxDOztBb0Y1d1REO0VBQTJDO0NwRmd4VDFDOztBb0Yvd1REO0VBQXFDO0NwRm14VHBDOztBb0ZseFREO0VBQWlDO0NwRnN4VGhDOztBb0ZyeFREOztFQUNzQztDcEZ5eFRyQzs7QW9GeHhURDs7O0VBRXdDO0NwRjR4VHZDOztBb0YzeFREO0VBQTJDO0NwRit4VDFDOztBb0Y5eFREO0VBQWlDO0NwRmt5VGhDOztBb0ZqeVREO0VBQXNDO0NwRnF5VHJDOztBb0ZweVREOztFQUN5QztDcEZ3eVR4Qzs7QW9GdnlURDtFQUFxQztDcEYyeVRwQzs7QW9GMXlURDtFQUFpQztDcEY4eVRoQzs7QW9GN3lURDtFQUF3QztDcEZpelR2Qzs7QW9GaHpURDtFQUF3QztDcEZvelR2Qzs7QW9GbnpURDtFQUFzQztDcEZ1elRyQzs7QW9GdHpURDtFQUFtQztDcEYwelRsQzs7QW9GenpURDtFQUF5QztDcEY2elR4Qzs7QW9GNXpURDtFQUF1QztDcEZnMFR0Qzs7QW9GL3pURDtFQUE2QztDcEZtMFQ1Qzs7QW9GbDBURDtFQUFtQztDcEZzMFRsQzs7QW9GcjBURDtFQUF1QztDcEZ5MFR0Qzs7QW9GeDBURDtFQUE4QztDcEY0MFQ3Qzs7QW9GMzBURDtFQUFtQztDcEYrMFRsQzs7QW9GOTBURDtFQUFtQztDcEZrMVRsQzs7QW9GajFURDtFQUFnRDtDcEZxMVQvQzs7QW9GcDFURDtFQUFpRDtDcEZ3MVRoRDs7QW9GdjFURDtFQUE4QztDcEYyMVQ3Qzs7QW9GMTFURDtFQUFnRDtDcEY4MVQvQzs7QW9GNzFURDtFQUFrQztDcEZpMlRqQzs7QW9GaDJURDtFQUFpQztDcEZvMlRoQzs7QW9GbjJURDtFQUFtQztDcEZ1MlRsQzs7QW9GdDJURDtFQUF1QztDcEYwMlR0Qzs7QW9GejJURDtFQUFxQztDcEY2MlRwQzs7QW9GNTJURDtFQUF1QztDcEZnM1R0Qzs7QW9GLzJURDtFQUF1QztDcEZtM1R0Qzs7QW9GbDNURDtFQUF1QztDcEZzM1R0Qzs7QW9GcjNURDtFQUF3QztDcEZ5M1R2Qzs7QW9GeDNURDtFQUFtQztDcEY0M1RsQzs7QW9GMzNURDtFQUF5QztDcEYrM1R4Qzs7QW9GOTNURDtFQUEyQztDcEZrNFQxQzs7QW9GajRURDtFQUFxQztDcEZxNFRwQzs7QW9GcDRURDtFQUF1QztDcEZ3NFR0Qzs7QW9GdjRURDtFQUF5QztDcEYyNFR4Qzs7QW9GMTRURDtFQUEwQztDcEY4NFR6Qzs7QW9GNzRURDtFQUFpRDtDcEZpNVRoRDs7QW9GaDVURDtFQUF5QztDcEZvNVR4Qzs7QW9GbjVURDtFQUFvQztDcEZ1NVRuQzs7QW9GdDVURDs7RUFDZ0Q7Q3BGMDVUL0M7O0FvRno1VEQ7O0VBQzhDO0NwRjY1VDdDOztBb0Y1NVREOztFQUNpRDtDcEZnNlRoRDs7QW9GLzVURDs7RUFDZ0M7Q3BGbTZUL0I7O0FvRmw2VEQ7RUFBZ0M7Q3BGczZUL0I7O0FvRnI2VEQ7O0VBQ2dDO0NwRnk2VC9COztBb0Z4NlREOztFQUNnQztDcEY0NlQvQjs7QW9GMzZURDs7OztFQUdnQztDcEYrNlQvQjs7QW9GOTZURDs7O0VBRWdDO0NwRms3VC9COztBb0ZqN1REOztFQUNnQztDcEZxN1QvQjs7QW9GcDdURDs7RUFDZ0M7Q3BGdzdUL0I7O0FvRnY3VEQ7RUFBaUM7Q3BGMjdUaEM7O0FvRjE3VEQ7RUFBc0M7Q3BGODdUckM7O0FvRjc3VEQ7RUFBMkM7Q3BGaThUMUM7O0FvRmg4VEQ7RUFBNEM7Q3BGbzhUM0M7O0FvRm44VEQ7RUFBNEM7Q3BGdThUM0M7O0FvRnQ4VEQ7RUFBNkM7Q3BGMDhUNUM7O0FvRno4VEQ7RUFBNkM7Q3BGNjhUNUM7O0FvRjU4VEQ7RUFBOEM7Q3BGZzlUN0M7O0FvRi84VEQ7RUFBc0M7Q3BGbTlUckM7O0FvRmw5VEQ7RUFBd0M7Q3BGczlUdkM7O0FvRnI5VEQ7RUFBMkM7Q3BGeTlUMUM7O0FvRng5VEQ7RUFBb0M7Q3BGNDlUbkM7O0FvRjM5VEQ7RUFBaUM7Q3BGKzlUaEM7O0FvRjk5VEQ7RUFBd0M7Q3BGaytUdkM7O0FvRmorVEQ7RUFBeUM7Q3BGcStUeEM7O0FvRnArVEQ7RUFBb0M7Q3BGdytUbkM7O0FvRnYrVEQ7RUFBMkM7Q3BGMitUMUM7O0FvRjErVEQ7RUFBc0M7Q3BGOCtUckM7O0FvRjcrVEQ7RUFBbUM7Q3BGaS9UbEM7O0FvRmgvVEQ7RUFBZ0M7Q3BGby9UL0I7O0FvRm4vVEQ7RUFBc0M7Q3BGdS9UckM7O0FvRnQvVEQ7RUFBNkM7Q3BGMC9UNUM7O0FvRnovVEQ7RUFBbUM7Q3BGNi9UbEM7O0FvRjUvVEQ7RUFBMEM7Q3BGZ2dVekM7O0FvRi8vVEQ7RUFBNEM7Q3BGbWdVM0M7O0FvRmxnVUQ7RUFBMEM7Q3BGc2dVekM7O0FvRnJnVUQ7RUFBNEM7Q3BGeWdVM0M7O0FvRnhnVUQ7RUFBNkM7Q3BGNGdVNUM7O0FvRjNnVUQ7RUFBa0M7Q3BGK2dVakM7O0FvRjlnVUQ7RUFBb0M7Q3BGa2hVbkM7O0FvRmpoVUQ7RUFBb0M7Q3BGcWhVbkM7O0FvRnBoVUQ7RUFBa0M7Q3BGd2hVakM7O0FvRnZoVUQ7RUFBcUM7Q3BGMmhVcEM7O0FvRjFoVUQ7RUFBa0M7Q3BGOGhVakM7O0FvRjdoVUQ7RUFBdUM7Q3BGaWlVdEM7O0FvRmhpVUQ7RUFBbUM7Q3BGb2lVbEM7O0FvRm5pVUQ7RUFBbUM7Q3BGdWlVbEM7O0FvRnRpVUQ7RUFBaUM7Q3BGMGlVaEM7O0FvRnppVUQ7O0VBQ3FDO0NwRjZpVXBDOztBb0Y1aVVEO0VBQWtDO0NwRmdqVWpDOztBb0YvaVVEO0VBQW1DO0NwRm1qVWxDOztBb0ZsalVEO0VBQW9DO0NwRnNqVW5DOztBb0ZyalVEO0VBQWdDO0NwRnlqVS9COztBb0Z4alVEO0VBQStCO0NwRjRqVTlCOztBb0YzalVEO0VBQWtDO0NwRitqVWpDOztBb0Y5alVEO0VBQW1DO0NwRmtrVWxDOztBb0Zqa1VEO0VBQXNDO0NwRnFrVXJDOztBb0Zwa1VEO0VBQTJDO0NwRndrVTFDOztBb0Z2a1VEO0VBQWlEO0NwRjJrVWhEOztBb0Yxa1VEO0VBQWdEO0NwRjhrVS9DOztBb0Y3a1VEOztFQUNnRDtDcEZpbFUvQzs7QW9GaGxVRDtFQUF5QztDcEZvbFV4Qzs7QW9GbmxVRDtFQUF1QztDcEZ1bFV0Qzs7QW9GdGxVRDtFQUF5QztDcEYwbFV4Qzs7QW9GemxVRDs7RUFDZ0M7Q3BGNmxVL0I7O0FvRjVsVUQ7RUFBMEM7Q3BGZ21VekM7O0FvRi9sVUQ7RUFBMEM7Q3BGbW1VekM7O0FvRmxtVUQ7RUFBa0M7Q3BGc21VakM7O0FvRnJtVUQ7RUFBNEM7Q3BGeW1VM0M7O0FvRnhtVUQ7RUFBc0M7Q3BGNG1VckM7O0FvRjNtVUQ7RUFBbUM7Q3BGK21VbEM7O0FvRjltVUQ7OztFQUV1QztDcEZrblV0Qzs7QW9Gam5VRDs7RUFDMkM7Q3BGcW5VMUM7O0FvRnBuVUQ7RUFBa0M7Q3BGd25VakM7O0FvRnZuVUQ7RUFBbUM7Q3BGMm5VbEM7O0FvRjFuVUQ7RUFBbUM7Q3BGOG5VbEM7O0FvRjduVUQ7RUFBMEM7Q3BGaW9VekM7O0FvRmhvVUQ7RUFBK0M7Q3BGb29VOUM7O0FvRm5vVUQ7RUFBd0M7Q3BGdW9VdkM7O0FvRnRvVUQ7RUFBc0M7Q3BGMG9VckM7O0FvRnpvVUQ7RUFBaUM7Q3BGNm9VaEM7O0FvRjVvVUQ7RUFBMEM7Q3BGZ3BVekM7O0FvRi9vVUQ7RUFBMkM7Q3BGbXBVMUM7O0FvRmxwVUQ7RUFBbUM7Q3BGc3BVbEM7O0FvRnJwVUQ7RUFBbUM7Q3BGeXBVbEM7O0FvRnhwVUQ7RUFBcUM7Q3BGNHBVcEM7O0FvRjNwVUQ7RUFBZ0M7Q3BGK3BVL0I7O0FvRjlwVUQ7RUFBcUM7Q3BGa3FVcEM7O0FvRmpxVUQ7RUFBa0M7Q3BGcXFVakM7O0FvRnBxVUQ7RUFBZ0M7Q3BGd3FVL0I7O0FvRnZxVUQ7RUFBa0M7Q3BGMnFVakM7O0FvRjFxVUQ7RUFBaUM7Q3BGOHFVaEM7O0FvRjdxVUQ7RUFBa0M7Q3BGaXJVakM7O0FvRmhyVUQ7RUFBb0M7Q3BGb3JVbkM7O0FvRm5yVUQ7RUFBMkM7Q3BGdXJVMUM7O0FvRnRyVUQ7RUFBa0M7Q3BGMHJVakM7O0FvRnpyVUQ7RUFBeUM7Q3BGNnJVeEM7O0FvRjVyVUQ7RUFBb0M7Q3BGZ3NVbkM7O0FvRi9yVUQ7O0VBQ2dDO0NwRm1zVS9COztBb0Zsc1VEOztFQUNpQztDcEZzc1VoQzs7QW9GcnNVRDtFQUFpQztDcEZ5c1VoQzs7QW9GeHNVRDtFQUFvQztDcEY0c1VuQzs7QW9GM3NVRDtFQUF1QztDcEYrc1V0Qzs7QW9GOXNVRDtFQUF1QztDcEZrdFV0Qzs7QW9GanRVRDtFQUFxQztDcEZxdFVwQzs7QW9GcHRVRDtFQUF1QztDcEZ3dFV0Qzs7QW9GdnRVRDtFQUF3QztDcEYydFV2Qzs7QW9GMXRVRDtFQUF5QztDcEY4dFV4Qzs7QW9GN3RVRDtFQUE4QztDcEZpdVU3Qzs7QW9GaHVVRDs7O0VBRXlDO0NwRm91VXhDOztBb0ZudVVEOztFQUMyQztDcEZ1dVUxQzs7QW9GdHVVRDs7RUFDeUM7Q3BGMHVVeEM7O0FvRnp1VUQ7O0VBQ3lDO0NwRjZ1VXhDOztBb0Y1dVVEO0VBQXdDO0NwRmd2VXZDOztBb0YvdVVEO0VBQWlDO0NwRm12VWhDOztBb0ZsdlVEO0VBQW9DO0NwRnN2VW5DOztBb0ZydlVEO0VBQXFDO0NwRnl2VXBDOztBb0Z4dlVEOzs7OztFQUlzQztDcEY0dlVyQzs7QW9GM3ZVRDtFQUEyQztDcEYrdlUxQzs7QW9GOXZVRDs7O0VBRWtDO0NwRmt3VWpDOztBb0Zqd1VEOztFQUNtQztDcEZxd1VsQzs7QW9GcHdVRDtFQUF1QztDcEZ3d1V0Qzs7QW9GdndVRDtFQUFnQztDcEYyd1UvQjs7QW9GMXdVRDs7O0VBRXdDO0NwRjh3VXZDOztBb0Y3d1VEO0VBQTBDO0NwRml4VXpDOztBb0ZoeFVEO0VBQStCO0NwRm94VTlCOztBb0ZueFVEOztFQUNtQztDcEZ1eFVsQzs7QW9GdHhVRDs7RUFDd0M7Q3BGMHhVdkM7O0FvRnp4VUQ7O0VBQzBDO0NwRjZ4VXpDOztBb0Y1eFVEO0VBQW9DO0NwRmd5VW5DOztBb0YveFVEO0VBQXdDO0NwRm15VXZDOztBb0ZseVVEO0VBQW1DO0NwRnN5VWxDOztBb0ZyeVVEO0VBQXNDO0NwRnl5VXJDOztBb0Z4eVVEO0VBQW9DO0NwRjR5VW5DOztBb0YzeVVEO0VBQXNDO0NwRit5VXJDOztBb0Y5eVVEO0VBQTZDO0NwRmt6VTVDOztBb0ZqelVEO0VBQWlDO0NwRnF6VWhDOztBb0ZwelVEOztFQUNxQztDcEZ3elVwQzs7QW9GdnpVRDtFQUFnQztDcEYyelUvQjs7QW9GMXpVRDtFQUF1QztDcEY4elV0Qzs7QW9GN3pVRDtFQUFpQztDcEZpMFVoQzs7QW9GaDBVRDtFQUF1QztDcEZvMFV0Qzs7QW9GbjBVRDtFQUFtQztDcEZ1MFVsQzs7QW9GdDBVRDtFQUFpQztDcEYwMFVoQzs7QW9GejBVRDtFQUF3QztDcEY2MFV2Qzs7QW9GNTBVRDtFQUFpQztDcEZnMVVoQzs7QW9GLzBVRDtFQUF1QztDcEZtMVV0Qzs7QW9GbDFVRDtFQUFtQztDcEZzMVVsQzs7QW9GcjFVRDtFQUEwQztDcEZ5MVV6Qzs7QW9GeDFVRDtFQUFvQztDcEY0MVVuQzs7QW9GMzFVRDtFQUEwQztDcEYrMVV6Qzs7QW9GOTFVRDtFQUF3QztDcEZrMlV2Qzs7QW9GajJVRDtFQUFvQztDcEZxMlVuQzs7QW9GcDJVRDtFQUFzQztDcEZ3MlVyQzs7QW9GdjJVRDtFQUFzQztDcEYyMlVyQzs7QW9GMTJVRDtFQUF1QztDcEY4MlV0Qzs7QW9GNzJVRDtFQUF5QztDcEZpM1V4Qzs7QW9GaDNVRDtFQUFrQztDcEZvM1VqQzs7QW9GbjNVRDtFQUFzQztDcEZ1M1VyQzs7QW9GdDNVRDtFQUErQjtDcEYwM1U5Qjs7QW9GejNVRDtFQUF1QztDcEY2M1V0Qzs7QW9GNTNVRDtFQUF3QztDcEZnNFV2Qzs7QW9GLzNVRDtFQUEwQztDcEZtNFV6Qzs7QW9GbDRVRDtFQUF1QztDcEZzNFV0Qzs7QW9GcjRVRDtFQUFzQztDcEZ5NFVyQzs7QW9GeDRVRDtFQUF1QztDcEY0NFV0Qzs7QW9GMzRVRDtFQUFtQztDcEYrNFVsQzs7QW9GOTRVRDtFQUEwQztDcEZrNVV6Qzs7QW9GajVVRDtFQUF1QztDcEZxNVV0Qzs7QW9GcDVVRDtFQUFzQztDcEZ3NVVyQzs7QW9GdjVVRDtFQUFvQztDcEYyNVVuQzs7QW9GMTVVRDtFQUFnQztDcEY4NVUvQjs7QW9GNzVVRDtFQUFvQztDcEZpNlVuQzs7QW9GaDZVRDtFQUFzQztDcEZvNlVyQzs7QW9GbjZVRDtFQUErQjtDcEZ1NlU5Qjs7QW9GdDZVRDs7O0VBRWdDO0NwRjA2VS9COztBb0Z6NlVEO0VBQXFDO0NwRjY2VXBDOztBb0Y1NlVEO0VBQXVDO0NwRmc3VXRDOztBb0YvNlVEO0VBQTJDO0NwRm03VTFDOztBb0ZsN1VEO0VBQXFDO0NwRnM3VXBDOztBb0ZyN1VEO0VBQXFDO0NwRnk3VXBDOztBb0Z4N1VEO0VBQW9DO0NwRjQ3VW5DOztBb0YzN1VEO0VBQW1DO0NwRis3VWxDOztBb0Y5N1VEO0VBQXlDO0NwRms4VXhDOztBb0ZqOFVEO0VBQXdDO0NwRnE4VXZDOztBb0ZwOFVEO0VBQXFDO0NwRnc4VXBDOztBb0Z2OFVEO0VBQXNDO0NwRjI4VXJDOztBb0YxOFVEO0VBQTRDO0NwRjg4VTNDOztBb0Y3OFVEO0VBQW9DO0NwRmk5VW5DOztBb0ZoOVVEO0VBQWlDO0NwRm85VWhDOztBb0ZuOVVEO0VBQXdDO0NwRnU5VXZDOztBb0Z0OVVEO0VBQXVDO0NwRjA5VXRDOztBb0Z6OVVEO0VBQXdDO0NwRjY5VXZDOztBb0Y1OVVEO0VBQXNDO0NwRmcrVXJDOztBb0YvOVVEO0VBQWtDO0NwRm0rVWpDOztBb0ZsK1VEO0VBQWlDO0NwRnMrVWhDOztBb0ZyK1VEO0VBQW9DO0NwRnkrVW5DOztBb0Z4K1VEOztFQUN3QztDcEY0K1V2Qzs7QW9GMytVRDtFQUE0QztDcEYrK1UzQzs7QW9GOStVRDtFQUF5QztDcEZrL1V4Qzs7QW9Gai9VRDtFQUF3QztDcEZxL1V2Qzs7QW9GcC9VRDtFQUF1QztDcEZ3L1V0Qzs7QW9Gdi9VRDtFQUF3QztDcEYyL1V2Qzs7QW9GMS9VRDtFQUEwQztDcEY4L1V6Qzs7QW9GNy9VRDtFQUEwQztDcEZpZ1Z6Qzs7QW9GaGdWRDtFQUFtQztDcEZvZ1ZsQzs7QW9GbmdWRDtFQUF1QztDcEZ1Z1Z0Qzs7QW9GdGdWRDtFQUE4QztDcEYwZ1Y3Qzs7QW9GemdWRDtFQUF3QztDcEY2Z1Z2Qzs7QW9GNWdWRDtFQUFxQztDcEZnaFZwQzs7QW9GL2dWRDtFQUFtQztDcEZtaFZsQzs7QW9GbGhWRDtFQUFzQztDcEZzaFZyQzs7QW9GcmhWRDtFQUF1QztDcEZ5aFZ0Qzs7QW9GeGhWRDs7RUFDZ0M7Q3BGNGhWL0I7O0FvRjNoVkQ7RUFBb0M7Q3BGK2hWbkM7O0FvRjloVkQ7RUFBa0M7Q3BGa2lWakM7O0FvRmppVkQ7RUFBbUM7Q3BGcWlWbEM7O0FvRnBpVkQ7RUFBbUM7Q3BGd2lWbEM7O0FvRnZpVkQ7O0VBQ3lDO0NwRjJpVnhDOztBb0YxaVZEO0VBQTBDO0NwRjhpVnpDOztBb0Y3aVZEO0VBQXFDO0NwRmlqVnBDOztBb0ZoalZEO0VBQXlDO0NwRm9qVnhDOztBb0ZualZEOzs7RUFFeUM7Q3BGdWpWeEM7O0FvRnRqVkQ7O0VBQ21EO0NwRjBqVmxEOztBb0Z6alZEOztFQUN5QztDcEY2alZ4Qzs7QW9GNWpWRDs7RUFDNEM7Q3BGZ2tWM0M7O0FvRi9qVkQ7O0VBQzBDO0NwRm1rVnpDOztBb0Zsa1ZEO0VBQTBDO0NwRnNrVnpDOztBb0Zya1ZEO0VBQXFDO0NwRnlrVnBDOztBb0Z4a1ZEO0VBQXlDO0NwRjRrVnhDOztBb0Yza1ZEO0VBQTJDO0NwRitrVjFDOztBb0Y5a1ZEO0VBQXdDO0NwRmtsVnZDOztBb0ZqbFZEO0VBQTBDO0NwRnFsVnpDOztBb0ZwbFZEO0VBQW1DO0NwRndsVmxDOztBb0Z2bFZEO0VBQTJDO0NwRjJsVjFDOztBb0YxbFZEO0VBQWtDO0NwRjhsVmpDOztBb0Y3bFZEO0VBQTBDO0NwRmltVnpDOztBb0ZobVZEO0VBQXdDO0NwRm9tVnZDOztBb0ZubVZEOztFQUM0QztDcEZ1bVYzQzs7QW9GdG1WRDs7RUFDMkM7Q3BGMG1WMUM7O0FvRnptVkQ7O0VBQzBDO0NwRjZtVnpDOztBb0Y1bVZEO0VBQXNDO0NwRmduVnJDOztBb0YvbVZEOztFQUN3QztDcEZtblZ2Qzs7QW9GbG5WRDs7RUFDeUM7Q3BGc25WeEM7O0FvRnJuVkQ7RUFBNEM7Q3BGeW5WM0M7O0FvRnhuVkQ7RUFBMEM7Q3BGNG5WekM7O0FvRjNuVkQ7RUFBeUM7Q3BGK25WeEM7O0FvRjluVkQ7RUFBMkM7Q3BGa29WMUM7O0FvRmpvVkQ7RUFBeUM7Q3BGcW9WeEM7O0FvRnBvVkQ7RUFBc0M7Q3BGd29WckM7O0FvRnZvVkQ7RUFBdUM7Q3BGMm9WdEM7O0FvRjFvVkQ7RUFBNkM7Q3BGOG9WNUM7O0FvRjdvVkQ7RUFBK0I7Q3BGaXBWOUI7O0FvRmhwVkQ7RUFBc0M7Q3BGb3BWckM7O0FvRm5wVkQ7RUFBd0M7Q3BGdXBWdkM7O0FvRnRwVkQ7RUFBMEM7Q3BGMHBWekM7O0FvRnpwVkQ7RUFBaUQ7Q3BGNnBWaEQ7O0FvRjVwVkQ7RUFBdUM7Q3BGZ3FWdEM7O0FvRi9wVkQ7RUFBd0M7Q3BGbXFWdkM7O0FvRmxxVkQ7RUFBbUM7Q3BGc3FWbEM7O0FvRnJxVkQ7RUFBbUM7Q3BGeXFWbEM7O0FvRnhxVkQ7RUFBb0M7Q3BGNHFWbkM7O0FvRjNxVkQ7RUFBa0M7Q3BGK3FWakM7O0FvRjlxVkQ7RUFBOEM7Q3BGa3JWN0M7O0FvRmpyVkQ7O0VBQ3VDO0NwRnFyVnRDOztBb0ZwclZEO0VBQW1DO0NwRndyVmxDOztBb0Z2clZEO0VBQWtDO0NwRjJyVmpDOztBb0YxclZEO0VBQW1DO0NwRjhyVmxDOztBb0Y3clZEO0VBQTRDO0NwRmlzVjNDOztBb0Zoc1ZEO0VBQTZDO0NwRm9zVjVDOztBb0Zuc1ZEO0VBQTZDO0NwRnVzVjVDOztBb0Z0c1ZEO0VBQTZDO0NwRjBzVjVDOztBb0Z6c1ZEO0VBQXFDO0NwRjZzVnBDOztBb0Y1c1ZEO0VBQW9DO0NwRmd0Vm5DOztBb0Yvc1ZEO0VBQXNDO0NwRm10VnJDOztBb0ZsdFZEO0VBQWtDO0NwRnN0VmpDOztBb0ZydFZEO0VBQWdDO0NwRnl0Vi9COztBb0Z4dFZEO0VBQXVDO0NwRjR0VnRDOztBb0YzdFZEO0VBQXlDO0NwRit0VnhDOztBb0Y5dFZEO0VBQWtDO0NwRmt1VmpDOztBb0ZqdVZEO0VBQWtDO0NwRnF1VmpDOztBb0ZwdVZEO0VBQXNDO0NwRnd1VnJDOztBb0Z2dVZEO0VBQXNDO0NwRjJ1VnJDOztBb0YxdVZEO0VBQXlDO0NwRjh1VnhDOztBb0Y3dVZEO0VBQWlDO0NwRml2VmhDOztBb0ZodlZEO0VBQTRDO0NwRm92VjNDOztBb0ZudlZEO0VBQXFDO0NwRnV2VnBDOztBb0Z0dlZEO0VBQWlDO0NwRjB2VmhDOztBb0Z6dlZEO0VBQXlDO0NwRjZ2VnhDOztBb0Y1dlZEO0VBQWdDO0NwRmd3Vi9COztBb0YvdlZEO0VBQXlDO0NwRm13VnhDOztBb0Zsd1ZEO0VBQXFDO0NwRnN3VnBDOztBb0Zyd1ZEO0VBQW1DO0NwRnl3VmxDOztBb0Z4d1ZEO0VBQXlDO0NwRjR3VnhDOztBb0Yzd1ZEO0VBQTJDO0NwRit3VjFDOztBb0Y5d1ZEO0VBQXdDO0NwRmt4VnZDOztBb0ZqeFZEO0VBQTBDO0NwRnF4VnpDOztBb0ZweFZEO0VBQXlDO0NwRnd4VnhDOztBb0Z2eFZEO0VBQTRDO0NwRjJ4VjNDOztBb0YxeFZEO0VBQW9DO0NwRjh4Vm5DOztBb0Y3eFZEO0VBQXNDO0NwRml5VnJDOztBb0ZoeVZEO0VBQXdDO0NwRm95VnZDOztBb0ZueVZEO0VBQW9DO0NwRnV5Vm5DOztBb0Z0eVZEO0VBQW1DO0NwRjB5VmxDOztBb0Z6eVZEO0VBQXVDO0NwRjZ5VnRDOztBb0Y1eVZEO0VBQW9DO0NwRmd6Vm5DOztBb0YveVZEO0VBQW1DO0NwRm16VmxDOztBb0ZselZEO0VBQTZDO0NwRnN6VjVDOztBb0ZyelZEO0VBQTJDO0NwRnl6VjFDOztBb0Z4elZEO0VBQThDO0NwRjR6VjdDOztBb0YzelZEO0VBQWtDO0NwRit6VmpDOztBb0Y5elZEO0VBQThDO0NwRmswVjdDOztBb0ZqMFZEO0VBQWlEO0NwRnEwVmhEOztBb0ZwMFZEO0VBQW9DO0NwRncwVm5DOztBb0Z2MFZEO0VBQXdEO0NwRjIwVnZEOztBb0YxMFZEOztFQUNnRTtDcEY4MFYvRDs7QW9GNzBWRDs7O0VBRWlDO0NwRmkxVmhDOztBb0ZoMVZEO0VBQWtDO0NwRm8xVmpDOztBb0ZuMVZEO0VBQW9DO0NwRnUxVm5DOztBb0Z0MVZEOztFQUMwQztDcEYwMVZ6Qzs7QW9GejFWRDtFQUF1QztDcEY2MVZ0Qzs7QW9GNTFWRDtFQUFtQztDcEZnMlZsQzs7QW9GLzFWRDtFQUEwQztDcEZtMlZ6Qzs7QW9GbDJWRDtFQUFxQztDcEZzMlZwQzs7QW9GcjJWRDtFQUEyQztDcEZ5MlYxQzs7QW9GeDJWRDtFQUE0QztDcEY0MlYzQzs7QW9GMzJWRDtFQUF1QztDcEYrMlZ0Qzs7QW9GOTJWRDtFQUF3QztDcEZrM1Z2Qzs7QW9GajNWRDtFQUFrQztDcEZxM1ZqQzs7QW9GcDNWRDtFQUFzQztDcEZ3M1ZyQzs7QW9GdjNWRDs7RUFDaUQ7Q3BGMjNWaEQ7O0FvRjEzVkQ7O0VBQ3lDO0NwRjgzVnhDOztBb0Y3M1ZEO0VBQXdDO0NwRmk0VnZDOztBb0ZoNFZEO0VBQTBDO0NwRm80VnpDOztBb0ZuNFZEO0VBQTRDO0NwRnU0VjNDOztBb0Z0NFZEO0VBQW1DO0NwRjA0VmxDOztBb0Z6NFZEO0VBQXlDO0NwRjY0VnhDOztBb0Y1NFZEO0VBQTJDO0NwRmc1VjFDOztBb0YvNFZEOztFQUN5QztDcEZtNVZ4Qzs7QW9GbDVWRDs7RUFDMkM7Q3BGczVWMUM7O0FvRnI1VkQ7RUFBd0M7Q3BGeTVWdkM7O0FvRng1VkQ7RUFBMEM7Q3BGNDVWekM7O0FvRjM1VkQ7RUFBbUM7Q3BGKzVWbEM7O0FvRjk1VkQ7RUFBcUM7Q3BGazZWcEM7O0FvRmo2VkQ7O0VBQ29DO0NwRnE2Vm5DOztBb0ZwNlZEOztFQUNzQztDcEZ3NlZyQzs7QW9GdjZWRDtFQUFrQztDcEYyNlZqQzs7QW9GMTZWRDtFQUEyQztDcEY4NlYxQzs7QW9GNzZWRDtFQUFxQztDcEZpN1ZwQzs7QW9GaDdWRDs7O0VBRTZDO0NwRm83VjVDOztBb0ZuN1ZEOztFQUN1RDtDcEZ1N1Z0RDs7QW9GdDdWRDs7RUFDNkM7Q3BGMDdWNUM7O0FvRno3VkQ7O0VBQ2dEO0NwRjY3Vi9DOztBb0Y1N1ZEOztFQUM4QztDcEZnOFY3Qzs7QW9GLzdWRDtFQUFtQztDcEZtOFZsQzs7QW9GbDhWRDs7O0VBRWlDO0NwRnM4VmhDOztBb0ZyOFZEO0VBQW9DO0NwRnk4Vm5DOztBb0Z4OFZEO0VBQTRDO0NwRjQ4VjNDOztBb0YzOFZEO0VBQTRDO0NwRis4VjNDOztBb0Y5OFZEO0VBQTJDO0NwRms5VjFDOztBb0ZqOVZEOztFQUN5QztDcEZxOVZ4Qzs7QW9GcDlWRDs7RUFDMkM7Q3BGdzlWMUM7O0FvRnY5VkQ7RUFBcUM7Q3BGMjlWcEM7O0FvRjE5VkQ7RUFBaUM7Q3BGODlWaEM7O0FvRjc5VkQ7RUFBaUM7Q3BGaStWaEM7O0FvRmgrVkQ7RUFBaUM7Q3BGbytWaEM7O0FvRm4rVkQ7RUFBb0M7Q3BGdStWbkM7O0FvRnQrVkQ7RUFBb0M7Q3BGMCtWbkM7O0FvRnorVkQ7RUFBc0M7Q3BGNitWckM7O0FvRjUrVkQ7RUFBd0M7Q3BGZy9WdkM7O0FvRi8rVkQ7RUFBd0M7Q3BGbS9WdkM7O0FvRmwvVkQ7RUFBdUM7Q3BGcy9WdEM7O0FvRnIvVkQ7RUFBbUM7Q3BGeS9WbEM7O0FxRjF3WEQ7RUg4QkU7RUFD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d21Zb0M7O0F5RnRtWXBDO0VBQ0M7Q3pGeW1ZQTs7QXlGdm1ZRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3pGMG1ZQTs7QXlGeG1ZRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3pGMm1ZQTs7QXlGem1ZRDs7RUFFQztFQUNBO0VBQ0E7Q3pGNG1ZQTs7QXlGMW1ZRDtFQUNDO0N6RjZtWUE7O0F5RjNtWUQ7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUF5QjtDekYrbVl6Qjs7QXlGNW1ZRDtFQUNDO0N6RittWUE7O0F5RjNtWUQ7b0N6RjhtWW9DOztBeUY1bVlwQztFQUNDO0VBQ0E7Q3pGK21ZQTs7QXlGM21ZRDtvQ3pGOG1Zb0M7O0F5RjVtWXBDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3pGK21ZQTs7QXlGNW1ZRDtFQUNDO0VBQ0E7RUFDQTtDekYrbVlBOztBeUY1bVlEO29DekYrbVlvQzs7QXlGNW1ZcEM7O0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0N6RmduWUE7O0F5RjltWUQ7RUFDQztFQUNBO0VBQ0E7RUFDQTtDekZpbllBOztBeUYvbVlEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDekZrbllBOztBeUZobllEO0VBQ0M7Q3pGbW5ZQTs7QXlGam5ZRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0N6Rm9uWUE7O0F5RmxuWUQ7RUFDQztFQUNBO0N6RnFuWUE7O0F5Rm5uWUQ7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0N6RnNuWUE7O0F5RnBuWUQ7O0VBRUM7Q3pGdW5ZQTs7QXlGcG5ZRDs7QUFDQTtFQUNDO0N6RnduWUE7O0F5RnRuWUQ7RUFDQztDekZ5bllBOztBeUZ0bllEOztBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDekYwbllBOztBeUZ2bllEOztBQUNBO0VBQ0M7RUFDQTtDekYybllBOztBeUZ4bllEO29DekYybllvQzs7QXlGem5ZcEM7RUFDQztFQUNBO0N6RjRuWUE7O0F5RjFuWUQ7RUFDQztDekY2bllBOztBeUYzbllEOzs7O0VBSUM7RUFDQTtDekY4bllBOztBeUY1bllEO0VBQ0M7Q3pGK25ZQTs7QXlGN25ZRDtFQUNDO0VBQ0E7RUFDQTtDekZnb1lBOztBeUY5bllEO0VBQ0M7Q3pGaW9ZQTs7QXlGL25ZRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0N6RmtvWUE7O0F5RmhvWUQ7RUFDQztDekZtb1lBOztBeUZob1lEO29DekZtb1lvQzs7QXlGam9ZcEM7Ozs7OztFQVNDO0VBQ0E7RUFDQTtFQUNBO0N6RmlvWUE7O0F5Ri9uWUQ7Ozs7Ozs7RUFPQztFQUNBO0N6RmtvWUE7O0F5RmhvWUQ7Ozs7Ozs7O0VBUUM7RUFDQTtFQUNBO0VBQ0E7Q3pGbW9ZQTs7QXlGam9ZRDs7Ozs7Ozs7OztFQVVDO0VBQ0E7Q3pGb29ZQTs7QXlGam9ZRDtFQUNDO0N6Rm9vWUE7O0F5RmxvWUQ7Ozs7OztFQU1DO0VBQ0E7RUFDQTtFQUNBO0N6RnFvWUE7O0F5Rm5vWUQ7O0VBRUM7RUFDQTtDekZzb1lBOztBeUZwb1lEOzs7RUFHQztFQUNBO0N6RnVvWUE7O0F5RnBvWUQ7b0N6RnVvWW9DOztBeUZyb1lwQzs7O0VBR0M7RUFDQTtFQUNBO0N6RndvWUE7O0F5RnRvWUQ7RUFDQztFQUNBO0N6RnlvWUE7O0F5RnZvWUQ7OztFQUdDO0N6RjBvWUE7O0F5RnhvWUQ7OztFQUdDO0VBQ0E7RUFDQTtDekYyb1lBOztBeUZ6b1lEOzs7RUFHQztDekY0b1lBOztBeUYxb1lEOzs7RUFHQztDekY2b1lBOztBeUYzb1lEOzs7RUFHQztDekY4b1lBOztBeUY1b1lEOzs7RUFHQztFQUNBO0VBQTBCO0VBQzFCO0N6RmdwWUE7O0F5RjlvWUQ7OztFQUdDO0VBQ0E7RUFBMEI7RUFDMUI7Q3pGa3BZQTs7QXlGaHBZRDtFQUNDO0VBQTBCO0N6Rm9wWTFCOztBeUZqcFlEO29DekZvcFlvQzs7QXlGanBZcEM7O0FBelFBO0VBMlFDO0VBQ0E7Q3pGcXBZQTs7QXlGbnBZRDs7RUFFQztDekZzcFlBOztBeUZwcFlEO0VBQ0M7Q3pGdXBZQTs7QXlGcnBZRDs7OztFQUlDO0N6RndwWUE7O0F5RnRwWUQ7O0VBRUM7Q3pGeXBZQTs7QXlGdnBZRDs7RUFFQztDekYwcFlBOztBeUZ4cFlEOztFQUVDO0N6RjJwWUE7O0F5RnpwWUQ7RUFDQztDekY0cFlBOztBeUZ6cFlEOztBQUNBO0VBQWlCO0N6RjhwWWhCOztBeUY3cFlEO0VBQXFCO0N6RmlxWXBCOztBeUZocVlEO0VBQXNCO0N6Rm9xWXJCOztBeUZucVlEO0VBQXFCO0N6RnVxWXBCOztBeUZ0cVlEO0VBQXNCO0N6RjBxWXJCOztBeUZ6cVlEO0VBQXFCO0N6RjZxWXBCOztBeUY1cVlEO0VBQXNCO0N6RmdyWXJCOztBeUYvcVlEO0VBQXFCO0N6Rm1yWXBCOztBeUZscllEO0VBQXNCO0N6RnNyWXJCOztBeUZycllEO0VBQXVCO0N6RnlyWXRCOztBeUZ4cllEO0VBQXVCO0N6RjRyWXRCOztBeUYzcllEO0VBQXdCO0N6RityWXZCOztBeUY5cllEO0VBQXlCO0N6RmtzWXhCOztBeUZqc1lEO0VBQXdCO0N6RnFzWXZCOztBeUZwc1lEO0VBQXlCO0N6RndzWXhCOztBeUZ2c1lEO0VBQXdCO0N6RjJzWXZCOztBeUYxc1lEO0VBQXlCO0N6RjhzWXhCOztBeUY3c1lEO0VBQXdCO0N6Rml0WXZCOztBeUZodFlEO0VBQXlCO0N6Rm90WXhCOztBeUZudFlEO0VBQTBCO0N6RnV0WXpCOztBeUZ0dFlEO0VBQTBCO0N6RjB0WXpCOztBeUZ6dFlEO0VBQXFCO0N6RjZ0WXBCOztBeUY1dFlEO0VBQXNCO0N6Rmd1WXJCOztBeUYvdFlEO0VBQXFCO0N6Rm11WXBCOztBeUZsdVlEO0VBQXNCO0N6RnN1WXJCOztBeUZydVlEO0VBQXFCO0N6Rnl1WXBCOztBeUZ4dVlEO0VBQXNCO0N6RjR1WXJCOztBeUYzdVlEO0VBQXFCO0N6Rit1WXBCOztBeUY5dVlEO0VBQXNCO0N6Rmt2WXJCOztBeUZqdllEO0VBQXVCO0N6RnF2WXRCOztBeUZwdllEO0VBQXlCO0N6Rnd2WXhCOztBeUZ2dllEO0VBQXVCO0N6RjJ2WXRCOztBeUYxdllEO0VBQXlCO0N6Rjh2WXhCOztBeUY3dllEO0VBQXlCO0N6Rml3WXhCOztBeUZod1lEO0VBQXlCO0N6Rm93WXhCOztBeUZud1lEO0VBQXlCO0N6RnV3WXhCOztBeUZ0d1lEO0VBQXlCO0N6RjB3WXhCOztBeUZ6d1lEO0VBQTBCO0N6RjZ3WXpCOztBeUY1d1lEO0VBQTJCO0N6Rmd4WTFCOztBeUYvd1lEO0VBQTBCO0N6Rm14WXpCOztBeUZseFlEO0VBQTJCO0N6RnN4WTFCOztBeUZyeFlEO0VBQTBCO0N6Rnl4WXpCOztBeUZ4eFlEO0VBQTJCO0N6RjR4WTFCOztBeUYzeFlEO0VBQTBCO0N6Rit4WXpCOztBeUY5eFlEO0VBQTJCO0N6Rmt5WTFCOztBeUZqeVlEO0VBQTRCO0N6RnF5WTNCOztBeUZweVlEO0VBQThCO0N6Rnd5WTdCOztBeUZ2eVlEO0VBQTRCO0N6RjJ5WTNCOztBeUYxeVlEO0VBQThCO0N6Rjh5WTdCOztBeUY3eVlEO0VBQThCO0N6Rml6WTdCOztBeUZoellEO0VBQThCO0N6Rm96WTdCOztBeUZuellEO0VBQThCO0N6RnV6WTdCOztBeUZ0ellEO0VBQThCO0N6RjB6WTdCOztBeUZ6ellEO0VBQWdDO0N6RjZ6WS9COztBeUY1ellEO0VBQWdDO0N6RmcwWS9COztBeUYvellEO0VBQWdDO0N6Rm0wWS9COztBeUZsMFlEO0VBQWdDO0N6RnMwWS9COztBeUZyMFlEO0VBQTJCO0N6RnkwWTFCOztBeUZ4MFlEO0VBQTJCO0N6RjQwWTFCOztBeUYzMFlEO0VBQTJCO0N6RiswWTFCOztBeUY5MFlEO0VBQTJCO0N6RmsxWTFCOztBeUZqMVlEO0VBQTRCO0N6RnExWTNCOztBeUZwMVlEO0VBQTRCO0N6RncxWTNCOztBeUZ2MVlEO0VBQTRCO0N6RjIxWTNCOztBeUYxMVlEO0VBQTRCO0N6RjgxWTNCOztBeUY3MVlEO0VBQW1CO0N6RmkyWWxCOztBeUZoMllEO0VBQXdCO0N6Rm8yWXZCOztBeUZuMllEO0VBQW1CO0N6RnUyWWxCOztBeUZ0MllEO0VBQWtCO0N6RjAyWWpCOztBeUZ6MllEO0VBQW1CO0N6RjYyWWxCOztBeUY1MllEO0VBQW1CO0N6RmczWWxCOztBeUYvMllEO0VBQXdCO0N6Rm0zWXZCOztBeUZsM1lEO0VBQTZCO0N6RnMzWTVCOztBeUZyM1lEO0VBQTRCO0N6RnkzWTNCOztBeUZ4M1lEO0VBQXVCO0N6RjQzWXRCOztBeUYzM1lEO0VBQW9CO0N6RiszWW5COztBeUY5M1lEO0VBQXNCO0N6Rms0WXJCOztBeUZqNFlEO0VBQWdCO0N6RnE0WWY7O0F5RnA0WUQ7RUFBdUI7Q3pGdzRZdEI7O0F5RnY0WUQ7RUFBcUI7Q3pGMjRZcEI7O0F5RjE0WUQ7RUFBb0I7Q3pGODRZbkI7O0F5Rjc0WUQ7RUFBbUI7Q3pGaTVZbEI7O0F5Rmg1WUQ7RUFBa0I7Q3pGbzVZakI7O0F5Rm41WUQ7RUFBaUI7Q3pGdTVZaEI7O0F5RnQ1WUQ7RUFBaUI7Q3pGMDVZaEI7O0F5Rno1WUQ7RUFBa0I7Q3pGNjVZakI7O0F5RjU1WUQ7RUFBb0I7Q3pGZzZZbkI7O0F5Ri81WUQ7RUFBb0I7Q3pGbTZZbkI7O0F5Rmw2WUQ7RUFBZTtDekZzNllkOztBeUZyNllEO0VBQWdCO0N6Rnk2WWY7O0F5Rng2WUQ7RUFBZ0I7Q3pGNDZZZjs7QXlGMzZZRDtFQUFvQjtDekYrNlluQjs7QXlGOTZZRDtFQUFnQjtDekZrN1lmOztBeUZqN1lEO0VBQWtCO0N6RnE3WWpCOztBeUZwN1lEO0VBQWlCO0N6Rnc3WWhCOztBeUZ2N1lEO0VBQWdCO0N6RjI3WWY7O0F5RjE3WUQ7RUFBc0I7Q3pGODdZckI7O0F5Rjc3WUQ7RUFBa0I7Q3pGaThZakI7O0F5Rmg4WUQ7RUFBbUI7Q3pGbzhZbEI7O0F5Rm44WUQ7RUFBa0I7Q3pGdThZakI7O0F5RnQ4WUQ7RUFBa0I7Q3pGMDhZakI7O0F5Rno4WUQ7RUFBZ0I7Q3pGNjhZZjs7QXlGNThZRDtFQUFpQjtDekZnOVloQjs7QXlGLzhZRDtFQUFnQjtDekZtOVlmOztBeUZsOVlEO0VBQWdCO0N6RnM5WWY7O0F5RnI5WUQ7RUFBa0I7Q3pGeTlZakI7O0F5Rng5WUQ7RUFBZ0I7Q3pGNDlZZjs7QXlGMzlZRDtFQUFxQjtDekYrOVlwQjs7QXlGOTlZRDtFQUFpQjtDekZrK1loQjs7QXlGaitZRDtFQUFzQjtDekZxK1lyQjs7QXlGcCtZRDtFQUFpQjtDekZ3K1loQjs7QXlGditZRDtFQUFzQjtDekYyK1lyQjs7QXlGMStZRDtFQUFlO0N6RjgrWWQ7O0F5RjcrWUQ7RUFBcUI7Q3pGaS9ZcEI7O0F5RmgvWUQ7RUFBb0I7Q3pGby9ZbkI7O0F5Rm4vWUQ7RUFBcUI7Q3pGdS9ZcEI7O0F5RnQvWUQ7RUFBZ0I7Q3pGMC9ZZjs7QXlGei9ZRDtFQUFtQjtDekY2L1lsQjs7QXlGNS9ZRDtFQUFpQjtDekZnZ1poQjs7QXlGLy9ZRDtFQUFpQjtDekZtZ1poQjs7QXlGbGdaRDtFQUFrQjtDekZzZ1pqQjs7QXlGcmdaRDtFQUFpQjtDekZ5Z1poQjs7QXlGeGdaRDtFQUFnQjtDekY0Z1pmOztBeUYzZ1pEO0VBQWtCO0N6RitnWmpCOztBeUY5Z1pEO0VBQWdCO0N6RmtoWmY7O0F5RmpoWkQ7RUFBaUI7Q3pGcWhaaEI7O0F5RnBoWkQ7RUFBa0I7Q3pGd2haakI7O0F5RnZoWkQ7RUFBb0I7Q3pGMmhabkI7O0F5RjFoWkQ7RUFBcUI7Q3pGOGhacEI7O0F5RjdoWkQ7RUFBaUI7Q3pGaWlaaEI7O0F5RmhpWkQ7RUFBaUI7Q3pGb2laaEI7O0F5Rm5pWkQ7RUFBZ0I7Q3pGdWlaZjs7QXlGdGlaRDtFQUFpQjtDekYwaVpoQjs7QXlGemlaRDtFQUFxQjtDekY2aVpwQjs7QXlGNWlaRDtFQUFxQjtDekZnalpwQjs7QXlGL2laRDtFQUFvQjtDekZtalpuQjs7QXlGbGpaRDtFQUFzQjtDekZzalpyQjs7QXlGcmpaRDs7QUFDQTtFQUFzQjtDekYwalpyQjs7QXlGempaRDtFQUFnQjtDekY2alpmOztBeUY1alpEO0VBQWlCO0N6RmdrWmhCOztBeUYvalpEO0VBQXNCO0N6Rm1rWnJCOztBeUZsa1pEO0VBQXFCO0N6RnNrWnBCOztBeUZya1pEO0VBQWlCO0N6RnlrWmhCOztBeUZ4a1pEO0VBQXVCO0N6RjRrWnRCOztBeUYza1pEO0VBQWtCO0N6RitrWmpCOztBeUY5a1pEO0VBQXFCO0N6RmtsWnBCOztBeUZqbFpEO0VBQXFCO0N6RnFsWnBCOztBeUZwbFpEO0VBQXFCO0N6RndsWnBCOztBeUZ2bFpEO0VBQXFCO0N6RjJsWnBCOztBeUYxbFpEO0VBQXVCO0N6RjhsWnRCOztBeUY3bFpEO0VBQXdCO0N6RmltWnZCOztBeUZobVpEO0VBQXdCO0N6Rm9tWnZCOztBeUZubVpEO0VBQTZCO0N6RnVtWjVCOztBeUZ0bVpEO0VBQTZCO0N6RjBtWjVCOztBeUZ6bVpEO0VBQTZCO0N6RjZtWjVCOztBeUY1bVpEO0VBQTZCO0N6RmduWjVCOztBeUYvbVpEO0VBQTBCO0N6Rm1uWnpCOztBeUZsblpEO0VBQTBCO0N6RnNuWnpCOztBeUZyblpEO0VBQTBCO0N6RnluWnpCOztBeUZ4blpEO0VBQTBCO0N6RjRuWnpCOztBeUYzblpEO0VBQXlCO0N6RituWnhCOztBeUY5blpEO0VBQTBCO0N6RmtvWnpCOztBeUZqb1pEO0VBQXdCO0N6RnFvWnZCOztBeUZwb1pEO0VBQTRCO0N6RndvWjNCOztBeUZ2b1pEO0VBQTZCO0N6RjJvWjVCOztBeUYxb1pEO0VBQTZCO0N6RjhvWjVCOztBeUY3b1pEO0VBQTRCO0N6RmlwWjNCOztBeUZocFpEO0VBQTZCO0N6Rm9wWjVCOztBeUZucFpEO0VBQTZCO0N6RnVwWjVCOztBeUZ0cFpEO0VBQWdDO0N6RjBwWi9COztBeUZ6cFpEO0VBQWtDO0N6RjZwWmpDOztBeUY1cFpEO0VBQStCO0N6RmdxWjlCOztBeUYvcFpEO0VBQWlDO0N6Rm1xWmhDOztBeUZscVpEO0VBQWlDO0N6RnNxWmhDOztBeUZycVpEO0VBQTRCO0N6RnlxWjNCOztBeUZ0cVpEO29DekZ5cVpvQzs7QXlGdHFacEM7O0FBQ0E7Ozs7RUFJQztDekYwcVpBOztBeUZ4cVpEOzs7O0VBSUM7Q3pGMnFaQTs7QXlGenFaRDs7OztFQUlDO0N6RjRxWkE7O0F5RjFxWkQ7Ozs7RUFJQztDekY2cVpBOztBeUYxcVpEOztBQXZlQTtFQXllQztFQUNBO0VBQ0E7RUFBMkI7Q3pGK3FaM0I7O0F5RjdxWkQ7RUFDQztFQUNBO0N6RmdyWkE7O0EwRnB2YUQ7O0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MxRnV2YUE7O0EwRnB2YUQ7O0VBRUM7RUFDQTtDMUZ1dmFBOztBMEZwdmFEOztFQUVDO0MxRnV2YUE7O0EwRnB2YUQ7RUFDQztDMUZ1dmFBOztBMEZwdmFEOztFQUVDO0VBQ0E7QzFGdXZhQTs7QTBGcHZhRDs7RUFFQztFQUNBO0MxRnV2YUE7O0EwRnB2YUQ7RUFDQztDMUZ1dmFBOztBMEZ4dmFEO0VBSUU7QzFGd3ZhRDs7QTBGNXZhRDtFQVFFO0VBQ0E7RUFDQTtFQUNBO0MxRnd2YUQ7O0EwRm53YUQ7RUFlRTtFQUNBO0VBQ0E7RUFDQTtDMUZ3dmFEOztBMEYxd2FEO0VBcUJHO0MxRnl2YUY7O0EwRjl3YUQ7RUF5Qkc7RUFDQTtDMUZ5dmFGOztBMkYzemFEO0VBQ0U7RUFDQTtFQUdBO0MzRjR6YUQ7O0EyRnp6YUQ7RUFDRTtFQUNBO0VBR0E7QzNGMHphRDs7QTJGdnphRDtFQUNFO0VBQ0E7RUFHQTtDM0Z3emFEOztBMkZyemFEO0VBQ0U7RUFDQTtFQUdBO0MzRnN6YUQ7O0EyRm56YUQ7RUFDRTtFQUNBO0VBR0E7QzNGb3phRDs7QTJGanphRDtFQUNFO0VBQ0E7QzNGb3phRDs7QTJGenlhRDtFQUNFO0VBQ0E7RUFFRDtFQUNBO0MzRjJ5YUE7O0FtQjFoYU87O0V5RWxVTjtFQUNBO0M1RmkyYUQ7O0E0RjkxYUQ7Ozs7RUFFRTtFQUNBO0M1Rm0yYUQ7O0FtQnhpYU87O0V5RXZUTjtFQUNBO0M1Rm8yYUQ7O0FtQjlpYU87O0V5RWxUTjtFQUNBO0M1RnEyYUQ7O0FtQnhtYUM7RXlFdFBBO0VBQ0E7QzVGazJhRDs7QTRGcDJhRDtFQUtJO0M1Rm0yYUg7O0FtQjErWkM7RXlFalhBO0VBQ0E7QzVGKzFhRDs7QTRGajJhRDtFQUtJO0M1RmcyYUg7O0EwQnYyYUM7RWtFZUE7RUFDQTtDNUY0MWFEOztBNEY5MWFEO0VBS0k7QzVGNjFhSDs7QTZGMTVhRDtFQUNFO0VBQ0E7QzdGNjVhRDs7QTZGLzVhRDtFQUtJO0M3Rjg1YUg7O0E2Rm42YUQ7RUFRTTtDN0YrNWFMOztBNkZ2NmFEO0VBYUk7QzdGODVhSDs7QTZGMzZhRDtFQWdCTTtDN0YrNWFMOztBNkYvNmFEO0VBb0JNO0VBQ0E7RUFDQTtFQUNBO0M3Ris1YUw7O0E2RnQ3YUQ7RUEyQk07RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M3Ris1YUw7O0E2Ri83YUQ7RUFvQ007RUFDQTtFQUNBO0M3Ris1YUw7O0E2RnI4YUQ7RUF5Q1E7RUFDQTtDN0ZnNmFQOztBNkYxOGFEO0VBa0RJO0M3RjQ1YUg7O0E2Rjk4YUQ7RUFzREk7RUFDQTtFQUNBO0VBQ0E7QzdGNDVhSDs7QTZGcjlhRDtFQTRETTtFQUNBO0VBQ0E7QzdGNjVhTDs7QTZGMzlhRDtFQWtFTTtDN0Y2NWFMOztBNkYvOWFEO0VBc0VJO0M3RjY1YUg7O0E2Rm4rYUQ7RUF5RU07QzdGODVhTDs7QTZGdithRDtFQThFSTtDN0Y2NWFIOztBNkYzK2FEO0VBaUZNO0M3Rjg1YUw7O0E2RnA1YUQ7RUFDRTtFQUNBO0M3RnU1YUQ7O0E2Rno1YUQ7RUFLSTtFQUVBO0M3RnU1YUg7O0E2Rjk1YUQ7OztFQVdRO0M3Rnk1YVA7O0FFcDFhSztFMkZoRk47SUFtQk07RzdGczVhSDtDQUNGOztBNkYxNmFEO0VBd0JJO0VBQ0E7QzdGczVhSDs7QTZGLzZhRDtFQStCTTtFQUNBO0VBQ0E7QzdGbzVhTDs7QTZGcjdhRDtFQW9DUTtFQUNBO0M3RnE1YVA7O0FFMTJhSztFMkZoRk47SUF3Q1U7SUFDQTtHN0Z1NWFQO0NBQ0Y7O0F1Qm54YUM7RXVFeFFBO0VBQ0E7QzlGK2hiRDs7QThGamliRDtFQVNJO0VBQ0E7RUFDQTtFQUNBO0M5RjRoYkg7O0FFNzNhSztFNEYzS047SUFjTTtHOUYraGJIO0NBQ0Y7O0E4RjlpYkQ7RUFpQk07RUFDQTtFQUNBO0M5RmlpYkw7O0E4RnBqYkQ7RUF3Qkk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQU1BO0M5RjJoYkg7O0FFbDVhSztFNEYzS047SUErQk07RzlGbWliSDtD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RUFDQTtDbkc2b2VQOztBbUc5cWVEO0VBb0NZO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbkc4b2VYOztBbUd2cmVEOztFQTZDZ0I7Q25HK29lZjs7QW1HNXJlRDtFQW1EUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25HNm9lUDs7QW1HcnNlRDtFQTJEWTtFQUNBO0VBQ0E7Q25HOG9lWDs7QW1HM3NlRDtFQWlFWTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7Q25HNm9lWDs7QW1HcHRlRDtFQTRFUTtFQUNBO0NuRzRvZVA7O0FtR3p0ZUQ7RUFpRlE7RUFDQTtDbkc0b2VQOztBbUc5dGVEO0VBc0ZRO0NuRzRvZVA7O0FHN2xlQztFaUd2SkQ7RUFDQTtFQUNBO0VBQ0E7Q3BHd3ZlQTs7QW9HNXZlRDtFQU9FO0VBQ0E7Q3BHeXZlRDs7QW9HandlRDtFQVlHO0NwR3l2ZUY7O0FvR3J3ZUQ7RUFpQkU7Q3BHd3ZlRDs7QUd0bmVDO0VpRzFIRDtFQUNBO0NwR292ZUE7O0FFbm1lSztFQ3hCSjtJaUd0SEE7R3BHc3ZlQztDQUNGOztBRXptZUs7RUNuQko7SWlHcEhBO0dwR3F2ZUM7Q0FDRjs7QW9HenZlRDtFQVNFO0NwR292ZUQ7O0FvRzd2ZUQ7RUFZRztDcEdxdmVGOztBb0c5dWVEOztFQU1FO0NwRzZ1ZUQ7O0FvR252ZUQ7RUFVRTtFQUNBO0VBQ0E7Q3BHNnVlRDs7QW9HenZlRDtFQWVHO0NwRzh1ZUY7O0FvRzd2ZUQ7RUFxQkU7RUFDQTtFQUNBO0NwRzR1ZUQ7O0FvR253ZUQ7RUEyQkU7Q3BHNHVlRDs7QW9HdndlRDtFQThCRztDcEc2dWVGOztBb0czd2VEO0VBa0NFO0VBQ0E7RUFDQTtDcEc2dWVEOztBb0dqeGVEO0VBdUNHO0NwRzh1ZUY7O0FvR3J4ZUQ7RUE0Q0U7Q3BHNnVlRDs7QW9HaGdlRDtFQU9DO0NwRzYvZEE7O0FFdHFlSztFa0drS047SUFHRTtHcEdzZ2VDO0NBQ0Y7O0FvRzFnZUQ7RUFXRTtFQUNBO0NwR21nZUQ7O0FvRy9nZUQ7O0VBaUJFO0VBQ0E7Q3BHbWdlRDs7QW9HcmhlRDs7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OGVEO0VBR007RUFDQTtDckd3OGVMOztBcUdsOGVEO0VBRUU7RUFDQTtDckdvOGVEOztBcUdoOGVEO0VBQ0U7Q3JHbThlRDs7QXFHaDhlRDtFQUNFO0VBQ0E7Q3JHbThlRDs7QXFHaDhlRDtFQUNFO0VBQ0E7Q3JHbThlRDs7QXFHaDhlRDtFQUNFO0VBQ0E7Q3JHbThlRDs7QXFHaDhlRDtFQUNFO0NyR204ZUQ7O0FxR2g4ZUQ7RUFDRTtFQUNBO0NyR204ZUQ7O0FxR2g4ZUQ7RUFDRTtDckdtOGVEOztBcUdoOGVEO0VBQ0U7Q3JHbThlRDs7QXFHaDhlRDtFQUNFO0NyR204ZUQ7O0FxR2g4ZUQ7RUFDRTtDckdtOGVEOztBcUdoOGVEOztFQUNFO0VBQ0E7Q3JHbzhlRDs7QXNHNXVmRDtFQUNFO0VBQ0E7Q3RHK3VmRDs7QXNHanZmRDtFQUtJO0N0R2d2Zkg7O0FzR3J2ZkQ7RUFRTTtDdEdpdmZMOztBRTlrZks7RW9HM0tOO0lBYUk7R3RHaXZmRDtDQUNGOztBc0cvdmZEO0VBaUJJO0N0R2t2Zkg7O0FzR253ZkQ7RUFxQkk7Q3RHa3ZmSDs7QUU1bGZLO0VvRzNLTjtJQXdCTTtJQUNBO0lBQ0E7R3RHb3ZmSDtDQUNGOztBRXBtZks7RW9HM0tOO0lBOEJNO0d0R3N2Zkg7Q0FDRjs7QXNHcnhmRDtFQWtDRztDdEd1dmZGOztBRTltZks7RW9HM0tOO0lBcUNRO0d0R3l2Zkw7Q0FDRjs7QUVwbmZLO0VvRzNLTjtJQXVDSztHdEc2dmZGO0NBQ0Y7O0FzR3J5ZkQ7RUE2Q007Q3RHNHZmTDs7QXNHenlmRDtFQXNESTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7Q3RHcXZmSDs7QUV2b2ZLO0VvRzNLTjtJQWlFTTtJQUNBO0d0R3N2Zkg7Q0FDRjs7QUU5b2ZLO0VvRzNLTjtJQXNFTTtJQUNBO0d0R3d2Zkg7Q0FDRjs7QXNHaDBmRDtFQXlGTTtFQUVBO0VBQ0E7Q3RHMHVmTDs7QXNHdDBmRDtFQStGUTtFQUNBO0N0RzJ1ZlA7O0FFaHFmSztFb0czS047SUFrR1U7SUFDQTtJQUNBO0lBQ0E7R3RHOHVmUDtDQUNGOztBc0dwMWZEO0VBMEdRO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdEc4dWZQOztBc0doMmZEO0VBc0hRO0N0Rzh1ZlA7O0FzR3AyZkQ7RUFnSU07RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0N0R3N1Zkw7O0FFbHNmSztFb0czS047SUEwSVE7R3RHd3VmTDtDQUNGOztBc0duM2ZEO0VBK0lNO0N0R3d1Zkw7O0FFNXNmSztFb0czS047SUFpSlE7R3RHMnVmTDtDQUNGOztBc0c3M2ZEOztFQXNKTTtFQUNBO0VBQ0E7Q3RHNHVmTDs7QXNHcDRmRDtFQTRKTTtDdEc0dWZMOztBRTd0Zks7RW9HM0tOO0lBOEpRO0d0Ryt1Zkw7Q0FDRjs7QXNHOTRmRDtFQW1LTTtDdEcrdWZMOztBRXZ1Zks7RW9HM0tOO0lBc0tRO0lBQ0E7R3RHaXZmTDtDQUNGOztBc0d6NWZEO0VBMktRO0N0R2t2ZlA7O0FFbHZmSztFb0czS047SUE4S1U7R3RHb3ZmUDtDQUNGOztBc0duNmZEO0VBa0xVO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdEdxdmZUOztBc0cvNmZEO0VBOExZO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7Q3RHb3ZmWDs7QXNHMTdmRDtFQTBNWTtFQUNBO0N0R292Zlg7O0FzRy83ZkQ7RUFtTlE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3RHZ3ZmUDs7QXNHNThmRDtFQStOVTtFQUNBO0VBQ0E7Q3RHaXZmVDs7QXNHbDlmRDtFQXVPUTtFQUVBO0VBQ0E7Q3RHOHVmUDs7QUU3eWZLO0VvRzNLTjtJQTZPVTtHdEdndmZQO0NBQ0Y7O0FzRzk5ZkQ7RUFpUFU7Q3RHaXZmVDs7QXNHbCtmRDtFQXlQVTtDdEc2dWZUOztBc0d0K2ZEO0VBK1BNO0N0RzJ1Zkw7O0FFL3pmSztFb0czS047SUFrUVE7R3RHNnVmTDs7RXNHLytmSDtJQXFRVTtJQUNBO0lBQ0E7R3RHOHVmUDs7RXNHci9mSDtJQTBRWTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtHdEcrdWZUOztFc0dsZ2dCSDtJQXVSWTtHdEcrdWZUO0NBQ0Y7O0FFNTFmSztFb0czS047SUFxU007R3RHdXVmSDtDQUNGOztBc0c3Z2dCRDtFQThTSTtDdEdtdWZIOztBc0dqaGdCRDtFQWtUSTtDdEdtdWZIOztBc0dyaGdCRDtFQXNUSTtDdEdtdWZIOztBc0d6aGdCRDtFQTJUSTtDdEdrdWZIOztBRWwzZks7RW9HZ0tOO0lBRUk7R3RHcXRmRDtDQUNGOztBNEQxNmZDO0UwQzROQTtFQUNBO0N0R2t0ZkQ7O0FzR3B0ZkQ7RUFJSTtDdEdvdGZIOztBc0d4dGZEO0VBTU07RUFDQTtFQUVBO0VBQ0E7Q3RHcXRmTDs7QUV4NGZLO0VvR3lLTjtJQWFRO0lBQ0E7R3RHdXRmTDtDQUNGOztBc0d0dWZEO0VBa0JRO0N0R3d0ZlA7O0FzRzF1ZkQ7O0VBdUJRO0VBQ0E7Q3RHd3RmUDs7QXNHaHZmRDtFQTZCVTtDdEd1dGZUOztBc0dwdmZEO0VBaUNVO0N0R3V0ZlQ7O0FzR3h2ZkQ7RUFxQ1U7Q3RHdXRmVDs7QXNHNXZmRDtFQTBDUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdEdzdGZQOztBRS82Zks7RW9HeUtOO0lBa0RVO0d0R3l0ZlA7Q0FDRjs7QXNHcHRmRDtFQUNFO0VBQ0E7Q3RHdXRmRDs7QXNHenRmRDtFQUlJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3RHeXRmSDs7QXNHcHVmRDtFQWFNO0VBQ0E7Q3RHMnRmTDs7QXNHenVmRDtFQWlCTTtDdEc0dGZMOztBc0c3dWZEO0VBb0JNO0VBQ0E7Q3RHNnRmTDs7QXNHbHZmRDtFQTBCUTtDdEc0dGZQOztBc0d0dmZEO0VBNkJRO0N0RzZ0ZlA7O0FzR3Z0ZkQ7RUFDRTtDdEcwdGZEOztBc0d2dGZEO0VBR0k7Q3RHd3RmSDs7QXNHM3RmRDtFQU1NO0N0R3l0Zkw7O0FzRy90ZkQ7RUFTTTtFQUNBO0N0RzB0Zkw7O0FzR3B1ZkQ7RUFjSTtFQUNBO0VBQ0E7Q3RH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Qkw7Q0FDRjs7QXVHanhoQkQ7RUFnUkk7RUFDQTtFQUNBO0N2R3FnaEJIOztBRWxvaEJLO0VxR3JKTjtJQXFSTTtHdkd1Z2hCSDtDQUNGOztBdUc3eGhCRDtFQXlSTTtDdkd3Z2hCTDs7QXdHdnpoQkQ7RUFDRTtDeEcwemhCRDs7QXdHM3poQkQ7RUFHSTtFQUNBO0VBQ0E7RUFDQTtDeEc0emhCSDs7QUV2cGhCSztFc0czS047SUFRTTtHeEcremhCSDtDQUNGOztBd0d4MGhCRDtFQVlJO0VBQ0E7Q3hHZzBoQkg7O0F3RzV6aEJEO0VBQ0U7RUFDQTtDeEcremhCRDs7QUV2cWhCSztFc0cxSk47SUFJSTtHeEdrMGhCRDtDQUNGOztBd0d2MGhCRDtFQU9JO0N4R28waEJIOztBd0czMGhCRDtFQVdJO0N4R28waEJIOztBRXJyaEJLO0VzRzFKTjtJQWdCTTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0d4R28waEJIO0NBQ0Y7O0F3Rzl6aEJEO0VBQ0U7RUFDQTtDeEdpMGhCRDs7QXdHbjBoQkQ7RUFLSTtFQUNBO0VBQ0E7Q3hHazBoQkg7O0FFMXNoQks7RXNHL0hOO0lBU007R3hHcTBoQkg7Q0FDRjs7QXdHLzBoQkQ7RUFjSTtFQUNBO0N4R3EwaEJIOztBRXJ0aEJLO0VzRy9ITjtJQWlCTTtHeEd3MGhCSDtDQUNGOztBd0cxMWhCRDtFQXNCSTtDeEd3MGhCSDs7QXdHbDBoQkQ7RUFDRTtDeEdxMGhCRDs7QXdHdDBoQkQ7RUFLSTtDeEdxMGhCSDs7QXdHMTBoQkQ7RUFVSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N4R28waEJIOztBRS91aEJLO0VzR25HTjtJQWlCTTtHeEdzMGhCSDtDQUNGOztBd0d4MWhCRDtFQXFCTTtDeEd1MGhCTDs7QXdHNTFoQkQ7RUF3QlE7Q3hHdzBoQlA7O0F3Rzl6aEJEO0VBT0U7RUFFQTtFQUNBO0VBQ0E7Q3hHMHpoQkQ7O0FFcHdoQks7RXNHakVOO0lBR0k7R3hHdTBoQkQ7Q0FDRjs7QXdHMzBoQkQ7RUFjSTtFQUNBO0VBQ0E7Q3hHaTBoQkg7O0FFaHhoQks7RXNHakVOO0lBbUJRO0d4R20waEJMO0NBQ0Y7O0F3R3YxaEJEO0VBd0JJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3hHbTBoQkg7O0FFOXhoQks7RXNHakVOO0lBK0JHO0d4R3EwaEJBO0NBQ0Y7O0F3R3IyaEJEO0VBcUNFO0VBQ0E7Q3hHbzBoQkQ7O0FFenloQks7RXNHakVOO0lBeUNHO0lBQ0E7R3hHczBoQkE7Q0FDRjs7QXdHajNoQkQ7RUErQ0k7RUFDQTtFQUNBO0VBQ0E7RUFNQTtDeEdpMGhCSDs7QUV4emhCSztFc0dqRU47SUFxRE07R3hHeTBoQkg7Q0FDRjs7QXlHeitoQkQ7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0N6RzIraEJEOztBeUdqL2hCRDtFQVNJO0N6RzQraEJIOztBeUdyL2hCRDtFQWFJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtDekcwK2hCSDs7QXlHamdpQkQ7RUEwQk07RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDekcyK2hCTDs7QXlHNWdpQkQ7RUFxQ007RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3pHMitoQkw7O0F5R3poaUJEO0VBb0RJO0VBQ0E7RUFDQTtFQUNBO0N6R3kraEJIOztBeUdoaWlCRDtFQTJESTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDekd5K2hCSDs7QXlHMWlpQkQ7RUFvRU07RUFDQTtFQUNBO0N6RzAraEJMOztBeUdoamlCRDtFQTJFSTtFQUNBO0N6R3kraEJIOztBeUdyamlCRDtFQWdGSTtFQUNBO0VBQ0E7RUFDQTtDekd5K2hCSDs7QXlHNWppQkQ7RUFzRk07Q3pHMCtoQkw7O0F5R2hraUJEO0VBNEZJO0VBQ0E7Q3pHdytoQkg7O0F5R3JraUJEOztFQWdHTTtFQUNBO0VBQ0E7Q3pHMCtoQkw7O0F5RzVraUJEOztFQXNHTTtDekcyK2hCTDs7QXlHamxpQkQ7Ozs7RUE4R007RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N6RzAraEJMOztBeUc3bGlCRDtFQXVITTtDekcwK2hCTDs7QXlHam1pQkQ7RUEySE07Q3pHMCtoQkw7O0F5R3JtaUJEO0VBK0hNO0N6RzAraEJMOztBeUd6bWlCRDtFQW1JTTtDekcwK2hCTDs7QXlHN21pQkQ7RUEwSU07Q3pHdStoQkw7O0F5R2puaUJEO0VBOElNO0VBQ0E7Q3pHdStoQkw7O0F5R3RuaUJEO0VBbUpNO0VBQ0E7Q3pHdStoQkw7O0F5RzNuaUJEO0VBNEpNO0VBRUE7RUFDQTtFQUNBO0N6R2sraEJMOztBeUdsb2lCRDs7RUF1S007RUFDQTtDekdnK2hCTDs7QXlHeG9pQkQ7O0VBMktRO0VBQ0E7RUFDQTtDekdrK2hCUDs7QXlHL29pQkQ7RUFrTE07Q3pHaStoQkw7O0F5R25waUJEO0VBcUxRO0N6R2sraEJQOztBeUd2cGlCRDtFQXlMUTtFQUNBO0N6R2sraEJQOztBeUc1cGlCRDtFQWtNSTtFQUNBO0VBQ0E7RUFDQTtDekc4OWhCSDs7QXlHbnFpQkQ7RUF3TU07RUFDQTtDekcrOWhCTDs7QXlHeHFpQkQ7RUE0TVE7RUFDQTtFQUNBO0N6R2craEJQOztBeUc5cWlCRDtFQWtOUTtDekdnK2hCUDs7QXlHMTloQkQ7O0VBRUU7Q3pHNjloQkQ7O0FJcHFpQkM7RXNHbEJBO0MxRzByaUJEOztBMEd4cmlCRDtFQUNFO0VBQ0E7RUFDQTtDMUcycmlCRDs7QTBHOXJpQkQ7RUFNSTtFQUNBO0MxRzRyaUJIOztBMEduc2lCRDtFQVVNO0VBQ0E7RUFDQTtDMUc2cmlCTDs7QTBHeHJpQkQ7RUFDRTtFQUNBO0MxRzJyaUJEOztBRTNpaUJLO0V3R2xKTjtJQU1NO0cxRzRyaUJIO0NBQ0Y7O0EwR25zaUJEO0VBV0k7QzFHNHJpQkg7O0EwR3ZzaUJEO0VBZUk7RUFDQTtDMUc0cmlCSDs7QTBHNXNpQkQ7OztFQXFCTTtDMUc2cmlCTDs7QTBHcHJpQkQ7RUFDRTtDMUd1cmlCRDs7QTJHMXVpQkQ7RUFDRTtFQUNBO0MzRzZ1aUJEOztBMkcxdWlCRDtFQUNFO0VBQ0E7RUFDQTtDM0c2dWlCRDs7QTJHaHZpQkQ7RUFNSTtDM0c4dWlCSDs7QUU5a2lCSztFeUd0S047SUFVSTtH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O0VBQ0E7RUFDQTtFQUNBO0MzR3l6aUJMOztBMkdyemlCQztFQUNFO0VBQ0E7RUFDQTtDM0d3emlCSDs7QTJHdHppQkc7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzR3l6aUJMOztBMkd0emlCRztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNHeXppQkw7O0EyR3J6aUJDO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0d3emlCSDs7QTJHdHppQkc7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNHeXppQkw7O0EyR3R6aUJHO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzR3l6aUJMOztBMkdqNWlCQztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNHbzVpQkg7O0EyR2w1aUJHO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzR3E1aUJMOztBMkdsNWlCRztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0dxNWlCTDs7QTJHajVpQkM7RUFDRTtFQUNBO0VBQ0E7QzNHbzVpQkg7O0EyR2w1aUJHO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0dxNWlCTDs7QTJHbDVpQkc7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzR3E1aUJMOztBMkdqNWlCQztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNHbzVpQkg7O0EyR2w1aUJHO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzR3E1aUJMOztBMkdsNWlCRztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0dxNWlCTDs7QTJHNytpQkM7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzR2cvaUJIOztBMkc5K2lCRztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0dpL2lCTDs7QTJHOStpQkc7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNHaS9pQkw7O0EyRzcraUJDO0VBQ0U7RUFDQTtFQUNBO0MzR2cvaUJIOztBMkc5K2lCRztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNHaS9pQkw7O0EyRzkraUJHO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0dpL2lCTDs7QTJHNytpQkM7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzR2cvaUJIOztBMkc5K2lCRztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0dpL2lCTDs7QTJHOStpQkc7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNHaS9pQkw7O0EyR3prakJDO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0c0a2pCSDs7QTJHMWtqQkc7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNHNmtqQkw7O0EyRzFrakJHO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzRzZrakJMOztBMkd6a2pCQztFQUNFO0VBQ0E7RUFDQTtDM0c0a2pCSDs7QTJHMWtqQkc7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzRzZrakJMOztBMkcxa2pCRztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNHNmtqQkw7O0EyR3prakJDO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0c0a2pCSDs7QTJHMWtqQkc7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNHNmtqQkw7O0EyRzFrakJHO0VBQ0U7RUFDQTtFQUNBO0VB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QUNBO0VBQ1k7RUFDQTtDaEh1aG1CZjs7QWdIanZtQkQ7RUErTkc7RUFDQTtFQUNBO0NoSHNobUJGOztBRXRsbUJLO0U4R2pLTjtJQXdPRztHaEhvaG1CQTtDQUNGOztBZ0g3dm1CRDtFQThPRTtFQUNBO0NoSG1obUJEOztBZ0hsd21CRDtFQW1QRTtFQUNBO0NoSG1obUJEOztBRXRtbUJLO0U4R2pLTjtJQXVQRztHaEhxaG1CQTtDQUNGOztBZ0g3d21CRDtFQThQRTtFQUNBO0VBQ0E7RUFDQTtDaEhtaG1CRDs7QUVubm1CSztFOEdqS047SUFvUUc7R2hIcWhtQkE7Q0FDRjs7QWdIMXhtQkQ7RUF3UUc7Q2hIc2htQkY7O0FFN25tQks7RThHaktOO0lBMlFJO0doSHdobUJEO0NBQ0Y7O0FnSHB5bUJEO0VBaVJHO0NoSHVobUJGOztBRXZvbUJLO0U4R2pLTjtJQW9SSTtJQUNBO0doSHlobUJEO0NBQ0Y7O0FnSC95bUJEO0VBOFJFO0VBQ0E7RUFVQTtDaEg0Z21CRDs7QWdIcnptQkQ7RUFrU0c7Q2hIdWhtQkY7O0FnSHp6bUJEO0VBcVNJO0NoSHdobUJIOztBZ0g3em1CRDs7O0VBNlNHO0NoSHNobUJGOztBZ0huMG1CRDs7O0VBc1RFO0VBQ0E7Q2hIbWhtQkQ7O0FnSDEwbUJEO0VBMlRFO0NoSG1obUJEOztBZ0g3Z21CRDtFQUNDO0NoSGdobUJBOztBZ0hqaG1CRDs7O0VBTUU7RUFDQTtDaEhpaG1CRDs7QUV4cm1CSztFOEdnS047O0lBYUc7SUFDQTtHaEhpaG1CQTtDQUNGOztBZ0hoaW1CRDtFQXFCRTtFQUNBO0VBR0E7Q2hINmdtQkQ7O0FnSHRpbUJEO0VBNEJHO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtDaEg2Z21CRjs7QWdIL2ltQkQ7RUFxQ0k7Q2hIOGdtQkg7O0FFbnRtQks7RThHZ0tOO0lBeUNLO0doSCtnbUJGO0NBQ0Y7O0FnSHpqbUJEO0VBcURHO0VBQ1M7RUFDQTtFQUNUO0VBQ0E7Q2hId2dtQkY7O0FFanVtQks7RThHZ0tOO0lBNERJO0doSDBnbUJEO0NBQ0Y7O0FnSHZrbUJEO0VBaUVL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Sjs7QWdIL29tQkQ7RUEwSks7RUFDQTtDaEh5L2xCSjs7QWdIcHBtQkQ7RUE2Sk07RUFDQTtDaEgyL2xCTDs7QWdIenBtQkQ7RUFxS0c7RUFDQTtDaEh3L2xCRjs7QWdIOXBtQkQ7RUF5S0k7Q2hIeS9sQkg7O0FnSGxxbUJEO0VBa0xFO0VBQ0E7RUFDQTtDaEhvL2xCRDs7QWdIeHFtQkQ7RUF1TEc7Q2hIcS9sQkY7O0FnSDVxbUJEO0VBNExFO0VBQ0E7RUFDQTtDaEhvL2xCRDs7QWdIbHJtQkQ7RUFrTUU7RUFDQTtFQUNBO0NoSG8vbEJEOztBZ0h4cm1CRDtFQXdNRTtDaEhvL2xCRDs7QWdINXJtQkQ7RUE0TUU7Q2hIby9sQkQ7O0FnSGhzbUJEO0VBZ05FO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0NoSG0vbEJEOztBRTc0bkJLO0U4R21zQk47SUEwTkc7R2hIcS9sQkE7Q0FDRjs7QWdIaHRtQkQ7RUE4Tkc7Q2hIcy9sQkY7O0FFdjVuQks7RThHbXNCTjtJQWdPSTtHaEh5L2xCRDtDQUNGOztBZ0gxdG1CRDtFQXFPRztDaEh5L2xCRjs7QUVqNm5CSztFOEdtc0JOO0lBdU9JO0doSDQvbEJEO0NBQ0Y7O0FnSHB1bUJEOztFQTZPRztFQUNBO0VBQ0E7Q2hINC9sQkY7O0FFOTZuQks7RThHbXNCTjs7SUFrUEk7R2hIKy9sQkQ7Q0FDRjs7QWdIbHZtQkQ7RUF1UEc7Q2hIKy9sQkY7O0FnSHR2bUJEO0VBMlBHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2hIKy9sQkY7O0FFajhuQks7RThHbXNCTjtJQWtRSTtHaEhpZ21CRDtDQUNGOztBRXY4bkJLO0U4R21zQk47SUFzUUk7R2hIbWdtQkQ7Q0FDRjs7QUU3OG5CSztFOEdtc0JOO0lBOFFHO0doSGlnbUJBOztFZ0gvd21CSDtJQWlSSTtHaEhrZ21CRDtDQUNGOztBZ0g3L2xCRDtFQUNDO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtDaEg4L2xCQTs7QUVoK25CSztFOEcwOUJOO0lBV0U7R2hIZ2dtQkM7Q0FDRjs7QWdINWdtQkQ7RUFlRTtFQUNBO0VB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Q0FDRjs7QUU1N29CSztFK0cyR047SUFxQk07R2pIaTBvQkg7Q0FDRjs7QWlIdjFvQkQ7RUEwQkk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDakhpMG9CSDs7QWlIbDJvQkQ7RUFxQ0k7RUFDQTtFQUNBO0NqSGkwb0JIOztBRW45b0JLO0UrRzJHTjtJQTBDTTtHakhtMG9CSDtDQUNGOztBaUg5Mm9CRDtFQStDSTtFQUNBO0VBQ0E7Q2pIbTBvQkg7O0FpSHAzb0JEO0VBc0RJO0VBQ0E7Q2pIazBvQkg7O0FpSHozb0JEO0VBMkRJO0VBQ0E7Q2pIazBvQkg7O0FpSDkzb0JEO0VBK0RNO0VBQ0E7RUFDQTtDakhtMG9CTDs7QWlIcDRvQkQ7RUFxRU07Q2pIbTBvQkw7O0FpSHg0b0JEO0VBeUVNO0VBQ0E7Q2pIbTBvQkw7O0FFeC9vQks7RStHMkdOO0lBNkVRO0dqSHEwb0JMO0NBQ0Y7O0FpSG41b0JEO0VBaUZRO0NqSHMwb0JQOztBa0g3cXBCRDtFQUNJO0NsSGdycEJIIiwiZmlsZSI6ImNzcy9hcHAuZjMyNTdkNmMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLmZhbmN5Ym94LWVuYWJsZWQge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5mYW5jeWJveC1lbmFibGVkIGJvZHkge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5mYW5jeWJveC1pcy1oaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgbGVmdDogLTk5OTlweDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5mYW5jeWJveC1jb250YWluZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogOTk5OTM7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IH1cblxuLyogTWFrZSBzdXJlIHRoYXQgdGhlIGZpcnN0IG9uZSBpcyBvbiB0aGUgdG9wICovXG4uZmFuY3lib3gtY29udGFpbmVyIH4gLmZhbmN5Ym94LWNvbnRhaW5lciB7XG4gIHotaW5kZXg6IDk5OTkyOyB9XG5cbi5mYW5jeWJveC1vdXRlcixcbi5mYW5jeWJveC1pbm5lcixcbi5mYW5jeWJveC1iZyxcbi5mYW5jeWJveC1zdGFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwOyB9XG5cbi5mYW5jeWJveC1vdXRlciB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuXG4uZmFuY3lib3gtYmcge1xuICBiYWNrZ3JvdW5kOiAjMWUxZTFlO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBpbmhlcml0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQsIDAuNzEpOyB9XG5cbi5mYW5jeWJveC1pcy1vcGVuIC5mYW5jeWJveC1iZyB7XG4gIG9wYWNpdHk6IDAuODc7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7IH1cblxuLmZhbmN5Ym94LWluZm9iYXIsXG4uZmFuY3lib3gtdG9vbGJhcixcbi5mYW5jeWJveC1jYXB0aW9uLXdyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpcmVjdGlvbjogbHRyO1xuICB6LWluZGV4OiA5OTk5NztcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMsIHZpc2liaWxpdHkgMHMgbGluZWFyIC4yNXM7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLmZhbmN5Ym94LXNob3ctaW5mb2JhciAuZmFuY3lib3gtaW5mb2Jhcixcbi5mYW5jeWJveC1zaG93LXRvb2xiYXIgLmZhbmN5Ym94LXRvb2xiYXIsXG4uZmFuY3lib3gtc2hvdy1jYXB0aW9uIC5mYW5jeWJveC1jYXB0aW9uLXdyYXAge1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMsIHZpc2liaWxpdHkgMHM7IH1cblxuLmZhbmN5Ym94LWluZm9iYXIge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC03OXB4OyB9XG5cbi5mYW5jeWJveC1pbmZvYmFyX19ib2R5IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNzBweDtcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2RkZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMCwgMzAsIDMwLCAwLjcpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDsgfVxuXG4uZmFuY3lib3gtdG9vbGJhciB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLmZhbmN5Ym94LXN0YWdlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIHotaW5kZXg6IDk5OTk0O1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLmZhbmN5Ym94LXNsaWRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG91dGxpbmU6IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgei1pbmRleDogOTk5OTQ7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgZGlzcGxheTogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5LCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOyB9XG5cbi5mYW5jeWJveC1zbGlkZTo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMDsgfVxuXG4uZmFuY3lib3gtaXMtc2xpZGluZyAuZmFuY3lib3gtc2xpZGUsXG4uZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzLFxuLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50LFxuLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5mYW5jeWJveC1zbGlkZS0taW1hZ2U6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS12aWRlbyAuZmFuY3lib3gtY29udGVudCxcbi5mYW5jeWJveC1zbGlkZS0tdmlkZW8gaWZyYW1lIHtcbiAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLW1hcCAuZmFuY3lib3gtY29udGVudCxcbi5mYW5jeWJveC1zbGlkZS0tbWFwIGlmcmFtZSB7XG4gIGJhY2tncm91bmQ6ICNFNUUzREY7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgei1pbmRleDogOTk5OTU7IH1cblxuLmZhbmN5Ym94LXNsaWRlID4gZGl2IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1hcmdpbjogNDRweCAwIDQ0cHg7XG4gIGJvcmRlci13aWR0aDogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLmZhbmN5Ym94LXNsaWRlIC5mYW5jeWJveC1pbWFnZS13cmFwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICB6LWluZGV4OiA5OTk5NTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5mYW5jeWJveC1jYW4tem9vbU91dCAuZmFuY3lib3gtaW1hZ2Utd3JhcCB7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLW91dDtcbiAgY3Vyc29yOiB6b29tLW91dDsgfVxuXG4uZmFuY3lib3gtY2FuLXpvb21JbiAuZmFuY3lib3gtaW1hZ2Utd3JhcCB7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuICBjdXJzb3I6IHpvb20taW47IH1cblxuLmZhbmN5Ym94LWNhbi1kcmFnIC5mYW5jeWJveC1pbWFnZS13cmFwIHtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4gIGN1cnNvcjogZ3JhYjsgfVxuXG4uZmFuY3lib3gtaXMtZHJhZ2dpbmcgLmZhbmN5Ym94LWltYWdlLXdyYXAge1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7XG4gIGN1cnNvcjogZ3JhYmJpbmc7IH1cblxuLmZhbmN5Ym94LWltYWdlLFxuLmZhbmN5Ym94LXNwYWNlYmFsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5mYW5jeWJveC1zcGFjZWJhbGwge1xuICB6LWluZGV4OiAxOyB9XG5cbi5mYW5jeWJveC1zbGlkZS0taWZyYW1lIC5mYW5jeWJveC1jb250ZW50IHtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDgwJTtcbiAgaGVpZ2h0OiA4MCU7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTAwcHgpO1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSA4OHB4KTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLmZhbmN5Ym94LWlmcmFtZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4uZmFuY3lib3gtZXJyb3Ige1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDQwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDM4MHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLmZhbmN5Ym94LWVycm9yIHAge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjNDQ0O1xuICBmb250OiAxNnB4LzIwcHggXCJIZWx2ZXRpY2EgTmV1ZVwiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmOyB9XG5cbi5mYW5jeWJveC1jbG9zZS1zbWFsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB6LWluZGV4OiAxMDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5mYW5jeWJveC1jbG9zZS1zbWFsbDphZnRlciB7XG4gIGNvbnRlbnQ6ICfDlyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1cHg7XG4gIHJpZ2h0OiA1cHg7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGZvbnQ6IDIwcHgvMzBweCBBcmlhbCxcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjODg4O1xuICBmb250LXdlaWdodDogMzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4yNXM7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHotaW5kZXg6IDI7IH1cblxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmZvY3VzOmFmdGVyIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCAjODg4OyB9XG5cbi5mYW5jeWJveC1jbG9zZS1zbWFsbDpob3ZlcjphZnRlciB7XG4gIGNvbG9yOiAjNTU1O1xuICBiYWNrZ3JvdW5kOiAjZWVlOyB9XG5cbi5mYW5jeWJveC1zbGlkZS0taWZyYW1lIC5mYW5jeWJveC1jbG9zZS1zbWFsbCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IC00NHB4OyB9XG5cbi5mYW5jeWJveC1zbGlkZS0taWZyYW1lIC5mYW5jeWJveC1jbG9zZS1zbWFsbDphZnRlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDM1cHg7XG4gIGNvbG9yOiAjYWFhOyB9XG5cbi5mYW5jeWJveC1zbGlkZS0taWZyYW1lIC5mYW5jeWJveC1jbG9zZS1zbWFsbDpob3ZlcjphZnRlciB7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qIENhcHRpb24gKi9cbi5mYW5jeWJveC1jYXB0aW9uLXdyYXAge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nOiA2MHB4IDMwcHggMCAzMHB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudCAwJSwgcmdiYSgwLCAwLCAwLCAwLjEpIDIwJSwgcmdiYSgwLCAwLCAwLCAwLjIpIDQwJSwgcmdiYSgwLCAwLCAwLCAwLjYpIDgwJSwgcmdiYSgwLCAwLCAwLCAwLjgpIDEwMCUpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uZmFuY3lib3gtY2FwdGlvbiB7XG4gIHBhZGRpbmc6IDMwcHggMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO1xuICBjb2xvcjogI2ZmZjtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTsgfVxuXG4uZmFuY3lib3gtY2FwdGlvbiBhLFxuLmZhbmN5Ym94LWNhcHRpb24gYnV0dG9uLFxuLmZhbmN5Ym94LWNhcHRpb24gc2VsZWN0IHtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxuXG4uZmFuY3lib3gtY2FwdGlvbiBhIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi8qIEJ1dHRvbnMgKi9cbi5mYW5jeWJveC1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2RkZDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5mYW5jeWJveC1idXR0b25bZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uZmFuY3lib3gtaW5mb2Jhcl9fYm9keSwgLmZhbmN5Ym94LWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzAsIDMwLCAzMCwgMC42KTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOCk7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbjo6YmVmb3JlLFxuLmZhbmN5Ym94LWJ1dHRvbjo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICBjb2xvcjogY3VycmVudENvbG9yO1xuICBvcGFjaXR5OiAwLjk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uZmFuY3lib3gtYnV0dG9uW2Rpc2FibGVkXTo6YmVmb3JlLFxuLmZhbmN5Ym94LWJ1dHRvbltkaXNhYmxlZF06OmFmdGVyIHtcbiAgb3BhY2l0eTogMC4zOyB9XG5cbi5mYW5jeWJveC1idXR0b24tLWxlZnQ6OmFmdGVyLFxuLmZhbmN5Ym94LWJ1dHRvbi0tcmlnaHQ6OmFmdGVyIHtcbiAgdG9wOiAxOHB4O1xuICB3aWR0aDogNnB4O1xuICBoZWlnaHQ6IDZweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IHNvbGlkIDJweCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yaWdodDogc29saWQgMnB4IGN1cnJlbnRDb2xvcjsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1sZWZ0OjphZnRlciB7XG4gIGxlZnQ6IDIwcHg7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tcmlnaHQ6OmFmdGVyIHtcbiAgcmlnaHQ6IDIwcHg7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tbGVmdCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVweDsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1yaWdodCB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2U6OmJlZm9yZSwgLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2U6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDJweDtcbiAgd2lkdGg6IDE2cHg7XG4gIHRvcDogY2FsYyg1MCUgLSAxcHgpO1xuICBsZWZ0OiBjYWxjKDUwJSAtIDhweCk7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2U6OmJlZm9yZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2U6OmFmdGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuXG4vKiBOYXZpZ2F0aW9uIGFycm93cyAqL1xuLmZhbmN5Ym94LWFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luOiAtNTBweCAwIDAgMDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgd2lkdGg6IDU0cHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiA5OTk5NTtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMjVzOyB9XG5cbi5mYW5jeWJveC1hcnJvdzo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDI4cHg7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzAsIDMwLCAzMCwgMC44KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5Qm1hV3hzUFNJalJrWkdSa1pHSWlCb1pXbG5hSFE5SWpRNElpQjJhV1YzUW05NFBTSXdJREFnTWpRZ01qUWlJSGRwWkhSb1BTSTBPQ0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JajRnSUNBZ1BIQmhkR2dnWkQwaVRUQWdNR2d5TkhZeU5FZ3dlaUlnWm1sc2JEMGlibTl1WlNJdlBpQWdJQ0E4Y0dGMGFDQmtQU0pOTVRJZ05Hd3RNUzQwTVNBeExqUXhUREUyTGpFM0lERXhTRFIyTW1neE1pNHhOMnd0TlM0MU9DQTFMalU1VERFeUlESXdiRGd0T0hvaUx6NDhMM04yWno0PSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMjRweCAyNHB4OyB9XG5cbi5mYW5jeWJveC1hcnJvdy0tcmlnaHQge1xuICByaWdodDogMDsgfVxuXG4uZmFuY3lib3gtYXJyb3ctLWxlZnQge1xuICBsZWZ0OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpOyB9XG5cbi5mYW5jeWJveC1hcnJvdy0tcmlnaHQ6OmFmdGVyLFxuLmZhbmN5Ym94LWFycm93LS1sZWZ0OjphZnRlciB7XG4gIGxlZnQ6IDA7IH1cblxuLmZhbmN5Ym94LXNob3ctbmF2IC5mYW5jeWJveC1hcnJvdyB7XG4gIG9wYWNpdHk6IDAuNjsgfVxuXG4uZmFuY3lib3gtc2hvdy1uYXYgLmZhbmN5Ym94LWFycm93W2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDAuMzsgfVxuXG4vKiBMb2FkaW5nIGluZGljYXRvciAqL1xuLmZhbmN5Ym94LXNsaWRlID4gLmZhbmN5Ym94LWxvYWRpbmcge1xuICBib3JkZXI6IDZweCBzb2xpZCByZ2JhKDEwMCwgMTAwLCAxMDAsIDAuNCk7XG4gIGJvcmRlci10b3A6IDZweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGhlaWdodDogNTBweDtcbiAgd2lkdGg6IDUwcHg7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmYW5jeWJveC1yb3RhdGUgLjhzIGluZmluaXRlIGxpbmVhcjtcbiAgYW5pbWF0aW9uOiBmYW5jeWJveC1yb3RhdGUgLjhzIGluZmluaXRlIGxpbmVhcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTI1cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMjVweDtcbiAgei1pbmRleDogOTk5OTk7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhbmN5Ym94LXJvdGF0ZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBmYW5jeWJveC1yb3RhdGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTsgfSB9XG5cbi8qIFRyYW5zaXRpb24gZWZmZWN0cyAqL1xuLmZhbmN5Ym94LWFuaW1hdGVkIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKTsgfVxuXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiBzbGlkZSAqL1xuLmZhbmN5Ym94LWZ4LXNsaWRlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5mYW5jeWJveC1meC1zbGlkZS5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uZmFuY3lib3gtZngtc2xpZGUuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLyogdHJhbnNpdGlvbkVmZmVjdDogZmFkZSAqL1xuLmZhbmN5Ym94LWZ4LWZhZGUuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzLFxuLmZhbmN5Ym94LWZ4LWZhZGUuZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpOyB9XG5cbi5mYW5jeWJveC1meC1mYWRlLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiB6b29tLWluLW91dCAqL1xuLmZhbmN5Ym94LWZ4LXpvb20taW4tb3V0LmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuNSwgMS41LCAxLjUpO1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMS41LCAxLjUsIDEuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmZhbmN5Ym94LWZ4LXpvb20taW4tb3V0LmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC41LCAwLjUsIDAuNSk7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgwLjUsIDAuNSwgMC41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uZmFuY3lib3gtZngtem9vbS1pbi1vdXQuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qIHRyYW5zaXRpb25FZmZlY3Q6IHJvdGF0ZSAqL1xuLmZhbmN5Ym94LWZ4LXJvdGF0ZS5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0zNjBkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTM2MGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0zNjBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5mYW5jeWJveC1meC1yb3RhdGUuZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5mYW5jeWJveC1meC1yb3RhdGUuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qIHRyYW5zaXRpb25FZmZlY3Q6IGNpcmN1bGFyICovXG4uZmFuY3lib3gtZngtY2lyY3VsYXIuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMCwgMCwgMCkgdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMCwgMCwgMCkgdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5mYW5jeWJveC1meC1jaXJjdWxhci5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAsIDAsIDApIHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMCwgMCwgMCkgdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmZhbmN5Ym94LWZ4LWNpcmN1bGFyLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiB0dWJlICovXG4uZmFuY3lib3gtZngtdHViZS5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNjYWxlKDAuMSkgc2tldygtMTBkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBzY2FsZSgwLjEpIHNrZXcoLTEwZGVnKTsgfVxuXG4uZmFuY3lib3gtZngtdHViZS5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBzY2FsZSgwLjEpIHNrZXcoMTBkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNjYWxlKDAuMSkgc2tldygxMGRlZyk7IH1cblxuLmZhbmN5Ym94LWZ4LXR1YmUuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGUoMSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGUoMSk7IH1cblxuLyogU3R5bGluZyBmb3IgU21hbGwtU2NyZWVuIERldmljZXMgKi9cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gIC5mYW5jeWJveC1pbmZvYmFyIHtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5mYW5jeWJveC1idXR0b24tLWxlZnQsXG4gIC5mYW5jeWJveC1idXR0b24tLXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmZhbmN5Ym94LWNhcHRpb24ge1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICBtYXJnaW46IDA7IH0gfVxuXG4vKiBGdWxsc2NyZWVuICAqL1xuLmZhbmN5Ym94LWJ1dHRvbi0tZnVsbHNjcmVlbjo6YmVmb3JlIHtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTFweDtcbiAgbGVmdDogY2FsYyg1MCUgLSA3cHgpO1xuICB0b3A6IGNhbGMoNTAlIC0gNnB4KTtcbiAgYm9yZGVyOiAycHggc29saWQ7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cblxuLyogU2xpZGVzaG93IGJ1dHRvbiAqL1xuLmZhbmN5Ym94LWJ1dHRvbi0tcGxheTo6YmVmb3JlLFxuLmZhbmN5Ym94LWJ1dHRvbi0tcGF1c2U6OmJlZm9yZSB7XG4gIHRvcDogY2FsYyg1MCUgLSA2cHgpO1xuICBsZWZ0OiBjYWxjKDUwJSAtIDRweCk7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi5mYW5jeWJveC1idXR0b24tLXBsYXk6OmJlZm9yZSB7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDZweCBpbnNldCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogNnB4IGluc2V0IHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMTBweCBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogMXB4OyB9XG5cbi5mYW5jeWJveC1idXR0b24tLXBhdXNlOjpiZWZvcmUge1xuICB3aWR0aDogN3B4O1xuICBoZWlnaHQ6IDExcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMCAycHggMCAycHg7IH1cblxuLyogVGh1bWJzICovXG4uZmFuY3lib3gtdGh1bWJzIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS10aHVtYnMge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5mYW5jeWJveC1idXR0b24tLXRodW1icyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5mYW5jeWJveC1idXR0b24tLXRodW1icyBzcGFuIHtcbiAgICBmb250LXNpemU6IDIzcHg7IH1cbiAgLmZhbmN5Ym94LWJ1dHRvbi0tdGh1bWJzOjpiZWZvcmUge1xuICAgIHdpZHRoOiAzcHg7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDJweCk7XG4gICAgbGVmdDogY2FsYyg1MCUgLSAycHgpO1xuICAgIGJveC1zaGFkb3c6IDAgLTRweCAwLCAtNHB4IC00cHggMCwgNHB4IC00cHggMCwgMCAwIDAgMzJweCBpbnNldCwgLTRweCAwIDAsIDRweCAwIDAsIDAgNHB4IDAsIC00cHggNHB4IDAsIDRweCA0cHggMDsgfVxuICAuZmFuY3lib3gtdGh1bWJzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHdpZHRoOiAyMjBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogNXB4IDVweCAwIDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB6LWluZGV4OiA5OTk5NTsgfVxuICAuZmFuY3lib3gtc2hvdy10aHVtYnMgLmZhbmN5Ym94LXRodW1icyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZhbmN5Ym94LXNob3ctdGh1bWJzIC5mYW5jeWJveC1pbm5lciB7XG4gICAgcmlnaHQ6IDIyMHB4OyB9XG4gIC5mYW5jeWJveC10aHVtYnMgPiB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBmb250LXNpemU6IDA7IH1cbiAgLmZhbmN5Ym94LXRodW1icyA+IHVsID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwNXB4O1xuICAgIGhlaWdodDogNzVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICBsaS5mYW5jeWJveC10aHVtYnMtbG9hZGluZyB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gIC5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpID4gaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgLmZhbmN5Ym94LXRodW1icyA+IHVsID4gbGk6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAjNGVhN2Y5O1xuICAgIHotaW5kZXg6IDk5OTkxO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpLmZhbmN5Ym94LXRodW1icy1hY3RpdmU6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2Fzc2V0cy9zY3NzL2xpYi9qcXVlcnkuZmFuY3lib3guY3NzIiwiQGltcG9ydCBcInp1cmIvZm91bmRhdGlvblwiO1xuQGltcG9ydCBcInp1cmIvbW90aW9uLXVpXCI7XG5AaW1wb3J0IFwifmZvbnQtYXdlc29tZS9zY3NzL2ZvbnQtYXdlc29tZVwiO1xuQGltcG9ydCBcIn5zbGljay1jYXJvdXNlbC9zbGljay9zbGlja1wiO1xuQGltcG9ydCBcIn5zbGljay1jYXJvdXNlbC9zbGljay9zbGljay10aGVtZVwiO1xuXG5AaW1wb3J0IFwibGliL3pvb21pZnlcIjtcbkBpbXBvcnQgXCJsaWIvanF1ZXJ5LmZhbmN5Ym94LmNzc1wiO1xuQGltcG9ydCBcImxpYi9qcXVlcnktdWktZnJvbnRcIjtcbkBpbXBvcnQgXCJsaWIvaW5wdXQtc3Bpbm5lclwiO1xuXG5AaW1wb3J0IFwiZnJvbnRlbmQvY29tcG9uZW50cy9taXhpbnNcIjtcbkBpbXBvcnQgXCJmcm9udGVuZC9jb21wb25lbnRzL2ZvbnRzXCI7XG5AaW1wb3J0IFwiZnJvbnRlbmQvY29tcG9uZW50cy90eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwiZnJvbnRlbmQvY29tcG9uZW50cy9jYXJvdXNlbFwiO1xuQGltcG9ydCBcImZyb250ZW5kL2NvbXBvbmVudHMvYnV0dG9uc1wiO1xuQGltcG9ydCBcImZyb250ZW5kL2NvbXBvbmVudHMvZm9ybXNcIjtcbkBpbXBvcnQgXCJmcm9udGVuZC9jb21wb25lbnRzL2ZpbHRlcnNcIjtcbkBpbXBvcnQgXCJmcm9udGVuZC9jb21wb25lbnRzL2dhbGxlcnlfY2F0YWxvZ3VlXCI7XG5AaW1wb3J0IFwiZnJvbnRlbmQvY29tcG9uZW50cy9nYWxsZXJ5XCI7XG5AaW1wb3J0IFwiZnJvbnRlbmQvY29tcG9uZW50cy9tb2RhbFwiO1xuXG5AaW1wb3J0IFwiZnJvbnRlbmQvbGF5b3V0cy9tYWluXCI7XG5AaW1wb3J0IFwiZnJvbnRlbmQvbGF5b3V0cy9oZWFkZXJcIjtcbkBpbXBvcnQgXCJmcm9udGVuZC9sYXlvdXRzL2Zvb3RlclwiO1xuXG5AaW1wb3J0IFwiZnJvbnRlbmQvY29tcG9uZW50cy9ibG9ja3NcIjtcblxuQGltcG9ydCBcImZyb250ZW5kL3BhZ2VzL2xvZ2luXCI7XG5AaW1wb3J0IFwiZnJvbnRlbmQvcGFnZXMvaG9tZVwiO1xuQGltcG9ydCBcImZyb250ZW5kL3BhZ2VzL2ZpY2hlXCI7XG5AaW1wb3J0IFwiZnJvbnRlbmQvcGFnZXMvY2F0YWxvZ3VlXCI7XG5AaW1wb3J0IFwiZnJvbnRlbmQvcGFnZXMvdmVybmlzc2FnZVwiO1xuQGltcG9ydCBcImZyb250ZW5kL3BhZ2VzL2FydGlzdFwiO1xuQGltcG9ydCBcImZyb250ZW5kL3BhZ2VzL2FydGlzdGVzXCI7XG5AaW1wb3J0IFwiZnJvbnRlbmQvcGFnZXMvY2hlY2tvdXRcIjtcbkBpbXBvcnQgXCJmcm9udGVuZC9wYWdlcy9uZXdzXCI7XG5AaW1wb3J0IFwiZnJvbnRlbmQvcGFnZXMvY21zXCI7XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9hc3NldHMvc2Nzcy9mcm9udGVuZC5zY3NzIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNS4zXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBEZXBlbmRlbmNpZXNcbkBpbXBvcnQgJ3ZlbmRvci9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIC0tLSBTZXR0aW5ncyAtLS1cbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gLS0tIENvbXBvbmVudHMgLS0tXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG4vLyBHbG9iYWwgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuLy8gR3JpZHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuLy8gQmFzaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuLy8gQ29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuXG4vLyBIZWxwZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8vIEdsb2JhbCBzdHlsZXNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbiAgLy8gR3JpZHNcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICAvLyBCYXNpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcblxuICAvLyBDb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICAvLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuXG4gIC8vIExheW91dCBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuXG4gIC8vIEhlbHBlcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaWYgJGZsZXggeyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlczsgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGlmICRwcm90b3R5cGUgeyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzOyB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1RoZSBmaXJzdCBrZXkgaW4gdGhlICRicmVha3BvaW50cyBtYXAgbXVzdCBoYXZlIGEgdmFsdWUgb2YgXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gLjAwMTI1O1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgfVxuICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG59XG5cbi8vLyBDb252ZXJ0cyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbi8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbi8vIFRoaXMgc2hvdWxkIGJlIGluIHRoZSBzYW1lIGJyZWFrcG9pbnQgdGhlbiBgQG1peGluIHJldmVhbC1tb2RhbC13aWR0aGBcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICVyZXZlYWwtY2VudGVyZWQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICAvLyBXb3JrYXJvdW5kIGFuZHJvaWQgYnJvd3NlciB6LWluZGV4IGJ1Z1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIC8vIEV4dGVuZHMgbXVzdCBiZSBtYWRlIG91dHNpZGUgb2YgYnJlYWtwb2ludHMgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBuZXdlciBTYXNzIHZlcnNpb25zIChsaWJzYXNzIHYzLjUpXG4gIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuXG4gIC8vLyBEaXNhYmxlcyB0aGUgc2Nyb2xsIHdoZW4gUmV2ZWFsIGlzIHNob3duIHRvIHByZXZlbnQgdGhlIGJhY2tncm91bmQgZnJvbSBzaGlmdGluZ1xuICBodG1sLmlzLXJldmVhbC1vcGVuIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuXG4gICAgJi56Zi1oYXMtc2Nyb2xsIHtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICB9XG5cbiAgICBib2R5IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIkBtaXhpbiBmb3VuZGF0aW9uLW5vcm1hbGl6ZSgpIHtcbiAgLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4gIC8vIERvY3VtZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cblxuICBodG1sIHtcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxuICB9XG5cbiAgLy8gU2VjdGlvbnNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAvLyBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLy8gR3JvdXBpbmcgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gIC8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG4gIGhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICAgIGhlaWdodDogMDsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgcHJlIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICAvLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuXG4gIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyAvLyAxXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGNvZGUsXG4gIGtiZCxcbiAgc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAvLyBhbGwgYnJvd3NlcnMuXG5cbiAgc3ViLFxuICBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuXG4gIHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICAvLyBFbWJlZGRlZCBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cblxuICBpbWcge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIC8vIEZvcm1zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8vIDFcbiAgICBmb250LXNpemU6IDEwMCU7IC8vIDFcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIG1hcmdpbjogMDsgLy8gMlxuICB9XG5cbiAgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gIC8vIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCB7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAvLyAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uLFxuICBzZWxlY3QgeyAvLyAxXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgW3R5cGU9XCJidXR0b25cIl0sXG4gIFt0eXBlPVwicmVzZXRcIl0sXG4gIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuXG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gIC8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgLy8gMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAvLyAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cblxuICBsZWdlbmQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAxXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gM1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbiAgcHJvZ3Jlc3Mge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuXG4gIHRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG5cbiAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDJcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cblxuICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMlxuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAvLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG5cbiAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbiAgICBmb250OiBpbmhlcml0OyAvLyAyXG4gIH1cblxuICAvLyBJbnRlcmFjdGl2ZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG5cbiAgZGV0YWlscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICB9XG5cbiAgLy8gTWlzY1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cblxuICB0ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuXG4gIFtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3ZlbmRvci9ub3JtYWxpemUuc2NzcyIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGUgdGhhdCBjb250YWlucyB0aGUgZmxleCBqdXN0aWZ5aW5nIG9wdGlvbnNcbiQtemYtZmxleC1qdXN0aWZ5OiAtemYtZmxleC1qdXN0aWZ5KCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24pO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbmFtZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxleC1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciBhIGZsZXggZ3JpZCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UgZm9yIHRoaXMgcm93LiBJZiBzZXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCksIHRoZSBnbG9iYWwgY29sdW1uIGNvdW50IHdpbGwgYmUgdXNlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRiYXNlIFt0cnVlXSAtIFNldCB0byBgZmFsc2VgIHRvIHByZXZlbnQgYmFzaWMgc3R5bGVzIGZyb20gYmVpbmcgb3V0cHV0LiBVc2VmdWwgaWYgeW91J3JlIGNhbGxpbmcgdGhpcyBtaXhpbiBvbiB0aGUgc2FtZSBlbGVtZW50IHR3aWNlLCBhcyBpdCBwcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIG91dHB1dC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIFNldCB0byBgZmFsc2VgIHRvIGhhdmUgcm93IHdyYXBwaW5nIGJlaGF2aW9yIHNldCB0byBub3dyYXBcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLCBpbiBjYXNlIHRoZSByb3cgaXMgbmVzdGVkLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGZsZXgtZ3JpZC1yb3coXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiYXNlOiB0cnVlLFxuICAkd3JhcDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkYmFzZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyAkd3JhcDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMsICRiYXNlKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGBmbGV4YCBwcm9wZXJ0eSBmb3IgYSBmbGV4IGdyaWQgY29sdW1uLiBJdCBhY2NlcHRzIGFsbCBvZiB0aGUgc2FtZSB2YWx1ZXMgYXMgdGhlIGJhc2ljIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgYWxvbmcgd2l0aCB0d28gZXh0cmFzOlxuLy8vICAgLSBgZXhwYW5kYCAodGhlIGRlZmF1bHQpIHdpbGwgbWFrZSB0aGUgY29sdW1uIGV4cGFuZCB0byBmaWxsIHNwYWNlLlxuLy8vICAgLSBgc2hyaW5rYCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBjb250cmFjdCwgc28gaXQgb25seSB0YWtlcyB1cCB0aGUgaG9yaXpvbnRhbCBzcGFjZSBpdCBuZWVkcy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi5cbkBmdW5jdGlvbiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zOiBleHBhbmQpIHtcbiAgJGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG5cbiAgQGlmICRjb2x1bW5zID09IHNocmluayB7XG4gICAgJGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICRjb2x1bW5zICE9IGV4cGFuZCB7XG4gICAgJGZsZXg6IDAgMCBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cblxuICBAcmV0dXJuICRmbGV4O1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbHVtbiBmb3IgYSBmbGV4IGdyaWQuIEJ5IGRlZmF1bHQsIHRoZSBjb2x1bW4gd2lsbCBzdHJldGNoIHRvIHRoZSBmdWxsIHdpZHRoIG9mIGl0cyBjb250YWluZXIsIGJ1dCB0aGlzIGNhbiBiZSBvdmVycmlkZGVuIHdpdGggc2l6aW5nIGNsYXNzZXMsIG9yIGJ5IHVzaW5nIHRoZSBgdW5zdGFja2AgY2xhc3Mgb24gdGhlIHBhcmVudCBmbGV4IHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBmbGV4LWdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzIHdpZHRoLiBTZWUgdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXJgIG1peGluLlxuQG1peGluIGZsZXgtZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiBleHBhbmQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgLy8gQmFzZSBwcm9wZXJ0aWVzXG4gIEBpbmNsdWRlIGZsZXgtZ3JpZC1zaXplKCRjb2x1bW5zKTtcblxuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gIC8vIGZpeGVzIHJlY2VudCBDaHJvbWUgdmVyc2lvbiBub3QgbGltaXRpbmcgY2hpbGQgd2lkdGhcbiAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzQ5MzQ1ODYvd2hpdGUtc3BhY2Utbm93cmFwLWFuZC1mbGV4Ym94LWRpZC1ub3Qtd29yay1pbi1jaHJvbWVcbiAgQGlmICRjb2x1bW5zID09IGV4cGFuZCB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgYmxvY2sgZ3JpZCBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gZGlzcGxheSBvbiBlYWNoIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIC0gU2VsZWN0b3IgdG8gdXNlIHRvIHRhcmdldCBjb2x1bW5zIHdpdGhpbiB0aGUgcm93LlxuQG1peGluIGZsZXgtZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJ1xuKSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgJHBjdDogcGVyY2VudGFnZSgxLyRuKTtcblxuICAgIGZsZXg6IDAgMCAkcGN0O1xuICAgIG1heC13aWR0aDogJHBjdDtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgd2lkdGggZmxleCBncmlkIGNvbHVtbi5cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZmxleC1ncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGZsZXgtZ3JpZC1zaXplKCRjb2x1bW5zOiBudWxsKSB7XG4gICRjb2x1bW5zOiAkY29sdW1ucyBvciBleHBhbmQ7XG5cbiAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkY29sdW1ucyk7XG5cbiAgLy8gbWF4LXdpZHRoIGZpeGVzIElFIDEwLzExIG5vdCByZXNwZWN0aW5nIHRoZSBmbGV4LWJhc2lzIHByb3BlcnR5XG4gIEBpZiAkY29sdW1ucyAhPSBleHBhbmQgYW5kICRjb2x1bW5zICE9IHNocmluayB7XG4gICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cbn1cblxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWdyaWQge1xuICAvLyBSb3dcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdztcblxuICAgIC8vIE5lc3RpbmcgYmVoYXZpb3JcbiAgICAmIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdyhuZXN0LCAkYmFzZTogZmFsc2UpO1xuXG4gICAgICAmLmNvbGxhcHNlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCByb3dcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcblxuICAgICAgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLmV4cGFuZGVkKSAucm93IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcbiAgICB9XG5cbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVuZG8gbmVnYXRpdmUgbWFyZ2luc1xuICAgIC8vIEZyb20gY29sbGFwc2VkIGNoaWxkXG4gICAgJi5pcy1jb2xsYXBzZS1jaGlsZCxcbiAgICAmLmNvbGxhcHNlID4gLmNvbHVtbiA+IC5yb3cge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uXG4gIC5jb2x1bW4ge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW47XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLmNvbHVtbi5yb3cucm93IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAucm93IC5jb2x1bW4ucm93LnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRpKTtcbiAgICAgIH1cblxuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG8pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWxheW91dCgkaSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAvLyBTaXppbmcgKGV4cGFuZClcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tZXhwYW5kIHtcbiAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQXV0by1zdGFja2luZy91bnN0YWNraW5nXG4gICAgICBAYXQtcm9vdCAod2l0aG91dDogbWVkaWEpIHtcbiAgICAgICAgLnJvdy4jeyQtemYtc2l6ZX0tdW5zdGFjayB7XG4gICAgICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oMTAwJSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcbiAgICAuI3skLXpmLXNpemV9LWNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS11bmNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkLXpmLXNpemUpOyB9XG4gICAgfVxuICB9XG5cbiAgLy8gU2l6aW5nIChzaHJpbmspXG4gIC5zaHJpbmsge1xuICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oc2hyaW5rKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBCbG9jayBncmlkIGNvbHVtbnNcbiAgLmNvbHVtbi1ibG9jayB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tbWFyZ2luO1xuICB9XG5cbiAgLmNvbHVtbnMge1xuICAgIEBleHRlbmQgLmNvbHVtbjsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBwbGFjZWhvbGRlci1pbi1leHRlbmRcblxuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiBjb2x1bW5zIGRlZmluZWQgaW5zaWRlIHRoaXMgbWl4aW4gdG8gdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBjb3VudC5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cbi8vLyAgIElmIGB0cnVlYCwgc2VsZWN0b3JzIHdpbGwgbm90IG5lc3QuXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxuICAkY29sdW1ucyxcbiAgJHJvb3Q6IGZhbHNlXG4pIHtcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcbiAgJG9sZC1ncmlkLWNvbHVtbi1jb3VudDogJGdyaWQtY29sdW1uLWNvdW50O1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQgIWdsb2JhbDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIHJvdy5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIENvbHVtbiBjb3VudCBmb3IgdGhpcyByb3cuIGBudWxsYCB3aWxsIHVzZSB0aGUgZGVmYXVsdCBjb2x1bW4gY291bnQuXG4vLy8gQHBhcmFtIHtLZXl3b3Jkc30gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNmIFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBjbGVhcmZpeC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93KFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY2Y6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRjZiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEludmVydHMgdGhlIG1hcmdpbnMgb2YgYSByb3cgdG8gbmVzdCBpdCBpbnNpZGUgb2YgYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93LW5lc3QoJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgJG1hcmdpbjogcmVtLWNhbGMoLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtc2l6ZSkpIC8gMiAqIC0xO1xuXG4gICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXQgYSBncmlkIHJvdyBzaXplXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG5AbWl4aW4gZ3JpZC1yb3ctc2l6ZSgkc2l6ZTogJGdyaWQtcm93LXdpZHRoKSB7XG4gIEBpZiAkc2l6ZSA9PSBleHBhbmQge1xuICAgICRzaXplOiBub25lO1xuICB9XG5cbiAgbWF4LXdpZHRoOiAkc2l6ZTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcm93LnNjc3MiLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkZ3V0dGVyIFthdXRvXVxuLy8vICAgU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRndXR0ZXJzIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBndXR0ZXIgcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRndXR0ZXJzIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRndXR0ZXIsICRndXR0ZXJzKSB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cbn1cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigwKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWd1dHRlcigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZ3V0dGVyXG5AbWl4aW4gZ3JpZC1jb2wtZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2V0cyBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucyB0byBtYXRjaCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG1hcmdpbiBbYXV0b11cbi8vLyAgIFRoZSBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJG1hcmdpbnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIG1hcmdpbiByZXNwb25zaXZlLCB1c2luZyB0aGUgJG1hcmdpbnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXJnaW5zIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLW1hcmdpbiAoXG4gICRtYXJnaW46IGF1dG8sXG4gICRtYXJnaW5zOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJG1hcmdpbiwgJG1hcmdpbnMpIHtcbiAgICAkbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIEl0IGNhbiBiZTpcbi8vLyAgICogQSBudW1iZXI6IFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50XG4vLy8gICAgIHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZVxuLy8vICAgICBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuXG4vLy8gICAqIGBjZW50ZXJgOiBDb2x1bW4gd2lsbCBiZSBjZW50ZXJlZFxuLy8vICAgKiBgYXV0b2A6IENvbHVtbiB3aWxsIGJlIHB1c2hlZCB0byB0aGUgbGVmdCAob3IgdG8gdGhlIHJpZ2h0IGZvciB0aGUgbGFzdCBjb2x1bW4pLlxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xuICAvLyBBdXRvIHBvc2l0aW9uaW5nXG4gIEBpZiAkcG9zaXRpb24gPT0gYXV0byB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHVzaC9wdWxsXG4gIEBlbHNlIGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgJG9mZnNldDogcGVyY2VudGFnZSgkcG9zaXRpb24gLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxuXG4gIC8vIENlbnRlciBwb3NpdGlvbmluZ1xuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBcImNlbnRlclwiIG9yIFwiYXV0b1wiLic7XG4gIH1cbn1cblxuLy8vIFJlc2V0IGEgcG9zaXRpb24gZGVmaW5pdGlvbi5cbkBtaXhpbiBncmlkLWNvbHVtbi11bnBvc2l0aW9uIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oYXV0byk7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodCBieSBgJG5gIGNvbHVtbnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBXaWR0aCB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1vZmZzZXQoJG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ3JpZC1jb2x1bW4oJG4pO1xufVxuXG4vLy8gRGlzYWJsZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgbGFzdCBjb2x1bW4gaW4gYSByb3cgYWxpZ25pbmcgdG8gdGhlIG9wcG9zaXRlIGVkZ2UuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZW5kIHtcbiAgLy8gVGhpcyBleHRyYSBzcGVjaWZpY2l0eSBpcyByZXF1aXJlZCBmb3IgdGhlIHByb3BlcnR5IHRvIGJlIGFwcGxpZWRcbiAgJjpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXBvcygkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVucG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVucG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC11bnBvcyB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVucG9zaXRpb247XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1vZmZzZXQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLW9mZnNldFxuQG1peGluIGdyaWQtY29sLW9mZigkbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG4pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZW5kKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1lbmRcbkBtaXhpbiBncmlkLWNvbC1lbmQge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQ7XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1iYXNlLWdyaWQtY2xhc3NlcyB7XG5cbiAgLy8gR3JpZCBDb250YWluZXJcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICYuZmx1aWQge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUsIDApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgLmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoKTtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkZ3JpZC1jb2x1bW5zLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICAgICYuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgfVxuXG4gICAgJi5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gIH1cbiAgLmdyaWQteCB7XG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgYWxsIHByaW9yIGJyZWFrcG9pbnRzLlxuICAgICAgLy8gQXMgdGhlaXIgZ3V0dGVyIGlzIGRlZmluZWQgd2l0aCB0aGVpciB3aWR0aC9oZWlnaHQsIGV2ZW4gYnJlYWtwb2ludCB3aXRob3V0IGEgbmV3IG1hcmdpbiBtdXN0IGJlXG4gICAgICAvLyBnZW5lcmF0ZWQgdG8gbm90IGhhdmluZyB0aGVpciB3aWR0aC9oZWlnaHQgb3ZlcnJpZGVkIGJ5IHJlLWFkanVzdGVkIHNtYWxsZXIgYnJlYWtwb2ludHMuXG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJC16Zi1zaXplLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktcGFkZGluZy1ncmlkLWNsYXNzZXMge1xuICAuZ3JpZC1wYWRkaW5nLXgge1xuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgZ3JpZHMgd2l0aGluIGBncmlkLWNvbnRhaW5lci9ncmlkLWNvbnRhaW5lci5mbHVpZGBcbiAgICAvLyBUaGlzIGFsbG93cyBtYXJnaW4gYW5kIHBhZGRpbmcgZ3JpZHMgdG8gbGluZSB1cCB3aXRoIGVhY2hvdGhlclxuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gJiB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgICAgLiN7JGJwfS1tYXJnaW4tY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgICAgLiN7JGJwfS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgfVxuICB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICR2ZXJ0aWNhbDogdHJ1ZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuXG4gICAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gIH1cblxufVxuXG5AbWl4aW4geHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkOiB0cnVlLCAkbWFyZ2luLWdyaWQ6IHRydWUpIHtcbiAgLy8gRnJhbWVkIGdyaWQgc3R5bGVzXG4gIC5ncmlkLWZyYW1lIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICB9XG5cbiAgLmNlbGwgLmdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICB9XG5cbiAgLmNlbGwtYmxvY2sge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgfVxuXG4gIC5jZWxsLWJsb2NrLXkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gIH1cblxuXG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuXG4gICAgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gICAgfVxuXG4gICAgLmNlbGwgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICR2ZXJ0aWNhbC1ncmlkIHtcbiAgICAuZ3JpZC15IHtcbiAgICAgICYuZ3JpZC1mcmFtZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgICYuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICAuY2VsbCB7XG4gICAgICAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgIC5ncmlkLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRpbmNsdWRlLWJhc2U6IGZhbHNlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgLmdyaWQtbWFyZ2luLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbmFsIGNsYXNzZXNcbkBtaXhpbiBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcyhcbiAgJGJhc2UtZ3JpZDogdHJ1ZSxcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlLFxuICAkYmxvY2stZ3JpZDogdHJ1ZSxcbiAgJGNvbGxhcHNlOiB0cnVlLFxuICAkb2Zmc2V0OiB0cnVlLFxuICAkdmVydGljYWwtZ3JpZDogdHJ1ZSxcbiAgJGZyYW1lLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgQGlmKCRiYXNlLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1iYXNlLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gTWFyZ2luIGdyaWRcbiAgQGlmKCRtYXJnaW4tZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFBhZGRpbmcgZ3JpZFxuICBAaWYoJHBhZGRpbmctZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBCbG9jayBncmlkXG4gIEBpZigkYmxvY2stZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gQ29sbGFwc2UgZ3V0dGVyc1xuICBAaWYoJGNvbGxhcHNlKSB7XG4gICAgQGluY2x1ZGUgeHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBPZmZzZXQgZ3V0dGVyc1xuICBAaWYoJG9mZnNldCkge1xuICAgIEBpbmNsdWRlIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyaWRcbiAgQGlmKCR2ZXJ0aWNhbC1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICBAaWYgKCRmcmFtZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkLCAkbWFyZ2luLWdyaWQpXG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlIGd1dHRlcnMgZm9yIGEgY2VsbC9jb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGVpdGhlciBtYXJnaW4gb3IgcGFkZGluZy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lZ2F0aXZlIFtmYWxzZV0gLSBXaGV0aGVyIHRvIGFwcGx5IHRoZSBndXR0ZXIgYXMgYSBuZWdhdGl2ZSB2YWx1ZS4gQ29tbW9ubHkgdXNlZCBmb3IgbmVzdGVkIGdyaWRzLlxuQG1peGluIHh5LWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRuZWdhdGl2ZTogZmFsc2Vcbikge1xuICAkb3BlcmF0b3I6IGlmKCRuZWdhdGl2ZSwgJy0nLCAnJyk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBuZWdhdGl2ZSBndXR0ZXJzLCBmb3JjZSB0eXBlIHRvIGBtYXJnaW4uXG4gICRndXR0ZXItdHlwZTogaWYoJG5lZ2F0aXZlLCAnbWFyZ2luJywgJGd1dHRlci10eXBlKTtcblxuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcbiAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ251bWJlcicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVycykgLyAyO1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskZ3JpZC1jb250YWluZXItcGFkZGluZ10gLSBwYWRkaW5ncyBvZiB0aGUgY29udGFpbmVyLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzNgLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgbiBvZiBuIGFuZCBudW1iZXIgY291bnRzXG4gIEBpZiB0eXBlLW9mKCRzaXplKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJHNpemUpID09ICclJyB7XG4gICAgICAkc2l6ZTogJHNpemU7XG4gICAgfVxuICAgIEBlbHNlIGlmICRzaXplIDwgMSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplIC8gJGdyaWQtY29sdW1ucyk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIG9yIFwibi9uXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2UgaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRzaXplKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIiBvciBcIm4vblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKG50aCgkc2l6ZSwgMSkgLyBudGgoJHNpemUsIDMpKTtcbiAgICB9XG4gIH1cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkc2l6ZTtcbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgIG9yIGBncm93YC5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIC8vIFRoaXMgaXMgdGhlIGJhc2Ugc3R5bGUsIGFsbCBvdGhlcnMgaW5oZXJpdCBmcm9tIGl0XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnZ3JvdycpIHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgd2lkdGgsIGhlaWdodCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIG1heC0jeyRkaXJlY3Rpb259OiBub25lO1xufVxuXG4vLyBTZXRzIG91ciBjZWxsIHdpZHRocyBvciBoZWlnaHRzIGRlcGVuZGluZyBvbiBndXR0ZXIgdHlwZS5cbkBtaXhpbiAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkbWFyZ2luLWd1dHRlciwgJHZlcnRpY2FsKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgI3t4eS1jZWxsLXNpemUoJHNpemUpfSwgY2FsYygje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9IC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkYnAtaXMtZmFsbGJhY2s6IGZhbHNlO1xuXG4gIEBpZigkYnJlYWtwb2ludCA9PSBudWxsKSB7XG4gICAgLy8gSWYgYCRicC1zaXplYCBpcyBhdmFpbGFibGUgdGhlbiB1c2UgdGhpcywgb3RoZXJ3aXNlIHJldmVydCB0byB0aGUgc21hbGxlc3QgYnAuXG4gICAgQGlmKHZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkgYW5kIHR5cGUtb2YoJC16Zi1zaXplKSAhPSAnbnVtYmVyJykgYW5kICQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXNpemU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgICAgICRicC1pcy1mYWxsYmFjazogdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAvLyBHZXQgdGhlIGd1dHRlciBmb3IgdGhlIGdpdmVuIGJyZWFrcG9pbnQvdmFsdWUuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgZmFsbGJhY2ssIHVzZSBhIGZhbGxiYWNrIGd1dHRlciBhcyB3ZWxsXG4gIEBpZiAoJGJwLWlzLWZhbGxiYWNrID09IHRydWUgYW5kICRndXR0ZXIgPT0gbnVsbCkge1xuICAgICRndXR0ZXI6IDA7XG4gIH1cblxuICBAaWYoJGd1dHRlciAhPSBudWxsKSB7XG4gICAgLy8gQmFzZSBmbGV4IHByb3BlcnRpZXNcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuXG4gICAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAaWYgJGd1dHRlci1vdXRwdXQge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ3h5LWNlbGw6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiLCBjZWxsIHdhcyBub3QgZ2VuZXJhdGVkYCdcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIC8vIElmIHdlIHdhbnQgdG8gb3V0cHV0IHRoZSBndXR0ZXJzXG4gIEBpZigkZ3V0dGVyLW91dHB1dCkge1xuICAgIC8vIFRPRE86IEZpZ3VyZSBvdXQgaWYgd2UgbmVlZCB0byBwYXNzIGJyZWFrcG9pbnQgaW4gaGVyZSB0b28uXG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NlbGwuc2NzcyIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNlbGwnXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAgb3IgYHBhZGRpbmdgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBicmVha3BvaW50IHRvIHVzZSBmb3IgdGhlIGNlbGwgZ2VuZXJhdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRzaXplOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemUsICRndXR0ZXItb3V0cHV0LCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENvbGxhcHNlcyB0aGUgZ3JpZCBhIGNlbGxzIHdpdGhpbiBpdC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWy5jZWxsXSAtIFRoZSBjaGlsZCBlbGVtZW50IHRvIHJlbW92ZSB0aGUgZ3V0dGVyIGZyb20uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gcmVtb3ZlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb25zIHRvIHJlbW92ZSBndXR0ZXJzIGZyb20uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG1pbi1icmVha3BvaW50IFskLXpmLXplcm8tYnJlYWtwb2ludF0gLSBNaW5pbXVtIGJyZWFrcG9pbnQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGZvciB3aGljaCB0byBjb2xsYXBzZSB0aGUgZ3V0dGVyLlxuQG1peGluIHh5LWdyaWQtY29sbGFwc2UoXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRtaW4tYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnRcbikge1xuICAvLyBGaXJzdCwgbGV0cyBuZWdhdGUgYW55IG1hcmdpbnMgb24gdGhlIHRvcCBsZXZlbFxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICRleGNsdWRlZC1icHM6IC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJG1pbi1icmVha3BvaW50KTtcblxuICAgIC8vIE91dHB1dCBuZXcgd2lkdGhzIHRvIG5vdCBpbmNsdWRlIGd1dHRlcnNcbiAgICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYoc2wtY29udGFpbigkZXhjbHVkZWQtYnBzLCAkYnApKSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0L2JvdHRvbSBieSBgJG5gIGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgemYtY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gTWFwIG9mIGd1dHRlcnMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIFRoZSB0eXBlIG9mIGd1dHRlciB0byB1c2UuIENhbiBiZSBgbWFyZ2luYCBvciBgcGFkZGluZ2Bcbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkYnJlYWtwb2ludCBbJC16Zi16ZXJvLWJyZWFrcG9pbnRdIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UgZm9yIGAkZ3V0dGVyc2AuIFNlZSBgLXpmLWJyZWFrcG9pbnQtdmFsdWUoKWAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgdGhlIG9mZnNldC4gSWYgc2V0IHRvIHRydWUgd2lsbCBhcHBseSBtYXJnaW4tdG9wIGluc3RlYWQuXG5AbWl4aW4geHktY2VsbC1vZmZzZXQoXG4gJG4sXG4gJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsLCAndG9wJywgJGdsb2JhbC1sZWZ0KTtcblxuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkYnJlYWtwb2ludCwgJGd1dHRlcnMpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG4gICAgJGd1dHRlci1tYXJnaW46IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgJGd1dHRlciwgMCk7XG4gICAgJHNpemU6IGlmKCRndXR0ZXItbWFyZ2luID09IDAsICN7eHktY2VsbC1zaXplKCRuKX0sIGNhbGMoI3t4eS1jZWxsLXNpemUoJG4pfSArICN7JGd1dHRlci1tYXJnaW59KSk7XG5cbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skc2l6ZX07XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgW251bGxdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGluY2x1ZGUtYmFzZSBbdHJ1ZV0gLSBJbmNsdWRlIHRoZSBiYXNlIHN0eWxlcyB0aGF0IGRvbid0IHZhcnkgcGVyIGJyZWFrcG9pbnQuXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2UsXG4gICRndXR0ZXJzOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJGluY2x1ZGUtYmFzZTogdHJ1ZVxuKSB7XG5cbiAgQGlmICRpbmNsdWRlLWJhc2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgQGlmICRicmVha3BvaW50ID09IG51bGwgYW5kIHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSgkdmVydGljYWwsICRuZXN0ZWQsICRndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEdldCBvdXIgZ3V0dGVycyBpZiBhcHBsaWNhYmxlXG4gICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgIC8vIElmIHdlIGhhdmUgYSBndXR0ZXIsIGFkZCBpdCB0byB0aGUgd2lkdGgvaGVpZ2h0XG4gICAgQGlmICRndXR0ZXIge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgaGVpZ2h0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICB3aWR0aDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNb2RpZmllcyBhIGNlbGwgdG8gZ2l2ZSBpdCBcImJsb2NrXCIgYmVoYXZpb3IgKG92ZXJmbG93IGF1dG8sIGluZXJ0aWFsIHNjcm9sbGluZylcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuQG1peGluIHh5LWNlbGwtYmxvY2soXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkcHJvcGVydHk6IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCAnb3ZlcmZsb3cteScsICdvdmVyZmxvdy14Jyk7XG5cbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgfSBAZWxzZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4vLy8gQ29udGFpbmVyIGZvciBpbnNpZGUgYSBncmlkIGZyYW1lIGNvbnRhaW5pbmcgbXVsdGlwbGUgYmxvY2tzLiBUeXBpY2FsbHkgdXNlZFxuLy8vIGFzIGEgbW9kaWZpZXIgZm9yIGEgYC5jZWxsYCB0byBhbGxvdyB0aGUgY2VsbCB0byBwYXNzIGFsb25nIGZsZXggc2l6aW5nXG4vLy8gY29uc3RyYWludHMgLyBmcm9tIHBhcmVudHMgdG8gY2hpbGRyZW4uXG5AbWl4aW4geHktY2VsbC1ibG9jay1jb250YWluZXIoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTtcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLCAuaDEsXG4gIGgyLCAuaDIsXG4gIGgzLCAuaDMsXG4gIGg0LCAuaDQsXG4gIGg1LCAuaDUsXG4gIGg2LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSwgLiN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuXG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIHVsLCBvbCB7XG4gICAgLy8gVXNlIHRvIHJlbW92ZSBudW1iZXJzIGZyb20gb3JkZXJlZCBsaXN0ICYgYnVsbGV0cyBmcm9tIHVub3JkZXJlZCBsaXN0XG4gICAgJi5uby1idWxsZXQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheXMgbmV4dCB0byBhbGwgbGlua3MgdGhlaXIgXCJocmVmXCIgd2hlbiBwcmludGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRpdGlvbmFsIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgLmV4cGFuZGVkXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0ge1xuICAgICYsXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIEBpZiAkYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQge1xuICAgICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gb25seSkge1xuICAgICAgICAgICYuI3skc2l6ZX0tb25seS1leHBhbmRlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gZG93bikge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1kb3duLWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9KSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skbmFtZX0uZHJvcGRvd246OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IsIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDbGVhciBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gY2xlYXIge1xuICAgICAgJi5jbGVhciB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG5cbiAgICAgICAgICAgICYsICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgJixcbiAgICAgICAgICAgICAgJi5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3csICYuY2xlYXIge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG5cbiAgYS5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDIgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiAkaW5wdXQtbGluZS1oZWlnaHQpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYWNjb3JkaW9uIHRpdGxlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIgKFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kXG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAmW2Rpc2FibGVkXSB7XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLFxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAnKyc7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDEzJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb24tbWVudVxuLy8vL1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGFjY29yZGlvbiBtZW51cyBoYXZlIHRoZSBkZWZhdWx0IGFycm93IHN0eWxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gYm9yZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIExpc3RcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCBoZWlnaHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMXJlbTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cbn1cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcblxuICAuYWNjb3JkaW9uLW1lbnUge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yaWdodDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItbGVmdDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgfVxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4sIHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgbGkge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgfVxuXG4gIC8vIFN1Ym1lbnUgdG9nZ2xlXG4gIC5zdWJtZW51LXRvZ2dsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xuXG4gICAgd2lkdGg6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICAgIGhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0O1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI7XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFkZCB0aGUgYXJyb3cgdG8gdGhlIHRvZ2dsZVxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcblxuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJvdGF0ZSB0aGUgYXJyb3cgd2hlbiBtZW51IGlzIG9wZW5cbiAgLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB9XG5cbiAgLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MiLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gbWFyZ2luIGZvciBpdGVtcyBpbiBhIHNpbXBsZSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGFuIGljb24gYW5kIHRleHQgaW4gYSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IHN0YXRlLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgYWN0aXZlYCB3aXRoIGBpcy1hY3RpdmVgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgYWN0aXZlYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IGNlbnRlcmVkLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgLm1lbnUtY2VudGVyZWQgPiAubWVudWAgd2l0aCBgLm1lbnUuYWxpZ24tY2VudGVyYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYG1lbnUtY2VudGVyZWRgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIHVzaW5nIGBpY29uLSpgIGNsYXNzZXMgd2l0aG91dCBgLmljb25zYCBjbGFzc2VzXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgdGhpcyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG5cbiAgYSxcbiAgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW1zLXBhZGRpbmc7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gbWVudSBpdGVtcy5cbkBtaXhpbiBtZW51LWFsaWduKCRhbGlnbm1lbnQpIHtcbiAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGNlbnRlciB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudS4gVGhpcyBlZmZlY3RzIHRoZSBzaWRlIG9mIHRoZSBgPGxpPmAgdGhhdCByZWNlaXZlcyB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIFskbWVudS1zaW1wbGUtbWFyZ2luXSAtIFRoZSBtYXJnaW4gdG8gYXBwbHkgdG8gZWFjaCBgPGxpPmAuXG5AbWl4aW4gbWVudS1zaW1wbGUoJGRpcjogJGdsb2JhbC1sZWZ0LCAkbWFyZ2luOiAkbWVudS1zaW1wbGUtbWFyZ2luKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBsaSArIGxpIHtcbiAgICBtYXJnaW4tI3skZGlyfTogJG1hcmdpbjtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkbWFyZ2luIFskbWVudS1uZXN0ZWQtbWFyZ2luXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG5lc3RlZC1hbGlnbm1lbnQgW2xlZnRdIC0gQWxpZ25tZW50IG9mIHRoZSBuZXN0ZWQgY2xhc3NcbkBtaXhpbiBtZW51LW5lc3RlZChcbiAgJG1hcmdpbjogJG1lbnUtbmVzdGVkLW1hcmdpbixcbiAgJG5lc3RlZC1hbGlnbm1lbnQ6IGxlZnRcbikge1xuICBAaWYgJG5lc3RlZC1hbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWFyZ2luO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG4gIH1cblxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGljb25zIGluIG1lbnVzLlxuQG1peGluIG1lbnUtaWNvbnMoKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGltZyxcbiAgICBpLFxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICArIHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBwb3NpdGlvbiBjbGFzc2VzIGZvciBpY29ucyB3aXRoaW4gYSBtZW51LlxuQG1peGluIG1lbnUtaWNvbi1wb3NpdGlvbigkcG9zaXRpb246IGxlZnQsICRzcGFjaW5nOiAkbWVudS1pY29uLXNwYWNpbmcpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJHNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmcgYXV0byAwO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG5cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIG1lbnUtc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgY29sb3I6ICRtZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcblxuICAgIC8vIERlZmF1bHQgb3JpZW50YXRpb246IGhvcml6b250YWxcbiAgICAmLCAmLmhvcml6b250YWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgb3JpZW50YXRpb24gbW9kaWZpZXJcbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xuICAgICYuaWNvbnMge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICB9XG5cbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xuICAgICAgJi5pY29uLXRvcCxcbiAgICAgICYuaWNvbi1yaWdodCxcbiAgICAgICYuaWNvbi1ib3R0b20sXG4gICAgICAmLmljb24tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWNvbiBMZWZ0XG4gICAgJi5pY29uLWxlZnQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEljb24gUmlnaHRcbiAgICAmLmljb24tcmlnaHQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHJpZ2h0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFRvcFxuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCb3R0b21cbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgIH1cbiAgICBcbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtc3RhdGUtYmFjay1jb21wYXQge1xuICAgICAgLmFjdGl2ZSA+IGEge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBsZWZ0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtbGVmdH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYmFkZ2Vcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgYmFkZ2UuXG5AbWl4aW4gYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJhZGdlIHtcbiAgLmJhZGdlIHtcbiAgICBAaW5jbHVkZSBiYWRnZTtcblxuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRiYWRnZS1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRiYWRnZS1jb2xvciwgJGJhZGdlLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19iYWRnZS5zY3NzIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBkaXNhYmxlZCBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBhIHNlcGVyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2ggaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCkge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoO1xufVxuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nICFkZWZhdWx0O1xuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvciBpbiBydGwgbW9kZS5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvciBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3I7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBicmVhZGNydW1icyBjb250YWluZXIsIGFsb25nIHdpdGggdGhlIHN0eWxlcyBmb3IgdGhlIGA8bGk+YCBhbmQgYDxhPmAgZWxlbWVudHMgaW5zaWRlIG9mIGl0LlxuQG1peGluIGJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLy8gSXRlbSB3cmFwcGVyXG4gIGxpIHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3Ige1xuICAgICAgLy8gTmVlZCB0byBlc2NhcGUgdGhlIGJhY2tzbGFzaFxuICAgICAgJHNlcGFyYXRvcjogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAnbHRyJywgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0sICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bCk7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIGNvbnRlbnQ6ICRzZXBhcmF0b3I7XG4gICAgICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xuICAuYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGJyZWFkY3J1bWJzLWNvbnRhaW5lcjtcblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uLWdyb3VwXG4vLy8vXG5cbi8vLyBNYXJnaW4gZm9yIGJ1dHRvbiBncm91cHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbicgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBidXR0b25zIHRoYXQgY2FuIGJlIGluIGFuIGV2ZW4td2lkdGggYnV0dG9uIGdyb3VwLiAoT25seSBuZWVkZWQgd2hlbiAkZ2xvYmFsLWZsZXhib3g6IGZhbHNlOylcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGV0ZXJtaW5lcyBpZiAkYnV0dG9uLXJhZGl1cyBpcyBhcHBsaWVkIHRvIGVhY2ggYnV0dG9uIG9yIHRoZSBidXR0b24gZ3JvdXAgYXMgYSB3aG9sZS4gVXNlICRnbG9iYWwtcmFkaXVzIGluIF9zZXR0aW5ncy5zY3NzIHRvIGNoYW5nZSByYWRpdXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJHNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gT25lIGNoaWxkXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skc3BhY2luZ30pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFR3byBvciBtb3JlIGNoaWxkcmVlblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoMSAvICRpKX0gLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gVW4tc3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLFxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwsXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0YWNrO1xuXG4gICAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24tZ3JvdXAuc2NzcyIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaW5uZXIgcGFkZGluZyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAkY2FsbG91dC1tYXJnaW47XG4gIHBhZGRpbmc6ICRjYWxsb3V0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc21hbGwge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDAuNXJlbSk7XG4gICAgfVxuXG4gICAgJi5sYXJnZSB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoM3JlbSk7XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhcmRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYXJkcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjYXJkIHNoYWRvdy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4uXG4vLy8gQHR5cGUgbnVtYmVyXG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBmb250IGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIC0gQm90dG9tIG1hcmdpbiBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRib3JkZXIgLSBCb3JkZXIgYXJvdW5kIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhZGl1cyAtIGJvcmRlciByYWRpdXMgb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hhZG93IC0gYm94IHNoYWRvdyBvZiB0aGUgY2FyZC5cbkBtaXhpbiBjYXJkLWNvbnRhaW5lcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGNhcmQtZm9udC1jb2xvcixcbiAgJG1hcmdpbjogJGNhcmQtbWFyZ2luLWJvdHRvbSxcbiAgJGJvcmRlcjogJGNhcmQtYm9yZGVyLFxuICAkcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzLFxuICAkc2hhZG93OiAkY2FyZC1zaGFkb3dcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgZGl2aWRlci5cbkBtaXhpbiBjYXJkLWRpdmlkZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1kaXZpZGVyLWJhY2tncm91bmQsXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgc2VjdGlvbi5cbkBtaXhpbiBjYXJkLXNlY3Rpb24oXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FyZCB7XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5jYXJkLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGNhcmQtZGl2aWRlcjtcbiAgfVxuXG4gIC5jYXJkLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNhcmQtc2VjdGlvbjtcbiAgfVxuXG4gIC8vIEZvciBJRSAxMSAtIEZsZXhidWdcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncy9pc3N1ZXMvNzVcbiAgLmNhcmQtaW1hZ2Uge1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYXJkLnNjc3MiLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjbG9zZS1idXR0b25cbi8vLy9cblxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxuLy8vIEB0eXBlIExpc3RcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XG5cblxuLy8vIEdldCB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gZm9yIGEgY2xvc2UgYnV0dG9uLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBudW1iZXIsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQuIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIGNvbmZpZyBtYXAgYW5kIHRoZSBtYXAgaGFzIHRoZSBrZXkgYCRzaXplYCwgdGhlIHZhbHVlIGlzIHJldHVybmVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkdmFsdWUgLSBBIG51bWJlciBvciBtYXAgdGhhdCByZXByZXNlbnRzIHRoZSBzaXplIG9yIHBvc2l0aW9uIHZhbHVlKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIFRoZSBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24gdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgZ2l2ZW4gbnVtYmVyIG9yIHRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIC16Zi1nZXQtc2l6ZS12YWwoJHZhbHVlLCAkc2l6ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gSWYgaXQgaXMsIGp1c3QgcmV0dXJuIHRoZSBudW1iZXJcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBzaXplIG5hbWUgZXhpc3RzIGluIHRoZSB2YWx1ZSBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJHZhbHVlLCAkc2l6ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlLCAkc2l6ZSk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW21lZGl1bV0gLSBUaGUgc2l6ZSB0byB1c2UuIFNldCB0byBgc21hbGxgIHRvIGNyZWF0ZSBhIHNtYWxsIGNsb3NlIGJ1dHRvbi4gVGhlICdtZWRpdW0nIHZhbHVlcyBkZWZpbmVkIGluIGAkY2xvc2VidXR0b24tKmAgdmFyaWFibGVzIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCBzaXplIGFuZCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuQG1peGluIGNsb3NlLWJ1dHRvbi1zaXplKCRzaXplKSB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gICN7JHh9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbCwgJHNpemUpO1xuICAjeyR5fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsLCAkc2l6ZSk7XG4gIGZvbnQtc2l6ZTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tc2l6ZSwgJHNpemUpO1xuICBsaW5lLWhlaWdodDogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tbGluZWhlaWdodCwgJHNpemUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcblxuICAgICYuc21hbGwgeyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShzbWFsbCkgfVxuICAgICYsICYubWVkaXVtIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUobWVkaXVtKSB9XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LWljb24uc2NzcyIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyaWxsZG93blxuLy8vL1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGFycm93cyB0byBkcmlsbGRvd24gaXRlbXMgd2l0aCBzdWJtZW51cywgYXMgd2VsbCBhcyB0aGUgYmFjayBidXR0b24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcgaW4gdGhlIHN1Ym1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJpbGxkb3duLWFycm93LXNpemU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgICByaWdodDogMXJlbTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cblxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgdG9wIGxldmVsIDx1bD5cbiAgLmRyaWxsZG93biB7XG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQXBwbGllZCB0byBzdWJtZW51IDx1bD5zXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtY2xvc2luZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3VibWVudSBpdGVtIHBhZGRpbmdcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MiLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICBkaXNwbGF5OiBub25lO1xuXG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcblxuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cblxuICAvLyBBbGxvdyBhbiBpbnRlcm1pdHRlbnQgc3RhdGUgdG8gZG8gcG9zaXRpb25pbmcgYmVmb3JlIG1ha2luZyB2aXNpYmxlLlxuICAmLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi5pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLnNjc3MiLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XG4vLy8vXG5cbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHBhZGRpbmcgZm9yIGFsaWduaW5nIHRoZSBhcnJvdyBjb3JyZWN0bHkuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHN1Yi1tZW51IGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW1cbiAgICA+IGxpID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW0gYWN0aXZlIHN0YXRlXG4gICAgPiBsaS5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ7XG5cbiAgICAuZHJvcGRvd24gJiBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLW1lbnUuc2NzcyIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcblxuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRsYWJlbC1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVkaWEtb2JqZWN0XG4vLy8vXG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gTGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvbiBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBpbWFnZXMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LCB3aGVuIHRoZSBvYmplY3QgaXMgc3RhY2tlZCB2ZXJ0aWNhbGx5LiBTZXQgdG8gJ2F1dG8nIHRvIHVzZSB0aGUgaW1hZ2UncyBuYXR1cmFsIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtZWRpYSBvYmplY3QgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIGJsb2NrKTtcbiAgbWFyZ2luLWJvdHRvbTogJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b207XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cblxuICBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3Igc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZ10gLSBQYWRkaW5nIGJldHdlZW4gc2VjdGlvbnMuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXNlY3Rpb24oJHBhZGRpbmc6ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmcpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJHBhZGRpbmc7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1sZWZ0fTogJHBhZGRpbmc7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAmIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJi5taWRkbGUge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAmLmJvdHRvbSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggbWFwIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG1hcCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vLyBUcmFuc2Zvcm0gZGVwcmVjYXRlZCBzaXplIHNldHRpbmdzIGludG8gbWFwICYgc2hvdyB3YXJuaW5nXG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcyBpbnN0ZWFkJztcbiAgfVxuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBIaWRlIGluYWN0aXZlIG9mZi1jYW52YXMgd2l0aGluIHRoZSBjb250ZW50IHRoYXQgaGF2ZSB0aGUgc2FtZSBwb3NpdGlvblxuICAmLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gT3ZlcmxhcCBvbmx5IHN0eWxlcy5cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg7XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0cyB0cmFuc2Zvcm0gdG8gMCB0byBzaG93IGFuIG9mZi1jYW52YXMgcGFuZWwuXG4gICYuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHBvc2l0aW9uIGFuIG9mZi1jYW52YXMgcGFuZWwgdG8gdGhlIGxlZnQvcmlnaHQvdG9wL2JvdHRvbS5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcbiAgJHNpemVzOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplcywgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcylcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIGlzIHNldCwgYWRkIGlubmVyIGJveC1zaGFkb3cuXG4gIC8vIFRoaXMgbWltaWNzIHRoZSBvZmYtY2FudmFzIHBhbmVsIGhhdmluZyBhIGxvd2VyIHotaW5kZXgsIHdpdGhvdXQgaGF2aW5nIHRvIGhhdmUgb25lLlxuICBAaWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSB7XG4gICAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cocmlnaHQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGxlZnQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhib3R0b20sICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyh0b3AsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy1jb250ZW50KCkge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAvLyBUcmFuc2Zvcm0gc2NvcGUgdW50aWwgdGhlIGVsZW1lbnQgaXMgY2xvc2VkIChtYWtlcyBzdXJlIHRyYW5zaXRpb25lbmQgZ2V0cyB0cmlnZ2VyZWQpXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cblxuICAvLyBDb25zaWRlciBlbGVtZW50ICYgY29udGVudCwgbmVzdGVkIGluIGFub3RoZXIgY29udGVudFxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdGhhdCByZXZlYWwgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiRwb3NpdGlvbjogbGVmdCxcbiR6aW5kZXg6ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCxcbiRjb250ZW50OiAkbWFpbmNvbnRlbnQtY2xhc3MsXG4kYnJlYWtwb2ludDogc21hbGxcbikge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgQGlmIG5vdCAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIHJldmVhbGVkIGVsZW1lbnQgaXMgbmVzdGVkIGluIGNvbnRlbnRcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICBAYXQtcm9vdCAuI3skY29udGVudH0uaGFzLXJldmVhbC0jeyRwb3NpdGlvbn0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IChwcmlvciB0byB2Ni40KVxuICAmIH4gLiN7JGNvbnRlbnR9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuLy8vIE92ZXJyaWRlcyB0aGUgb2ZmLWNhbnZhcyBzdHlsZXNcbkBtaXhpbiBpbi1jYW52YXMoKSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB0cmFuc2l0aW9uOiBub25lO1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLnBvc2l0aW9uLWxlZnQsXG4gICYucG9zaXRpb24tcmlnaHQsXG4gICYucG9zaXRpb24tdG9wLFxuICAmLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIHdyYXBwZXJcbiAgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwcGVyO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgIC8vIEZvcmNlIHBvc2l0aW9uIGFic29sdXRlIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBiZWNhdXNlIGZpeGVkIGRvZXNuJ3Qgd29yayBmb3IgcHVzaCB0cmFuc2l0aW9uIHdpdGhpbiB0aGUgdHJhbnNmb3JtIHNjb3BlLlxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgICAvLyBOT1RFOiBzaW5jZSBvdmVybGFwIHRyYW5zaXRpb24gaXMgY3VycmVudGx5IGZvcmNlZCBpZiBuZXN0ZWQsIHRoZXJlJ3Mgbm8gbmVlZCB0byBmb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSB1bnRpbCBuZXN0ZWQgcHVzaCB0cmFuc2l0aW9uIGlzIHN1cHBvcnRlZC5cbiAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lciB3aXRoIGFic29sdXRlIHBvc2l0aW9uXG4gIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2UoJGZpeGVkOiBmYWxzZSk7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIHBvc2l0aW9uIGNsYXNzZXNcbiAgLnBvc2l0aW9uLWxlZnQgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGxlZnQsICAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0LCAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXRvcCAgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHRvcCwgICAgdmVydGljYWwpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20gIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihib3R0b20sIHZlcnRpY2FsKTsgfVxuXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtY29udGVudDtcbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIHBhbmVsIG9uIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwobGVmdCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChib3R0b20sICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNb3ZlIGluLWNhbnZhcyBmb3IgbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBpbi1jYW52YXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvcmJpdFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYWN0aXZlIGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpYW1ldGVyIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBiZXR3ZWVuIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpc3RhbmNlIGZyb20gc2xpZGUgcmVnaW9uIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmcm9tIE9yYml0J3MgYnVsbGV0cyB0byB3aGF0ZXZlciBjb250ZW50IG1heSBsdXJrIGJlbG93IGl0LlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY29udHJvbHMgd2hlbiBob3ZlcmVkLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBvdXRlciBPcmJpdCB3cmFwcGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXRgIGNsYXNzLlxuQG1peGluIG9yYml0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIE9yYml0IHNsaWRlIGNvbnRhaW5lci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNvbnRhaW5lcmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7IC8vIFByZXZlbnQgRk9VQyBieSBub3Qgc2hvd2luZyB1bnRpbCBKUyBzZXRzIGhlaWdodFxuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluZGl2aWR1YWwgc2xpZGVzIG9mIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXNsaWRlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgJi5uby1tb3Rpb251aSB7XG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHNsaWRlIGNvbnRhaW5pbmcgYW4gaW1hZ2UuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1pbWFnZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gb3JiaXQgc2xpZGUgY2FwdGlvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNhcHRpb25gIGNsYXNzLlxuQG1peGluIG9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6ICRvcmJpdC1jYXB0aW9uLXBhZGRpbmc7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZCk7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciB0aGUgbmV4dC9wcmV2aW91cyBidXR0b25zIGluIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSBzaGFyZWQgYmV0d2VlbiB0aGUgYC5vcmJpdC1uZXh0YCBhbmQgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3NlcyBpbiB0aGUgZGVmYXVsdCBDU1MuXG5AbWl4aW4gb3JiaXQtY29udHJvbCB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICB6LWluZGV4OiAkb3JiaXQtY29udHJvbC16aW5kZXg7XG4gIHBhZGRpbmc6ICRvcmJpdC1jb250cm9sLXBhZGRpbmc7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzLlxuQG1peGluIG9yYml0LXByZXZpb3VzIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBuZXh0IGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LW5leHRgIGNsYXNzLlxuQG1peGluIG9yYml0LW5leHQge1xuICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICN7JGdsb2JhbC1yaWdodH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjb250YWluZXIgb2YgT3JiaXQgYnVsbGV0cy4gLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtYnVsbGV0c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtYnVsbGV0cyB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A7XG4gIG1hcmdpbi1ib3R0b206ICRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGJ1dHRvbiB7XG4gICAgd2lkdGg6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgaGVpZ2h0OiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIG1hcmdpbjogJG9yYml0LWJ1bGxldC1tYXJnaW47XG5cbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9yYml0IHtcbiAgLm9yYml0IHtcbiAgICBAaW5jbHVkZSBvcmJpdC13cmFwcGVyO1xuICB9XG5cbiAgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udGFpbmVyO1xuICB9XG5cbiAgLm9yYml0LXNsaWRlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1zbGlkZTtcbiAgfVxuXG4gIC5vcmJpdC1maWd1cmUge1xuICAgIEBpbmNsdWRlIG9yYml0LWZpZ3VyZTtcbiAgfVxuXG4gIC5vcmJpdC1pbWFnZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtaW1hZ2U7XG4gIH1cblxuICAub3JiaXQtY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY2FwdGlvbjtcbiAgfVxuXG4gICVvcmJpdC1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250cm9sO1xuICB9XG5cbiAgLm9yYml0LXByZXZpb3VzIHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LXByZXZpb3VzO1xuICB9XG5cbiAgLm9yYml0LW5leHQge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtbmV4dDtcbiAgfVxuXG4gIC5vcmJpdC1idWxsZXRzIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1idWxsZXRzO1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29yYml0LnNjc3MiLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwYWdpbmF0aW9uXG4vLy8vXG5cbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIG9mIHRoZSBwYWdpbmF0aW9uIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rc1xuLy8vIGFuZCBvcHRpb25hbGx5IGN1cnJlbnQgcGFnZSBudW1iZXIuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheSB0aGUgY3VycmVudCBwYWdlIG51bWJlciBvbiBtb2JpbGUgZXZlbiBpZiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYGZhbHNlYC5cbi8vLyBUaGlzIHBhcmFtZXRlciB3aWxsIG9ubHkgb3ZlcnJpZGUgdGhlIHZpc2liaWxpdHkgc2V0dGluZyBvZiB0aGUgY3VycmVudCBpdGVtIGZvciBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtgLFxuLy8vIGl0IHdpbGwgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYWdlIG51bWJlciB2aXNpYmlsaXR5IHdoZW4gYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGB0cnVlYC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYXJyb3dzIGFyZSBhZGRlZCB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbGlua3Mgb2YgcGFnaW5hdGlvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciAoXG4gICRtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tLFxuICAkZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemUsXG4gICRzcGFjaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmcsXG4gICRyYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxuICAkY29sb3ItY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50XG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvclxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGFiJztcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYmInO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGV4dCBpbiB0aGUgcHJvZ3Jlc3MgbWV0ZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyIHtcbiAgLy8gUHJvZ3Jlc3MgYmFyXG4gIC5wcm9ncmVzcyB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyXG4gIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXI7XG4gIH1cblxuICAvLyBJbm5lciBtZXRlciB0ZXh0XG4gIC5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlci10ZXh0O1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhci5zY3NzIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFtUT0RPXSBDaGVjayBob3cgcGx1Z2luIGNvbmZpcm1zIGRpc2FibGVkIG9yIHZlcnRpY2FsIHN0YXR1c1xuLy8gW1RPRE9dIENoZWNrIGlmIHRyYW5zaXRpb246IGFsbDsgaXMgbmVjZXNzYXJ5XG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHNsaWRlciB3aWR0aCBvZiBhIHZlcnRpY2FsIHNsaWRlci4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0aWVzIHRvIGFwcGx5IHRvIHRoZSBzbGlkZXIgaGFuZGxlIGFuZCBmaWxsLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgYWN0aXZlIGZpbGwgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWZpbGwtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0aGUgc2xpZGVyIGhhbmRsZXMuXG5AbWl4aW4gc2xpZGVyLWhhbmRsZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgfVxuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuQG1peGluIHNsaWRlci1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6ICRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuQG1peGluIHNsaWRlci12ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xuXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zbGlkZXIge1xuICAvLyBDb250YWluZXJcbiAgLnNsaWRlciB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIEZpbGwgYXJlYVxuICAuc2xpZGVyLWZpbGwge1xuICAgIEBpbmNsdWRlIHNsaWRlci1maWxsO1xuICB9XG5cbiAgLy8gRHJhZ2dhYmxlIGhhbmRsZVxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWhhbmRsZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5zbGlkZXIuZGlzYWJsZWQsXG4gIC5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBzbGlkZXJcbiAgLnNsaWRlci52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gUlRMIHN1cHBvcnRcbiAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAuc2xpZGVyOm5vdCgudmVydGljYWwpIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3RpY2t5LnNjc3MiLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gICAgfVxuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzd2l0Y2gtaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtb2Zmc2V0IFswLjI1cmVtXSAtIFNwYWNpbmcgYmV0d2VlbiB0aGUgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHN3aXRjaCBib2R5LlxuQG1peGluIHN3aXRjaC1zaXplKFxuICAkZm9udC1zaXplOiAxcmVtLFxuICAkc3dpdGNoLWhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cbikge1xuXG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAkcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtb2Zmc2V0O1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksICRzd2l0Y2gtaGVpZ2h0LXRpbnksICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksICRzd2l0Y2gtaGVpZ2h0LXNtYWxsLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5sYXJnZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHN0YWNrZWQgdGFibGUgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0aGVhZCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBoZWFkZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBmb290ZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1mb290LXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlIGlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2UgaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFja2VkIHRhYmxlLiBVc2VmdWwgZm9yIHNtYWxsLXNjcmVlbiBsYXlvdXRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGhlYWRlciBbJHNob3ctaGVhZGVyLWZvci1zdGFja2VkXSAtIFNob3cgdGhlIGZpcnN0IHRoIG9mIGhlYWRlciB3aGVuIHN0YWNrZWQuXG5AbWl4aW4gdGFibGUtc3RhY2soJGhlYWRlcjogJHNob3ctaGVhZGVyLWZvci1zdGFja2VkKSB7XG4gIEBpZiAkaGVhZGVyIHtcbiAgICB0aGVhZCB7XG4gICAgICB0aCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRyLFxuICB0aCxcbiAgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFibGUoJG5lc3Q6IGZhbHNlKSB7XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSB0YWJsZSgkbmVzdDogJG5lc3QpO1xuICB9XG5cbiAgdGFibGUuc3RhY2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQgZG93bikge1xuICAgICAgQGluY2x1ZGUgdGFibGUtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgdGFibGUuc2Nyb2xsIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1zY3JvbGw7XG4gIH1cblxuICB0YWJsZS5ob3ZlciB7XG4gICAgQGluY2x1ZGUgdGFibGUtaG92ZXI7XG4gIH1cblxuICAudGFibGUtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHRhYnMtY29udGFpbmVyIChcbiAgJG1hcmdpbjogJHRhYi1tYXJnaW4sXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkbWFyZ2luO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGFpbmVyIHRvIGhhdmUgdmVydGljYWwgdGFicy4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250YWluZXIoKWAuXG5AbWl4aW4gdGFicy1jb250YWluZXItdmVydGljYWwge1xuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBsaW5rcyB3aXRoaW4gYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBgPGxpPmAgZWxlbWVudHMgaW5zaWRlIGEgdGFiIGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXRpdGxlIChcbiAgJHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplLFxuICAkY29sb3I6ICR0YWItY29sb3IsXG4gICRjb2xvci1hY3RpdmU6ICR0YWItYWN0aXZlLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXIsXG4gICRiYWNrZ3JvdW5kLWFjdGl2ZTogJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZVxuKSB7XG4gIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgPiBhIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcbiAgJGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG4gICRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGh1bWJuYWlsXG4vLy8vXG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kdGh1bWJuYWlsLWJvcmRlcjogNHB4IHNvbGlkICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wcnRpZXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRodW1ibmFpbCBzdHlsZXMgdG8gYW4gZWxlbWVudC5cbkBtaXhpbiB0aHVtYm5haWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tO1xuXG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR0aHVtYm5haWwtcmFkaXVzO1xuICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdztcblxuICBsaW5lLWhlaWdodDogMDtcbn1cblxuQG1peGluIHRodW1ibmFpbC1saW5rIHtcbiAgdHJhbnNpdGlvbjogJHRodW1ibmFpbC10cmFuc2l0aW9uO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93LWhvdmVyO1xuICB9XG5cbiAgaW1hZ2Uge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGh1bWJuYWlsIHtcbiAgLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsO1xuICB9XG5cbiAgYS50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbC1saW5rO1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RodW1ibmFpbC5zY3NzIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjdXJzb3Igb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4IHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBjdXJzb3I6ICRoYXMtdGlwLWN1cnNvcjtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIHotaW5kZXg6IDEyMDA7XG5cbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJi5ib3R0b20ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi50b3Age1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmxlZnQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5yaWdodCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlO1xuICB9XG5cbiAgJi5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvcC1iYXJcbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igc3VibWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLiBVc2VmdWxsIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyB0cmFuc3BhcmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgZm9yIHRoZSB0b3AgYmFyIHRpdGxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMCAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCB0b3AgYmFyIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdG9wIGJhciBjb250YWluZXIuXG5AbWl4aW4gdG9wLWJhci1jb250YWluZXIge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIHBhZGRpbmc6ICR0b3BiYXItcGFkZGluZztcblxuICAmLFxuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIGRpZmZlcm50IGZyb20gJHRvcGJhci1iYWNrZ3JvdW5kLXN1Ym1lbnVcbiAgQGlmICgkdG9wYmFyLWJhY2tncm91bmQgIT0gJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQpIHtcbiAgICB1bCB1bCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXN0cmFpbiB3aWR0aCBvZiBpbnB1dHMgYnkgZGVmYXVsdCB0byBtYWtlIHRoZW0gZWFzaWVyIHRvIGFycmFuZ2VcbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgfVxuXG4gIC8vIFRoZSBhYm92ZSBzdHlsZXMgc2hvdWxkbid0IGFwcGx5IHRvIGlucHV0IGdyb3VwIGZpZWxkc1xuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICB9XG5cbiAgaW5wdXQuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXG5AbWl4aW4gdG9wLWJhci11bnN0YWNrIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b3AtYmFyIHtcbiAgLy8gVG9wIGJhciBjb250YWluZXJcbiAgLnRvcC1iYXIge1xuICAgIEBpbmNsdWRlIHRvcC1iYXItY29udGFpbmVyO1xuXG4gICAgLy8gU3RhY2sgb24gc21hbGwgc2NyZWVucyBieSBkZWZhdWx0XG4gICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludCkge1xuICAgICAgQGluY2x1ZGUgdG9wLWJhci11bnN0YWNrO1xuICAgIH1cblxuICAgIC8vIEdlbmVyYXRlIGNsYXNzZXMgZm9yIHN0YWNraW5nIG9uIGVhY2ggc2NyZWVuIHNpemUgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcylcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICYuc3RhY2tlZC1mb3ItI3skc2l6ZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN1Yi1zZWN0aW9uc1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbjogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6ICR0b3BiYXItdGl0bGUtc3BhY2luZztcblxuICAgICAgLm1lbnUtaWNvbiB7XG4gICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b3AtYmFyLnNjc3MiLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtIC4wMDEyNTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtIC4wMDEyNTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluICQtemYtZmxleC1qdXN0aWZ5IHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgIH1cbiAgfVxuICBcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgU3BlY2lmaWNhbGx5IGZvciBWZXJ0aWNhbCBNZW51XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCAnanVzdGlmeScsICdzcGFjZWQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAmLm1lbnUgPiBsaSA+IGEge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENlbnRyYWwgYWxpZ25tZW50IG9mIGNvbnRlbnRcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IG1pZGRsZSk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYW5pbGxhIEZsZXhib3ggSGVscGVyc1xuICBAaW5jbHVkZSBmbGV4LWhlbHBlcnM7XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIkBmdW5jdGlvbiAtemYtZmxleC1qdXN0aWZ5KCR0ZXh0LWRpcmVjdGlvbil7XG4gICQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICAgJ2xlZnQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LWVuZCwgZmxleC1zdGFydCksXG4gICAgJ3JpZ2h0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1zdGFydCwgZmxleC1lbmQpLFxuICAgICdjZW50ZXInOiBjZW50ZXIsXG4gICAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAgICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4gICk7XG5cbiAgQHJldHVybiAkLXpmLWZsZXgtanVzdGlmeTtcbn1cblxuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBpbmNsdWRlIC1tb3Rpb24tdWktZGVmYXVsdHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBzZXR1cCBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIHNldHVwIGZvciB0cmFuc2l0aW9uLlxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpcikpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgYWN0aXZlIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gYWN0aXZhdGUgYSB0cmFuc2l0aW9uIG9uLlxuQG1peGluIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpLCB0cnVlKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhZ2dlciBhbmltYXRpb24sIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGBuZy1yZXBlYXRgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheS1hbW91bnQgLSBBbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyB0byBhZGQgYmV0d2VlbiBlYWNoIGl0ZW0ncyBhbmltYXRpb24uXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDA7IC8vIFByZXZlbnQgYWNjaWRlbnRhbCBDU1MgaW5oZXJpdGFuY2Vcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX3RyYW5zaXRpb24uc2NzcyIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFNwYWNlQWZ0ZXJDb21tYSwgU2luZ2xlTGluZVBlclByb3BlcnR5XG5cbkBtaXhpbiAtbW90aW9uLXVpLWRlZmF1bHRzIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktZWFzaW5ncywgZGVmYXVsdCk7XG59XG5cbi8vIFRyYW5zaXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS10cmFuc2l0aW9ucyB7XG4gIC8vIFNsaWRlXG4gIC5zbGlkZS1pbi1kb3duICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgZG93bik7IH1cbiAgLnNsaWRlLWluLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICByaWdodCk7IH1cbiAgLnNsaWRlLWluLXVwICAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICB1cCk7IH1cbiAgLnNsaWRlLWluLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBsZWZ0KTsgfVxuICAuc2xpZGUtb3V0LWRvd24gICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGRvd24pOyB9XG4gIC5zbGlkZS1vdXQtcmlnaHQgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgcmlnaHQpOyB9XG4gIC5zbGlkZS1vdXQtdXAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgdXApOyB9XG4gIC5zbGlkZS1vdXQtbGVmdCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgbGVmdCk7IH1cblxuICAvLyBGYWRlXG4gIC5mYWRlLWluICB7IEBpbmNsdWRlIG11aS1mYWRlKGluLCAgMCwgMSk7IH1cbiAgLmZhZGUtb3V0IHsgQGluY2x1ZGUgbXVpLWZhZGUob3V0LCAxLCAwKTsgfVxuXG4gIC8vIEhpbmdlXG4gIC5oaW5nZS1pbi1mcm9tLXRvcCAgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1yaWdodCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1ib3R0b20gICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGJvdHRvbSk7IH1cbiAgLmhpbmdlLWluLWZyb20tbGVmdCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBsZWZ0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteCAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteSAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCwgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tdG9wICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWJvdHRvbSAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBib3R0b20pOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgbGVmdCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQsIGNlbnRlcik7IH1cblxuICAvLyBTY2FsZVxuICAuc2NhbGUtaW4tdXAgICAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDAuNSwgMSk7IH1cbiAgLnNjYWxlLWluLWRvd24gIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAxLjUsIDEpOyB9XG4gIC5zY2FsZS1vdXQtdXAgICB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMS41KTsgfVxuICAuc2NhbGUtb3V0LWRvd24geyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDAuNSk7IH1cblxuICAvLyBTcGluXG4gIC5zcGluLWluICAgICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY3cpOyB9XG4gIC5zcGluLW91dCAgICB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY3cpOyB9XG4gIC5zcGluLWluLWNjdyAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGNjdyk7IH1cbiAgLnNwaW4tb3V0LWNjdyB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY2N3KTsgfVxuXG4gIC8vIFRyYW5zaXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgdHJhbnNpdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQW5pbWF0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktYW5pbWF0aW9ucyB7XG4gIC5zaGFrZSAgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc2hha2UpOyB9XG4gIC5zcGluLWN3ICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3Bpbik7IH1cbiAgLnNwaW4tY2N3IHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKGNjdykpOyB9XG4gIC53aWdnbGUgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24od2lnZ2xlKTsgfVxuXG4gIC5zaGFrZSxcbiAgLnNwaW4tY3csXG4gIC5zcGluLWNjdyxcbiAgLndpZ2dsZSB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgfVxuXG4gIC8vIEFuaW1hdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbiAgLmluZmluaXRlIHsgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgYW5pbWF0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX2NsYXNzZXMuc2NzcyIsIi8vIEludGVybmFsIGNvdW50ZXIgZm9yIGNyZWF0aW5nIHVuaXF1ZSBrZXlmcmFtZSBuYW1lc1xuJC1tdWktY3VzdG9tOiAwO1xuXG4vLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucy4gVXNlIHRoaXMgZnVuY3Rpb24gaW5zdGVhZCBvZiBgbXVpLWFuaW1hdGlvbmAgaWYgeW91IHdhbnQgdG8gY3JlYXRlIGEga2V5ZnJhbWUgYW5pbWF0aW9uICp3aXRob3V0KiBhdXRvbWF0aWNhbGx5IGFzc2lnbmluZyBpdCB0byB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBrZXlmcmFtZS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWtleWZyYW1lcygkbmFtZSwgJGVmZmVjdHMuLi4pIHtcbiAgJG9iajogLW11aS1wcm9jZXNzLWFyZ3MoJGVmZmVjdHMuLi4pO1xuICAkb2JqOiBtYXAtcmVtb3ZlKCRvYmosIG5hbWUpO1xuXG4gIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgIC8vIE5vdyBpdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgQGVhY2ggJHBjdCwgJHByb3BzIGluICRvYmoge1xuICAgICAgI3stbXVpLWtleWZyYW1lLXBjdCgkcGN0KX0ge1xuICAgICAgICAvLyBMYXN0bHksIGl0ZXJhdGUgdGhyb3VnaCBlYWNoIENTUyBwcm9wZXJ0eSB3aXRoaW4gYSBwZXJjZW50YWdlIGFuZCBwcmludCBpdCBvdXRcbiAgICAgICAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkcHJvcHMge1xuICAgICAgICAgICN7JHByb3B9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzdHJpbmcgZm9yIGEgQ1NTIGtleWZyYW1lLCBieSBjb252ZXJ0aW5nIGEgbGlzdCBvZiBudW1iZXJzIHRvIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGlucHV0IC0gTGlzdCBvZiBudW1iZXJzIHRvIHVzZS5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IEEgc2V0IG9mIGNvbW1hLXNlcGFyYXRlZCBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXBjdCgkaW5wdXQpIHtcbiAgJG91dHB1dDogKCk7XG5cbiAgQGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbnVtYmVyJyB7XG4gICAgJG91dHB1dDogKCRpbnB1dCAqIDElKTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ2xpc3QnIHtcbiAgICBAZWFjaCAkaSBpbiAkaW5wdXQge1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICgkaSAqIDElKSwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG91dHB1dDtcbn1cblxuLy8vIFByaW50cyB0aGUgQ1NTIHByb3BlcnRpZXMgZnJvbSBhIHNwZWNpZmljIGtleSBpbiBhIGtleWZyYW1lcyBtYXAuIFVzZWQgdG8gYm9ycm93IENTUyBmcm9tIGtleWZyYW1lIGZ1bmN0aW9ucyBmb3IgdXNlIGluIHRyYW5zaXRpb25zLlxuLy8vIEBwYXJhbSB7TWFwfSAka2YgLSBLZXlmcmFtZSBtYXAgdG8gZXh0cmFjdCBmcm9tLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAka2V5IC0gS2V5IGluIHRoZSBtYXAgdG8gcHJpbnQgdGhlIENTUyBvZi5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtbXVpLWtleWZyYW1lLWdldCgka2YsICRrZXkpIHtcbiAgJG1hcDogbWFwLWdldCgka2YsICRrZXkpO1xuXG4gIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJG1hcCBvciAoKSB7XG4gICAgLy8gU29tZSBrZXlmcmFtZSBtYXBzIHN0b3JlIHRyYW5zZm9ybXMgYXMgcXVvdGVkIHN0cmluZ3NcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdzdHJpbmcnIHtcbiAgICAgICR2YWx1ZTogdW5xdW90ZSgkdmFsdWUpO1xuICAgIH1cbiAgICAjeyRwcm9wfTogJHZhbHVlO1xuICB9XG59XG5cbi8vLyBSZWZvcm1hdHMgYSBtYXAgY29udGFpbmluZyBrZXlzIHdpdGggYSBsaXN0IG9mIHZhbHVlcywgc28gdGhhdCBlYWNoIGtleSBpcyBhIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzcGxpdCB1cC5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgcmVmb3JtYXR0ZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCkge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gU3BsaXQga2V5cyB3aXRoIG11bHRpcGxlIHZhbHVlcyBpbnRvIGluZGl2aWR1YWwga2V5c1xuICBAZWFjaCAka2V5LCAkaXRlbSBpbiAkbWFwIHtcbiAgICAka2V5LXR5cGU6IHR5cGUtb2YoJGtleSk7XG5cbiAgICBAaWYgJGtleS10eXBlID09ICdudW1iZXInIHtcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkaXRlbSkpO1xuICAgIH0gQGVsc2UgaWYgJGtleS10eXBlID09ICdsaXN0JyB7XG4gICAgICBAZWFjaCAkayBpbiAka2V5IHtcbiAgICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrOiAkaXRlbSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyBhIHNlcmllcyBvZiBrZXlmcmFtZSBvYmplY3RzIGludG8gb25lLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwcy4uLiAtIEEgc2VyaWVzIG9mIG1hcHMgdG8gbWVyZ2UsIGFzIGluZGl2aWR1YWwgcGFyYW1ldGVycy5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQga2V5ZnJhbWUgb2JqZWN0LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtY29tYmluZSgkbWFwcy4uLikge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2ggbWFwIHBhc3NlZCBpblxuICBAZWFjaCAkbWFwIGluICRtYXBzIHtcbiAgICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbWFwOiBjYWxsKCRtYXApO1xuICAgIH1cblxuICAgICRtYXA6IC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCk7XG5cbiAgICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBpbiB0aGUgbWFwXG4gICAgLy8gJGtleSBpcyB0aGUga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIC8vICR2YWx1ZSBpcyBhIG1hcCBvZiBDU1MgcHJvcGVydGllc1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAgICRuZXctdmFsdWU6ICgpO1xuXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJG5ldy1tYXAsICRrZXkpIHtcbiAgICAgICAgLy8gSWYgdGhlIG1hcCBhbHJlYWR5IGhhcyB0aGUga2V5ZnJhbWUgJSwgYXBwZW5kIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogLW11aS1tZXJnZS1wcm9wZXJ0aWVzKG1hcC1nZXQoJG5ldy1tYXAsICRrZXkpLCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIE90aGVyd2lzZSwgY3JlYXRlIGEgbmV3IG1hcCB3aXRoIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogJHZhbHVlO1xuICAgICAgfVxuXG4gICAgICAvLyBGaW5hbGx5LCBtZXJnZSB0aGUgbW9kaWZpZWQga2V5ZnJhbWUgdmFsdWUgaW50byB0aGUgb3V0cHV0IG1hcFxuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRuZXctdmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICAvLyBNYWtlIGEgbmFtZSBmb3IgdGhlIGtleWZyYW1lc1xuICAkLW11aS1jdXN0b206ICQtbXVpLWN1c3RvbSArIDEgIWdsb2JhbDtcbiAgJG1hcC1uYW1lOiAobmFtZTogJ2N1c3RvbS0jeyQtbXVpLWN1c3RvbX0nKTtcbiAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgJG1hcC1uYW1lKTtcblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgdHdvIG1hcHMgb2YgQ1NTIHByb3BlcnRpZXMgaW50byBvbmUgbWFwLiBJZiBib3RoIG1hcHMgaGF2ZSBhIHRyYW5zZm9ybSBwcm9wZXJ0eSwgdGhlIHZhbHVlcyBmcm9tIGVhY2ggd2lsbCBiZSBjb21iaW5lZCBpbnRvIG9uZSBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge01hcH0gJG9uZSAtIEZpcnN0IG1hcCB0byBtZXJnZS5cbi8vLyBAcGFyYW0ge01hcH0gJHR3byAtIFNlY29uZCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLW1lcmdlLXByb3BlcnRpZXMoJG9uZSwgJHR3bykge1xuICBAaWYgbWFwLWhhcy1rZXkoJG9uZSwgdHJhbnNmb3JtKSBhbmQgbWFwLWhhcy1rZXkoJHR3bywgdHJhbnNmb3JtKSB7XG4gICAgJHRyYW5zZm9ybTogam9pbihtYXAtZ2V0KCRvbmUsIHRyYW5zZm9ybSksIG1hcC1nZXQoJHR3bywgdHJhbnNmb3JtKSk7XG4gICAgJG9uZTogbWFwLW1lcmdlKCRvbmUsICh0cmFuc2Zvcm06ICR0cmFuc2Zvcm0pKTtcbiAgICAkdHdvOiBtYXAtcmVtb3ZlKCR0d28sIHRyYW5zZm9ybSk7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1tZXJnZSgkb25lLCAkdHdvKTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2tleWZyYW1lLnNjc3MiLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2xlZnRdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBsZWZ0LFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NsaWRlLnNjc3MiLCIvLy8gQ3JlYXRlcyBhIGZhZGUgdHJhbnNpdGlvbiBieSBhZGp1c3RpbmcgdGhlIG9wYWNpdHkgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFswXSAtIE9wYWNpdHkgdG8gc3RhcnQgYXQuIE11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gWzFdIC0gT3BhY2l0eSB0byBlbmQgb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktZmFkZShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IDAsXG4gICR0bzogMSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZmFkZTogZmFkZSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMCk7XG5cbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDEwMCk7XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19mYWRlLnNjc3MiLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW2Zyb20tYmFja10gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFjayxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgaGluZ2UtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRoaW5nZTogaGluZ2UoJHN0YXRlLCAkZnJvbSwgJGF4aXMsICRwZXJzcGVjdGl2ZSwgJHR1cm4tb3JpZ2luKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9faGluZ2Uuc2NzcyIsIi8vLyBDcmVhdGVzIGEgc2NhbGluZyB0cmFuc2l0aW9uLiBBIHNjYWxlIG9mIGAxYCBtZWFucyB0aGUgZWxlbWVudCBpcyB0aGUgc2FtZSBzaXplLiBMYXJnZXIgbnVtYmVycyBtYWtlIHRoZSBlbGVtZW50IGJpZ2dlciwgd2hpbGUgbnVtYmVycyBsZXNzIHRoYW4gMSBtYWtlIHRoZSBlbGVtZW50IHNtYWxsZXIuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxLjVdIC0gU2l6ZSB0byBzdGFydCBhdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzFdIC0gU2l6ZSB0byBlbmQgYXQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS16b29tKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMS41LFxuICAkdG86IDEsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNjYWxlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc2NhbGU6IHpvb20oJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIi8vLyBDcmVhdGVzIGEgc3Bpbm5pbmcgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC4gVGhlIGB0dXJuYCB1bml0IGlzIHVzZWQgdG8gc3BlY2lmeSBob3cgZmFyIHRvIHJvdGF0ZS4gYDF0dXJuYCBpcyBlcXVhbCB0byBhIDM2MC1kZWdyZWUgc3Bpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRkaXJlY3Rpb24gW2N3XSAtIERpcmVjdGlvbiB0byBzcGluLiBTaG91bGQgYmUgYGN3YCAoY2xvY2t3aXNlKSBvciBgY2N3YCAoY291bnRlcmNsb2Nrd2lzZSkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhbW91bnQgWzAuNzV0dXJuXSAtIEFtb3VudCB0byBlbGVtZW50IHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNwaW4oXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGN3LFxuICAkYW1vdW50OiAwLjc1dHVybixcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc3Bpbi1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNwaW46IHNwaW4oJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NwaW4uc2NzcyIsIi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBlbGVtZW50IGJ5IGFkZGluZyB0aGUgYGFuaW1hdGlvbi1uYW1lYCBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWFuaW1hdGlvbigkYXJncy4uLikge1xuICAkbmFtZTogbWFwLWdldCgtbXVpLXByb2Nlc3MtYXJncygkYXJncy4uLiksIG5hbWUpO1xuICBAaW5jbHVkZSBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkYXJncy4uLik7XG4gIGFuaW1hdGlvbi1uYW1lOiB1bnF1b3RlKCRuYW1lKTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2FuaW1hdGlvbi5zY3NzIiwiLyohXG4gKiAgRm9udCBBd2Vzb21lIDQuNy4wIGJ5IEBkYXZlZ2FuZHkgLSBodHRwOi8vZm9udGF3ZXNvbWUuaW8gLSBAZm9udGF3ZXNvbWVcbiAqICBMaWNlbnNlIC0gaHR0cDovL2ZvbnRhd2Vzb21lLmlvL2xpY2Vuc2UgKEZvbnQ6IFNJTCBPRkwgMS4xLCBDU1M6IE1JVCBMaWNlbnNlKVxuICovXG5cbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJwYXRoXCI7XG5AaW1wb3J0IFwiY29yZVwiO1xuQGltcG9ydCBcImxhcmdlclwiO1xuQGltcG9ydCBcImZpeGVkLXdpZHRoXCI7XG5AaW1wb3J0IFwibGlzdFwiO1xuQGltcG9ydCBcImJvcmRlcmVkLXB1bGxlZFwiO1xuQGltcG9ydCBcImFuaW1hdGVkXCI7XG5AaW1wb3J0IFwicm90YXRlZC1mbGlwcGVkXCI7XG5AaW1wb3J0IFwic3RhY2tlZFwiO1xuQGltcG9ydCBcImljb25zXCI7XG5AaW1wb3J0IFwic2NyZWVuLXJlYWRlclwiO1xuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9zY3NzL2ZvbnQtYXdlc29tZS5zY3NzIiwiLyogRk9OVCBQQVRIXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQuZW90P3Y9I3skZmEtdmVyc2lvbn0nKTtcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZm9udGF3ZXNvbWUtd2ViZm9udC5lb3Q/I2llZml4JnY9I3skZmEtdmVyc2lvbn0nKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZjI/dj0jeyRmYS12ZXJzaW9ufScpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZm9udGF3ZXNvbWUtd2ViZm9udC53b2ZmP3Y9I3skZmEtdmVyc2lvbn0nKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZm9udGF3ZXNvbWUtd2ViZm9udC50dGY/dj0jeyRmYS12ZXJzaW9ufScpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZm9udGF3ZXNvbWUtd2ViZm9udC5zdmc/dj0jeyRmYS12ZXJzaW9ufSNmb250YXdlc29tZXJlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpO1xuLy8gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L0ZvbnRBd2Vzb21lLm90ZicpIGZvcm1hdCgnb3BlbnR5cGUnKTsgLy8gdXNlZCB3aGVuIGRldmVsb3BpbmcgZm9udHNcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9zY3NzL19wYXRoLnNjc3MiLCIvLyBCYXNlIENsYXNzIERlZmluaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAjeyRmYS1mb250LXNpemUtYmFzZX0vI3skZmEtbGluZS1oZWlnaHQtYmFzZX0gRm9udEF3ZXNvbWU7IC8vIHNob3J0ZW5pbmcgZm9udCBkZWNsYXJhdGlvblxuICBmb250LXNpemU6IGluaGVyaXQ7IC8vIGNhbid0IGhhdmUgZm9udC1zaXplIGluaGVyaXQgb24gbGluZSBhYm92ZSwgc28gbmVlZCB0byBvdmVycmlkZVxuICB0ZXh0LXJlbmRlcmluZzogYXV0bzsgLy8gb3B0aW1pemVsZWdpYmlsaXR5IHRocm93cyB0aGluZ3Mgb2ZmICMxMDk0XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm9udC1hd2Vzb21lL3Njc3MvX2NvcmUuc2NzcyIsIi8vIEljb24gU2l6ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLyogbWFrZXMgdGhlIGZvbnQgMzMlIGxhcmdlciByZWxhdGl2ZSB0byB0aGUgaWNvbiBjb250YWluZXIgKi9cbi4jeyRmYS1jc3MtcHJlZml4fS1sZyB7XG4gIGZvbnQtc2l6ZTogKDRlbSAvIDMpO1xuICBsaW5lLWhlaWdodDogKDNlbSAvIDQpO1xuICB2ZXJ0aWNhbC1hbGlnbjogLTE1JTtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS0yeCB7IGZvbnQtc2l6ZTogMmVtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tM3ggeyBmb250LXNpemU6IDNlbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LTR4IHsgZm9udC1zaXplOiA0ZW07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS01eCB7IGZvbnQtc2l6ZTogNWVtOyB9XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm9udC1hd2Vzb21lL3Njc3MvX2xhcmdlci5zY3NzIiwiLy8gRml4ZWQgV2lkdGggSWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi4jeyRmYS1jc3MtcHJlZml4fS1mdyB7XG4gIHdpZHRoOiAoMThlbSAvIDE0KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9zY3NzL19maXhlZC13aWR0aC5zY3NzIiwiLy8gTGlzdCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0tdWwge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAkZmEtbGktd2lkdGg7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgPiBsaSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxufVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtJGZhLWxpLXdpZHRoO1xuICB3aWR0aDogJGZhLWxpLXdpZHRoO1xuICB0b3A6ICgyZW0gLyAxNCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgJi4jeyRmYS1jc3MtcHJlZml4fS1sZyB7XG4gICAgbGVmdDogLSRmYS1saS13aWR0aCArICg0ZW0gLyAxNCk7XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvc2Nzcy9fbGlzdC5zY3NzIiwiLy8gQm9yZGVyZWQgJiBQdWxsZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvcmRlciB7XG4gIHBhZGRpbmc6IC4yZW0gLjI1ZW0gLjE1ZW07XG4gIGJvcmRlcjogc29saWQgLjA4ZW0gJGZhLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogLjFlbTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtbGVmdCB7IGZsb2F0OiBsZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHVsbC1yaWdodCB7IGZsb2F0OiByaWdodDsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0ge1xuICAmLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtbGVmdCB7IG1hcmdpbi1yaWdodDogLjNlbTsgfVxuICAmLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtcmlnaHQgeyBtYXJnaW4tbGVmdDogLjNlbTsgfVxufVxuXG4vKiBEZXByZWNhdGVkIGFzIG9mIDQuNC4wICovXG4ucHVsbC1yaWdodCB7IGZsb2F0OiByaWdodDsgfVxuLnB1bGwtbGVmdCB7IGZsb2F0OiBsZWZ0OyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fSB7XG4gICYucHVsbC1sZWZ0IHsgbWFyZ2luLXJpZ2h0OiAuM2VtOyB9XG4gICYucHVsbC1yaWdodCB7IG1hcmdpbi1sZWZ0OiAuM2VtOyB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm9udC1hd2Vzb21lL3Njc3MvX2JvcmRlcmVkLXB1bGxlZC5zY3NzIiwiLy8gU3Bpbm5pbmcgSWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGluIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xuICAgICAgICAgIGFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1wdWxzZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmYS1zcGluIDFzIGluZmluaXRlIHN0ZXBzKDgpO1xuICAgICAgICAgIGFuaW1hdGlvbjogZmEtc3BpbiAxcyBpbmZpbml0ZSBzdGVwcyg4KTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhLXNwaW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYS1zcGluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm9udC1hd2Vzb21lL3Njc3MvX2FuaW1hdGVkLnNjc3MiLCIvLyBSb3RhdGVkICYgRmxpcHBlZCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTkwICB7IEBpbmNsdWRlIGZhLWljb24tcm90YXRlKDkwZGVnLCAxKTsgIH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtMTgwIHsgQGluY2x1ZGUgZmEtaWNvbi1yb3RhdGUoMTgwZGVnLCAyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS0yNzAgeyBAaW5jbHVkZSBmYS1pY29uLXJvdGF0ZSgyNzBkZWcsIDMpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLWhvcml6b250YWwgeyBAaW5jbHVkZSBmYS1pY29uLWZsaXAoLTEsIDEsIDApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxpcC12ZXJ0aWNhbCAgIHsgQGluY2x1ZGUgZmEtaWNvbi1mbGlwKDEsIC0xLCAyKTsgfVxuXG4vLyBIb29rIGZvciBJRTgtOVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG46cm9vdCAuI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTkwLFxuOnJvb3QgLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS0xODAsXG46cm9vdCAuI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTI3MCxcbjpyb290IC4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLWhvcml6b250YWwsXG46cm9vdCAuI3skZmEtY3NzLXByZWZpeH0tZmxpcC12ZXJ0aWNhbCB7XG4gIGZpbHRlcjogbm9uZTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvc2Nzcy9fcm90YXRlZC1mbGlwcGVkLnNjc3MiLCIvLyBNaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBmYS1pY29uKCkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsICN7JGZhLWZvbnQtc2l6ZS1iYXNlfS8jeyRmYS1saW5lLWhlaWdodC1iYXNlfSBGb250QXdlc29tZTsgLy8gc2hvcnRlbmluZyBmb250IGRlY2xhcmF0aW9uXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgLy8gY2FuJ3QgaGF2ZSBmb250LXNpemUgaW5oZXJpdCBvbiBsaW5lIGFib3ZlLCBzbyBuZWVkIHRvIG92ZXJyaWRlXG4gIHRleHQtcmVuZGVyaW5nOiBhdXRvOyAvLyBvcHRpbWl6ZWxlZ2liaWxpdHkgdGhyb3dzIHRoaW5ncyBvZmYgIzEwOTRcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cbn1cblxuQG1peGluIGZhLWljb24tcm90YXRlKCRkZWdyZWVzLCAkcm90YXRpb24pIHtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0jeyRyb3RhdGlvbn0pXCI7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG59XG5cbkBtaXhpbiBmYS1pY29uLWZsaXAoJGhvcml6LCAkdmVydCwgJHJvdGF0aW9uKSB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249I3skcm90YXRpb259LCBtaXJyb3I9MSlcIjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKCRob3JpeiwgJHZlcnQpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoJGhvcml6LCAkdmVydCk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkaG9yaXosICR2ZXJ0KTtcbn1cblxuXG4vLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVycy4gQSBsYSBCb290c3RyYXAgNC5cbi8vXG4vLyBTZWU6IGh0dHA6Ly9hMTF5cHJvamVjdC5jb20vcG9zdHMvaG93LXRvLWhpZGUtY29udGVudC9cblxuQG1peGluIHNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG5AbWl4aW4gc3Itb25seS1mb2N1c2FibGUge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvc2Nzcy9fbWl4aW5zLnNjc3MiLCIvLyBTdGFja2VkIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMmVtO1xuICBoZWlnaHQ6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0xeCwgLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLTJ4IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLTF4IHsgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0yeCB7IGZvbnQtc2l6ZTogMmVtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW52ZXJzZSB7IGNvbG9yOiAkZmEtaW52ZXJzZTsgfVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9zY3NzL19zdGFja2VkLnNjc3MiLCIvKiBGb250IEF3ZXNvbWUgdXNlcyB0aGUgVW5pY29kZSBQcml2YXRlIFVzZSBBcmVhIChQVUEpIHRvIGVuc3VyZSBzY3JlZW5cbiAgIHJlYWRlcnMgZG8gbm90IHJlYWQgb2ZmIHJhbmRvbSBjaGFyYWN0ZXJzIHRoYXQgcmVwcmVzZW50IGljb25zICovXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1nbGFzczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdsYXNzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbXVzaWM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tdXNpYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlYXJjaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNlYXJjaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lbnZlbG9wZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oZWFydDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGFyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3Rhci1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxtOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoLWxhcmdlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGgtbGFyZ2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGgtbGlzdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRoLWxpc3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZWNrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVtb3ZlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jbG9zZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdGltZXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aW1lczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlYXJjaC1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2VhcmNoLXBsdXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWFyY2gtbWludXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zZWFyY2gtbWludXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb3dlci1vZmY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wb3dlci1vZmY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaWduYWw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaWduYWw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZWFyOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jb2c6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb2c7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFzaC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJhc2gtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvbWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ob21lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvY2stbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNsb2NrLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb2FkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcm9hZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvd25sb2FkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZG93bmxvYWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtby1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctY2lyY2xlLW8tZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1vLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctY2lyY2xlLW8tdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmJveDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWluYm94OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxheS1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBsYXktY2lyY2xlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtcmlnaHQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlcGVhdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlcGVhdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZnJlc2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZWZyZXNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlzdC1hbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saXN0LWFsdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvY2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sb2NrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZsYWc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkcGhvbmVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGVhZHBob25lczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZvbHVtZS1vZmY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12b2x1bWUtb2ZmOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdm9sdW1lLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12b2x1bWUtZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZvbHVtZS11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZvbHVtZS11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXFyY29kZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXFyY29kZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhcmNvZGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYXJjb2RlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFnOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGFnOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFnczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRhZ3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYm9vazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb2ttYXJrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYm9va21hcms7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcmludDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXByaW50OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtZXJhOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FtZXJhOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvbnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib2xkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYm9sZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWl0YWxpYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWl0YWxpYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRleHQtaGVpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGV4dC1oZWlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZXh0LXdpZHRoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGV4dC13aWR0aDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsaWduLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbGlnbi1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpZ24tY2VudGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWxpZ24tY2VudGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpZ24tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbGlnbi1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsaWduLWp1c3RpZnk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbGlnbi1qdXN0aWZ5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlzdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpc3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZWRlbnQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LW91dGRlbnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1vdXRkZW50OyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5kZW50OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW5kZW50OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlkZW8tY2FtZXJhOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdmlkZW8tY2FtZXJhOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvdG86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWltYWdlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1waWN0dXJlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waWN0dXJlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW5jaWw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wZW5jaWw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXAtbWFya2VyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFwLW1hcmtlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFkanVzdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFkanVzdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpbnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aW50OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWRpdDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcGVuY2lsLXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGVuY2lsLXNxdWFyZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmUtc3F1YXJlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaGFyZS1zcXVhcmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZWNrLXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hlY2stc3F1YXJlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvd3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvd3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGVwLWJhY2t3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RlcC1iYWNrd2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhc3QtYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mYXN0LWJhY2t3YXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYWNrd2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYXk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbGF5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGF1c2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYXVzZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0b3A6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdG9wOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9yd2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvcndhcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYXN0LWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mYXN0LWZvcndhcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGVwLWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGVwLWZvcndhcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lamVjdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVqZWN0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZXZyb24tcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVzLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBsdXMtY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWludXMtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWludXMtY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGltZXMtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGltZXMtY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hlY2stY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVlc3Rpb24tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcXVlc3Rpb24tY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5mby1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbmZvLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyb3NzaGFpcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jcm9zc2hhaXJzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGltZXMtY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aW1lcy1jaXJjbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZWNrLWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hlY2stY2lyY2xlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWlsLWZvcndhcmQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leHBhbmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leHBhbmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21wcmVzczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbXByZXNzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGx1czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBsdXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taW51czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1pbnVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXN0ZXJpc2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hc3RlcmlzazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4Y2xhbWF0aW9uLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV4Y2xhbWF0aW9uLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1naWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVhZjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxlYWY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV5ZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV5ZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV5ZS1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV5ZS1zbGFzaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdhcm5pbmc6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXhjbGFtYXRpb24tdHJpYW5nbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGFuZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBsYW5lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYWxlbmRhcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJhbmRvbTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJhbmRvbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb21tZW50OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFnbmV0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFnbmV0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZXZyb24tdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGV2cm9uLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXR3ZWV0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmV0d2VldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob3BwaW5nLWNhcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaG9wcGluZy1jYXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9sZGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9sZGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9sZGVyLW9wZW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb2xkZXItb3BlbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93cy12OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3dzLXY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvd3MtaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93cy1oOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFyLWNoYXJ0LW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhci1jaGFydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhci1jaGFydDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR3aXR0ZXItc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHdpdHRlci1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYWNlYm9vay1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mYWNlYm9vay1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYW1lcmEtcmV0cm86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYW1lcmEtcmV0cm87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1rZXk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1rZXk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZWFyczpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tY29nczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvZ3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbW1lbnRzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bWJzLW8tdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aHVtYnMtby11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRodW1icy1vLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aHVtYnMtby1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3Rhci1oYWxmOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhcnQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhlYXJ0LW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaWduLW91dDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNpZ24tb3V0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlua2VkaW4tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlua2VkaW4tc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bWItdGFjazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRodW1iLXRhY2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leHRlcm5hbC1saW5rOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXh0ZXJuYWwtbGluazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ24taW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaWduLWluOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJvcGh5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJvcGh5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0aHViLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdpdGh1Yi1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11cGxvYWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11cGxvYWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZW1vbi1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGVtb24tbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGhvbmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcXVhcmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNxdWFyZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9va21hcmstbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJvb2ttYXJrLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waG9uZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waG9uZS1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10d2l0dGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHdpdHRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhY2Vib29rLWY6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhY2Vib29rOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmFjZWJvb2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXRodWI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1naXRodWI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bmxvY2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11bmxvY2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVkaXQtY2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNyZWRpdC1jYXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmVlZDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcnNzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcnNzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGRkLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oZGQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1bGxob3JuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYnVsbGhvcm47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWxsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmVsbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNlcnRpZmljYXRlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2VydGlmaWNhdGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLW8tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLW8tcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLW8tbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtby1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1vLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1vLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1vLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLW8tZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctY2lyY2xlLWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1jaXJjbGUtcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1jaXJjbGUtdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWNpcmNsZS1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xvYmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nbG9iZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdyZW5jaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdyZW5jaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhc2tzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGFza3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWx0ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWx0ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icmllZmNhc2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1icmllZmNhc2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvd3MtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3dzLWFsdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyb3VwOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzZXJzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hhaW46YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbms6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saW5rOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jbG91ZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYXNrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmxhc2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jdXQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXNjaXNzb3JzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2Npc3NvcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb3B5OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlcy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZXMtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcGVyY2xpcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhcGVyY2xpcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNhdmU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsb3BweS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmxvcHB5LW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uYXZpY29uOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1yZW9yZGVyOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iYXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmFyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpc3QtdWw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saXN0LXVsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlzdC1vbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpc3Qtb2w7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHJpa2V0aHJvdWdoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RyaWtldGhyb3VnaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuZGVybGluZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVuZGVybGluZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhYmxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGFibGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWdpYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hZ2ljOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJ1Y2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cnVjazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpbnRlcmVzdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBpbnRlcmVzdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpbnRlcmVzdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waW50ZXJlc3Qtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsdXMtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ29vZ2xlLXBsdXMtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsdXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nb29nbGUtcGx1czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmV5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbW9uZXk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FyZXQtZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FyZXQtdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FyZXQtbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FyZXQtcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2x1bW5zOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29sdW1uczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuc29ydGVkOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc29ydDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtZG93bjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1kZXNjOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc29ydC1kZXNjOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC11cDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LWFzYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZW52ZWxvcGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW5rZWRpbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpbmtlZGluOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLWxlZnQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuZG86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11bmRvOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVnYWw6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWdhdmVsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2F2ZWw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kYXNoYm9hcmQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhY2hvbWV0ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10YWNob21ldGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29tbWVudC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudHMtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbW1lbnRzLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGFzaDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYm9sdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJvbHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaXRlbWFwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2l0ZW1hcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVtYnJlbGxhOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdW1icmVsbGE7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXN0ZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tY2xpcGJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2xpcGJvYXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlnaHRidWxiLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saWdodGJ1bGItbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4Y2hhbmdlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXhjaGFuZ2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1kb3dubG9hZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNsb3VkLWRvd25sb2FkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtdXBsb2FkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2xvdWQtdXBsb2FkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1tZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzZXItbWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGV0aG9zY29wZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0ZXRob3Njb3BlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VpdGNhc2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdWl0Y2FzZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlbGwtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJlbGwtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZmZlZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvZmZlZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWN1dGxlcnk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jdXRsZXJ5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS10ZXh0LW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLXRleHQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1aWxkaW5nLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1idWlsZGluZy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9zcGl0YWwtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhvc3BpdGFsLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbWJ1bGFuY2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbWJ1bGFuY2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWRraXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tZWRraXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWdodGVyLWpldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpZ2h0ZXItamV0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJlZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWgtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGx1cy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbHVzLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvdWJsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtZG91YmxlLWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1kb3VibGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmdsZS1kb3VibGUtcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1kb3VibGUtdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmdsZS1kb3VibGUtdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1kb3VibGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2xlLWRvdWJsZS1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2xlLWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2xlLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmdsZS11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmdsZS1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGVza3RvcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRlc2t0b3A7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXB0b3A6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sYXB0b3A7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWJsZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10YWJsZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb2JpbGUtcGhvbmU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vYmlsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1vYmlsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2lyY2xlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdW90ZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcXVvdGUtbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1b3RlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcXVvdGUtcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGlubmVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3Bpbm5lcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1haWwtcmVwbHk6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlcGx5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVwbHk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXRodWItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2l0aHViLWFsdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbGRlci1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9sZGVyLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItb3Blbi1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9sZGVyLW9wZW4tbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNtaWxlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zbWlsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZnJvd24tbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZyb3duLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWgtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1laC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2FtZXBhZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdhbWVwYWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1rZXlib2FyZC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIta2V5Ym9hcmQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYWctbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZsYWctbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYWctY2hlY2tlcmVkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmxhZy1jaGVja2VyZWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZXJtaW5hbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRlcm1pbmFsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvZGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWlsLXJlcGx5LWFsbDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcmVwbHktYWxsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVwbHktYWxsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1oYWxmLWVtcHR5OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWhhbGYtZnVsbDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1oYWxmLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGFyLWhhbGYtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvY2F0aW9uLWFycm93OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbG9jYXRpb24tYXJyb3c7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcm9wOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3JvcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZGUtZm9yazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvZGUtZm9yazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVubGluazpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tY2hhaW4tYnJva2VuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hhaW4tYnJva2VuOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVlc3Rpb246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1xdWVzdGlvbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZm86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbmZvOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhjbGFtYXRpb246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leGNsYW1hdGlvbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1cGVyc2NyaXB0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3VwZXJzY3JpcHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdWJzY3JpcHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdWJzY3JpcHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lcmFzZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lcmFzZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wdXp6bGUtcGllY2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wdXp6bGUtcGllY2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb3Bob25lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWljcm9waG9uZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvcGhvbmUtc2xhc2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1taWNyb3Bob25lLXNsYXNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hpZWxkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hpZWxkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbGVuZGFyLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJlLWV4dGluZ3Vpc2hlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpcmUtZXh0aW5ndWlzaGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm9ja2V0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcm9ja2V0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWF4Y2RuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWF4Y2RuOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1jaXJjbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZXZyb24tY2lyY2xlLWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWNpcmNsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZXZyb24tY2lyY2xlLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1jaXJjbGUtdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGV2cm9uLWNpcmNsZS11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taHRtbDU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1odG1sNTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNzczM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jc3MzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5jaG9yOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5jaG9yOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5sb2NrLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVubG9jay1hbHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idWxsc2V5ZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ1bGxzZXllOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWxsaXBzaXMtaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVsbGlwc2lzLWg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbGxpcHNpcy12OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZWxsaXBzaXMtdjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJzcy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yc3Mtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxheS1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbGF5LWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpY2tldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRpY2tldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pbnVzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1pbnVzLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pbnVzLXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWludXMtc3F1YXJlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZXZlbC11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxldmVsLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGV2ZWwtZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxldmVsLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjay1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGVjay1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW5jaWwtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGVuY2lsLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4dGVybmFsLWxpbmstc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXh0ZXJuYWwtbGluay1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGFyZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaGFyZS1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21wYXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29tcGFzczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvZ2dsZS1kb3duOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1zcXVhcmUtby1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FyZXQtc3F1YXJlLW8tZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvZ2dsZS11cDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLW8tdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJldC1zcXVhcmUtby11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvZ2dsZS1yaWdodDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLW8tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJldC1zcXVhcmUtby1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV1cm86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWV1cjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV1cjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdicDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdicDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvbGxhcjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdXNkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnVwZWU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWlucjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWlucjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNueTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcm1iOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS15ZW46YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWpweTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWpweTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1YmxlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1yb3VibGU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1YjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJ1YjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdvbjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0ta3J3OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIta3J3OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYml0Y29pbjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYnRjOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYnRjOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXRleHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLXRleHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFscGhhLWFzYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQtYWxwaGEtYXNjOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbHBoYS1kZXNjOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc29ydC1hbHBoYS1kZXNjOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbW91bnQtYXNjOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc29ydC1hbW91bnQtYXNjOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbW91bnQtZGVzYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQtYW1vdW50LWRlc2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LW51bWVyaWMtYXNjOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc29ydC1udW1lcmljLWFzYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtbnVtZXJpYy1kZXNjOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc29ydC1udW1lcmljLWRlc2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aHVtYnMtdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aHVtYnMtdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aHVtYnMtZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRodW1icy1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teW91dHViZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci15b3V0dWJlLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlvdXR1YmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci15b3V0dWJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teGluZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXhpbmc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS14aW5nLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXhpbmctc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teW91dHViZS1wbGF5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteW91dHViZS1wbGF5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJvcGJveDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRyb3Bib3g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay1vdmVyZmxvdzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0YWNrLW92ZXJmbG93OyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5zdGFncmFtOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW5zdGFncmFtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxpY2tyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmxpY2tyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWRuOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYml0YnVja2V0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYml0YnVja2V0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYml0YnVja2V0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJpdGJ1Y2tldC1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10dW1ibHI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10dW1ibHI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10dW1ibHItc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHVtYmxyLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvbmctYXJyb3ctZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxvbmctYXJyb3ctZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvbmctYXJyb3ctdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sb25nLWFycm93LXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbG9uZy1hcnJvdy1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxvbmctYXJyb3ctcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcHBsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFwcGxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZG93czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdpbmRvd3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmRyb2lkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5kcm9pZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbnV4OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGludXg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcmliYmJsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRyaWJiYmxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2t5cGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1za3lwZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvdXJzcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb3Vyc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJlbGxvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJlbGxvOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmVtYWxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmVtYWxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXR0aXA6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyYXRpcGF5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ3JhdGlwYXk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdW4tbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN1bi1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9vbi1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbW9vbi1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJjaGl2ZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFyY2hpdmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idWc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1idWc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12azpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2VpYm86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13ZWlibzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlbnJlbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlbnJlbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhZ2VsaW5lczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhZ2VsaW5lczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLWV4Y2hhbmdlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RhY2stZXhjaGFuZ2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtby1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWNpcmNsZS1vLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLW8tbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWNpcmNsZS1vLWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtbGVmdDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLW8tbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LXNxdWFyZS1vLWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb3QtY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kb3QtY2lyY2xlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aGVlbGNoYWlyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2hlZWxjaGFpcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpbWVvLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZpbWVvLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR1cmtpc2gtbGlyYTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdHJ5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJ5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGx1cy1zcXVhcmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBsdXMtc3F1YXJlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGFjZS1zaHV0dGxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3BhY2Utc2h1dHRsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNsYWNrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2xhY2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZlbG9wZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lbnZlbG9wZS1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13b3JkcHJlc3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13b3JkcHJlc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vcGVuaWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1vcGVuaWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnN0aXR1dGlvbjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmFuazpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdW5pdmVyc2l0eTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVuaXZlcnNpdHk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3J0YXItYm9hcmQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyYWR1YXRpb24tY2FwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ3JhZHVhdGlvbi1jYXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15YWhvbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXlhaG9vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ29vZ2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVkZGl0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVkZGl0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVkZGl0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlZGRpdC1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHVtYmxldXBvbi1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdHVtYmxldXBvbi1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHVtYmxldXBvbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0dW1ibGV1cG9uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGVsaWNpb3VzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZGVsaWNpb3VzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlnZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRpZ2c7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWVkLXBpcGVyLXBwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGllZC1waXBlci1wcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGllZC1waXBlci1hbHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcnVwYWw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kcnVwYWw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qb29tbGE6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1qb29tbGE7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYW5ndWFnZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxhbmd1YWdlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmF4OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmF4OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVpbGRpbmc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1idWlsZGluZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoaWxkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hpbGQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYXc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcG9vbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNwb29uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3ViZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWN1YmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jdWJlczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWN1YmVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVoYW5jZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJlaGFuY2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWhhbmNlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJlaGFuY2Utc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlYW06YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGVhbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZWFtLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0ZWFtLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlY3ljbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZWN5Y2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXV0b21vYmlsZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tY2FyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FiOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10YXhpOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGF4aTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyZWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmVlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3BvdGlmeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNwb3RpZnk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZXZpYW50YXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZGV2aWFudGFydDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvdW5kY2xvdWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3VuZGNsb3VkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGF0YWJhc2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kYXRhYmFzZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtcGRmLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLXBkZi1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS13b3JkLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLXdvcmQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtZXhjZWwtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtZXhjZWwtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtcG93ZXJwb2ludC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS1wb3dlcnBvaW50LW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBob3RvLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtcGljdHVyZS1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWltYWdlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLWltYWdlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXppcC1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWFyY2hpdmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtYXJjaGl2ZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1zb3VuZC1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWF1ZGlvLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLWF1ZGlvLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLW1vdmllLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtdmlkZW8tbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtdmlkZW8tbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtY29kZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS1jb2RlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdmluZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZGVwZW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb2RlcGVuOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tanNmaWRkbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1qc2ZpZGRsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZmUtYm91eTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tbGlmZS1idW95OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1saWZlLXNhdmVyOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zdXBwb3J0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1saWZlLXJpbmc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saWZlLXJpbmc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaXJjbGUtby1ub3RjaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNpcmNsZS1vLW5vdGNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmE6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlc2lzdGFuY2U6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlYmVsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmViZWw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZW1waXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZW1waXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdpdC1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1naXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15LWNvbWJpbmF0b3Itc3F1YXJlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS15Yy1zcXVhcmU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhY2tlci1uZXdzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFja2VyLW5ld3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZW5jZW50LXdlaWJvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGVuY2VudC13ZWlibzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXFxOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcXE7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13ZWNoYXQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXdlaXhpbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdlaXhpbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlbmQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcGVyLXBsYW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGFwZXItcGxhbmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZW5kLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcGVyLXBsYW5lLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYXBlci1wbGFuZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGlzdG9yeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhpc3Rvcnk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaXJjbGUtdGhpbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNpcmNsZS10aGluOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhZGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGVhZGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFyYWdyYXBoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGFyYWdyYXBoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xpZGVyczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNsaWRlcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGFyZS1hbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaGFyZS1hbHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGFyZS1hbHQtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hhcmUtYWx0LXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvbWI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ib21iOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29jY2VyLWJhbGwtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZnV0Ym9sLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mdXRib2wtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR0eTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXR0eTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpbm9jdWxhcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iaW5vY3VsYXJzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGx1ZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBsdWc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbGlkZXNoYXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2xpZGVzaGFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR3aXRjaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXR3aXRjaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXllbHA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci15ZWxwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmV3c3BhcGVyLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1uZXdzcGFwZXItbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpZmk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13aWZpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsY3VsYXRvcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbGN1bGF0b3I7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXlwYWw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYXlwYWw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtd2FsbGV0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ29vZ2xlLXdhbGxldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLXZpc2E6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYy12aXNhOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtbWFzdGVyY2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNjLW1hc3RlcmNhcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1kaXNjb3ZlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNjLWRpc2NvdmVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtYW1leDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNjLWFtZXg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1wYXlwYWw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYy1wYXlwYWw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1zdHJpcGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYy1zdHJpcGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWxsLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmVsbC1zbGFzaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlbGwtc2xhc2gtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJlbGwtc2xhc2gtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYXNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJhc2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb3B5cmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb3B5cmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWF0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXllZHJvcHBlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV5ZWRyb3BwZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWludC1icnVzaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhaW50LWJydXNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmlydGhkYXktY2FrZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJpcnRoZGF5LWNha2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcmVhLWNoYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJlYS1jaGFydDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZS1jaGFydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBpZS1jaGFydDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbmUtY2hhcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saW5lLWNoYXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFzdGZtOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGFzdGZtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFzdGZtLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxhc3RmbS1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdG9nZ2xlLW9mZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvZ2dsZS1vbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRvZ2dsZS1vbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpY3ljbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iaWN5Y2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYnVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW94aG9zdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWlveGhvc3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdlbGxpc3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmdlbGxpc3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNjOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hla2VsOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zaGVxZWw6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWlsczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWlsczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lYW5wYXRoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWVhbnBhdGg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idXlzZWxsYWRzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYnV5c2VsbGFkczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbm5lY3RkZXZlbG9wOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29ubmVjdGRldmVsb3A7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kYXNoY3ViZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRhc2hjdWJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9ydW1iZWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb3J1bWJlZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlYW5wdWI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sZWFucHViOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VsbHN5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2VsbHN5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hpcnRzaW5idWxrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hpcnRzaW5idWxrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2ltcGx5YnVpbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaW1wbHlidWlsdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNreWF0bGFzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2t5YXRsYXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJ0LXBsdXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJ0LXBsdXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJ0LWFycm93LWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJ0LWFycm93LWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWFtb25kOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZGlhbW9uZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoaXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaGlwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1zZWNyZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2VyLXNlY3JldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vdG9yY3ljbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tb3RvcmN5Y2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RyZWV0LXZpZXc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdHJlZXQtdmlldzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYXJ0YmVhdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhlYXJ0YmVhdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlbnVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdmVudXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lcmN1cnk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tZXJjdXJ5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW50ZXJzZXg6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYW5zZ2VuZGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJhbnNnZW5kZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFuc2dlbmRlci1hbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmFuc2dlbmRlci1hbHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12ZW51cy1kb3VibGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12ZW51cy1kb3VibGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXJzLWRvdWJsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcnMtZG91YmxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmVudXMtbWFyczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZlbnVzLW1hcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXJzLXN0cm9rZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcnMtc3Ryb2tlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFycy1zdHJva2UtdjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcnMtc3Ryb2tlLXY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXJzLXN0cm9rZS1oOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFycy1zdHJva2UtaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5ldXRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW5ldXRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlbmRlcmxlc3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nZW5kZXJsZXNzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stb2ZmaWNpYWw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mYWNlYm9vay1vZmZpY2lhbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpbnRlcmVzdC1wOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGludGVyZXN0LXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aGF0c2FwcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdoYXRzYXBwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VydmVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2VydmVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlci1wbHVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci10aW1lczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzZXItdGltZXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3RlbDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmVkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmVkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlhY29pbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZpYWNvaW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFpbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyYWluOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Vid2F5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3Vid2F5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVkaXVtOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWVkaXVtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teWM6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXktY29tYmluYXRvcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXktY29tYmluYXRvcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wdGluLW1vbnN0ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1vcHRpbi1tb25zdGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3BlbmNhcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1vcGVuY2FydDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4cGVkaXRlZHNzbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV4cGVkaXRlZHNzbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktNDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS1mdWxsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmF0dGVyeS1mdWxsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS0zOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmF0dGVyeS10aHJlZS1xdWFydGVyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktMjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmF0dGVyeS1oYWxmOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS0xOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LXF1YXJ0ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYXR0ZXJ5LXF1YXJ0ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LTA6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktZW1wdHk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYXR0ZXJ5LWVtcHR5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW91c2UtcG9pbnRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1vdXNlLXBvaW50ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pLWN1cnNvcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWktY3Vyc29yOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2JqZWN0LWdyb3VwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb2JqZWN0LWdyb3VwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2JqZWN0LXVuZ3JvdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1vYmplY3QtdW5ncm91cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0aWNreS1ub3RlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RpY2t5LW5vdGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGlja3ktbm90ZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RpY2t5LW5vdGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWpjYjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNjLWpjYjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWRpbmVycy1jbHViOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2MtZGluZXJzLWNsdWI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG9uZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNsb25lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFsYW5jZS1zY2FsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhbGFuY2Utc2NhbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3MtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhvdXJnbGFzcy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLTE6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy1zdGFydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhvdXJnbGFzcy1zdGFydDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy0yOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3MtaGFsZjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhvdXJnbGFzcy1oYWxmOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLTM6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy1lbmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ob3VyZ2xhc3MtZW5kOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG91cmdsYXNzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1ncmFiLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcm9jay1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1yb2NrLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXN0b3AtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wYXBlci1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1wYXBlci1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1zY2lzc29ycy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1zY2lzc29ycy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1saXphcmQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtbGl6YXJkLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXNwb2NrLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLXNwb2NrLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBvaW50ZXItbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtcG9pbnRlci1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wZWFjZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1wZWFjZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhZGVtYXJrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJhZGVtYXJrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVnaXN0ZXJlZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlZ2lzdGVyZWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3JlYXRpdmUtY29tbW9uczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdnOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2c7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZy1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nZy1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmlwYWR2aXNvcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyaXBhZHZpc29yOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2Rub2tsYXNzbmlraTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW9kbm9rbGFzc25pa2k7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vZG5va2xhc3NuaWtpLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW9kbm9rbGFzc25pa2ktc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2V0LXBvY2tldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdldC1wb2NrZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aWtpcGVkaWEtdzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdpa2lwZWRpYS13OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2FmYXJpOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2FmYXJpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hyb21lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hyb21lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyZWZveDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpcmVmb3g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vcGVyYTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW9wZXJhOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW50ZXJuZXQtZXhwbG9yZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbnRlcm5ldC1leHBsb3JlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR2OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10ZWxldmlzaW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGVsZXZpc2lvbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbnRhbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbnRhbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LTUwMHB4OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItNTAwcHg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbWF6b246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbWF6b247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci1wbHVzLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYWxlbmRhci1wbHVzLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci1taW51cy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FsZW5kYXItbWludXMtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLXRpbWVzLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYWxlbmRhci10aW1lcy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItY2hlY2stbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbGVuZGFyLWNoZWNrLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmR1c3RyeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWluZHVzdHJ5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLXBpbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcC1waW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXAtc2lnbnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXAtc2lnbnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXAtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudGluZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbW1lbnRpbmc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50aW5nLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb21tZW50aW5nLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3V6ejpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhvdXp6OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmltZW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12aW1lbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsYWNrLXRpZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJsYWNrLXRpZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnRpY29uczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvbnRpY29uczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZGRpdC1hbGllbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlZGRpdC1hbGllbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVkZ2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lZGdlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlZGl0LWNhcmQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3JlZGl0LWNhcmQtYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kaWVwaWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb2RpZXBpZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vZHg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tb2R4OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9ydC1hd2Vzb21lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9ydC1hd2Vzb21lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNiOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNiOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJvZHVjdC1odW50OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcHJvZHVjdC1odW50OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWl4Y2xvdWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1taXhjbG91ZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNjcmliZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNjcmliZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhdXNlLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhdXNlLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhdXNlLWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGF1c2UtY2lyY2xlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9wLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0b3AtY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcC1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0b3AtY2lyY2xlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaG9wcGluZy1iYWc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaG9wcGluZy1iYWc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaG9wcGluZy1iYXNrZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaG9wcGluZy1iYXNrZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYXNodGFnOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFzaHRhZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsdWV0b290aDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJsdWV0b290aDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsdWV0b290aC1iOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmx1ZXRvb3RoLWI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZXJjZW50OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGVyY2VudDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdGxhYjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdpdGxhYjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdwYmVnaW5uZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13cGJlZ2lubmVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td3Bmb3JtczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdwZm9ybXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZpcmE6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lbnZpcmE7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bml2ZXJzYWwtYWNjZXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdW5pdmVyc2FsLWFjY2VzczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdoZWVsY2hhaXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2hlZWxjaGFpci1hbHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdWVzdGlvbi1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXF1ZXN0aW9uLWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxpbmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ibGluZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF1ZGlvLWRlc2NyaXB0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXVkaW8tZGVzY3JpcHRpb247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2x1bWUtY29udHJvbC1waG9uZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZvbHVtZS1jb250cm9sLXBob25lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJhaWxsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJyYWlsbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hc2wtaW50ZXJwcmV0aW5nOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGVhZm5lc3M6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhcmQtb2YtaGVhcmluZzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZGVhZjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRlYWY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbGlkZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdsaWRlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xpZGUtZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdsaWRlLWc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaWduaW5nOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zaWduLWxhbmd1YWdlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2lnbi1sYW5ndWFnZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvdy12aXNpb246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sb3ctdmlzaW9uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlhZGVvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdmlhZGVvOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlhZGVvLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZpYWRlby1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbmFwY2hhdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNuYXBjaGF0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc25hcGNoYXQtZ2hvc3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zbmFwY2hhdC1naG9zdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNuYXBjaGF0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNuYXBjaGF0LXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waWVkLXBpcGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyc3Qtb3JkZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maXJzdC1vcmRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlvYXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteW9hc3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVtZWlzbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aGVtZWlzbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGx1cy1jaXJjbGU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1wbHVzLW9mZmljaWFsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ29vZ2xlLXBsdXMtb2ZmaWNpYWw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZm9udC1hd2Vzb21lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9udC1hd2Vzb21lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZHNoYWtlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kc2hha2UtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlLW9wZW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lbnZlbG9wZS1vcGVuOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGUtb3Blbi1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZW52ZWxvcGUtb3Blbi1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlub2RlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlub2RlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRkcmVzcy1ib29rOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWRkcmVzcy1ib29rOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRkcmVzcy1ib29rLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hZGRyZXNzLWJvb2stbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZjYXJkOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1hZGRyZXNzLWNhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hZGRyZXNzLWNhcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12Y2FyZC1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1hZGRyZXNzLWNhcmQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFkZHJlc3MtY2FyZC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2VyLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2VyLWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlci1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWQtYmFkZ2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pZC1iYWRnZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyaXZlcnMtbGljZW5zZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taWQtY2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWlkLWNhcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcml2ZXJzLWxpY2Vuc2UtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taWQtY2FyZC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaWQtY2FyZC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVvcmE6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1xdW9yYTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZyZWUtY29kZS1jYW1wOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZnJlZS1jb2RlLWNhbXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZWxlZ3JhbTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRlbGVncmFtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItNDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLWZ1bGw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aGVybW9tZXRlci1mdWxsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItMzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aGVybW9tZXRlci10aHJlZS1xdWFydGVyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLTI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLWhhbGY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aGVybW9tZXRlci1oYWxmOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItMTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItcXVhcnRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRoZXJtb21ldGVyLXF1YXJ0ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci0wOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRoZXJtb21ldGVyLWVtcHR5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvd2VyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hvd2VyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0aHR1YjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tczE1OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iYXRoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmF0aDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvZGNhc3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wb2RjYXN0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZG93LW1heGltaXplOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2luZG93LW1heGltaXplOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZG93LW1pbmltaXplOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2luZG93LW1pbmltaXplOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZG93LXJlc3RvcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13aW5kb3ctcmVzdG9yZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpbWVzLXJlY3RhbmdsZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0td2luZG93LWNsb3NlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2luZG93LWNsb3NlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGltZXMtcmVjdGFuZ2xlLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvdy1jbG9zZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2luZG93LWNsb3NlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYW5kY2FtcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhbmRjYW1wOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JhdjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdyYXY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ldHN5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXRzeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWltZGI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbWRiOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmF2ZWxyeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJhdmVscnk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lZXJjYXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZWVyY2FzdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvY2hpcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1pY3JvY2hpcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNub3dmbGFrZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc25vd2ZsYWtlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdXBlcnBvd2VyczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN1cGVycG93ZXJzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td3BleHBsb3JlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdwZXhwbG9yZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWV0dXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tZWV0dXA7IH1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvc2Nzcy9faWNvbnMuc2NzcyIsIi8vIFNjcmVlbiBSZWFkZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5zci1vbmx5IHsgQGluY2x1ZGUgc3Itb25seSgpOyB9XG4uc3Itb25seS1mb2N1c2FibGUgeyBAaW5jbHVkZSBzci1vbmx5LWZvY3VzYWJsZSgpOyB9XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9ub2RlX21vZHVsZXMvZm9udC1hd2Vzb21lL3Njc3MvX3NjcmVlbi1yZWFkZXIuc2NzcyIsIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay5zY3NzIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xuXG4vLyBTbGljayBpY29uIGVudGl0eSBjb2RlcyBvdXRwdXRzIHRoZSBmb2xsb3dpbmdcbi8vIFwiXFwyMTkwXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLDosKGwpBcIlxuLy8gXCJcXDIxOTJcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIsOiwobCklwiXG4vLyBcIlxcMjAyMlwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwiw6LCgMKiXCJcblxuJHNsaWNrLWZvbnQtcGF0aDogXCIuL2ZvbnRzL1wiICFkZWZhdWx0O1xuJHNsaWNrLWZvbnQtZmFtaWx5OiBcInNsaWNrXCIgIWRlZmF1bHQ7XG4kc2xpY2stbG9hZGVyLXBhdGg6IFwiLi9cIiAhZGVmYXVsdDtcbiRzbGljay1hcnJvdy1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yOiBibGFjayAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3ItYWN0aXZlOiAkc2xpY2stZG90LWNvbG9yICFkZWZhdWx0O1xuJHNsaWNrLXByZXYtY2hhcmFjdGVyOiBcIlxcMjE5MFwiICFkZWZhdWx0O1xuJHNsaWNrLW5leHQtY2hhcmFjdGVyOiBcIlxcMjE5MlwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jaGFyYWN0ZXI6IFwiXFwyMDIyXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LXNpemU6IDZweCAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LWRlZmF1bHQ6IDAuNzUgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjogMSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU6IDAuMjUgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBzbGljay1pbWFnZS11cmwoJHVybCkge1xuICAgIEBpZiBmdW5jdGlvbi1leGlzdHMoaW1hZ2UtdXJsKSB7XG4gICAgICAgIEByZXR1cm4gaW1hZ2UtdXJsKCR1cmwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gdXJsKCRzbGljay1sb2FkZXItcGF0aCArICR1cmwpO1xuICAgIH1cbn1cblxuQGZ1bmN0aW9uIHNsaWNrLWZvbnQtdXJsKCR1cmwpIHtcbiAgICBAaWYgZnVuY3Rpb24tZXhpc3RzKGZvbnQtdXJsKSB7XG4gICAgICAgIEByZXR1cm4gZm9udC11cmwoJHVybCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiB1cmwoJHNsaWNrLWZvbnQtcGF0aCArICR1cmwpO1xuICAgIH1cbn1cblxuLyogU2xpZGVyICovXG5cbi5zbGljay1saXN0IHtcbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZiBzbGljay1pbWFnZS11cmwoXCJhamF4LWxvYWRlci5naWZcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgfVxufVxuXG4vKiBJY29ucyAqL1xuQGlmICRzbGljay1mb250LWZhbWlseSA9PSBcInNsaWNrXCIge1xuICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICAgICAgICBzcmM6IHNsaWNrLWZvbnQtdXJsKFwic2xpY2suZW90XCIpO1xuICAgICAgICBzcmM6IHNsaWNrLWZvbnQtdXJsKFwic2xpY2suZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnN2ZyNzbGlja1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB9XG59XG5cbi8qIEFycm93cyAqL1xuXG4uc2xpY2stcHJldixcbi5zbGljay1uZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgZm9udC1zaXplOiAwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnNsaWNrLWRpc2FibGVkOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRzbGljay1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgY29sb3I6ICRzbGljay1hcnJvdy1jb2xvcjtcbiAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxufVxuXG4uc2xpY2stcHJldiB7XG4gICAgbGVmdDogLTI1cHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IC0yNXB4O1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGljay1wcmV2LWNoYXJhY3RlcjtcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3RlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiAtMjVweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBsZWZ0OiAtMjVweDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBEb3RzICovXG5cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uc2xpY2stZG90cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTI1cHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDBweDtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1kb3QtY2hhcmFjdGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNsaWNrLWRvdC1zaXplO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNsaWNrLWRvdC1jb2xvcjtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU7XG4gICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL3NsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLXRoZW1lLnNjc3MiLCIuem9vbWlmeSB7IGN1cnNvcjogcG9pbnRlcjsgY3Vyc29yOiAtd2Via2l0LXpvb20taW47IGN1cnNvcjogem9vbS1pbjsgfVxuLnpvb21pZnkuem9vbWVkIHsgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0OyBjdXJzb3I6IHpvb20tb3V0OyBwYWRkaW5nOiAwOyBtYXJnaW46IDA7IGJvcmRlcjogbm9uZTsgYm9yZGVyLXJhZGl1czogMDsgYm94LXNoYWRvdzogbm9uZTsgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxNTAxOyB9XG4uem9vbWlmeS1zaGFkb3cgeyBwb3NpdGlvbjogZml4ZWQ7IHRvcDogMDsgbGVmdDogMDsgcmlnaHQ6IDA7IGJvdHRvbTogMDsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgZGlzcGxheTogYmxvY2s7IHotaW5kZXg6IDE1MDA7IGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCAsIC4zKTsgb3BhY2l0eTogMDsgfVxuLnpvb21pZnktc2hhZG93Lnpvb21lZCB7IG9wYWNpdHk6IDE7IGN1cnNvcjogcG9pbnRlcjsgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0OyBjdXJzb3I6IHpvb20tb3V0OyB9XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXNzZXRzL3Njc3MvbGliL3pvb21pZnkuY3NzIiwiLyohIGpRdWVyeSBVSSAtIHYxLjEyLjEgLSAyMDE3LTEwLTIyXG4qIGh0dHA6Ly9qcXVlcnl1aS5jb21cbiogSW5jbHVkZXM6IGNvcmUuY3NzLCBhdXRvY29tcGxldGUuY3NzLCBtZW51LmNzcywgdGhlbWUuY3NzXG4qIFRvIHZpZXcgYW5kIG1vZGlmeSB0aGlzIHRoZW1lLCB2aXNpdCBodHRwOi8vanF1ZXJ5dWkuY29tL3RoZW1lcm9sbGVyLz9zY29wZT0mZm9sZGVyTmFtZT1iYXNlJmNvcm5lclJhZGl1c1NoYWRvdz04cHgmb2Zmc2V0TGVmdFNoYWRvdz0wcHgmb2Zmc2V0VG9wU2hhZG93PTBweCZ0aGlja25lc3NTaGFkb3c9NXB4Jm9wYWNpdHlTaGFkb3c9MzAmYmdJbWdPcGFjaXR5U2hhZG93PTAmYmdUZXh0dXJlU2hhZG93PWZsYXQmYmdDb2xvclNoYWRvdz02NjY2NjYmb3BhY2l0eU92ZXJsYXk9MzAmYmdJbWdPcGFjaXR5T3ZlcmxheT0wJmJnVGV4dHVyZU92ZXJsYXk9ZmxhdCZiZ0NvbG9yT3ZlcmxheT1hYWFhYWEmaWNvbkNvbG9yRXJyb3I9Y2MwMDAwJmZjRXJyb3I9NWYzZjNmJmJvcmRlckNvbG9yRXJyb3I9ZjFhODk5JmJnVGV4dHVyZUVycm9yPWZsYXQmYmdDb2xvckVycm9yPWZkZGZkZiZpY29uQ29sb3JIaWdobGlnaHQ9Nzc3NjIwJmZjSGlnaGxpZ2h0PTc3NzYyMCZib3JkZXJDb2xvckhpZ2hsaWdodD1kYWQ1NWUmYmdUZXh0dXJlSGlnaGxpZ2h0PWZsYXQmYmdDb2xvckhpZ2hsaWdodD1mZmZhOTAmaWNvbkNvbG9yQWN0aXZlPWZmZmZmZiZmY0FjdGl2ZT1mZmZmZmYmYm9yZGVyQ29sb3JBY3RpdmU9MDAzZWZmJmJnVGV4dHVyZUFjdGl2ZT1mbGF0JmJnQ29sb3JBY3RpdmU9MDA3ZmZmJmljb25Db2xvckhvdmVyPTU1NTU1NSZmY0hvdmVyPTJiMmIyYiZib3JkZXJDb2xvckhvdmVyPWNjY2NjYyZiZ1RleHR1cmVIb3Zlcj1mbGF0JmJnQ29sb3JIb3Zlcj1lZGVkZWQmaWNvbkNvbG9yRGVmYXVsdD03Nzc3NzcmZmNEZWZhdWx0PTQ1NDU0NSZib3JkZXJDb2xvckRlZmF1bHQ9YzVjNWM1JmJnVGV4dHVyZURlZmF1bHQ9ZmxhdCZiZ0NvbG9yRGVmYXVsdD1mNmY2ZjYmaWNvbkNvbG9yQ29udGVudD00NDQ0NDQmZmNDb250ZW50PTMzMzMzMyZib3JkZXJDb2xvckNvbnRlbnQ9ZGRkZGRkJmJnVGV4dHVyZUNvbnRlbnQ9ZmxhdCZiZ0NvbG9yQ29udGVudD1mZmZmZmYmaWNvbkNvbG9ySGVhZGVyPTQ0NDQ0NCZmY0hlYWRlcj0zMzMzMzMmYm9yZGVyQ29sb3JIZWFkZXI9ZGRkZGRkJmJnVGV4dHVyZUhlYWRlcj1mbGF0JmJnQ29sb3JIZWFkZXI9ZTllOWU5JmNvcm5lclJhZGl1cz0zcHgmZndEZWZhdWx0PW5vcm1hbCZmc0RlZmF1bHQ9MWVtJmZmRGVmYXVsdD1BcmlhbCUyQ0hlbHZldGljYSUyQ3NhbnMtc2VyaWZcbiogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnM7IExpY2Vuc2VkIE1JVCAqL1xuXG4vKiBMYXlvdXQgaGVscGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktaGVscGVyLWhpZGRlbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG4udWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIHtcblx0Ym9yZGVyOiAwO1xuXHRjbGlwOiByZWN0KDAgMCAwIDApO1xuXHRoZWlnaHQ6IDFweDtcblx0bWFyZ2luOiAtMXB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwYWRkaW5nOiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiAxcHg7XG59XG4udWktaGVscGVyLXJlc2V0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IDA7XG5cdG91dGxpbmU6IDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Zm9udC1zaXplOiAxMDAlO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuLnVpLWhlbHBlci1jbGVhcmZpeDpiZWZvcmUsXG4udWktaGVscGVyLWNsZWFyZml4OmFmdGVyIHtcblx0Y29udGVudDogXCJcIjtcblx0ZGlzcGxheTogdGFibGU7XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG4udWktaGVscGVyLWNsZWFyZml4OmFmdGVyIHtcblx0Y2xlYXI6IGJvdGg7XG59XG4udWktaGVscGVyLXpmaXgge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0b3BhY2l0eTogMDtcblx0ZmlsdGVyOkFscGhhKE9wYWNpdHk9MCk7IC8qIHN1cHBvcnQ6IElFOCAqL1xufVxuXG4udWktZnJvbnQge1xuXHR6LWluZGV4OiAxMDA7XG59XG5cblxuLyogSW50ZXJhY3Rpb24gQ3Vlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktc3RhdGUtZGlzYWJsZWQge1xuXHRjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cblxuLyogSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLWljb24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdG1hcmdpbi10b3A6IC0uMjVlbTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0ZXh0LWluZGVudDogLTk5OTk5cHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi51aS13aWRnZXQtaWNvbi1ibG9jayB7XG5cdGxlZnQ6IDUwJTtcblx0bWFyZ2luLWxlZnQ6IC04cHg7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiBNaXNjIHZpc3VhbHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBPdmVybGF5cyAqL1xuLnVpLXdpZGdldC1vdmVybGF5IHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG4udWktYXV0b2NvbXBsZXRlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdGN1cnNvcjogZGVmYXVsdDtcbn1cbi51aS1tZW51IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHRkaXNwbGF5OiBibG9jaztcblx0b3V0bGluZTogMDtcbn1cbi51aS1tZW51IC51aS1tZW51IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xufVxuLnVpLW1lbnUgLnVpLW1lbnUtaXRlbSB7XG5cdG1hcmdpbjogMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHQvKiBzdXBwb3J0OiBJRTEwLCBzZWUgIzg4NDQgKi9cblx0bGlzdC1zdHlsZS1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3XCIpO1xufVxuLnVpLW1lbnUgLnVpLW1lbnUtaXRlbS13cmFwcGVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiAzcHggMWVtIDNweCAuNGVtO1xufVxuLnVpLW1lbnUgLnVpLW1lbnUtZGl2aWRlciB7XG5cdG1hcmdpbjogNXB4IDA7XG5cdGhlaWdodDogMDtcblx0Zm9udC1zaXplOiAwO1xuXHRsaW5lLWhlaWdodDogMDtcblx0Ym9yZGVyLXdpZHRoOiAxcHggMCAwIDA7XG59XG4udWktbWVudSAudWktc3RhdGUtZm9jdXMsXG4udWktbWVudSAudWktc3RhdGUtYWN0aXZlIHtcblx0bWFyZ2luOiAtMXB4O1xufVxuXG4vKiBpY29uIHN1cHBvcnQgKi9cbi51aS1tZW51LWljb25zIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnVpLW1lbnUtaWNvbnMgLnVpLW1lbnUtaXRlbS13cmFwcGVyIHtcblx0cGFkZGluZy1sZWZ0OiAyZW07XG59XG5cbi8qIGxlZnQtYWxpZ25lZCAqL1xuLnVpLW1lbnUgLnVpLWljb24ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAuMmVtO1xuXHRtYXJnaW46IGF1dG8gMDtcbn1cblxuLyogcmlnaHQtYWxpZ25lZCAqL1xuLnVpLW1lbnUgLnVpLW1lbnUtaWNvbiB7XG5cdGxlZnQ6IGF1dG87XG5cdHJpZ2h0OiAwO1xufVxuXG4vKiBDb21wb25lbnQgY29udGFpbmVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktd2lkZ2V0IHtcblx0Zm9udC1mYW1pbHk6IEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO1xuXHRmb250LXNpemU6IDFlbTtcbn1cbi51aS13aWRnZXQgLnVpLXdpZGdldCB7XG5cdGZvbnQtc2l6ZTogMWVtO1xufVxuLnVpLXdpZGdldCBpbnB1dCxcbi51aS13aWRnZXQgc2VsZWN0LFxuLnVpLXdpZGdldCB0ZXh0YXJlYSxcbi51aS13aWRnZXQgYnV0dG9uIHtcblx0Zm9udC1mYW1pbHk6IEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO1xuXHRmb250LXNpemU6IDFlbTtcbn1cbi51aS13aWRnZXQudWktd2lkZ2V0LWNvbnRlbnQge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjYzVjNWM1O1xufVxuLnVpLXdpZGdldC1jb250ZW50IHtcblx0Ym9yZGVyOiAxcHggc29saWQgI2RkZGRkZDtcblx0YmFja2dyb3VuZDogI2ZmZmZmZjtcblx0Y29sb3I6ICMzMzMzMzM7XG59XG4udWktd2lkZ2V0LWNvbnRlbnQgYSB7XG5cdGNvbG9yOiAjMzMzMzMzO1xufVxuLnVpLXdpZGdldC1oZWFkZXIge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkO1xuXHRiYWNrZ3JvdW5kOiAjZTllOWU5O1xuXHRjb2xvcjogIzMzMzMzMztcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4udWktd2lkZ2V0LWhlYWRlciBhIHtcblx0Y29sb3I6ICMzMzMzMzM7XG59XG5cbi8qIEludGVyYWN0aW9uIHN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktc3RhdGUtZGVmYXVsdCxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGVmYXVsdCxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kZWZhdWx0LFxuLnVpLWJ1dHRvbixcblxuLyogV2UgdXNlIGh0bWwgaGVyZSBiZWNhdXNlIHdlIG5lZWQgYSBncmVhdGVyIHNwZWNpZmljaXR5IHRvIG1ha2Ugc3VyZSBkaXNhYmxlZFxud29ya3MgcHJvcGVybHkgd2hlbiBjbGlja2VkIG9yIGhvdmVyZWQgKi9cbmh0bWwgLnVpLWJ1dHRvbi51aS1zdGF0ZS1kaXNhYmxlZDpob3Zlcixcbmh0bWwgLnVpLWJ1dHRvbi51aS1zdGF0ZS1kaXNhYmxlZDphY3RpdmUge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjYzVjNWM1O1xuXHRiYWNrZ3JvdW5kOiAjZjZmNmY2O1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRjb2xvcjogIzQ1NDU0NTtcbn1cbi51aS1zdGF0ZS1kZWZhdWx0IGEsXG4udWktc3RhdGUtZGVmYXVsdCBhOmxpbmssXG4udWktc3RhdGUtZGVmYXVsdCBhOnZpc2l0ZWQsXG5hLnVpLWJ1dHRvbixcbmE6bGluay51aS1idXR0b24sXG5hOnZpc2l0ZWQudWktYnV0dG9uLFxuLnVpLWJ1dHRvbiB7XG5cdGNvbG9yOiAjNDU0NTQ1O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4udWktc3RhdGUtaG92ZXIsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXN0YXRlLWZvY3VzLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1mb2N1cyxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1mb2N1cyxcbi51aS1idXR0b246aG92ZXIsXG4udWktYnV0dG9uOmZvY3VzIHtcblx0Ym9yZGVyOiAxcHggc29saWQgI2NjY2NjYztcblx0YmFja2dyb3VuZDogI2VkZWRlZDtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Y29sb3I6ICMyYjJiMmI7XG59XG4udWktc3RhdGUtaG92ZXIgYSxcbi51aS1zdGF0ZS1ob3ZlciBhOmhvdmVyLFxuLnVpLXN0YXRlLWhvdmVyIGE6bGluayxcbi51aS1zdGF0ZS1ob3ZlciBhOnZpc2l0ZWQsXG4udWktc3RhdGUtZm9jdXMgYSxcbi51aS1zdGF0ZS1mb2N1cyBhOmhvdmVyLFxuLnVpLXN0YXRlLWZvY3VzIGE6bGluayxcbi51aS1zdGF0ZS1mb2N1cyBhOnZpc2l0ZWQsXG5hLnVpLWJ1dHRvbjpob3ZlcixcbmEudWktYnV0dG9uOmZvY3VzIHtcblx0Y29sb3I6ICMyYjJiMmI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnVpLXZpc3VhbC1mb2N1cyB7XG5cdGJveC1zaGFkb3c6IDAgMCAzcHggMXB4IHJnYig5NCwgMTU4LCAyMTQpO1xufVxuLnVpLXN0YXRlLWFjdGl2ZSxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtYWN0aXZlLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWFjdGl2ZSxcbmEudWktYnV0dG9uOmFjdGl2ZSxcbi51aS1idXR0b246YWN0aXZlLFxuLnVpLWJ1dHRvbi51aS1zdGF0ZS1hY3RpdmU6aG92ZXIge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjMDAzZWZmO1xuXHRiYWNrZ3JvdW5kOiAjMDA3ZmZmO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRjb2xvcjogI2ZmZmZmZjtcbn1cbi51aS1pY29uLWJhY2tncm91bmQsXG4udWktc3RhdGUtYWN0aXZlIC51aS1pY29uLWJhY2tncm91bmQge1xuXHRib3JkZXI6ICMwMDNlZmY7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG4udWktc3RhdGUtYWN0aXZlIGEsXG4udWktc3RhdGUtYWN0aXZlIGE6bGluayxcbi51aS1zdGF0ZS1hY3RpdmUgYTp2aXNpdGVkIHtcblx0Y29sb3I6ICNmZmZmZmY7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogSW50ZXJhY3Rpb24gQ3Vlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktc3RhdGUtaGlnaGxpZ2h0LFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaGlnaGxpZ2h0IHtcblx0Ym9yZGVyOiAxcHggc29saWQgI2RhZDU1ZTtcblx0YmFja2dyb3VuZDogI2ZmZmE5MDtcblx0Y29sb3I6ICM3Nzc2MjA7XG59XG4udWktc3RhdGUtY2hlY2tlZCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNkYWQ1NWU7XG5cdGJhY2tncm91bmQ6ICNmZmZhOTA7XG59XG4udWktc3RhdGUtaGlnaGxpZ2h0IGEsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhpZ2hsaWdodCBhLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhpZ2hsaWdodCBhIHtcblx0Y29sb3I6ICM3Nzc2MjA7XG59XG4udWktc3RhdGUtZXJyb3IsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yIHtcblx0Ym9yZGVyOiAxcHggc29saWQgI2YxYTg5OTtcblx0YmFja2dyb3VuZDogI2ZkZGZkZjtcblx0Y29sb3I6ICM1ZjNmM2Y7XG59XG4udWktc3RhdGUtZXJyb3IgYSxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3IgYSxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvciBhIHtcblx0Y29sb3I6ICM1ZjNmM2Y7XG59XG4udWktc3RhdGUtZXJyb3ItdGV4dCxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3ItdGV4dCxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvci10ZXh0IHtcblx0Y29sb3I6ICM1ZjNmM2Y7XG59XG4udWktcHJpb3JpdHktcHJpbWFyeSxcbi51aS13aWRnZXQtY29udGVudCAudWktcHJpb3JpdHktcHJpbWFyeSxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1wcmlvcml0eS1wcmltYXJ5IHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4udWktcHJpb3JpdHktc2Vjb25kYXJ5LFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1zZWNvbmRhcnksXG4udWktd2lkZ2V0LWhlYWRlciAudWktcHJpb3JpdHktc2Vjb25kYXJ5IHtcblx0b3BhY2l0eTogLjc7XG5cdGZpbHRlcjpBbHBoYShPcGFjaXR5PTcwKTsgLyogc3VwcG9ydDogSUU4ICovXG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4udWktc3RhdGUtZGlzYWJsZWQsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWRpc2FibGVkLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWRpc2FibGVkIHtcblx0b3BhY2l0eTogLjM1O1xuXHRmaWx0ZXI6QWxwaGEoT3BhY2l0eT0zNSk7IC8qIHN1cHBvcnQ6IElFOCAqL1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLnVpLXN0YXRlLWRpc2FibGVkIC51aS1pY29uIHtcblx0ZmlsdGVyOkFscGhhKE9wYWNpdHk9MzUpOyAvKiBzdXBwb3J0OiBJRTggLSBTZWUgIzYwNTkgKi9cbn1cblxuLyogSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBzdGF0ZXMgYW5kIGltYWdlcyAqL1xuLnVpLWljb24ge1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xufVxuLnVpLWljb24sXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLWljb24ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvdWktaWNvbnNfNDQ0NDQ0XzI1NngyNDAucG5nXCIpO1xufVxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLWljb24ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvdWktaWNvbnNfNDQ0NDQ0XzI1NngyNDAucG5nXCIpO1xufVxuLnVpLXN0YXRlLWhvdmVyIC51aS1pY29uLFxuLnVpLXN0YXRlLWZvY3VzIC51aS1pY29uLFxuLnVpLWJ1dHRvbjpob3ZlciAudWktaWNvbixcbi51aS1idXR0b246Zm9jdXMgLnVpLWljb24ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvdWktaWNvbnNfNTU1NTU1XzI1NngyNDAucG5nXCIpO1xufVxuLnVpLXN0YXRlLWFjdGl2ZSAudWktaWNvbixcbi51aS1idXR0b246YWN0aXZlIC51aS1pY29uIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL3VpLWljb25zX2ZmZmZmZl8yNTZ4MjQwLnBuZ1wiKTtcbn1cbi51aS1zdGF0ZS1oaWdobGlnaHQgLnVpLWljb24sXG4udWktYnV0dG9uIC51aS1zdGF0ZS1oaWdobGlnaHQudWktaWNvbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImltYWdlcy91aS1pY29uc183Nzc2MjBfMjU2eDI0MC5wbmdcIik7XG59XG4udWktc3RhdGUtZXJyb3IgLnVpLWljb24sXG4udWktc3RhdGUtZXJyb3ItdGV4dCAudWktaWNvbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImltYWdlcy91aS1pY29uc19jYzAwMDBfMjU2eDI0MC5wbmdcIik7XG59XG4udWktYnV0dG9uIC51aS1pY29uIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL3VpLWljb25zXzc3Nzc3N18yNTZ4MjQwLnBuZ1wiKTtcbn1cblxuLyogcG9zaXRpb25pbmcgKi9cbi51aS1pY29uLWJsYW5rIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTZweCAxNnB4OyB9XG4udWktaWNvbi1jYXJldC0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbi51aS1pY29uLWNhcmV0LTEtbmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAwOyB9XG4udWktaWNvbi1jYXJldC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAwOyB9XG4udWktaWNvbi1jYXJldC0xLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggMDsgfVxuLnVpLWljb24tY2FyZXQtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY1cHggMDsgfVxuLnVpLWljb24tY2FyZXQtMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IDA7IH1cbi51aS1pY29uLWNhcmV0LTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IDA7IH1cbi51aS1pY29uLWNhcmV0LTEtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggMDsgfVxuLnVpLWljb24tY2FyZXQtMi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggMDsgfVxuLnVpLWljb24tY2FyZXQtMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggMDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTZweDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMS1uZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNnB4OyB9XG4udWktaWNvbi10cmlhbmdsZS0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTZweDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xNnB4OyB9XG4udWktaWNvbi10cmlhbmdsZS0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjVweCAtMTZweDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNnB4OyB9XG4udWktaWNvbi10cmlhbmdsZS0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTZweDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTZweDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE2cHg7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNnB4OyB9XG4udWktaWNvbi1hcnJvdy0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTMycHg7IH1cbi51aS1pY29uLWFycm93LTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0xLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTMycHg7IH1cbi51aS1pY29uLWFycm93LTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NXB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0xLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTMycHg7IH1cbi51aS1pY29uLWFycm93LTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0yLW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMi1uZS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTMycHg7IH1cbi51aS1pY29uLWFycm93LTItc2UtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTMycHg7IH1cbi51aS1pY29uLWFycm93c3RvcC0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTMycHg7IH1cbi51aS1pY29uLWFycm93c3RvcC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTMycHg7IH1cbi51aS1pY29uLWFycm93c3RvcC0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTMycHg7IH1cbi51aS1pY29uLWFycm93c3RvcC0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTMycHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMXB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTEtbmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGljay0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGljay0xLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTEtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMi1uZS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGljay0yLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGljay0yLXNlLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZXR1cm4tMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJuLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC02NHB4OyB9XG4udWktaWNvbi1hcnJvd3JldHVybi0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZXR1cm4tMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC02NHB4OyB9XG4udWktaWNvbi1hcnJvd3JlZnJlc2gtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC02NHB4OyB9XG4udWktaWNvbi1hcnJvd3JlZnJlc2gtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC02NHB4OyB9XG4udWktaWNvbi1hcnJvd3JlZnJlc2gtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC02NHB4OyB9XG4udWktaWNvbi1hcnJvd3JlZnJlc2gtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC02NHB4OyB9XG4udWktaWNvbi1hcnJvdy00IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtODBweDsgfVxuLnVpLWljb24tYXJyb3ctNC1kaWFnIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTgwcHg7IH1cbi51aS1pY29uLWV4dGxpbmsgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtODBweDsgfVxuLnVpLWljb24tbmV3d2luIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTgwcHg7IH1cbi51aS1pY29uLXJlZnJlc2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtODBweDsgfVxuLnVpLWljb24tc2h1ZmZsZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC04MHB4OyB9XG4udWktaWNvbi10cmFuc2Zlci1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtODBweDsgfVxuLnVpLWljb24tdHJhbnNmZXJ0aGljay1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTgwcHg7IH1cbi51aS1pY29uLWZvbGRlci1jb2xsYXBzZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC05NnB4OyB9XG4udWktaWNvbi1mb2xkZXItb3BlbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC05NnB4OyB9XG4udWktaWNvbi1kb2N1bWVudCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC05NnB4OyB9XG4udWktaWNvbi1kb2N1bWVudC1iIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTk2cHg7IH1cbi51aS1pY29uLW5vdGUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtOTZweDsgfVxuLnVpLWljb24tbWFpbC1jbG9zZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtOTZweDsgfVxuLnVpLWljb24tbWFpbC1vcGVuIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTk2cHg7IH1cbi51aS1pY29uLXN1aXRjYXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC05NnB4OyB9XG4udWktaWNvbi1jb21tZW50IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC05NnB4OyB9XG4udWktaWNvbi1wZXJzb24geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTk2cHg7IH1cbi51aS1pY29uLXByaW50IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC05NnB4OyB9XG4udWktaWNvbi10cmFzaCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtOTZweDsgfVxuLnVpLWljb24tbG9ja2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC05NnB4OyB9XG4udWktaWNvbi11bmxvY2tlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtOTZweDsgfVxuLnVpLWljb24tYm9va21hcmsgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTk2cHg7IH1cbi51aS1pY29uLXRhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtOTZweDsgfVxuLnVpLWljb24taG9tZSB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTExMnB4OyB9XG4udWktaWNvbi1mbGFnIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTExMnB4OyB9XG4udWktaWNvbi1jYWxlbmRhciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xMTJweDsgfVxuLnVpLWljb24tY2FydCB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xMTJweDsgfVxuLnVpLWljb24tcGVuY2lsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTExMnB4OyB9XG4udWktaWNvbi1jbG9jayB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xMTJweDsgfVxuLnVpLWljb24tZGlzayB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xMTJweDsgfVxuLnVpLWljb24tY2FsY3VsYXRvciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTEycHg7IH1cbi51aS1pY29uLXpvb21pbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTEycHg7IH1cbi51aS1pY29uLXpvb21vdXQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTExMnB4OyB9XG4udWktaWNvbi1zZWFyY2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTExMnB4OyB9XG4udWktaWNvbi13cmVuY2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTExMnB4OyB9XG4udWktaWNvbi1nZWFyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0xMTJweDsgfVxuLnVpLWljb24taGVhcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTExMnB4OyB9XG4udWktaWNvbi1zdGFyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC0xMTJweDsgfVxuLnVpLWljb24tbGluayB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtMTEycHg7IH1cbi51aS1pY29uLWNhbmNlbCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyOHB4OyB9XG4udWktaWNvbi1wbHVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTEyOHB4OyB9XG4udWktaWNvbi1wbHVzdGhpY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTI4cHg7IH1cbi51aS1pY29uLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTEyOHB4OyB9XG4udWktaWNvbi1taW51c3RoaWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTEyOHB4OyB9XG4udWktaWNvbi1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xMjhweDsgfVxuLnVpLWljb24tY2xvc2V0aGljayB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xMjhweDsgfVxuLnVpLWljb24ta2V5IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xMjhweDsgfVxuLnVpLWljb24tbGlnaHRidWxiIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xMjhweDsgfVxuLnVpLWljb24tc2Npc3NvcnMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTEyOHB4OyB9XG4udWktaWNvbi1jbGlwYm9hcmQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTEyOHB4OyB9XG4udWktaWNvbi1jb3B5IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0xMjhweDsgfVxuLnVpLWljb24tY29udGFjdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMTI4cHg7IH1cbi51aS1pY29uLWltYWdlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xMjhweDsgfVxuLnVpLWljb24tdmlkZW8geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTEyOHB4OyB9XG4udWktaWNvbi1zY3JpcHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTEyOHB4OyB9XG4udWktaWNvbi1hbGVydCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE0NHB4OyB9XG4udWktaWNvbi1pbmZvIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE0NHB4OyB9XG4udWktaWNvbi1ub3RpY2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTQ0cHg7IH1cbi51aS1pY29uLWhlbHAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTQ0cHg7IH1cbi51aS1pY29uLWNoZWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE0NHB4OyB9XG4udWktaWNvbi1idWxsZXQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTQ0cHg7IH1cbi51aS1pY29uLXJhZGlvLW9uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE0NHB4OyB9XG4udWktaWNvbi1yYWRpby1vZmYgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE0NHB4OyB9XG4udWktaWNvbi1waW4tdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTQ0cHg7IH1cbi51aS1pY29uLXBpbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNDRweDsgfVxuLnVpLWljb24tcGxheSB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE2MHB4OyB9XG4udWktaWNvbi1wYXVzZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNjBweDsgfVxuLnVpLWljb24tc2Vlay1uZXh0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE2MHB4OyB9XG4udWktaWNvbi1zZWVrLXByZXYgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTYwcHg7IH1cbi51aS1pY29uLXNlZWstZW5kIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE2MHB4OyB9XG4udWktaWNvbi1zZWVrLXN0YXJ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE2MHB4OyB9XG4vKiB1aS1pY29uLXNlZWstZmlyc3QgaXMgZGVwcmVjYXRlZCwgdXNlIHVpLWljb24tc2Vlay1zdGFydCBpbnN0ZWFkICovXG4udWktaWNvbi1zZWVrLWZpcnN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE2MHB4OyB9XG4udWktaWNvbi1zdG9wIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE2MHB4OyB9XG4udWktaWNvbi1lamVjdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTYwcHg7IH1cbi51aS1pY29uLXZvbHVtZS1vZmYgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE2MHB4OyB9XG4udWktaWNvbi12b2x1bWUtb24geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTE2MHB4OyB9XG4udWktaWNvbi1wb3dlciB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE3NnB4OyB9XG4udWktaWNvbi1zaWduYWwtZGlhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNzZweDsgfVxuLnVpLWljb24tc2lnbmFsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE3NnB4OyB9XG4udWktaWNvbi1iYXR0ZXJ5LTAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTc2cHg7IH1cbi51aS1pY29uLWJhdHRlcnktMSB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNzZweDsgfVxuLnVpLWljb24tYmF0dGVyeS0yIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE3NnB4OyB9XG4udWktaWNvbi1iYXR0ZXJ5LTMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTc2cHg7IH1cbi51aS1pY29uLWNpcmNsZS1wbHVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS1taW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLWNsb3NlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS10cmlhbmdsZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLWFycm93LWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtYXJyb3ctcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS1hcnJvdy13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLWFycm93LW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtem9vbWluIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLXpvb21vdXQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtY2hlY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGVzbWFsbC1wbHVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjA4cHg7IH1cbi51aS1pY29uLWNpcmNsZXNtYWxsLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTIwOHB4OyB9XG4udWktaWNvbi1jaXJjbGVzbWFsbC1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0yMDhweDsgfVxuLnVpLWljb24tc3F1YXJlc21hbGwtcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0yMDhweDsgfVxuLnVpLWljb24tc3F1YXJlc21hbGwtbWludXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMjA4cHg7IH1cbi51aS1pY29uLXNxdWFyZXNtYWxsLWNsb3NlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTIwOHB4OyB9XG4udWktaWNvbi1ncmlwLWRvdHRlZC12ZXJ0aWNhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIyNHB4OyB9XG4udWktaWNvbi1ncmlwLWRvdHRlZC1ob3Jpem9udGFsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTIyNHB4OyB9XG4udWktaWNvbi1ncmlwLXNvbGlkLXZlcnRpY2FsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTIyNHB4OyB9XG4udWktaWNvbi1ncmlwLXNvbGlkLWhvcml6b250YWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMjI0cHg7IH1cbi51aS1pY29uLWdyaXBzbWFsbC1kaWFnb25hbC1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0yMjRweDsgfVxuLnVpLWljb24tZ3JpcC1kaWFnb25hbC1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0yMjRweDsgfVxuXG5cbi8qIE1pc2MgdmlzdWFsc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIENvcm5lciByYWRpdXMgKi9cbi51aS1jb3JuZXItYWxsLFxuLnVpLWNvcm5lci10b3AsXG4udWktY29ybmVyLWxlZnQsXG4udWktY29ybmVyLXRsIHtcblx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xufVxuLnVpLWNvcm5lci1hbGwsXG4udWktY29ybmVyLXRvcCxcbi51aS1jb3JuZXItcmlnaHQsXG4udWktY29ybmVyLXRyIHtcblx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbn1cbi51aS1jb3JuZXItYWxsLFxuLnVpLWNvcm5lci1ib3R0b20sXG4udWktY29ybmVyLWxlZnQsXG4udWktY29ybmVyLWJsIHtcblx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xufVxuLnVpLWNvcm5lci1hbGwsXG4udWktY29ybmVyLWJvdHRvbSxcbi51aS1jb3JuZXItcmlnaHQsXG4udWktY29ybmVyLWJyIHtcblx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbn1cblxuLyogT3ZlcmxheXMgKi9cbi51aS13aWRnZXQtb3ZlcmxheSB7XG5cdGJhY2tncm91bmQ6ICNhYWFhYWE7XG5cdG9wYWNpdHk6IC4zO1xuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9MzApOyAvKiBzdXBwb3J0OiBJRTggKi9cbn1cbi51aS13aWRnZXQtc2hhZG93IHtcblx0LXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDVweCAjNjY2NjY2O1xuXHRib3gtc2hhZG93OiAwcHggMHB4IDVweCAjNjY2NjY2O1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXNzZXRzL3Njc3MvbGliL2pxdWVyeS11aS1mcm9udC5jc3MiLCIuc3Bpbm5lci5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYWRkb24gYS5zcGluLXVwLFxuLnNwaW5uZXIuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWFkZG9uIGEuc3Bpbi1kb3duIHtcblx0aGVpZ2h0OiAxMHB4O1xuXHR3aWR0aDogMTBweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRkaXNwbGF5OiBibG9jaztcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Y29sb3I6ICM5OTlcbn1cblxuLnNwaW5uZXIuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWFkZG9uIGEuc3Bpbi11cCAuaWNvbi1zb3J0LWRvd24sXG4uc3Bpbm5lci5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYWRkb24gYS5zcGluLWRvd24gLmljb24tc29ydC1kb3duIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0b3A6IC02cHhcbn1cblxuLnNwaW5uZXIuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWFkZG9uIGEuc3Bpbi11cDpob3Zlcixcbi5zcGlubmVyLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1hZGRvbiBhLnNwaW4tZG93bjpob3ZlciB7XG5cdGNvbG9yOiAjNTU1XG59XG5cbi5zcGlubmVyLmlucHV0LWdyb3VwIGlucHV0IHtcblx0dGV4dC1hbGlnbjogY2VudGVyXG59XG5cbi5zcGlubmVyLmlucHV0LWdyb3VwLmlucHV0LWdyb3VwLWxnIC5pbnB1dC1ncm91cC1hZGRvbiBhLnNwaW4tdXAsXG4uc3Bpbm5lci5pbnB1dC1ncm91cC5pbnB1dC1ncm91cC1sZyAuaW5wdXQtZ3JvdXAtYWRkb24gYS5zcGluLWRvd24ge1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGhlaWdodDogMTJweFxufVxuXG4uc3Bpbm5lci5pbnB1dC1ncm91cC5pbnB1dC1ncm91cC1zbSAuaW5wdXQtZ3JvdXAtYWRkb24gYS5zcGluLXVwLFxuLnNwaW5uZXIuaW5wdXQtZ3JvdXAuaW5wdXQtZ3JvdXAtc20gLmlucHV0LWdyb3VwLWFkZG9uIGEuc3Bpbi1kb3duIHtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRoZWlnaHQ6IDlweFxufVxuXG4uc3Bpbm5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRpbnB1dCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXG5cdC5hZGQtb24ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0cmlnaHQ6IDZweDtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdH1cblxuXHQuYWRkLW9uIGEge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdGhlaWdodDogMTJweDtcblx0XHRvcGFjaXR5OiAwLjc7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXG5cdFx0aSB7XG5cdFx0XHRjb2xvcjogIzAwMDtcblx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHR9XG5cdH1cblxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXNzZXRzL3Njc3MvbGliL19pbnB1dC1zcGlubmVyLnNjc3MiLCJAZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdHb3RoYW0nO1xuICBzcmM6ICB1cmwoJy4uL2ZvbnRzL0dvdGhhbVRoaW4ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvR290aGFtVGhpbi53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvR290aGFtVGhpbi50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0dvdGhhbSc7XG4gIHNyYzogIHVybCgnLi4vZm9udHMvR290aGFtTGlnaHQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvR290aGFtTGlnaHQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL0dvdGhhbUxpZ2h0LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnR290aGFtJztcbiAgc3JjOiAgdXJsKCcuLi9mb250cy9Hb3RoYW1NZWRpdW0ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvR290aGFtTWVkaXVtLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Hb3RoYW1NZWRpdW0udHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdHb3RoYW0nO1xuICBzcmM6ICB1cmwoJy4uL2ZvbnRzL0dvdGhhbUJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvR290aGFtQm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvR290aGFtQm9sZC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0dvdGhhbSc7XG4gIHNyYzogIHVybCgnLi4vZm9udHMvR290aGFtQmxhY2sud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG5cdFx0dXJsKCcuLi9mb250cy9Hb3RoYW1CbGFjay53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG5cdFx0dXJsKCcuLi9mb250cy9Hb3RoYW1CbGFjay50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0dvdGhhbS1Cb29rJztcbiAgc3JjOiAgdXJsKCcuLi9mb250cy9Hb3RoYW0tQm9vay53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Hb3RoYW0tQm9vay53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvR290aGFtLUJvb2sudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xufVxuXG4vLyBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJywgc2VyaWY7XG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bytTbGFiOjMwMCw0MDAsNzAwJyk7XG5cbi8vIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvOjMwMCw0MDAsNTAwLDcwMCcpO1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgc3JjOiAgdXJsKCcuLi9mb250cy9pY29tb29uLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcblx0dXJsKCcuLi9mb250cy9pY29tb29uLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXNzZXRzL3Njc3MvZnJvbnRlbmQvY29tcG9uZW50cy9fZm9udHMuc2NzcyIsIi8vXG4vLyBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEhlYWRpbmdzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmgxLCAuaDEge1xuICBmb250LWZhbWlseTogJ0dvdGhhbScsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbmgyLCAuaDIsXG5oMywgLmgzIHtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYicsIHNlcmlmO1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG5oNCwgLmg0IHtcbiAgZm9udC1mYW1pbHk6ICdHb3RoYW0nLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG5oNSwgLmg1IHtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYicsIHNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4vLyBCb2R5IHRleHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxucCB7XG4gIGZvbnQtZmFtaWx5OiAnR290aGFtJywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcblxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBMaXN0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5saSB7XG4gIGZvbnQtZmFtaWx5OiAnR290aGFtJywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcblxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBNaXNjXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmxhYmVsIHtcbiAgZm9udC1mYW1pbHk6ICdHb3RoYW0nLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogMzAwO1xuXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9hc3NldHMvc2Nzcy9mcm9udGVuZC9jb21wb25lbnRzL190eXBvZ3JhcGh5LnNjc3MiLCIuQ2Fyb3VzZWwge1xuICBoZWlnaHQ6IDI2NXB4O1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG5cbiAgJi53aXRoLWxlZ2VuZCB7XG4gICAgaGVpZ2h0OiAzNjBweDtcblxuICAgIC5zbGljay1hcnJvdyB7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gNDVweCk7XG4gICAgfVxuICB9XG5cbiAgLkNhcm91c2VsSXRlbSB7XG4gICAgY29sb3I6ICRibGFjaztcblxuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6IDI2NXB4O1xuICAgIH1cblxuICAgIC5DYXJvdXNlbEl0ZW0tdGl0bGUge1xuICAgICAgZm9udC1mYW1pbHk6ICdHb3RoYW0nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICB9XG5cbiAgICAuQ2Fyb3VzZWxJdGVtLXN1YnRpdGxlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnR290aGFtLUJvb2snLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAuQ2Fyb3VzZWxJdGVtLWRldGFpbHMge1xuICAgICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYicsIHNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAvLyBNT0RJRklDQVRJT05TIFRPIFNMSUNLIENBUk9VU0VMXG4gIC5zbGljay1zbGlkZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICB9XG5cbiAgLnNsaWNrLWFycm93IHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGhlaWdodDogNzVweDtcbiAgICB3aWR0aDogNzVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4yKTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgY29sb3I6ICMzMzM7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC42KTtcbiAgICB9XG4gIH1cbiAgLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IDA7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZjA1M1wiO1xuICAgIH1cbiAgfVxuXG4gIC5zbGljay1uZXh0IHtcbiAgICByaWdodDogMDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMDU0XCI7XG4gICAgfVxuICB9XG4gIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbn1cblxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyAjIyMjIE9MRCBWRVJTSU9OIEJFTE9XICMjIyNcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4ud3JhcHBlci1jYXJvdXNlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgYm9yZGVyLWJvdHRvbTogNTBweCBzb2xpZCAkZ3JheTtcblxuICAmLmdyYXktYmxhY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYjM5Mzk7XG5cbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgLm93bC1pdGVtIHtcbiAgICAgIGgzLCBoNCwgcCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAuYmxvY2stY2Fyb3VzZWwucm93IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgc3Bhbi5jYXJvdXNlbC1wcmljZSB7XG4gICAgY29sb3I6ICRyZWQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICAmLmludGVybmFsIHtcblxuICAgIGg1LmJsb2NrLXRpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG5cbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjZmZmO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXNzZXRzL3Njc3MvZnJvbnRlbmQvY29tcG9uZW50cy9fY2Fyb3VzZWwuc2NzcyIsIi5idXR0b24ge1xuICBmb250LWZhbWlseTogJ0dvdGhhbScsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgLy8mOmhvdmVyIHtcbiAgLy8gIGZvbnQtZmFtaWx5OiAnR290aGFtTWVkaXVtJyAhaW1wb3J0YW50O1xuICAvL31cblxuICAmLmJsYWNrR3JleSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrMjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleTtcbiAgICBjb2xvcjogJGdyZXk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkcmVkO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cblxuICAmLnJlZCB7XG4gICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkcmVkO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgY29udGVudDogXCJcXGYxNzhcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDglO1xuICAgICAgdG9wOiAyOCU7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJHJlZDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRyZWQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGJhY2tncm91bmQ6ICNkM2QzZDM7XG4gICAgICBib3JkZXItY29sb3I6ICNkM2QzZDM7XG4gICAgICBjb2xvcjogJGdyZXk7XG4gICAgfVxuICB9XG5cbiAgJi53aGl0ZVJlZCB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRyZWQ7XG4gICAgY29sb3I6ICRyZWQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICBjb250ZW50OiBcIlxcZjE3OFwiO1xuICAgICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogOCU7XG4gICAgICB0b3A6IDI4JTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkcmVkO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5ncmF5LWxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZDNkM2QzO1xuICAgIGNvbG9yOiAjM2IzOTM5O1xuXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmdyZXlSZWQge1xuICAgIGJhY2tncm91bmQ6ICM0ZjRkNGQ7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgY29udGVudDogXCJcXGYxNzhcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDglO1xuICAgICAgdG9wOiAyOCU7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5ibGFja1dSZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgJHJlZDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgJi50cmFuc3BhcmVudC1yZWQge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRyZWQ7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGNvbG9yOiAkcmVkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAycHggMTZweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRyZWQ7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmJsYWNrLWxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzFlMWUxZTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMWUxZTFlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMWUxZTFlO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5ncmVlbi1saWdodCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICRncmVlbjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkZ3JlZW47XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRncmVlbjtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgJi5yZWQtbGlnaHQge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkcmVkO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRyZWQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gICYubGluayB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICRyZWQ7XG4gICAgYm9yZGVyOiBub25lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2Fzc2V0cy9zY3NzL2Zyb250ZW5kL2NvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImZvcm0uZm9ybS1jYXJkIHtcblxuICAud3JhcHBlci1mb3JtIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHJlZDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgZmllbGRzZXQge1xuICAgIGxlZ2VuZCB7XG4gICAgICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJywgc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcblx0XHRcdHBhZGRpbmctbGVmdDogMTJweDtcbiAgICB9XG5cdFx0bGVnZW5kIHNwYW4ge1xuXHRcdFx0cGFkZGluZy1yaWdodDogOHB4O1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdH1cbiAgfVxuXG4gIC5hY2NvcmRpb24ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cblxuICAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSBhLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIGEuYWNjb3JkaW9uLXRpdGxlLFxuICAuaXRlbS1mb3JtICB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmFmYWZhO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICYuY2hvb3NlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleTtcbiAgICAgIGxhYmVsIHtcblx0XHRmb250LWZhbWlseTogJ0dvdGhhbScsIHNhbnMtc2VyaWY7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIH1cbiAgICAgIHNwYW4ucHJpY2Uge1xuICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgIH1cblxuXG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogMCAwIDA7XG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLy8gbWFyZ2luOiAwO1xuICAgICAgLy8gd2lkdGg6IDgwJTtcbiAgICAgIHNwYW4ucHJpY2Uge1xuICAgICAgICBmb250LWZhbWlseTogJ1JvYm90bycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZsb2F0OnJpZ2h0O1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgdG9wOiA1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gIH0gLy8gZW5kIC5pdGVtLWZvcm1cbiAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIGEuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGxhYmVsIHtcbiAgICAgICAgc3Bhbi5wcmljZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXk7XG4gICAgICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSBhLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgc3Bhbi5yYWRpbyB7XG5cbiAgICB9XG5cbiAgICBsYWJlbCB7XG5cdFx0Zm9udC1mYW1pbHk6ICdHb3RoYW0nLCBzYW5zLXNlcmlmO1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBzcGFuLnByaWNlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICAgIHNwYW4ucHJpY2Uge1xuICAgICAgY29sb3I6ICRyZWQ7XG4gICAgfVxuICB9XG5cbiAgLmV4cGVkaXRpb24tbWVzc2FnZSwgLm5vdC1kZWxpdmVyYWJsZXtcbiAgICBwYWRkaW5nOiA1cHg7XG5cdGZvbnQtZmFtaWx5OiAnR290aGFtJywgc2Fucy1zZXJpZjtcbiAgXHRmb250LXNpemU6IDE1cHg7XG5cdGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcbiAgfVxuXG4gICNtZXNzYWdlLWNvbnRhaW5lcntcblx0ICBmbG9hdDogbGVmdDtcblx0ICB3aWR0aDogY2FsYygxMDAlIC0gMTYwcHgpO1xuICB9XG5cbiAgcC50b3RhbCB7XG5cdCAgZmxvYXQ6IGxlZnQ7XG5cdHdpZHRoOiAxNTBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICBzcGFuIHtcbiAgICAgIGNvbG9yOiAkcmVkO1xuICAgIH1cbiAgfVxuXG5cbiAgc3Bhbi5yYWRpbyB7XG4gICAgaGVpZ2h0OiAxN3B4O1xuICAgIHdpZHRoOiAxN3B4O1xuICAgIC8vYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAvL2JvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC8vcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgY29sb3I6ICM4ZThkOGQ7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgIzhlOGQ4ZDtcblx0XHRib3JkZXItcmFkaXVzOiAxMDAlO1xuXHRcdG1hcmdpbi1yaWdodDogOHB4O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgLy8gIGNvbnRlbnQ6IFwiXFxmMTBjXCI7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgfVxuXG5cdFx0Ji5jaGVja2VkIHtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICAkcmVkO1xuXHRcdH1cblxuXG4gIH1cblxuXHRzcGFuLnJhZGlvLmNoZWNrZWQ6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIlxcZjAwY1wiO1xuXHRcdGNvbG9yOiAkcmVkO1xuXG5cdH1cblxuXG5cdC5jaG9vc2VkIHtcblxuXHRcdHNwYW4ucmFkaW86YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiXFxmMDBjXCI7XG5cdFx0XHRjb2xvcjogJHJlZDtcblx0XHR9XG5cblx0XHQucmFkaW8taXRlbSB7XG5cdFx0XHRjb2xvcjogIzAwMDtcblx0XHR9XG5cblx0fVxuXG5cdC5yYWRpby1pdGVtIHtcblx0XHRjb2xvcjogIzhlOGQ4ZDtcblx0fVxuXG5cdCNvdGhlciB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdHdpZHRoOiA1MCU7XG5cdFx0Ly9iYWNrZ3JvdW5kOiByZWQ7XG5cdFx0aW5wdXQge1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRtYXgtd2lkdGg6IDE5MHB4O1xuXHRcdFx0cGFkZGluZzogNXB4O1xuXHRcdFx0bWFyZ2luLXRvcDogOHB4O1xuXG5cdFx0fVxuXHRcdGkge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiA5cHg7XG5cdFx0fVxuXG5cdH1cblxuXHRhLnJhZGlvLWl0ZW0ge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGxpbmUtaGVpZ2h0OiAxNXB4O1xuXHR9XG5cblxuXHQjb3B0aW9ucy1lbnZvaSB7XG5cdFx0bWFyZ2luLXRvcDogMjBweDtcblxuXG5cdFx0LnR5cGUtcmFkaW8gc3Bhbi5wcmljZSB7XG5cdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMjBweDtcblx0XHR9XG5cdH1cblxuXHQuZGVzY3JpcHRpb24tc2VsZWN0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuXHQgIG1hcmdpbjogMCAxMHB4IDEwcHggMzNweDtcblxuICAgICAgLmRpc3BvbmlibGUtc3RvY2sgLnJlZCB7XG4gICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgfVxuXHR9XG5cblxuXHQuYWNjb3JkaW9uLWNvbnRlbnQge1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cbn0gLy8gZW5kIEZvcm1zIENhcmRcblxuXG4jYnV5LXBob3RvIC5hY2NvcmRpb24tdGl0bGUge1xuXHRjb2xvcjogIzhlOGQ4ZDtcblx0Zm9udC1zaXplOiAxNXB4O1xuXG5cdC5oYXMtdGlwIHtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoLi4vaW1hZ2VzL2ljb24taS5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIC8gOTAlIGF1dG87XG5cdFx0aGVpZ2h0OiAyMHB4O1xuXHRcdHdpZHRoOiAyMHB4O1xuXHRcdG1hcmdpbjogMCAwIC01cHggMTVweDtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHR9XG5cblx0LnByaWNlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdGZsb2F0OiByaWdodDtcblx0XHRmb250LXNpemU6IDIwcHg7XG5cdH1cblxuXHQmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcblx0XHRjb2xvcjogIzAwMDtcblxuXHRcdC5sYWJlbC1yYWRpbyB7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHR9XG5cblx0XHQucHJpY2Uge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXHR9XG59XG5cbi50b29sdGlwLmZyYW1pbmdIZWxwIHtcblx0bWF4LXdpZHRoOiAyMHJlbTtcbn1cblxuXG5cbmEuaXRlbS1jaGVja2JveCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXG5cdGNvbG9yOiAjM2IzOTM5O1xuXG5cdHNwYW4uY2hlY2sge1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkICMzYjM5Mzk7XG5cdFx0aGVpZ2h0OiAyMHB4O1xuXHRcdHdpZHRoOiAyMHB4O1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHRcdG1hcmdpbi1yaWdodDogMjBweDtcblxuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Zm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG5cdFx0XHRjb250ZW50OiBcIlxcZjAwZFwiO1xuXHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQmLmFjdGl2ZSBzcGFuLmNoZWNrOjpiZWZvcmUge1xuXHRcdGNvbG9yOiAkcmVkO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG5cblxuLmJpZy1yYWRpb3Mge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRtYXJnaW46IDA7XG5cblx0bGkge1xuXHRcdG1hcmdpbi1sZWZ0OiAzNXB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdH1cblxuXG5cdC5pdGVtLXJhZGlvIHtcblx0XHRoZWlnaHQ6IDU0cHg7XG5cdFx0d2lkdGg6IDYwcHg7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdFx0YmFja2dyb3VuZDogIzAwMDtcblx0XHRib3JkZXI6IDNweCBzb2xpZCAjZjZmNmY2O1xuXHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcblx0XHRcdGNvbnRlbnQ6IFwiXFxmMDBjXCI7XG5cdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcblxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblxuXHRcdH1cblxuXG5cblx0fVxuXG5cdCNhbHVtaW5pdW0gLml0ZW0tcmFkaW8ge1xuXHRcdGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcGF0dGVybi13aGl0ZS1hbHVtaW5pdW0ucG5nKSBuby1yZXBlYXQgMCAwIDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHR9XG5cblx0I2NoZW5lIC5pdGVtLXJhZGlvIHtcblx0XHRiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3BhdHRlcm4td29vZC1vYWsucG5nKSBuby1yZXBlYXQgMCAwIDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHR9XG5cblx0I2JvaXMgLml0ZW0tcmFkaW8ge1xuXHRcdGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcGF0dGVybi1ibGFjay13b29kLnBuZykgbm8tcmVwZWF0IDAgMCA7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0fVxuXG5cdC5iaWctcmFkaW8ge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdC5wcmljZSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0Zm9udC1zaXplOiAyMHB4O1xuXG5cdFx0fVxuXG5cdFx0LmxhYmVsLXJhZGlvIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHR9XG5cblx0fVxuXG5cdC5iaWctcmFkaW8uYWN0aXZlIHtcblxuXHRcdC5wcmljZSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdH1cblxuXG5cdFx0Lml0ZW0tcmFkaW8ge1xuXHRcdFx0Ym9yZGVyOiAzcHggc29saWQgJHJlZDtcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdH1cblx0XHR9XG5cblx0fVxuXG5cbn1cblxuI2J1eS1waG90byB7XG5cdC5hY3Rpb24tZm9ybXMge1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0LnRleHQtY2VudGVyIHtcblx0XHRcdGZsb2F0OiByaWdodDtcblx0XHR9XG5cdH1cbn1cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9hc3NldHMvc2Nzcy9mcm9udGVuZC9jb21wb25lbnRzL19mb3Jtcy5zY3NzIiwiLmJveC1maWx0ZXItbmF2IHtcblx0Y2xlYXI6IGJvdGg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vLyBCdXR0b25cblxuI2ZpbHRlcnMtYnRuIHtcblx0YmFja2dyb3VuZC1jb2xvcjogIzI2MjYyNjtcblx0Y29sb3I6ICNmZmY7XG5cdGhlaWdodDogNzBweDtcblx0bWFyZ2luLWJvdHRvbTogMDtcblx0ZmxvYXQ6IGxlZnQ7XG5cdHdpZHRoOiAxNSU7XG5cdHotaW5kZXg6IDcwMDtcblx0Zm9udC1zaXplOiAyMHB4O1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bil7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0cGFkZGluZy1sZWZ0OiA1cHg7XG5cdFx0cGFkZGluZy1yaWdodDogNXB4O1xuXHR9XG5cblx0c3Bhbi5yZXN1bHRzIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdGNvbG9yOiAjZmZmO1xuXHR9XG5cblx0aSB7XG5cdFx0cGFkZGluZy1yaWdodDogMTBweDtcblx0XHRmb250LXNpemU6IDI2cHg7XG5cdH1cblxuXG5cdCZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG5cdFx0d2lkdGg6IDQyMHB4O1xuXG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pe1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXG5cdFx0Ly9tYXJnaW4tcmlnaHQ6IDYwcHg7XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG5cdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTA1XCI7XG5cblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAzMHB4O1xuXHRcdFx0Zm9udC1zaXplOiAyNnB4O1xuXHRcdH1cblxuXHRcdHNwYW4ucmVzdWx0cyB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRjb2xvcjogI2ZmZjtcblx0XHR9XG5cblx0fVxufVxuXG4vLyBTRUNPTkQgTkFWXG4uc2Vjb25kLW5hdmlnYXRpb24ge1xuXHRmbG9hdDogcmlnaHQ7XG5cdHdpZHRoOiA4NSU7XG5cdGhlaWdodDogNzBweDtcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0cGFkZGluZzogMCAwO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKXtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cblx0bmF2IHtcblx0XHR3aWR0aDogOTAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRmbGV4LWZsb3c6IHdyYXAgcm93O1xuXHRcdH1cblx0fVxuXG5cdG5hdiBhLmRyb3AtbWVudSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblxuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdC8vYmFja2dyb3VuZDogcmVkO1xuXHRcdHBhZGRpbmc6IDhweCAxNnB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bil7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cblx0fVxuXG5cblx0dWwge1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmctbGVmdDogNjBweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuXHRcdGZsZXgtZmxvdzogd3JhcCByb3c7XG5cblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bil7XG5cdFx0XHRwYWRkaW5nOiAxNnB4IDA7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMTQwcHg7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR6LWluZGV4OiA4MDA7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgICMzYjM5Mzk7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgICMzYjM5Mzk7XG5cdFx0fVxuXG5cdH1cblxuXHR1bCBsaSB7XG5cdFx0d2lkdGg6IDMzJTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKXtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0Ly9ib3JkZXItYm90dG9tOiAxcHggc29saWQgICMzYjM5Mzk7XG5cdFx0XHRwYWRkaW5nOiA0cHggMTZweDtcblx0XHRcdHRleHQtYWxpZ246IGxlZnRcblx0XHR9XG5cblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0aGVpZ2h0OiAxMHB4O1xuXHRcdFx0d2lkdGg6IDFweDtcblx0XHRcdGNvbG9yOiAjM2IzOTM5O1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHR0b3A6IDI1JTtcblx0XHRcdGNvbnRlbnQ6IFwiIFwiIDtcblx0XHRcdGJhY2tncm91bmQ6ICMzYjM5Mzk7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pe1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblxuXHRcdCY6bGFzdC1jaGlsZDphZnRlciB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXG5cblx0dWwgbGkgYSB7XG5cdFx0Y29sb3I6ICMzYjM5Mzk7XG5cdFx0cGFkZGluZy1ib3R0b206IDIzcHg7XG5cdFx0Ym9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNmZmY7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pe1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMDtcblx0XHRcdHBhZGRpbmctYm90dG9tOiA2cHg7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdH1cblxuXHRcdCYuYWN0aXZlLFxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Ly9mb250LXdlaWdodDogYm9sZDtcblx0XHRcdGNvbG9yOiAkcmVkO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRyZWQ7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bil7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDA7XG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuXG5cblxuXHQuYnV0dG9ucy1hY3Rpb25zIHtcblx0XHR3aWR0aDogMTAlO1xuXHRcdGhlaWdodDogMTAwJTtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bil7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXHRcdH1cblxuXHRcdGEge1xuXHRcdFx0aGVpZ2h0OiAzNnB4O1xuXHRcdFx0d2lkdGg6IDM2cHg7XG5cdFx0XHRib3JkZXI6IDJweCBzb2xpZCAjM2IzOTM5O1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGZvbnQtc2l6ZTogMjZweDtcblxuXHRcdFx0Y29sb3I6ICMzYjM5Mzk7XG5cblx0XHRcdCYuYWN0aXZlLFxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGNvbG9yOiAkcmVkO1xuXHRcdFx0XHRib3JkZXI6IDJweCBzb2xpZCAkcmVkO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmZpcnN0LWNoaWxkICB7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMThweDtcblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdGEuZ3JpZCB7XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDogXCJcXGU5MDNcIjtcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICdpY29tb29uJztcblx0XHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdFx0XHRoZWlnaHQ6IDI0cHg7XG5cdFx0XHRcdHdpZHRoOiAyNHB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRhLnBsYXkge1xuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTA0XCI7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMjRweDtcblx0XHRcdFx0aGVpZ2h0OiAyNHB4O1xuXHRcdFx0XHR3aWR0aDogMjRweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHR9XG5cdFx0fVxuXG5cblx0fVxuXG59XG5cbi5ib3gtZmlsdGVyLW5hdi5hY3RpdmUgLnNlY29uZC1uYXZpZ2F0aW9uIHtcblx0d2lkdGg6IDc0JTtcbn1cblxuXHQvLyBPVkVSTEFZIE1FTlVcbi5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG5cdGJveC1zaGFkb3c6IDAgMDtcbn1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xuXG59XG5cbi5wb3NpdGlvbi1sZWZ0IHtcblx0Ly93aWR0aDogMzkwcHg7XG59XG5cbiNmaWx0ZXJzR3JvdXAge1xuXHR6LWluZGV4OiAwO1xufVxuXG5cbi8vIEZJTFRFUlMgU0VDVElPTlxuI2ZpbHRlcnMge1xuXHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXHRwYWRkaW5nLWxlZnQ6IDEwcHg7XG5cblxuXHRwYWRkaW5nLXRvcDogMzBweDtcblxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApe1xuXHRcdHBhZGRpbmctbGVmdDogNzBweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0ZmllbGRzZXQge1xuXHRcdG1hcmdpbi1ib3R0b206IDI1cHg7XG5cdH1cblxuXHRsZWdlbmQge1xuXHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkcmVkO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblxuXG5cdC5zZWFyY2gge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdGlucHV0IHtcblx0XHRcdGJvcmRlcjogMDtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmFiYWJhO1xuXHRcdFx0Ym94LXNoYWRvdzogIDAgMDtcblx0XHRcdGNvbG9yOiAkZGFyay1ncmF5O1xuXHRcdFx0cGFkZGluZy1yaWdodDogMjVweDtcblx0XHR9XG5cblx0XHRpIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMTVweDtcblx0XHRcdHJpZ2h0OiA1cHg7XG5cdFx0XHRjb2xvcjogJHJlZDtcblx0XHR9XG5cblxuXHR9XG5cblx0dWwudGFncyB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRtYXJnaW46IDA7XG5cblx0XHRsaSB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRtYXJnaW46IDNweCAwIDhweCAzcHg7XG5cdFx0XHRwYWRkaW5nOiAzcHggNXB4O1xuXHRcdFx0YmFja2dyb3VuZDogJGJsYWNrO1xuXHRcdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cygzcHgpO1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdGZvbnQtZmFtaWx5OiAnR290aGFtJywgc2Fucy1zZXJpZjtcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRvcGFjaXR5OiAwLjg1O1xuXHRcdFx0fVxuXG5cdFx0XHRpIHtcblx0XHRcdFx0Zm9udC1zaXplOiA4cHg7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogM3B4O1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5ib3gtdGhlbWVzIHtcblxuXHRcdC5idXR0b24ucmVkIHtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cdFx0fVxuXHRcdC5idXR0b24ucmVkOjphZnRlciB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdHVsLnRoZW1lcyB7XG5cblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdG1hcmdpbjogMjBweCAwIDEwcHggMDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRmbGV4LWZsb3c6IHdyYXAgcm93O1xuXG5cdFx0bGkge1xuXHRcdFx0bWFyZ2luOiAwIDAgMTJweCAwO1xuXHRcdH1cblxuXG5cdFx0YS50aGVtZSB7XG5cdFx0XHRjb2xvcjogIzNiMzkzOTtcblx0XHRcdGJhY2tncm91bmQ6ICRncmF5O1xuXHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGdyYXk7XG5cblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cblx0XHRcdHBhZGRpbmc6IDhweCA4cHg7XG5cdFx0XHR3aWR0aDogODBweDtcblx0XHRcdGhlaWdodDogNjBweDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdFx0Ji5hY3RpdmUsXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdGNvbG9yOiAkcmVkO1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkcmVkO1xuXHRcdFx0fVxuXG5cdFx0fVxuXG5cblx0fVxuXG5cblx0dWwuY291bGV1cnMge1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0bWFyZ2luOiAyMHB4IDAgMTBweCAwO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cblx0XHRsaSB7XG5cdFx0XHRtYXJnaW46IDAgMCAxMnB4IDA7XG5cdFx0fVxuXG5cdFx0YSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdFx0aGVpZ2h0OiAxOXB4O1xuXHRcdFx0d2lkdGg6IDE5cHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAxMDAlO1xuXHRcdFx0YmFja2dyb3VuZDogI2VmNTA1MTtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNlZjUwNTE7XG5cblx0XHRcdHRleHQtaW5kZW50OiAtOTk5OXB4O1xuXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdHRvcDogLTRweDtcblx0XHRcdFx0bGVmdDogLTRweDtcblxuXHRcdFx0XHR3aWR0aDogMjVweDtcblx0XHRcdFx0aGVpZ2h0OiAyNXB4O1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZDtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiBpbmhlcml0O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTAwJTtcblxuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjY1cyBlYXNlLWluO1xuXG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXI6YWZ0ZXIsXG5cdFx0XHQmLmFjdGl2ZTphZnRlciB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR9XG5cblxuXHRcdFx0Ly8mLmJsYWNrIHtcblx0XHRcdC8vXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwIDtcblx0XHRcdC8vXHQmOmFmdGVyIHtcblx0XHRcdC8vXHRcdGJvcmRlci1jb2xvcjogIzAwMDtcblx0XHRcdC8vXHR9XG5cdFx0XHQvL31cbiAgICAgICAgICAgIC8vXG5cdFx0XHQvLyYuYmx1ZSB7XG5cdFx0XHQvL1x0YmFja2dyb3VuZC1jb2xvcjogIzRkN2RlOSA7XG5cdFx0XHQvL1x0JjphZnRlciB7XG5cdFx0XHQvL1x0XHRib3JkZXItY29sb3I6ICM0ZDdkZTk7XG5cdFx0XHQvL1x0fVxuXHRcdFx0Ly99XG4gICAgICAgICAgICAvL1xuXHRcdFx0Ly8mLnllbGxvdyB7XG5cdFx0XHQvL1x0YmFja2dyb3VuZC1jb2xvcjogI2ZhZGI2MCA7XG5cdFx0XHQvL1x0JjphZnRlciB7XG5cdFx0XHQvL1x0XHRib3JkZXItY29sb3I6ICNmYWRiNjA7XG5cdFx0XHQvL1x0fVxuXHRcdFx0Ly99XG4gICAgICAgICAgICAvL1xuXHRcdFx0Ly8mLmdyZWVuIHtcblx0XHRcdC8vXHRiYWNrZ3JvdW5kLWNvbG9yOiAjODJlMTc0IDtcblx0XHRcdC8vXHQmOmFmdGVyIHtcblx0XHRcdC8vXHRcdGJvcmRlci1jb2xvcjogIzgyZTE3NDtcblx0XHRcdC8vXHR9XG5cdFx0XHQvL31cbiAgICAgICAgICAgIC8vXG5cdFx0XHQvLyYub3JhbmdlIHtcblx0XHRcdC8vXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjNhMDU3IDtcblx0XHRcdC8vXHQmOmFmdGVyIHtcblx0XHRcdC8vXHRcdGJvcmRlci1jb2xvcjogI2YzYTA1Nztcblx0XHRcdC8vXHR9XG5cdFx0XHQvL31cbiAgICAgICAgICAgIC8vXG5cdFx0XHQvLyYuZ3JheSB7XG5cdFx0XHQvL1x0YmFja2dyb3VuZC1jb2xvcjogI2UzZTNlMyA7XG5cdFx0XHQvL1x0JjphZnRlciB7XG5cdFx0XHQvL1x0XHRib3JkZXItY29sb3I6ICNlM2UzZTM7XG5cdFx0XHQvL1x0fVxuXHRcdFx0Ly99XG4gICAgICAgICAgICAvL1xuXHRcdFx0Ly8mLnBpbmsge1xuXHRcdFx0Ly9cdGJhY2tncm91bmQtY29sb3I6ICNmOWMyZWMgO1xuXHRcdFx0Ly9cdCY6YWZ0ZXIge1xuXHRcdFx0Ly9cdFx0Ym9yZGVyLWNvbG9yOiAjZjljMmVjO1xuXHRcdFx0Ly9cdH1cblx0XHRcdC8vfVxuICAgICAgICAgICAgLy9cblx0XHRcdC8vJi5kYXJrLWdyYXkge1xuXHRcdFx0Ly9cdGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzYgO1xuXHRcdFx0Ly9cdCY6YWZ0ZXIge1xuXHRcdFx0Ly9cdFx0Ym9yZGVyLWNvbG9yOiAjNzY3Njc2O1xuXHRcdFx0Ly9cdH1cblx0XHRcdC8vfVxuXG5cdFx0fVxuXG5cdH1cblxuXG5cdHVsLnNpemVzIHtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXG5cdC5jaGVja2JveGVzIHtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuXG5cdH1cblxuXG5cbn1cblxuXG51bC5vcmllbnRhdGlvbnMge1xuXG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdG1hcmdpbjogMCAwO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG5cdGxpIGEge1xuXHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG5cdFx0ZmxleC1mbG93OiByb3cgd3JhcDtcblx0fVxuXG5cblx0bGkgYS5hY3RpdmUsXG5cdGxpIGE6aG92ZXIge1xuXHRcdGNvbG9yOiAkcmVkO1xuXG5cdFx0c3Bhbi5vcmllbnRhdGlvbiB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRyZWQ7XG5cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRib3JkZXItY29sb3I6ICRyZWQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0c3Bhbi50ZXh0IHtcblx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cblxuXHRzcGFuLm9yaWVudGF0aW9uIHtcblx0XHRib3JkZXI6IDJweCBzb2xpZCAkYmxhY2s7XG5cdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRwYWRkaW5nOiAycHg7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZWJlYmViO1xuXHRcdFx0Ym9yZGVyOiAycHggc29saWQgJGJsYWNrO1xuXHRcdFx0Y29udGVudDogXCIgXCI7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDJweDtcblx0XHRcdGxlZnQ6IDJweDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdH1cblx0fVxuXG5cblx0Lmhvcml6b250YWwgc3Bhbi5vcmllbnRhdGlvbiB7XG5cdFx0aGVpZ2h0OiAzOHB4O1xuXHRcdHdpZHRoOiA1OHB4O1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRoZWlnaHQ6IDMwcHg7XG5cdFx0XHR3aWR0aDogNTBweDtcblx0XHR9XG5cblx0fVxuXG5cdC5jYXJyZSBzcGFuLm9yaWVudGF0aW9uIHtcblx0XHRoZWlnaHQ6IDQycHg7XG5cdFx0d2lkdGg6IDM4cHg7XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdGhlaWdodDogMzRweDtcblx0XHRcdHdpZHRoOiAzMHB4O1xuXHRcdH1cblxuXHR9XG5cblx0LnBvcnRyYWl0IHNwYW4ub3JpZW50YXRpb24ge1xuXHRcdGhlaWdodDogNDJweDtcblx0XHR3aWR0aDogMjhweDtcblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0aGVpZ2h0OiAzNHB4O1xuXHRcdFx0d2lkdGg6IDIwcHg7XG5cdFx0fVxuXG5cdH1cblxuXHQucGFub3JhbWlxdWUgc3Bhbi5vcmllbnRhdGlvbiB7XG5cdFx0aGVpZ2h0OiAzOHB4O1xuXHRcdHdpZHRoOiA3OXB4O1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRoZWlnaHQ6IDMwcHg7XG5cdFx0XHR3aWR0aDogNzJweDtcblx0XHR9XG5cblx0fVxuXG5cbn1cblxuLnlvdXItZmF2b3JpdGUge1xuXHQvL2EuaXRlbS1jaGVja2JveCBzcGFuLmNoZWNrIHtcblx0Ly9cdG1hcmdpbi1yaWdodDogMnB4O1xuXHQvL31cblxufVxuXG5cbi5mLW5hdHVyZXMge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRjbGVhcjogYm90aDtcblx0d2lkdGg6IDEwMCU7XG5cdG1hcmdpbjogMCAwO1xuXHRwYWRkaW5nOiAwIDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cdGxpIHtcblx0XHQvL3BhZGRpbmctdG9wOiA1NnB4O1xuXHR9XG5cblx0YSB7XG5cdFx0Y29sb3I6ICMzYjM5Mzk7XG5cblx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cblx0YSBzcGFuLmljbiB7XG5cdFx0Zm9udC1mYW1pbHk6ICdpY29tb29uJztcblx0XHRmb250LXNpemU6IDMycHg7XG5cdFx0Ly9oZWlnaHQ6IDI4cHg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdFx0Y29sb3I6ICMzYjM5Mzk7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdH1cblxuXHRhLmFjdGl2ZSxcblx0YTpob3Zlcixcblx0YS5hY3RpdmUgc3Bhbi5pY24sXG5cdGE6aG92ZXIgc3Bhbi5pY24ge1xuXHRcdGNvbG9yOiAkcmVkO1xuXHR9XG5cblx0YS5zY3VscHR1cmUgc3Bhbi5pY246YmVmb3JlICB7XG5cdFx0Y29udGVudDogXCJcXGU5MDBcIjtcblx0fVxuXG5cdGEucGFpbnRpbmcgc3Bhbi5pY246YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIlxcZTkwOVwiO1xuXHR9XG5cblx0YS5waG90b2dyYXBoaWUgc3Bhbi5pY246YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIlxcZTkwMlwiO1xuXHR9XG5cblx0YS5saXZyZSBzcGFuLmljbjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG5cdH1cblxuXHRhLmlsbHVzdHJhdGlvbiBzcGFuLmljbjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IFwiXFxlOTA2XCI7XG5cdH1cbn1cblxuXG4ucHJpeCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQuc2xpZGVyIHtcblx0XHRtYXJnaW4tdG9wOiAycHg7XG5cdH1cblxuXHQuc2xpZGVyLWhhbmRsZSB7XG5cdFx0YmFja2dyb3VuZDogd2hpdGUgdXJsKC4uL2ltYWdlcy9zbGlkZXItdWktaGFuZGxlLnN2Zykgbm8tcmVwZWF0IDtcblx0XHRwYWRkaW5nLXRvcDogMjJweDtcblx0XHRtYXJnaW4tdG9wOiA2cHg7XG5cdFx0Ly9wb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cblxuXHRpIHtcblx0XHRmb250LXNpemU6IDExcHg7XG5cdH1cblxuXHQucHJpY2Uge1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR9XG5cblxuXHQjbnVtYmVyLW9uZSxcblx0I251bWJlci10d28ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR3aWR0aDogNTBweDtcblx0fVxufVxuXG4uc2xpZGVyLWZpbGwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xufVxuXG5cbi5ib3gtcHJpY2VzIHtcblx0d2lkdGg6IDEwMCU7XG5cdC8vYmFja2dyb3VuZDogcmVkO1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZy1ib3R0b206IDE1cHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LnByaWNlLW9uZSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IDE0LjU3JTtcblx0XHRwYWRkaW5nLWJvdHRvbTogOXB4O1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjY2NjY2NjO1xuXHRcdFx0d2lkdGg6IDJweDtcblx0XHRcdGhlaWdodDogOHB4O1xuXHRcdFx0Y29udGVudDogXCIgXCI7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRsZWZ0OiA0MCU7XG5cdFx0fVxuXHR9XG5cblx0LnByaWNlLXR3byB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IDM0LjYlO1xuXHRcdHBhZGRpbmctYm90dG9tOiA5cHg7XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdGJhY2tncm91bmQ6ICNjY2NjY2M7XG5cdFx0XHR3aWR0aDogMnB4O1xuXHRcdFx0aGVpZ2h0OiA4cHg7XG5cdFx0XHRjb250ZW50OiBcIiBcIjtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGxlZnQ6IDQwJTtcblx0XHR9XG5cdH1cblxuXHQucHJpY2UtdGhyZWUge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRsZWZ0OiA1Ny4yMyU7XG5cdFx0cGFkZGluZy1ib3R0b206IDlweDtcblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0YmFja2dyb3VuZDogI2NjY2NjYztcblx0XHRcdHdpZHRoOiAycHg7XG5cdFx0XHRoZWlnaHQ6IDhweDtcblx0XHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0bGVmdDogNDAlO1xuXHRcdH1cblx0fVxuXG5cdC5wcmljZS1lbmQge1xuXHRcdGZsb2F0OiByaWdodDtcblx0fVxuXG5cbn1cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9hc3NldHMvc2Nzcy9mcm9udGVuZC9jb21wb25lbnRzL19maWx0ZXJzLnNjc3MiLCJAbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgICAgLW1zLWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbn1cblxuLy8gZ2VuZXJpYyB0cmFuc2Zvcm1cbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuLy8gcm90YXRlXG5AbWl4aW4gcm90YXRlICgkZGVnKSB7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoI3skZGVnfWRlZykpO1xufVxuXG4vL0BtaXhpbiB0aXRsZS1ibG9jay1nYWxsZXJ5KCl7XG4vLyAgbWFyZ2luOiAwIDIwcHggMTBweCAyMHB4O1xuLy8gIGZvbnQtc2l6ZTogMTZweDtcbi8vICBmb250LXdlaWdodDogYm9sZDtcbi8vXG4vLyAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICMwMDA7XG4vLyAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuLy9cbi8vICAucmVkIHtcbi8vICAgIGNvbG9yOiAkcmVkO1xuLy8gIH1cbi8vXG4vLyAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbi8vICAgIG1hcmdpbjogMCA4MHB4IDMwcHggODBweDtcbi8vICB9XG4vL31cblxuQG1peGluIHRpdGxlLXBhZ2UoKXtcbiAgZm9udC1zaXplOiAyMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZDNkM2QzO1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2Fzc2V0cy9zY3NzL2Zyb250ZW5kL2NvbXBvbmVudHMvX21peGlucy5zY3NzIiwiI2dhbGxlcnkge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRtYXJnaW46IDAgNzBweDtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pe1xuXHRcdG1hcmdpbjogMCAyMHB4O1xuXHR9XG5cblx0Ji53aXRoRmlsdGVyc0FzaWRlIHtcblx0XHRtaW4taGVpZ2h0OiA0ODBweDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKXtcblx0XHRcdG1pbi1oZWlnaHQ6IDExNTJweDtcblx0XHR9XG5cdH1cblxuXHQuaXRlbS1nYWxsZXJ5IHtcblx0XHR3aWR0aDogMjUlO1xuXHRcdHBhZGRpbmc6IDAgMTVweDtcblx0XHRtYXJnaW4tYm90dG9tOiA2MHB4O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSl7XG5cdFx0XHR3aWR0aDogNTAlO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSl7XG5cdFx0XHR3aWR0aDogMzMuMzMlO1xuXHRcdH1cblxuXHRcdGEgaW1nIHtcblx0XHRcdC13ZWJraXQtYm94LXNoYWRvdzogLTFweCAtMXB4IDE3cHggMHB4IHJnYmEoNTAsIDUwLCA1MCwgMC43NSk7XG5cdFx0XHQtbW96LWJveC1zaGFkb3c6ICAgIC0xcHggLTFweCAxN3B4IDBweCByZ2JhKDUwLCA1MCwgNTAsIDAuNzUpO1xuXHRcdFx0Ym94LXNoYWRvdzogICAgICAgICAtMXB4IC0xcHggMTdweCAwcHggcmdiYSg1MCwgNTAsIDUwLCAwLjc1KTtcblx0XHR9XG5cdH1cblxuXHQuaXRlbS1nYWxsZXJ5IC5pdGVtLWdhbGxlcnktaW5mbyB7XG5cdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRwYWRkaW5nOiAyMHB4O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXG5cdFx0Lmxpa2UtaXQge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAyMHB4O1xuXHRcdFx0cmlnaHQ6IDEwcHg7XG5cdFx0XHRjb2xvcjogI2QzZDNkMztcblx0XHRcdHotaW5kZXg6IDQ7XG5cdFx0XHRmb250LXNpemU6IDIycHg7XG5cblx0XHRcdCYuYWN0aXZlLFxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGNvbG9yOiAkcmVkO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdGgzIHtcblx0XHRmb250LXNpemU6IDE1cHg7XG5cdFx0Y29sb3I6ICM4OTg5ODk7XG5cdFx0cGFkZGluZy1ib3R0b206IDEwcHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcmVkO1xuXG5cdFx0c3Ryb25nXHR7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGNvbG9yOiAjMzMzMzMzO1xuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdH1cblx0fVxuXG5cdHAge1xuXHRcdGNvbG9yOiAjMWUxZTFlO1xuXHRcdGZvbnQtc2l6ZTogMTVweDtcblx0fVxuXG5cdHNwYW4ucHJpY2Uge1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdGNvbG9yOiAkcmVkO1xuXHR9XG5cblx0Lml0ZW0tZ2FsbGVyeSBpbWcge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbi5HYWxsZXJ5LW5leHRQYWdlQmxvY2sge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8vIEZBTkNZQk9YXG4uZmFuY3lib3gtaXMtb3BlbiAuZmFuY3lib3gtYmcge1xuXHRvcGFjaXR5OiAxO1xuXHRiYWNrZ3JvdW5kOiAjMjYyNjI2O1xufVxuXG4uZmFuY3lib3gtYXJyb3cge1xuXHRvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG5cdHRvcDogMjUlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAzMHB4O1xuXHRtYXgtaGVpZ2h0OiA2MDBweDtcblxuXHQmOjphZnRlciB7XG5cdFx0dG9wOiA1MCU7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuNikgbm9uZTtcblx0XHRjb2xvcjogIzIzMjMyMztcblx0XHRmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJywgc2VyaWY7XG5cdFx0Zm9udC1zaXplOiAyOHB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxuXG5cdCYuZmFuY3lib3gtYXJyb3ctLWxlZnQge1xuXHRcdHRyYW5zZm9ybTogbm9uZTtcblxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IFwiXFxmMDUzXCI7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAzcHg7XG5cdFx0XHRwYWRkaW5nLXRvcDogMnB4O1xuXHRcdH1cblx0fVxuXHQmLmZhbmN5Ym94LWFycm93LS1yaWdodDo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiXFxmMDU0XCI7XG5cdFx0bGVmdDogLTE0cHg7XG5cdFx0cGFkZGluZy1sZWZ0OiA0cHg7XG5cdFx0cGFkZGluZy10b3A6IDJweDtcblx0fVxuXG5cdCYuZmFuY3lib3gtYXJyb3ctLWxlZnQgaW1nIHtcblx0XHRsZWZ0OiAtMTYwcHg7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdCYuZmFuY3lib3gtYXJyb3ctLXJpZ2h0IGltZ3tcblx0XHRyaWdodDogLTE2MHB4O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pe1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHRpbWcge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDczcHg7XG5cdFx0bWF4LXdpZHRoOiA0MzBweDtcblx0XHRtYXgtaGVpZ2h0OiA1MDBweDtcblx0XHRvcGFjaXR5OiAuNDtcblx0fVxufVxuXG4uZmFuY3lib3gtY29udGFpbmVyIHtcblx0ei1pbmRleDogOTAwMDtcbn1cblxuLmZhbmN5Ym94LWNhcHRpb24td3JhcCB7XG5cdG9wYWNpdHk6IDEgIWltcG9ydGFudDtcblx0dmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuXHQvL2JhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cblx0LmZhbmN5Ym94LWNhcHRpb24ge1xuXHRcdGJvcmRlcjogMDtcblx0XHRtYXgtd2lkdGg6IDQwMHB4O1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdHBhZGRpbmc6IDE1cHggMDtcblxuXHRcdGEge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdH1cblx0fVxuXG5cdC5zZXAge1xuXHRcdGJhY2tncm91bmQ6ICRyZWQ7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxcHg7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHRoMiB7XG5cdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblxuXHRoMSB7XG5cdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdGEge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMDtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQucHJvZHVjdC1wcmljZSB7XG5cdFx0Y29sb3I6ICRyZWQ7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG4jY2xvc2UtZmFuY3lib3gge1xuXHRjb2xvcjogI2ZmZjtcblx0Zm9udC1zaXplOiAzMnB4O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogOCU7XG5cdHotaW5kZXg6IDk5OTk5O1xuXHRyaWdodDogNSU7XG5cdG9wYWNpdHk6IDAuODtcblxuXHQmOmhvdmVyIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cblx0c3BhbiB7XG5cdFx0Ym9yZGVyOiAycHggc29saWQgI2ZmZjtcblx0XHRib3JkZXItcmFkaXVzOiAxMDAlO1xuXHRcdGhlaWdodDogNDBweDtcblx0XHR3aWR0aDogNDBweDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHQvL0BpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcblx0XHQvL1x0cGFkZGluZy10b3A6IDVweDtcblx0XHQvL31cblxuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMTtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdHdpZHRoOiAzNXB4O1xuXHRcdFx0aGVpZ2h0OiAzNXB4O1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cblx0XHR9XG5cblx0fVxufVxuXG4uZmFuY3l0ZXh0IHtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRjb2xvcjogI2ZmZjtcblx0bWF4LXdpZHRoOiA2MDBweDtcblx0bWFyZ2luOiAwIGF1dG87XG5cdHotaW5kZXg6IDkwMDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dG9wOiAyJTtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuXHRcdGZvbnQtc2l6ZTogMTlweDtcblx0XHR0b3A6IDglO1xuXHR9XG5cblx0Lm51bXN1ciB7XG5cdFx0Zm9udC1zaXplOiAyOHB4O1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdG1hcmdpbi1yaWdodDogNXB4O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcblx0XHRcdGZvbnQtc2l6ZTogMzJweDtcblx0XHR9XG5cdH1cblxuXHQuc3VyIHtcblx0XHRtYXJnaW4tbGVmdDogNXB4O1xuXHR9XG5cblx0Lm51bWVyb3RhdGlvbiB7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG5cdFx0XHRmb250LXNpemU6IDE5cHg7XG5cdFx0fVxuXHR9XG59XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXNzZXRzL3Njc3MvZnJvbnRlbmQvY29tcG9uZW50cy9fZ2FsbGVyeV9jYXRhbG9ndWUuc2NzcyIsIi5HYWxsZXJ5LXRpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICBtYXJnaW46IDMwcHggMjBweCAzNnB4O1xuXG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwMDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBtYXJnaW46IDAgODBweCAzMHB4IDgwcHg7XG4gICAgfVxuXG4gICAgLnJlZCB7XG4gICAgICAgIGNvbG9yOiAkcmVkO1xuICAgIH1cbn1cblxuLkdhbGxlcnktYm9keSB7XG4gICAgbWFyZ2luOiAwIDcwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgbWFyZ2luOiAwIDIwcHg7XG4gICAgfVxuXG4gICAgLml0ZW0tZ2FsbGVyeSB7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XG4gICAgICAgICAgICB3aWR0aDogMzMuMzMlO1xuICAgICAgICB9XG5cbiAgICAgICAgYSBpbWcge1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAtMXB4IC0xcHggMTdweCAwcHggcmdiYSg1MCwgNTAsIDUwLCAwLjc1KTtcbiAgICAgICAgICAgIC1tb3otYm94LXNoYWRvdzogLTFweCAtMXB4IDE3cHggMHB4IHJnYmEoNTAsIDUwLCA1MCwgMC43NSk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAtMXB4IC0xcHggMTdweCAwcHggcmdiYSg1MCwgNTAsIDUwLCAwLjc1KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pdGVtLWdhbGxlcnkgLml0ZW0tZ2FsbGVyeS1pbmZvIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgICAgIC5saWtlLWl0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgY29sb3I6ICNkM2QzZDM7XG4gICAgICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuXG4gICAgICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGNvbG9yOiAjODk4OTg5O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHJlZDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgLy9tYXgtd2lkdGg6IDEyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGNvbG9yOiAjMWUxZTFlO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgfVxuXG4gICAgc3Bhbi5wcmljZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogJHJlZDtcbiAgICB9XG5cbiAgICAuaXRlbS1nYWxsZXJ5IGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2Fzc2V0cy9zY3NzL2Zyb250ZW5kL2NvbXBvbmVudHMvX2dhbGxlcnkuc2NzcyIsIi5yZXZlYWwge1xuXHRvdXRsaW5lOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXItcmFkaXVzOiAwO1xuXHRib3JkZXI6IDA7XG5cblx0Lm1vZGFsLWhlYWRlciB7XG5cdFx0YmFja2dyb3VuZDogJGJsYWNrO1xuXHRcdHBhZGRpbmc6IDEwcHg7XG5cblxuXHRcdGltZyB7XG5cdFx0XHRtYXgtd2lkdGg6IDIwNXB4O1xuXHRcdH1cblx0fVxuXG5cdC5tb2RhbC1ib2R5IHtcblx0XHRwYWRkaW5nOiA0MHB4IDIwcHg7XG5cdH1cblxuXG5cbn1cblxuLnJldmVhbC1vdmVybGF5IHtcblx0ei1pbmRleDogOTk5OTtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSg3MywgNzMsIDczLCAuODUpO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdHotaW5kZXg6IDk5OTk7XG5cdH1cbn1cblxuLnJldmVhbCB7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApe1xuXHRcdG1heC13aWR0aDogNjkwcHg7XG5cdH1cblxuXG5cblx0LmNsb3NlLWJ1dHRvbiB7XG5cdFx0dG9wOiAwO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogI2ZmZjtcblx0XHR9XG5cdH1cblxufVxuXG5cbiNtb2RhbEludml0ZSB7XG5cblxuXG5cdC5tb2RhbC1ib2R5LFxuXHRwIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblxuXHRhLmNvbm5lY3QtZmFjZWJvb2sge1xuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0b3BhY2l0eTogMC44NTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cdH1cblxuXG5cdGZvcm0ge1xuXHRcdG1heC13aWR0aDogMzIwcHg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdH1cblxuXHRmb3JtIC5pbnB1dC1pdGVtIHtcblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdGlucHV0IHtcblx0XHRcdGhlaWdodDogNDdweDtcblx0XHR9XG5cdH1cblx0Zm9ybSBhIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kOiAjMGIwYjBiO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjOTk5OTk5O1xuXHRcdH1cblx0fVxuXG5cdGZvcm0gaW5wdXQge1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkICM5OTk5OTk7XG5cdH1cblxufVxuXG5cblxuLy8ucmV2ZWFsIHtcbi8vXG4vL1x0Lm91IHtcbi8vXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vXHRcdGRpc3BsYXk6IGZsZXg7XG4vL1x0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuLy9cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4vL1x0XHRmbGV4LWZsb3c6IHdyYXAgcm93O1xuLy9cbi8vXHRcdGhlaWdodDogMTAwJTtcbi8vXHRcdHdpZHRoOiAxMDAlO1xuLy9cbi8vXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG4vL1x0XHRvdmVyZmxvdzogaGlkZGVuO1xuLy9cbi8vXHRcdCY6YWZ0ZXIge1xuLy9cdFx0XHRoZWlnaHQ6IDFweDtcbi8vXHRcdFx0d2lkdGg6IDEwMCU7XG4vL1x0XHRcdGJhY2tncm91bmQ6ICNjNGMzYzM7XG4vL1x0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vXHRcdFx0Y29udGVudDogXCJcIjtcbi8vXHRcdFx0ei1pbmRleDogMDtcbi8vXHRcdFx0bGVmdDogMDtcbi8vXHRcdFx0dG9wOiA0OSU7XG4vL1x0XHR9XG4vL1xuLy9cdFx0c3BhbiB7XG4vL1x0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuLy9cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuLy9cdFx0XHRkaXNwbGF5OiBibG9jaztcbi8vXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuLy9cdFx0XHRwYWRkaW5nOiAwIDEwcHg7XG4vL1x0XHRcdHdpZHRoOiA0MHB4O1xuLy9cdFx0XHR6LWluZGV4OiAxO1xuLy9cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG4vL1x0XHRcdG1hcmdpbjogMCBhdXRvO1xuLy9cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuLy9cdFx0fVxuLy9cbi8vXHR9XG4vL1xuLy9cdC5mb3JtLWVycm9yIHtcbi8vXHRcdG1hcmdpbi10b3A6IDA7XG4vL1x0XHRtYXJnaW4tYm90dG9tOiAwO1xuLy9cdH1cbi8vXG4vL1x0LmZvcm0tdXNlciB7XG4vL1x0XHRtYXgtd2lkdGg6IDUzNnB4O1xuLy9cdFx0d2lkdGg6IDEwMCU7XG4vL1x0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuLy9cbi8vXHRcdG1hcmdpbjogMCBhdXRvO1xuLy9cbi8vXHRcdC5jb25uZWN0LWZhY2Vib29rIHtcbi8vXHRcdFx0d2lkdGg6IDEwMCU7XG4vL1x0XHRcdGRpc3BsYXk6IGJsb2NrO1xuLy9cdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuLy9cbi8vXHRcdFx0aW1nIHtcbi8vXHRcdFx0XHQvL3dpZHRoOiAxMDAlO1xuLy9cdFx0XHRcdG9wYWNpdHk6IDE7XG4vL1x0XHRcdH1cbi8vXG4vL1x0XHRcdCY6aG92ZXIgaW1nIHtcbi8vXHRcdFx0XHRvcGFjaXR5OiAwLjg1O1xuLy9cdFx0XHR9XG4vL1xuLy9cdFx0fVxuLy9cbi8vXG4vL1x0XHRhLmJ1dHRvbi5ibGFjayB7XG4vL1x0XHRcdGRpc3BsYXk6IGJsb2NrO1xuLy9cdFx0XHR3aWR0aDogMTAwJTtcbi8vXHRcdFx0YmFja2dyb3VuZDogIzBiMGIwYjtcbi8vXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcbi8vXG4vL1x0XHRcdCY6aG92ZXIge1xuLy9cdFx0XHRcdGJhY2tncm91bmQ6ICM5OTk5OTk7XG4vL1x0XHRcdH1cbi8vXHRcdH1cbi8vXG4vL1xuLy9cdFx0LmZvcm0taW5wdXQtdGV4dCB7XG4vL1x0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vXHRcdFx0cGFkZGluZy1ib3R0b206IDEycHg7XG4vL1xuLy9cdFx0XHRpbnB1dCB7XG4vL1x0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgIzk5OTk5OTtcbi8vXHRcdFx0XHRib3gtc2hhZG93OiAgMCAwO1xuLy9cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG4vL1x0XHRcdH1cbi8vXG4vL1x0XHRcdGlucHV0OjpwbGFjZWhvbGRlciwgdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbi8vXHRcdFx0XHRjb2xvcjogIzk5OTk5OTtcbi8vXHRcdFx0fVxuLy9cbi8vXG4vL1x0XHRcdCYucGFzc3dvcmQ6YWZ0ZXIsXG4vL1x0XHRcdCYuZW1haWw6YWZ0ZXIge1xuLy9cdFx0XHRcdGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuLy9cdFx0XHRcdGNvbG9yOiAjOTk5OTk5O1xuLy9cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vXHRcdFx0XHR0b3A6IDEwJTtcbi8vXHRcdFx0XHRyaWdodDogMTJweDtcbi8vXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG4vL1x0XHRcdH1cbi8vXG4vL1x0XHRcdCYuZW1haWw6YWZ0ZXIge1xuLy9cdFx0XHRcdGNvbnRlbnQ6IFwiXFxmMGUwXCI7XG4vL1x0XHRcdH1cbi8vXG4vL1x0XHRcdCYucGFzc3dvcmQ6YWZ0ZXIge1xuLy9cdFx0XHRcdGNvbnRlbnQ6IFwiXFxmMDIzXCI7XG4vL1x0XHRcdH1cbi8vXG4vL1xuLy9cdFx0fVxuLy9cbi8vXG4vL1x0fVxuLy9cbi8vXG4vL1x0Lmdyb3VwLWNoZWNrYm94ZXMge1xuLy9cdFx0ZGlzcGxheTogZmxleDtcbi8vXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuLy9cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuLy9cdFx0ZmxleC1mbG93OiB3cmFwIHJvdztcbi8vXG4vL1x0XHQuYm94LWNoZWNrIHtcbi8vXHRcdFx0ZGlzcGxheTogZmxleDtcbi8vXHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4vL1x0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbi8vXHRcdFx0bWFyZ2luLWJvdHRvbTogMTJweDtcbi8vXHRcdFx0Y29sb3I6ICMzYjM5Mzk7XG4vL1x0XHR9XG4vL1xuLy9cdFx0aSB7XG4vL1x0XHRcdHBhZGRpbmctcmlnaHQ6IDZweDtcbi8vXHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuLy9cdFx0fVxuLy9cbi8vXHRcdC50ZXh0LWxhYmVsIHtcbi8vXHRcdFx0bGluZS1oZWlnaHQ6IDE4cHg7XG4vL1x0XHR9XG4vL1x0fVxuLy9cbi8vXG4vL1x0LmFjdGlvbnMge1xuLy9cbi8vXHRcdC5ncm91cC10b3Age1xuLy9cdFx0XHRtYXJnaW4tYm90dG9tOiAyNnB4O1xuLy9cbi8vXHRcdFx0ZGlzcGxheTogZmxleDtcbi8vXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbi8vXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuLy9cdFx0fVxuLy9cbi8vXG4vL1xuLy9cdFx0c3Bhbixcbi8vXHRcdGEge1xuLy9cdFx0XHRmb250LXNpemU6IDE0cHg7XG4vL1x0XHRcdGNvbG9yOiAjM2IzOTM5O1xuLy9cbi8vXHRcdFx0Ji5ibGFjayB7XG4vL1x0XHRcdFx0Y29sb3I6ICNmZmY7XG4vL1x0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbi8vXHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG4vL1x0XHRcdH1cbi8vXHRcdH1cbi8vXG4vL1x0XHRhLmxpbmstdGV4dCB7XG4vL1x0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDlkOWQ5O1xuLy9cbi8vXHRcdFx0aSB7XG4vL1x0XHRcdFx0cGFkZGluZy1yaWdodDogMTBweDtcbi8vXHRcdFx0fVxuLy9cbi8vXHRcdFx0Jjpob3ZlciB7XG4vL1x0XHRcdFx0Ym9yZGVyLWNvbG9yOiAjZmZmO1xuLy9cdFx0XHRcdG9wYWNpdHk6IDAuNzU7XG4vL1x0XHRcdH1cbi8vXHRcdH1cbi8vXG4vL1x0fVxuLy9cbi8vXG4vL1x0Lm90aGVyLW9wdGlvbnMge1xuLy9cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICM5OTk5OTk7XG4vL1x0XHRtYXJnaW4tdG9wOiA0MHB4O1xuLy9cdFx0cGFkZGluZy10b3A6IDE2cHg7XG4vL1x0XHRtYXJnaW4tYm90dG9tOiAwO1xuLy9cbi8vXHRcdGRpc3BsYXk6IGZsZXg7XG4vL1x0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuLy9cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuLy9cbi8vXHRcdGEge1xuLy9cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuLy9cbi8vXHRcdFx0Zm9udC1zaXplOiAxNXB4O1xuLy9cbi8vXHRcdFx0Ji5saW5rLXRleHQge1xuLy9cdFx0XHRcdGNvbG9yOiAjMDAwO1xuLy9cbi8vXHRcdFx0XHQmOmhvdmVyIHtcbi8vXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuLy9cdFx0XHRcdH1cbi8vXHRcdFx0fVxuLy9cbi8vXHRcdFx0Ji5ibGFjay1saWdodCB7XG4vL1x0XHRcdFx0Ym9yZGVyLWNvbG9yOiAjOTk5OTk5O1xuLy9cdFx0XHRcdHdpZHRoOiAxMDAlO1xuLy9cdFx0XHRcdG1heC13aWR0aDogMzA1cHg7XG4vL1xuLy9cdFx0XHRcdCY6aG92ZXIge1xuLy9cdFx0XHRcdFx0YmFja2dyb3VuZDogIzk5OTk5OTtcbi8vXHRcdFx0XHR9XG4vL1x0XHRcdH1cbi8vXG4vL1x0XHR9XG4vL1xuLy9cbi8vXG4vL1x0fVxuLy9cbi8vXG4vL31cblxuXG4jbW9kYWxBZGRQcm9kdWN0IHtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCl7XG5cdFx0bWF4LXdpZHRoOiA4MTBweDtcblx0fVxuXG5cblx0cGFkZGluZy1ib3R0b206IDA7XG5cblxuXHQud3JhcHBlci1jYXJvdXNlbCB7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMDtcblx0XHRwYWRkaW5nLXRvcDogMzZweDtcblx0fVxuXG5cdC5ncmlkLXBhZGRpbmcteCA+IC5jZWxsLFxuXHQubGFyZ2Utc3BhY2UtbGcge1xuXHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHR9XG5cblx0cCxcblx0aDMsXG5cdGg0LFxuXHQuYmxvY2staW50cm8ge1xuXHRcdHBhZGRpbmctbGVmdDogMjBweDtcblx0fVxuXG5cdGg1IHtcblx0XHRwYWRkaW5nLXRvcDogMDtcblx0fVxuXG5cdC5tb2RhbC1ib2R5IHtcblx0XHRoMiwgaDMge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdH1cblx0XHRoMiB7XG5cdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXG5cdFx0aDMge1xuXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdH1cblxuXHRcdC5yZWQge1xuXHRcdFx0Y29sb3I6ICRyZWQ7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHR9XG5cdH1cblxuXHQuYm94LXByb2R1aXQge1xuXG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG5cdFx0bWF4LXdpZHRoOiA1NjBweDtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nLWJvdHRvbTogNDBweDtcblx0XHRwYWRkaW5nLXRvcDogMjBweDtcblxuXG5cdFx0cCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0Ly9wYWRkaW5nLWxlZnQ6IDA7XG5cdFx0fVxuXG5cdFx0aW1nIHtcblx0XHRcdG1heC1oZWlnaHQ6IDcwcHg7XG5cdFx0XHRtYXgtd2lkdGg6IDcwcHg7XG5cdFx0XHQtd2Via2l0LWJveC1zaGFkb3c6IDlweCAycHggMTQxcHggLTU3cHggcmdiYSgwLDAsMCwwLjQ3KTtcblx0XHRcdC1tb3otYm94LXNoYWRvdzogOXB4IDJweCAxNDFweCAtNTdweCByZ2JhKDAsMCwwLDAuNDcpO1xuXHRcdFx0Ym94LXNoYWRvdzogOXB4IDJweCAxNDFweCAtNTdweCByZ2JhKDAsMCwwLDAuNDcpO1xuXHRcdH1cblx0fVxuXG5cdGRpdi5hY3Rpb25zIHtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cblx0XHRtYXgtd2lkdGg6IDQ4MHB4O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXG5cdFx0YSB7XG5cdFx0XHRtYXgtd2lkdGg6IDIzMHB4O1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0Y29sb3I6ICNmZmY7XG5cblxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCl7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiAyMHB4O1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMjBweDtcblx0XHRcdH1cblxuXG5cdFx0XHRpIHtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMTBweDtcblx0XHRcdH1cblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdG9wYWNpdHk6IDAuODtcblx0XHRcdH1cblxuXHRcdFx0Ji5jb250aW51ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNkM2QzZDM7XG5cdFx0XHRcdGNvbG9yOiAjMDAwO1xuXHRcdFx0fVxuXG5cdFx0XHQmLmJsYWNrIHtcblx0XHRcdFx0YmFja2dyb3VuZDogIzBiMGIwYjtcblxuXHRcdFx0fVxuXHRcdH1cblxuXHR9XG5cbn1cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9hc3NldHMvc2Nzcy9mcm9udGVuZC9jb21wb25lbnRzL19tb2RhbC5zY3NzIiwic2VjdGlvbiB7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICBwYWRkaW5nLXRvcDogNDBweDtcbn1cblxuLmgyIHtcbiAgZm9udC1zaXplOiByZW0tY2FsYygzMik7XG4gIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNSk7XG4gICYubC1saW5lLXRpdGxlOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBtYXJnaW46IDE1cHggMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBtYXgtd2lkdGg6IDkzcHg7XG4gICAgfVxuICB9XG4gICYucy1saW5lLXRpdGxlOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBtYXJnaW46IDE1cHggMDtcbiAgICBtYXgtd2lkdGg6IDkzcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxudWwuaW5saW5lLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbn1cblxuXG4uYmxvY2std29ya3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIGhlaWdodDogMTAwJTtcbiAgLmRlc2NyaXB0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLW1vei1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxufVxuXG4ud3JwLWNvbnRlbnQtYmxvY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHBhZGRpbmc6IDIwcHggMTBweDtcbiAgfVxuICBwIHtcbiAgICBmb250LWZhbWlseTogJ0dvdGhhbScsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxufVxuZmlndXJlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBpbWcge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG4uZmlndXJlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAuYXJyb3cge1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcblxuICAgIGJvcmRlci10b3A6IDMwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMzBweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgIGJvcmRlci1yaWdodDogMzBweCBzb2xpZCAkd2hpdGU7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogNDclO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDQ0JTtcbiAgICAgIGJvcmRlci1sZWZ0OiAzMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAzMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMzBweCBzb2xpZCAkd2hpdGU7XG4gICAgfVxuXG4gIH1cbn1cblxuLmZpZ3VyZSBmaWd1cmUge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXG4gIGltZyB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDUwZW0pIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG5cblxufSAvLyBlbmQgLmZpZ3VyZSBmaWd1cmVcblxuXG5cblxuXG4udGFibGV0LWZ1bGwtd2lkdGgge1xuICAvKiBUYWJsZXQgb25seSAqL1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNTBlbSkge1xuICAgIGNsZWFyOiBib3RoICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIG1pbi13aWR0aDogOTYlO1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLy8gLmJsb2NrLXdvcmtzIHtcbiAgLy8gICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNTBlbSkge1xuICAvLyAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgLy8gICB9XG4gIC8vIH1cbn1cblxuLmRyb3Bkb3duLXBhbmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2syO1xufVxuLnBhbmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrMjtcbiAgcGFkZGluZzogMjBweCA0MHB4O1xuICBtYXgtd2lkdGg6IDcwMHB4O1xuICBtYXJnaW46IDM1cHggYXV0byAwIGF1dG87XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHBhZGRpbmc6IDIwcHggMjBweDtcbiAgfVxuICAuY29udGVudC1wYW5lbCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgLW1vei1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIHAge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbn0gLy8gZW5kIC5wYW5lbFxuXG4udC13aGl0ZSB7XG4gIGNvbG9yOiAkd2hpdGU7XG59XG4udC1ncmF5IHtcbiAgY29sb3I6ICRncmV5O1xufVxuLnQtcmVkIHtcbiAgY29sb3I6ICRyZWQ7XG59XG4udC1ncmVlbiB7XG4gIGNvbG9yOiAkZ3JlZW47XG59XG5cblxuLmxhcmdlLXNwYWNlLW1kIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXApIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuXG4ubGFyZ2Utc3BhY2UtbGcge1xuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCkge1xuICAgIHBhZGRpbmctbGVmdDogMTEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTEwcHg7XG4gIH1cbn1cblxuXG4ub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuXHR6LWluZGV4OiA5OTk5O1xufVxuXG5cbi5pY29uLWNsb3NlLXRoaW4ge1xuXG4gICY6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ2ljb21vb24nO1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA1XCI7XG4gIH1cblxufVxuXG5cbi5saXN0LWRlY29yYXRpb24ge1xuICBpbWcge1xuICAgIHdpZHRoOiA0M3B4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiA0M3B4O1xuICB9XG59XG5cbi5waG90by1mb3Item9vbSB7XG4gIGhlaWdodDogMDtcbn1cblxuLnBob3RvLXpvb20ge1xuICB6LWluZGV4OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wYWdlLXByb2R1aXQge1xuICAubGlzdC1kZWNvcmF0aW9uIHtcbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDQzcHggIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogNDNweDtcbiAgICB9XG5cbiAgfVxufVxuXG4uaWNvbi1rZXlib2FyZF9hcnJvd19kb3duIHtcblx0JjpiZWZvcmUge1xuXHRcdGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG5cdFx0Y29udGVudDogXCJcXGU5MDdcIjtcblx0fVxufVxuXG4uYmctZ3JheSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG59XG5cbi5pY29uLWtleWJvYXJkX2Fycm93X3JpZ2h0OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG4gIGNvbnRlbnQ6IFwiXFxlOTA4XCI7XG59XG5cbi5pY29uLWZpbG06YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgY29udGVudDogXCJcXGU5MTNcIjtcbn1cblxuLnpiZm0tbm8tcGljdHVyZSB7XG4gIG1heC13aWR0aDogMjAwcHg7XG4gIG1heC1oZWlnaHQ6IDIwMHB4O1xufVxuXG4uZ3JlY2FwdGNoYS1iYWRnZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLndhcm5pbmctZW5jYWRyZW1lbnQge1xuICBmb250LXNpemU6IDEwcHggIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6ICdHb3RoYW0nLCBzYW5zLXNlcmlmO1xufVxuXG4uUHJvZHVjdEltYWdlLWNvbnRhaW5lcntcbiAgbWFyZ2luLWJvdHRvbTogNHJlbSAhaW1wb3J0YW50O1xufVxuXG4uUHJvZHVjdEltYWdle1xuICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbiNuby1kZWxpdmVyeS1tZXNzYWdle1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4jbm8tZGVsaXZlcnktbWVzc2FnZSAuY29udGFjdHtcbiAgY29sb3I6ICMxZjU4YjY7XG59XG5cbi5uby1kZWxpdmVyeS1ncm91cCwgLmRlbGl2ZXJ5LWdyb3Vwe1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIGFsaWduLWl0ZW1zOiBlbmQgIWltcG9ydGFudDtcbn1cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9hc3NldHMvc2Nzcy9mcm9udGVuZC9sYXlvdXRzL19tYWluLnNjc3MiLCJoZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2syO1xuICBwYWRkaW5nLXRvcDogNDVweDtcblxuICAmLmNoZWNrb3V0LWhlYWRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDQ1cHg7XG5cbiAgICAudG9wLWhlYWRlciAuYm94LXJpZ2h0IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG5cbiAgdWwgbGkgYSB7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgfVxuXG4gICNsb2dvIHtcbiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gbGFyZ2Ugb25seSkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIH1cblxuICAgIGltZyB7XG5cdFx0XHRtYXgtd2lkdGg6IDI2MHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDBweDtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpe1xuXHRcdFx0XHRcdG1heC13aWR0aDogMTYwcHg7XG5cdFx0XHRcdH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cblxuXG4gIH1cblxuXG4gIC50b3AtaGVhZGVyIHtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCkge1xuICAgICAgLy9tYXgtd2lkdGg6IDkwJTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuXG4gICAgLy8uYm94LWxlZnQge1xuICAgIC8vICB3aWR0aDogNDAlO1xuXHRcdC8vXG4gICAgLy99XG5cblxuICAgIC5ib3gtcmlnaHQge1xuICAgICAgLy9iYWNrZ3JvdW5kOiBvcmFuZ2VyZWQ7XG4gICAgICAvL3dpZHRoOiA2MCU7XG5cdFx0XHQvL1xuICAgICAgLy9AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAvLyAgd2lkdGg6IDcwJTtcbiAgICAgIC8vfVxuXG4gICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAudG9wLWJhci1tZW51IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudGl0bGUtYmFyIHtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5tZW51LWljb24ge1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbiAgLnRvcC1oZWFkZXIgLnRvcC1iYXItbWVudSB7XG5cbiAgICA+IHVsLm1lbnUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAtbW96LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBwYWRkaW5nOiAwIDhweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhLCAgaSB7XG4gICAgICBjb2xvcjogIzg5ODg4ODtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICBpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICNmb3JtLXNlYXJjaCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKXtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzhkOGM4YyAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBmb3JtIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAtMjBweDtcbiAgICAgICAgICB0b3A6IDMwcHg7XG4gICAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMzYjM5Mzk7XG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB6LWluZGV4OiA2MDA7XG4gICAgICAgICAgLy9wb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1hZ2VzL3QtYXJyb3ctZHJvcGRvd24ucG5nJykgbm8tcmVwZWF0O1xuICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAyNyU7XG4gICAgICAgICAgICB0b3A6IC0xMHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNnB4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgfVxuXG4gICAgICBpbnB1dCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDA7XG4gICAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdHb3RoYW0nLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAycHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAjOGQ4YzhjO1xuXG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgcmlnaHQ6IDIlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgY29sb3I6ICM4ZDhjOGM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAjdXNlciB7XG4gICAgICBhIHtcbiAgICAgICAgJi5hY3RpdmUgaSB7XG4gICAgICAgICAgY29sb3I6ICNkMWQwZDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAjbGFuZ3VhZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgY29sb3I6ICNkMWQwZDA7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcblxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgICAgICByaWdodDogN3B4O1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgI2ZmZjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cblxuICAubWFpbi1uYXZpZ2F0aW9uIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG4gICAgICAvLyBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICAgIC8vbWF4LXdpZHRoOiA5MCU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gIH1cblxuXG5cbiAgLy8gU1RJQ0tZXG5cbiAgI21haW4tbWVudSAuaG9tZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5tZW51LXRvb2xzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJi5zdGlja3kge1xuICAgIHotaW5kZXg6IDkwMDtcbiAgfVxuXG5cbiAgJi5jb21wcmVzc2VkIHtcbiAgICB6LWluZGV4OiA5OTk5OTtcbiAgfVxuXG5cblxuXG5cblxuXG4gIC8vIEVORCBTVElDS1lcblxuXG5cblxufVxuXG4jcmVzcG9uc2l2ZS1tZW51IHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCl7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gIH1cblxuXG59XG5cblxuLnRvcC1iYXIge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB1bCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBsaSB7XG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcblxuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYmxhY2syO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcmVkO1xuICAgICAgfVxuXG4gICAgICAmLmtvbmNlcHQtbGluayB7XG4gICAgICAgIGEge1xuICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAyNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2VlNjczMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdHb3RoYW0nLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuI0FjdGlvbk1lbnVNb2JpbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDkwO1xuICBidXR0b24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGhlaWdodDogNjBweDtcbiAgICBtaW4td2lkdGg6IDU1cHg7XG4gICAgbWF4LXdpZHRoOiA1NXB4O1xuICAgIC5mYSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICB9XG4gICAgLmZhLWJhcnMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC5mYS10aW1lcyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgfVxuXG4gICAgJi5tZW51LW9wZW4ge1xuICAgICAgLmZhLWJhcnMge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAuZmEtdGltZXMge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4jbWVudU1vYmlsZUxlZnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2syO1xufVxuXG4jbW9iaWxlLW1lbnUge1xuICAvLyBwYWRkaW5nLXRvcDogNzBweDtcbiAgI2xvZ28tbmF2LW1ibCB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAvL3BhZGRpbmctdG9wOiAxNXB4O1xuICAgIGEge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIH1cbiAgfVxuICBwLmxhbmd1YWdlcy1hY3RpdmUge1xuICAgIGNvbG9yOiAkZ3JheTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnR290aGFtJywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcblxuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRibGFjazI7XG5cbiAgICAmLmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHJlZDtcbiAgICB9XG5cbiAgICAmLmtvbmNlcHQtbGluayB7XG4gICAgICBpbWcge1xuICAgICAgICBtYXgtaGVpZ2h0OiAyNHB4O1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2VlNjczMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICBmb250LWZhbWlseTogJ0dvdGhhbScsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCkgIWltcG9ydGFudDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkgIHtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ubC1oZWFkZXIge1xuICAmLmNvbXByZXNzZWQsXG4gICYuaXMtc3R1Y2sge1xuXG4gICAgLy9wYWRkaW5nLXRvcDogMTBweDtcbiAgICAmLnNob3cge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2UtaW4tb3V0O1xuICAgIH1cblxuXG5cbiAgICAudG9wLWhlYWRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICNtYWluLW1lbnUge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogODAlO1xuICAgIH1cblxuICAgICNtYWluLW1lbnUgLmhvbWUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgI3Jlc3BvbnNpdmUtbWVudSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKXtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnUtdG9vbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAvL3dpZHRoOiA1JTtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICB9XG4gICAgICBidXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIG9wYWNpdHk6IDAuODtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgICBpIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgICBpIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBjb2xvcjogIzg5ODg4ODtcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgIH1cblxuICAgICAgLm51bWJlci1wcm9kdWN0IHtcbiAgICAgICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAycHggNHB4O1xuICAgICAgICByaWdodDogLTdweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5fX3RvcC1iYXItbGVmdF9fIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4ubC1oZWFkZXItLXNjcm9sbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIC8vb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLy9saW5lLWhlaWdodDogNjBweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0xMDAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0xMDAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTEwMCUpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIC4ycyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlLW91dDtcbiAgei1pbmRleDogOTk5OTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2syO1xuICBwYWRkaW5nLXRvcDogMTBweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCl7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAjcGFuaWVyQnV0dG9uIGJ1dHRvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgI2xvZ28tYm94IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuXG4gIC50b3AtYmFyIHVsIGxpIGEge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSl7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIG9ubHkpe1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgIH1cbiAgfVxuXG59XG5cbiNsYW5ndWFnZVBhbmVsIHtcbiAgYm9yZGVyLXdpZHRoOiAzcHg7XG4gIGJvcmRlci1jb2xvcjogJHdoaXRlO1xuICB3aWR0aDogNjBweDtcbiAgcGFkZGluZzogM3B4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiNwYW5pZXIge1xuICBib3JkZXItd2lkdGg6IDNweDtcbiAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICB3aWR0aDogMzY1cHg7XG4gIH1cblxuICAucHJvZHVjdC1jYXIge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LWZhbWlseTogJ0dvdGhhbScsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICB9XG4gICAgICBzdHJvbmcge1xuICAgICAgICBmb250LWZhbWlseTogJ0dvdGhhbScsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC53cGEtaXRlbSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiAyNjBweDtcbiAgICBwYWRkaW5nOiAxMHB4IDE2cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuXG4gIC5hY3Rpb24tY2FydCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiAyNjBweDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG5cbiAgLml0ZW0tcHJvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5yZW1vdmUtcHJvZHVpdCB7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgIGkge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYWN0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAyMCU7XG5cbiAgICBwYWRkaW5nLXRvcDogMTZweDtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHdpZHRoOiA1JTtcbiAgICB9XG4gIH1cbn1cblxuI3Bhbmllci1zY3JvbGwsXG4jcGFuaWVyIHtcblx0ei1pbmRleDogOTI7XG5cblxuXG5cdCYuaXMtb3BlbiB7XG5cdCAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdCAgICB3aWR0aDogOTUlO1xuXHQgICAgbGVmdDogMyUgIWltcG9ydGFudDtcblx0ICAgIHRvcDogMzZweCAhaW1wb3J0YW50O1xuXG5cblx0ICB9XG5cblx0fVxufVxuXG4jcGFuaWVyQnV0dG9uIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogOTA7XG5cblx0YnV0dG9uIHtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0xMHB4O1xuXHRcdFx0cmlnaHQ6IDVweDtcblx0XHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdHdpZHRoOiAwO1xuXHRcdFx0aGVpZ2h0OiAwO1xuXHRcdFx0Ym9yZGVyLWxlZnQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdGJvcmRlci1yaWdodDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICNmZmY7XG5cdFx0fVxuXHR9XG5cblx0YnV0dG9uW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdHNwYW4ubnVtYmVyLXByb2R1Y3Qge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRiYWNrZ3JvdW5kOiAkcmVkO1xuXHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0aGVpZ2h0OiAxNnB4O1xuXHRcdHdpZHRoOiAxNnB4O1xuXHRcdHJpZ2h0OiA2cHg7XG5cdFx0dG9wOiA2cHg7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRsaW5lLWhlaWdodDogMTZweDtcblx0fVxufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2Fzc2V0cy9zY3NzL2Zyb250ZW5kL2xheW91dHMvX2hlYWRlci5zY3NzIiwiI3Nob3ctbW9yZS1mb290ZXIge1xuICB0ZXh0LWFsaWduOiBpbml0aWFsO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgcGFkZGluZy1yaWdodDogOHB4O1xuICB9XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgfVxuXG4gICYub3BlbiBpIHtcbiAgICBAaW5jbHVkZSByb3RhdGUoOTApO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG5cbmZvb3RlciB7XG5cbiAgYmFja2dyb3VuZDogIzI2MjYyNjtcblxuICAuZmlyc3QtZm9vdGVyIHtcbiAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrMjtcbiAgfVxuXG4gIHVsLm5hdi1mb290ZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgbGkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuXG4gICAgfVxuICAgIGxpICBhIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICB1bC5saW5rLXF1aXQgIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgbGkubGluay1ob21lIHtcbiAgICAgIGltZyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDE5MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICB1bC5saW5rLXF1aXQgIGxpIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4gICAgaSB7XG4gICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG5cbiAgICAmOmhvdmVyIGkge1xuICAgICAgb3BhY2l0eTogMC42O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmLmxpbmstaG9tZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgYSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaW1nIHtcbiAgICAgICAgbWF4LWhlaWdodDogMzBweDtcbiAgICAgIH1cbiAgICB9XG5cblxuICB9XG5cbiAgI21vcmUtZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjYyNjI2O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMCAxNXB4O1xuXG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cblxuICAgIC53cmFwcGVyLXNlY29uZC1mb290ZXIge1xuICAgICAgcGFkZGluZzogODBweCAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICBmbGV4LWZsb3c6IHdyYXAgcm93O1xuXG4gICAgICB3aWR0aDogOTAlO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UgdXApIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuXG5cblxuXG4gICAgJi5jb2xsYXBzZWQge1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuNDVzIGVhc2UtaW47XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgZm9udC1mYW1pbHk6ICdHb3RoYW0nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5OZXdzbGV0dGVyU3Vic2NyaXB0aW9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgIGJhY2tncm91bmQ6ICMzYjM5Mzk7XG4gICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgbGFiZWwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuXG4gICAgICAuaGVscGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgfVxuXG4gICAgICBpbnB1dCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA3MHB4KTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE0cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkcmVkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkcmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZDNkM2QzO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogI2QzZDNkMztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA0NTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gICNibG9jay1tZW51LW1lbnUtZm9vdGVyLW5hdmlnYXRpb24ge1xuICAgIHdpZHRoOiA1MCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBmbGV4LWZsb3c6IHdyYXAgcm93O1xuXG4gICAgICBsaSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICAjYmxvY2stc2ltcGxlbmV3cy0yNSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC53cmFwcGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMzYjM5Mzk7XG4gICAgICBwYWRkaW5nOiAzMHB4O1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgIGZvcm0gPiBkaXYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgZGl2LmZvcm0tdHlwZS10ZXh0ZmllbGQge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAlO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG5cblxuXG4gICNibG9jay1tZW51LW1lbnUtbGVnYWwtbmF2aWdhdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogI2ZmZjtcblxuICAgIH1cbiAgfVxuXG59XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXNzZXRzL3Njc3MvZnJvbnRlbmQvbGF5b3V0cy9fZm9vdGVyLnNjc3MiLCIjYnJlYWRjcnVtYnMtd3JhcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgYS5iYWNrLWJ1dHRvbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgcGFkZGluZzogMjVweCA0MHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG4gICAgICBwYWRkaW5nOiAyNXB4IDQwcHggMjVweCAxMDBweDtcbiAgICB9XG4gIH1cbiAgdWwuYnJlYWRjcnVtYnMge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgfVxufVxuXG4jYmxvY2stZmVhdHVyZWQge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA4MHJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZpZ3VyZSBmaWd1cmUgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5maWd1cmUgZmlndXJlOjphZnRlciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgIGhlaWdodDogMjFweDtcbiAgICAgIHdpZHRoOiA0NXB4O1xuICAgIH1cbiAgfVxuXG59IC8vIGVuZCAjYmxvY2stZmVhdHVyZWRcblxuXG4jZ3VhcmFudGVlcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmF5O1xuICBwYWRkaW5nLXRvcDogMDtcblxuICBoNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg5KTtcbiAgICB9XG4gIH1cblxuICBpIHtcbiAgICBmb250LXNpemU6IDMycHg7XG4gIH1cblxufSAvLyBlbmQgI2d1YXJhbnRlZXNcblxuXG4uYmxvY2stc29jaWFsIHtcbiAgcGFkZGluZy10b3A6IDA7XG5cblxuICB1bC5zb2NpYWwtc2hhcmUge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIH1cblxuICB1bC5zb2NpYWwtc2hhcmUgIGxpIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoLi4vaW1hZ2VzL3NlcGFyYXRldXItbGluZS5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgYm90dG9tIC8gY29udGFpbjtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpO1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGJsYWNrMjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiRyZWQ7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxuXG59XG5cblxuI2JveC1mZWF0dXJlcy1oZWFkZXIge1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuXG4gIGNvbG9yOiAjOGY4ZThlO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTQuNXB4O1xuICAgIH1cbiAgfVxuXG4gIGg1IHtcbiAgICBmb250LXNpemU6IDkuOHB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LWZhbWlseTogJ0dvdGhhbScsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bil7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuICB9XG5cbiAgaSB7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdG1hcmdpbi1yaWdodDogNnB4O1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXApIHtcblx0XHRcdGZvbnQtc2l6ZTogNDBweDtcblx0XHRcdG1hcmdpbi1yaWdodDogMjBweDtcblx0XHR9XG4gIH1cblxuICAuY29sLWd1YXJhbnRlZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC1mbG93OiB3cmFwIHJvdztcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICBmbGV4LWZsb3c6IG5vd3JhcCByb3c7XG4gICAgfVxuXG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB9XG5cbn1cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9hc3NldHMvc2Nzcy9mcm9udGVuZC9jb21wb25lbnRzL19ibG9ja3Muc2NzcyIsIi5mb3JtLXVzZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXgtd2lkdGg6IDUzNnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcblxuICBtYXJnaW46IDAgYXV0bztcblxuICAmLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAub3Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1mbG93OiB3cmFwIHJvdztcblxuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICNjNGMzYzM7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDQ5JTtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICB9XG5cbiAgLmZvcm0tZXJyb3Ige1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxuXG4gIC5jb25uZWN0LWZhY2Vib29rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA3cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI2N2IyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGkge1xuICAgICAgZm9udC1zaXplOiAyZW07XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogLTZweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICB9XG4gIH1cblxuICAuYnV0dG9uLmJsYWNrLWxpZ2h0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmJ1dHRvbi5ibGFjayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogIzBiMGIwYjtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjOTk5OTk5O1xuICAgIH1cbiAgfVxuXG5cbiAgLmZvcm0taW5wdXQtdGV4dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuXG4gICAgaW5wdXQsIHRleHRhcmVhIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk5OTk7XG4gICAgICBib3gtc2hhZG93OiAgMCAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBpbnB1dDo6cGxhY2Vob2xkZXIsIHRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogIzk5OTk5OTtcbiAgICB9XG5cblxuICAgICYuZW1haWw6YWZ0ZXIsXG4gICAgJi5uYW1lOmFmdGVyLFxuICAgICYucGFzc3dvcmQ6YWZ0ZXIsXG4gICAgJi5waG9uZTphZnRlciB7XG4gICAgICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgICAgIGNvbG9yOiAjOTk5OTk5O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMCU7XG4gICAgICByaWdodDogMTJweDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG5cbiAgICAmLmVtYWlsOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMGUwXCI7XG4gICAgfVxuXG4gICAgJi5uYW1lOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMDA3XCI7XG4gICAgfVxuXG4gICAgJi5wYXNzd29yZDphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlxcZjAyM1wiO1xuICAgIH1cblxuICAgICYucGhvbmU6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcXGYwOTVcIjtcbiAgICB9XG5cbiAgfVxuXG4gIC5ncm91cC1jaGVja2JveGVzIHtcbiAgICBpbnB1dCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgICNyZWdpc3RyYXRpb25fcHJvbW90aW9ucyB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDAgMjBweCAyNHB4O1xuICAgIH1cbiAgfVxuXG5cbiAgLmFjdGlvbnMge1xuXG4gICAgLmdyb3VwLXRvcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNnB4O1xuXG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cblxuXG4gICAgc3BhbixcbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGNvbG9yOiAjM2IzOTM5O1xuXG4gICAgICAmLmJsYWNrIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhLmxpbmstdGV4dCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q5ZDlkOTtcblxuICAgICAgaSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZmY7XG4gICAgICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuXG4gIC5vdGhlci1vcHRpb25zIHtcbiAgICBtYXJnaW46IDQwcHggMCAwO1xuICAgIHBhZGRpbmc6IDIwcHggMCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzk5OTk5OTtcblxuICAgIGEge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgY29sb3I6ICMwMDA7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uanMtc2VjdXJpdHktcmVxdWVzdC1sb2dpbixcbi5qcy1zZWN1cml0eS1yZXF1ZXN0LXJlc2V0IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2Fzc2V0cy9zY3NzL2Zyb250ZW5kL3BhZ2VzL19sb2dpbi5zY3NzIiwiYm9keSB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cbi5tYWluLWNvbnRlbnQucGFnZS1ob21lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXk7XG4gIHBhZGRpbmctYm90dG9tOiAzNXB4O1xuICBwYWRkaW5nLXRvcDogNDBweDtcblxuICAuaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIGltZyB7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi5Qcm9kdWN0U2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBib3JkZXItYm90dG9tOiA1MHB4IHNvbGlkICRncmF5O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgLlByb2R1Y3RTZWxlY3Rpb24tdGl0bGUge1xuICAgICAgd2lkdGg6IDIzMHB4O1xuICAgIH1cbiAgfVxuXG4gICYgPiBwIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICB9XG5cbiAgJi5ncmF5LWJsYWNrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2IzOTM5O1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAuQ2Fyb3VzZWxJdGVtLXRpdGxlLFxuICAgIC5DYXJvdXNlbEl0ZW0tc3VidGl0bGUsXG4gICAgLkNhcm91c2VsSXRlbS1kZXRhaWxzIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gQ09OVEFDVCBNT0RBTFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuI2NvbnRhY3QtcmVxdWVzdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9hc3NldHMvc2Nzcy9mcm9udGVuZC9wYWdlcy9faG9tZS5zY3NzIiwiLkFydGlzdFNlcmllcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgYm9yZGVyLWJvdHRvbTogNTBweCBzb2xpZCAkZ3JheTtcbn1cblxuaDEudGl0bGUtbWVkaXVtLXBhZ2Uge1xuICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJywgc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpO1xuXG4gIHNwYW4ge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuXG4ubWFpbi1wcm9kdWl0ICB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmF5O1xuICBwYWRkaW5nLXRvcDogNTBweDtcbn1cblxuc2VjdGlvbi5pbmZvcm1hdGlvbnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA0NXB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBtYXJnaW46IDE1cHggMDtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIHAge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0NXB4O1xuICAgIH1cbiAgfVxuXG4gIHVsLmxpc3QtZGVjb3JhdGlvbiB7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgbGkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uYWR2YW50YWdlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIG1pbi13aWR0aDogMzMlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5ibG9jayB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleTtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoN3B4KTtcbiAgICAgIHBhZGRpbmc6IDdweDtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICBjb2xvcjogJGdyZXk7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoOCk7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuXG5cdFx0aSB7XG5cdFx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0fVxuXG4gIH1cbn1cblxudWwudGFncyB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgbGkgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrMjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDNweCk7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LWZhbWlseTogJ0dvdGhhbScsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuODU7XG4gICAgfVxuICB9XG59XG5cblxuLndyYXBwZXItbGFydGlzdGUge1xuICBib3JkZXItYm90dG9tOiA1MHB4IHNvbGlkICNmNWY1ZjU7XG4gIC5ibG9jay1waWN0dXJlIHtcbiAgICBmaWd1cmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXk7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDEwMCUpO1xuICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICAgIHdpZHRoOiAxNTBweDtcblxuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAtbW96LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIC1tb3otanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICBpbWcge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfSAvLyBlbmQgZmlndXJlXG5cbiAgfSAvLyBlbmQgLmJsb2NrLXBpY3R1cmVcbiAgaDIge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgaDIuYmxvY2stdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICB9XG5cbiAgYS5nby10by1hcnRpc3Qge1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgY29udGVudDogXCJcXGYxNzhcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogNCU7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRyZWQ7XG4gICAgfVxuICB9XG5cbiAgLmJsb2NrLWNvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICB9XG5cblxuXG59IC8vIGVuZCAud3JhcHBlci1sYXJ0aXN0ZVxuXG5cbi5ib3R0b20tb3B0aW9ucyB7XG4gIGNsZWFyOiBib3RoO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLm9wdGlvbnMtbGVmdCB7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKXtcbiAgICAgIHdpZHRoOiA5NSU7XG4gICAgfVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cbiAgfVxuXG4gIC5vcHRpb25zLXJpZ2h0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjAlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKXtcbiAgICAgIHdpZHRoOiA1JTtcbiAgICB9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0fVxuICB9XG5cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gRlJBTUlOR1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AbWl4aW4gZnJhbWluZ0tpbmQoJGltYWdlUHJlZml4LCAkd2lkdGgpIHtcbiAgLlByb2R1Y3RJbWFnZS10b3BCb3JkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9mcmFtaW5ncy8nICsgJGltYWdlUHJlZml4ICsgJy10b3AucG5nJykgcmVwZWF0LXg7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGhlaWdodDogJHdpZHRoO1xuICAgIG1hcmdpbjogMCAkd2lkdGggLSAxO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogLSR3aWR0aCArIDE7XG4gICAgICBoZWlnaHQ6IGZsb29yKCR3aWR0aCAqIDEuMzMpO1xuICAgICAgd2lkdGg6IGZsb29yKCR3aWR0aCAqIDEuMzMpO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2ZyYW1pbmdzLycgKyAkaW1hZ2VQcmVmaXggKyAnLXRvcExlZnQucG5nJykgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IC0kd2lkdGggKyAxO1xuICAgICAgaGVpZ2h0OiBmbG9vcigkd2lkdGggKiAxLjMzKTtcbiAgICAgIHdpZHRoOiBmbG9vcigkd2lkdGggKiAxLjMzKTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9mcmFtaW5ncy8nICsgJGltYWdlUHJlZml4ICsgJy10b3BSaWdodC5wbmcnKSBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgfVxuICB9XG5cbiAgLlByb2R1Y3RJbWFnZS1tYWluIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBtYXJnaW46IDAgJHdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMXB4O1xuICAgICAgbGVmdDogLSR3aWR0aDtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlICsgMnB4KTtcbiAgICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9mcmFtaW5ncy8nICsgJGltYWdlUHJlZml4ICsgJy1sZWZ0LnBuZycpIHJlcGVhdC15O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMXB4O1xuICAgICAgcmlnaHQ6IC0kd2lkdGg7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDJweCk7XG4gICAgICB3aWR0aDogJHdpZHRoO1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvZnJhbWluZ3MvJyArICRpbWFnZVByZWZpeCArICctcmlnaHQucG5nJykgcmVwZWF0LXk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgfVxuICB9XG5cbiAgLlByb2R1Y3RJbWFnZS1ib3R0b21Cb3JkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9mcmFtaW5ncy8nICsgJGltYWdlUHJlZml4ICsgJy1ib3R0b20ucG5nJykgcmVwZWF0LXg7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGhlaWdodDogJHdpZHRoO1xuICAgIG1hcmdpbjogMCAkd2lkdGggLSAxO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogLSR3aWR0aCArIDE7XG4gICAgICBoZWlnaHQ6IGZsb29yKCR3aWR0aCAqIDEuMzMpO1xuICAgICAgd2lkdGg6IGZsb29yKCR3aWR0aCAqIDEuMzMpO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2ZyYW1pbmdzLycgKyAkaW1hZ2VQcmVmaXggKyAnLWJvdHRvbUxlZnQucG5nJykgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcmlnaHQ6IC0kd2lkdGggKyAxO1xuICAgICAgaGVpZ2h0OiBmbG9vcigkd2lkdGggKiAxLjMzKTtcbiAgICAgIHdpZHRoOiBmbG9vcigkd2lkdGggKiAxLjMzKTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9mcmFtaW5ncy8nICsgJGltYWdlUHJlZml4ICsgJy1ib3R0b21SaWdodC5wbmcnKSBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgfVxuICB9XG59XG5cbi5Qcm9kdWN0SW1hZ2Uge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogYXV0bztcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDJweCAyMnB4IC0ycHggcmdiYSgwLDAsMCwwLjc4KTtcbiAgLW1vei1ib3gtc2hhZG93OiAwIDJweCAyMnB4IC0ycHggcmdiYSgwLDAsMCwwLjc4KTtcbiAgYm94LXNoYWRvdzogMCAycHggMjJweCAtMnB4IHJnYmEoMCwwLDAsMC43OCk7XG5cbiAgJi1jb250YWluZXIge1xuICAgIG1hcmdpbjogMjBweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDFzO1xuXG4gICAgJi5zY2VuZS1kZWZhdWx0IHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKXtcbiAgICAgICAgcGFkZGluZzogNDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNjZW5lLXdoaXRlV2FsbCxcbiAgICAmLnNjZW5lLWJsYWNrV2FsbCB7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApe1xuICAgICAgICBwYWRkaW5nOiA4MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc2NlbmUtd2hpdGVXYWxsIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZnJhbWluZ3Mvc2NlbmUtd2FsbC13aGl0ZS5qcGcpO1xuICAgIH1cblxuICAgICYuc2NlbmUtYmxhY2tXYWxsIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZnJhbWluZ3Mvc2NlbmUtd2FsbC1ibGFjay5qcGcpO1xuICAgIH1cblxuICAgICYuc2NlbmUtc29mYSB7XG4gICAgICBwYWRkaW5nOiA1JSAxOSUgMzElIDUlO1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9mcmFtaW5ncy9zY2VuZS1zb2ZhLmpwZyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIH1cbiAgfVxuXG4gICYuc2hhZG93Ym94LWJsYWNrIHtcbiAgICBAaW5jbHVkZSBmcmFtaW5nS2luZCgnc2hhZG93Ym94LWJsYWNrJywgMTlweCk7XG4gIH1cblxuICAmLnNoYWRvd2JveC13aGl0ZSB7XG4gICAgQGluY2x1ZGUgZnJhbWluZ0tpbmQoJ3NoYWRvd2JveC13aGl0ZScsIDE5cHgpO1xuICB9XG5cbiAgJi5iZWhpbmRnbGFzcy1ibGFjayB7XG4gICAgQGluY2x1ZGUgZnJhbWluZ0tpbmQoJ2JlaGluZGdsYXNzLWJsYWNrJywgMTRweCk7XG4gIH1cblxuICAmLmJlaGluZGdsYXNzLXdoaXRlIHtcbiAgICBAaW5jbHVkZSBmcmFtaW5nS2luZCgnYmVoaW5kZ2xhc3Mtd2hpdGUnLCAxNHB4KTtcbiAgfVxuXG4gICYtbWFpbi5tb3VudGVkIHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMnB4IDExcHggLTJweCByZ2JhKDAsMCwwLDAuNzgpIGluc2V0O1xuICAgIC1tb3otYm94LXNoYWRvdzogMCAycHggMTFweCAtMnB4IHJnYmEoMCwwLDAsMC43OCkgaW5zZXQ7XG4gICAgYm94LXNoYWRvdzogMCAycHggMTFweCAtMnB4IHJnYmEoMCwwLDAsMC43OCkgaW5zZXQ7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxufVxuXG4jYmxvY2stdmlld3Mtb3B0aW9ucyB7XG4gIHVsIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHJlZDtcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiA2MnB4O1xuICAgICAgICB3aWR0aDogNjJweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgICAgICAgIHdpZHRoOiA0MnB4O1xuICAgICAgICAgIGhlaWdodDogNDJweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5maWd1cmUuZ2lmdFZvdWNoZXIge1xuICBoZWlnaHQ6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBpbWcge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5cbi5vdXRvZnN0b2NrLWZvcm0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYjFiMWIxO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAucmVxdWVzdC1vdXRvZnN0b2NrLW1lc3NhZ2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnR290aGFtJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogMzAwO2ZvbnQtc2l6ZTogMTNweDtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBtYXJnaW46IDAgMTBweCAxMHB4IDMzcHg7XG4gIH1cbiAgLnRleHQtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzcHg7XG4gIH1cbn1cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9hc3NldHMvc2Nzcy9mcm9udGVuZC9wYWdlcy9fZmljaGUuc2NzcyIsIi5wYWdlLWNhdGFsb2d1ZSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4ud3JhcHBlci1tYWluLWNhdGFsb2d1ZSB7XG5cblx0YmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcblxuXG59XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXNzZXRzL3Njc3MvZnJvbnRlbmQvcGFnZXMvX2NhdGFsb2d1ZS5zY3NzIiwiLm1haW4tdmVybmlzc2FnZSB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmctdG9wOiA0MHB4O1xuXG5cdC5tYWluLWJvZHkge1xuXHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cblx0XHRmbGV4LWZsb3c6IHdyYXAgcm93O1xuXHRcdHBhZGRpbmc6IDIwcHg7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCl7XG5cdFx0XHRwYWRkaW5nOiA1MHB4IDEwMHB4O1xuXHRcdFx0ZmxleC1mbG93OiBub3dyYXAgcm93O1xuXHRcdH1cblxuXHRcdD4gZGl2LmxlZnQge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKXtcblx0XHRcdFx0d2lkdGg6IDcwJTtcblxuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpe1xuXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKXtcblx0XHRcdFx0XHR3aWR0aDogNjAlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpe1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cblx0XHRhc2lkZSB7XG5cblx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSl7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXApe1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMTAwcHg7XG5cdFx0XHRcdHdpZHRoOiAyNSU7XG5cblxuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpe1xuXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKXtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMjBweDtcblx0XHRcdFx0XHR3aWR0aDogMzAlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdHNlY3Rpb24ge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuXHRcdFx0XHRwYWRkaW5nOiAyMHB4IDEwcHg7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDUwcHg7XG5cdFx0XHR9XG5cblx0XHRcdC5idXR0b24ucmVkLWxpZ2h0IHtcblx0XHRcdFx0cGFkZGluZzogMTJweCAwO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblxuXHRcdFx0LmNpcmNsZSB7XG5cdFx0XHRcdG1hcmdpbjogMTBweCBhdXRvIDIwcHggYXV0bztcblx0XHRcdH1cblxuXHRcdFx0aDMge1xuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHQvL3BhZGRpbmc6IDAgMjtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRyZWQ7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAxMHB4O1xuXG5cdFx0XHR9XG5cblx0XHRcdC5ib3gtY29udGVudCB7XG5cdFx0XHRcdHBhZGRpbmc6IDIwcHg7XG5cdFx0XHR9XG5cblx0XHRcdHVsIHtcblx0XHRcdFx0Y29sb3I6ICMzYjM5Mzk7XG5cdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHRcdG1hcmdpbjogMCAwO1xuXHRcdFx0fVxuXG5cdFx0XHRsaSB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMWVtO1xuXHRcdFx0XHR0ZXh0LWluZGVudDogLS43ZW07XG5cdFx0XHR9XG5cblx0XHRcdGxpOjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiBcIsOiwoDCoiBcIjtcblx0XHRcdFx0Y29sb3I6ICRyZWQ7IC8qIG9yIHdoYXRldmVyIGNvbG9yIHlvdSBwcmVmZXIgKi9cblx0XHRcdH1cblxuXHRcdFx0Lmljb24tZmlsbSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogNjBweDtcblx0XHRcdH1cblxuXHRcdFx0LmZhLWNhbGVuZGFyLWNoZWNrLW8ge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDZweDtcblx0XHRcdH1cblxuXHRcdH1cblx0fVxuXG5cblx0LmFydGlzdHMge1xuXHRcdHBhZGRpbmc6IDIwcHggMjBweDtcblx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdG1hcmdpbjogNTBweCAwIDtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cdFx0ZmxleC1mbG93OiB3cmFwIHJvdztcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cdFx0XHRmbGV4LWZsb3c6IG5vd3JhcCByb3c7XG5cdFx0XHRwYWRkaW5nOiA1MHB4IDEwMHB4O1xuXHRcdH1cblxuXHRcdC5ncm91cC1sZWZ0IHtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiA1NXB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5ib3gtdGl0bGUge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMTBweDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDQwcHg7XG5cdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgJHJlZDtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdGNsZWFyOiBib3RoO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0XHR9XG5cblx0XHQuY2lyY2xlIHtcblx0XHRcdGJhY2tncm91bmQ6ICNmNWY1ZjU7XG5cdFx0XHRoZWlnaHQ6IDE1MHB4O1xuXHRcdFx0d2lkdGg6IDE1MHB4O1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuXHRcdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuaWMtcGVvcGxlIHtcblx0XHRcdGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWMtcGVvcGxlLnBuZykgbm8tcmVwZWF0O1xuXHRcdFx0aGVpZ2h0OiA1NXB4O1xuXHRcdFx0d2lkdGg6IDc4cHg7XG5cdFx0fVxuXG5cblx0XHR1bCB7XG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblxuXHRcdHVsIGxpIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdGNvbG9yOiAkcmVkO1xuXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDogXCIgfCBcIjtcblx0XHRcdFx0Y29sb3I6ICM2MjYwNjA7XG5cdFx0XHR9XG5cblx0XHRcdCY6bGFzdC1jaGlsZDphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHR9XG5cblx0XHRcdGEge1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcblx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdH1cblxuXHR9XG5cblx0LnBvc3QtdGl0bGUge1xuXHRcdGZvbnQtc2l6ZTogMjRweDtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRwYWRkaW5nOiAxMHB4IDA7XG5cdFx0bWFyZ2luOiAwIDA7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCl7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdH1cblx0fVxuXG5cblx0LnBvc3QtZGF0ZSB7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0Zm9udC1zaXplOiAyMHB4O1xuXHR9XG5cblxuXHQucG9zdC1hZGRyZXNzIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0Zm9udC1zaXplOiAyMC44N3B4O1xuXHRcdGNvbG9yOiAjNjY2NjY2O1xuXHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0cGFkZGluZy1ib3R0b206IDEwcHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblxuXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdFx0aSB7XG5cdFx0XHRjb2xvcjogJHJlZDtcblx0XHR9XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdGhlaWdodDogMnB4O1xuXHRcdFx0YmFja2dyb3VuZDogJHJlZDtcblx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR9XG5cdH1cblxuXG5cblxuXHQucG9zdC1pbWFnZXMge1xuXHRcdG1hcmdpbjogMjBweCAwO1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHQvL1xuXHQvL1xuXHQvL1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdGZsZXgtZmxvdzogd3JhcCByb3c7XG5cdFx0fVxuXG5cdFx0LmltZy13cmFwcGVyIHtcblx0Ly9cdFx0d2lkdGg6IDEwMCU7XG5cblx0Ly9cblx0Ly9cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdC8vXHRcdFx0cGFkZGluZy1ib3R0b206IDIwcHg7XG5cdC8vXHRcdH1cblx0Ly9cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG5cdFx0XHRcdHdpZHRoOiAzMyU7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdH1cblx0XHR9XG5cblx0fVxuXG59XG5cblxuLmNpcmNsZSB7XG5cblx0aGVpZ2h0OiAxMDBweDtcblx0d2lkdGg6IDEwMHB4O1xuXHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cblx0Ym9yZGVyLXJhZGl1czogMTAwJTtcblxuXG5cblx0aSB7XG5cdFx0Y29sb3I6ICMxMDEyMTI7XG5cdFx0Zm9udC1zaXplOiA2MHB4O1xuXHR9XG5cblxuXG5cbn1cblxuLmJsb2NrLXRpdGxlLWdhbGxlcnkge1xuXHRtYXJnaW46IDAgMjBweCAxMHB4IDIwcHg7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cblx0Ym9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRyZWQ7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuXHQucmVkIHtcblx0XHRjb2xvcjogJHJlZDtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cdFx0bWFyZ2luOiAwIDgwcHggMzBweCA4MHB4O1xuXHR9XG59XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXNzZXRzL3Njc3MvZnJvbnRlbmQvcGFnZXMvX3Zlcm5pc3NhZ2Uuc2NzcyIsIm1haW4uYXJ0aXN0IHtcblx0cGFkZGluZy10b3A6IDIwcHg7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApe1xuXHRcdHBhZGRpbmctdG9wOiA1MHB4O1xuXHR9XG5cblx0Ly8uYnV0dG9uLnRyYW5zcGFyZW50LXJlZCB7XG5cdC8vXHR3aWR0aDogMTEwcHg7XG5cdC8vXHRoZWlnaHQ6IDI1cHg7XG5cdC8vXHRwYWRkaW5nOiAwIDA7XG5cdC8vXHRkaXNwbGF5OiBmbGV4O1xuXHQvL1x0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Ly9cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHQvL31cbn1cblxuI2FydGlzdC1pbmZvcm1hdGlvbiB7XG5cdC8vYmFja2dyb3VuZDogdXJsKC4uL2ltZy9iZy1hcnRpc3QuanBnKSBuby1yZXBlYXQgY2VudGVyIHRvcDtcblx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0cGFkZGluZzogMjVweCAgMjBweDtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKXtcblx0XHRwYWRkaW5nOiA1MHB4ICA3MHB4O1xuXHR9XG5cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KXtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG5cdFx0XHRwYWRkaW5nOiAyMHB4IDtcblx0XHR9XG5cdH1cblxuXG5cdC5ib2R5LXRleHQge1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXHRcdGNsZWFyOiBib3RoO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApe1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDI0cHg7XG5cdFx0fVxuXG5cdH1cblxuXG5cdC5wYW5lbC53aGl0ZS50cmFuc3BhcmVudCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblxuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuXHRcdGZsZXgtZmxvdzogd3JhcCByb3c7XG5cblx0XHRwYWRkaW5nOiAyMHB4IDEwcHg7XG5cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKXtcblx0XHRcdGZsZXgtZmxvdzogbm93cmFwIHJvdztcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKXtcblx0XHRcdHBhZGRpbmc6IDUwcHggMTIwcHggNTBweCA2MHB4O1xuXG5cdFx0fVxuXG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KXtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuXG5cdFx0XHRcdHBhZGRpbmc6IDQwcHggNjBweDtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cblxuXHRcdC5idXR0b24udHJhbnNwYXJlbnQtcmVkIHtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXG5cdFx0XHRcdG1hcmdpbjogMTBweCAwIDA7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRyaWdodDogMDtcblxuXHRcdFx0fVxuXHRcdH1cblxuXG5cdFx0LmJveC1pbWFnZSB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXHRcdFx0bWluLXdpZHRoOiAyMDVweDtcblx0XHRcdG1pbi1oZWlnaHQ6IDIwNXB4O1xuXHRcdFx0d2lkdGg6IDE1JTtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmJveC1hcnRpc3QtaW5mbyB7XG5cdFx0XHR3aWR0aDogODMlO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5ib3gtYXJ0aXN0LWluZm8gcCB7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdH1cblxuXHR9XG5cblx0aDEucGFnZS10aXRsZSB7XG5cdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdG1hcmdpbi1yaWdodDogMTZweDtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0fVxuXG5cdC5ncm91cC10b3Age1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHR9XG5cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0XHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRcdH1cblxuXHR9XG5cblxufVxuXG5cbi5wYW5lbC53aGl0ZS50cmFuc3BhcmVudCB7XG5cdGJhY2tncm91bmQ6IHJnYmEoMjUxLCAyNTEsIDI1MSwgMC44KTtcblx0bWFyZ2luOiAwIGF1dG87XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cblx0cCB7XG5cdFx0Y29sb3I6ICMzYjM5Mzk7XG5cdH1cbn1cblxuLmNpcmNsZS1pbWFnZSB7XG5cdGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG5cblxuI2JveC1hcnRpc3QtdmlkZW8ge1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHR3aWR0aDogMTAwJTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0ZmxleC1mbG93OiB3cmFwIHJvdztcblx0cGFkZGluZzogMjBweDtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKXtcblx0XHRmbGV4LWZsb3c6IG5vd3JhcCByb3c7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCl7XG5cdFx0cGFkZGluZzogNDBweCAxMDBweDtcblx0fVxuXG5cdC52aWRlby13cmFwcGVyIHtcblx0XHR3aWR0aDogNTAlO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdG1pbi1oZWlnaHQ6IDE4MHB4O1xuXHRcdFx0bWFyZ2luOiAyMHB4IDA7XG5cdFx0fVxuXHR9XG5cblx0LnZpZGVvIHtcblx0XHRiYWNrZ3JvdW5kOiAjM2IzOTM5O1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdG1pbi1oZWlnaHQ6IDQwMHB4O1xuXG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG5cblx0XHQucGxheS12aWRlbyB7XG5cblx0XHRcdGhlaWdodDogMTIwcHg7XG5cdFx0XHR3aWR0aDogMTIwcHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAxMDAlO1xuXHRcdFx0YmFja2dyb3VuZDogcmdiYSg5OCw5Niw5NiwwLjY1KTtcblxuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHRcdFx0b3BhY2l0eTogMC42NTtcblxuXHRcdFx0aSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogNjBweDtcblx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMTVweDtcblx0XHRcdH1cblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdH1cblxuXG5cdC52aWRlby1pbmZvIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSl7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG5cdFx0XHRcdGZsZXgtZmxvdzogd3JhcCByb3c7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNpcmNsZS1ncmF5IHtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG5cdFx0XHRcdHdpZHRoOiA4MHB4O1xuXHRcdFx0XHRoZWlnaHQ6IDgwcHg7XG5cdFx0XHR9XG5cblx0XHRcdGltZyB7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG5cdFx0XHRcdFx0aGVpZ2h0OiA0MHB4O1xuXHRcdFx0XHRcdHdpZHRoOiA1MHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHR9XG5cblxuXG5cdFx0Lmdyb3VwLW9uZSB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMTBweDtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXApe1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDYwcHg7XG5cdFx0XHR9XG5cblx0XHR9XG5cblx0XHRoci5yZWQge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApe1xuXHRcdFx0XHRtYXgtd2lkdGg6IDIyNHB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGgzLnRpdGxlIHtcblxuXG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSl7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRoMiB7XG5cdFx0XHRmb250LXNpemU6IDMwcHg7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHR9XG5cblxuXHRcdGEge1xuXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0Y29sb3I6ICM1ZjVmNWY7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1heC13aWR0aDogMTMwcHg7XG5cblx0XHRcdC50ZXh0IHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHR3aWR0aDogODAlO1xuXG5cdFx0XHR9XG5cblx0XHRcdGkge1xuXHRcdFx0XHRjb2xvcjogJHJlZDtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHR3aWR0aDogMjAlO1xuXHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdFx0cGFkZGluZy10b3A6IDVweDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjogJHJlZDtcblx0XHRcdH1cblxuXHRcdH1cblxuXHR9XG5cbn1cblxuLmNpcmNsZS1ncmF5IHtcblx0Ym9yZGVyLXJhZGl1czogMTAwJTtcblx0YmFja2dyb3VuZDogI2Y1ZjVmNTtcblx0d2lkdGg6IDE1MHB4O1xuXHRoZWlnaHQ6IDE1MHB4O1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG5cdGltZyB7XG5cdFx0aGVpZ2h0OiA2MHB4O1xuXHRcdHdpZHRoOiA3MHB4O1xuXHR9XG5cbn1cblxuXG5oci5yZWQge1xuXHRib3JkZXI6IDJweCBzb2xpZCAkcmVkO1xuXHRjbGVhcjogYm90aDtcblxuXHRtYXJnaW46IDI0cHggMDtcblxuXHR3aWR0aDogMTAwJTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKXtcblx0XHRtYXgtd2lkdGg6IDIwNnB4O1xuXHR9XG59XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXNzZXRzL3Njc3MvZnJvbnRlbmQvcGFnZXMvX2FydGlzdC5zY3NzIiwiLm1haW4tYXJ0aXN0ZXMge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYmxvY2stbGV0dGVycyB7XG5cdGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjZjVmNWY1O1xuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwIDA7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRmbGV4LWZsb3c6IG5vd3JhcCByb3c7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXG5cblx0dWwgIHtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0d2lkdGg6IGF1dG87XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuXHRcdFx0d2lkdGg6IDkwJTtcblx0XHRcdG1hcmdpbjogNnB4IGF1dG87XG5cblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWZsb3c6IHdyYXAgcm93O1xuXG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdH1cblxuXHR9XG5cblx0dWwgbGkge1xuXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR3aWR0aDogMzZweDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR9XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdGJhY2tncm91bmQ6ICNmNWY1ZjU7XG5cdFx0XHRoZWlnaHQ6IDEwcHg7XG5cdFx0XHR3aWR0aDogMnB4O1xuXHRcdFx0Y29udGVudDogXCIgXCI7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHRvcDogMzklO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuXHRcdFx0XHR0b3A6IDMwJTtcblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdCY6bGFzdC1jaGlsZDphZnRlciB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXG5cdH1cblxuXHR1bCBsaSBhIHtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0cGFkZGluZzogNXB4IDVweDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRib3JkZXItYm90dG9tOiA0cHggc29saWQgI2ZmZjtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG5cdFx0XHRwYWRkaW5nOiAwIDVweDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBvbmx5KSB7XG5cdFx0XHRwYWRkaW5nOiAxNXB4IDEwcHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlIHVwKXtcblx0XHRcdHBhZGRpbmc6IDIwcHggMjBweDtcblx0XHR9XG5cblx0XHQmLnNlbGVjdGVkLFxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICRyZWQ7XG5cdFx0XHRib3JkZXItYm90dG9tOiA0cHggc29saWQgJHJlZDtcblxuXHRcdH1cblx0fVxuXG59XG5cblxuLmJsb2NrLWFydGlzdGVzLWZpbHRlcnMge1xuXG5cdGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjZjVmNWY1O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHRmbGV4LWZsb3c6IHdyYXAgcm93O1xuXG5cdHBhZGRpbmc6IDAgMCAxMHB4IDA7XG5cblx0YmFja2dyb3VuZDogI2ZmZjtcblxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApe1xuXHRcdHBhZGRpbmc6IDIwcHggMDtcblx0fVxuXG5cdD4gLnNlbGVjdGVkIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHBhZGRpbmc6IDEwcHggMCAwIDA7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKXtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblxuXHRcdD4gYSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRjb2xvcjogIzNiMzkzOTtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXG5cdFx0XHRzcGFuIHtcblx0XHRcdFx0cGFkZGluZzogMCA2cHg7XG5cdFx0XHR9XG5cblx0XHRcdCY6YmVmb3JlIHtcblxuXHRcdFx0XHRmb250LWZhbWlseTogJ2ljb21vb24nO1xuXHRcdFx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdFx0XHR9XG5cblx0XHRcdCYuc2N1bHB0dXJlOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG5cdFx0XHR9XG5cdFx0XHQmLnBhaW50aW5nOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTA5XCI7XG5cdFx0XHR9XG5cdFx0XHQmLnBob3RvZ3JhcGhpZTpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiBcIlxcZTkwMlwiO1xuXHRcdFx0fVxuXHRcdFx0Ji5saXZyZTpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiBcIlxcZTkwMVwiO1xuXHRcdFx0fVxuXHRcdFx0Ji5pbGx1c3RyYXRpb246YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogXCJcXGU5MDZcIjtcblx0XHRcdH1cblxuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6ICRyZWQ7XG5cdFx0XHR9XG5cblxuXHRcdH1cblxuXHRcdGEgaSB7XG5cdFx0XHQvL2NvbG9yOiAkcmVkO1xuXHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdH1cblxuXHR9XG5cblx0LmJveC1saXN0LWZpbHRlcnMge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pe1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHR1bCB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRtYXJnaW46IDAgMDtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKXtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRmbGV4LWZsb3c6IHdyYXAgcm93O1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDUwcHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHotaW5kZXg6IDk7XG5cdFx0XHRib3JkZXItYm90dG9tOiA0cHggc29saWQgI2Y1ZjVmNTtcblx0XHR9XG5cblx0fVxuXG5cdHVsIGxpIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHR3aWR0aDogYXV0bztcblx0XHRwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuXHRcdHBhZGRpbmctbGVmdDogMzBweDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pe1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0cGFkZGluZzogOHB4IDA7XG5cdFx0fVxuXHR9XG5cblx0dWwgbGkgYSB7XG5cdFx0Y29sb3I6ICMzYjM5Mzk7XG5cdFx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRtaW4td2lkdGg6IDEyMHB4O1xuXHRcdH1cblxuXHRcdCYuc2VsZWN0ZWQsXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogJHJlZDtcblx0XHR9XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG5cdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCl7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCl7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMzBweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLnNjdWxwdHVyZTpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcXGU5MDBcIjtcblx0XHR9XG5cdFx0Ji5wYWludGluZzpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcXGU5MDlcIjtcblx0XHR9XG5cdFx0Ji5waG90b2dyYXBoaWU6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTAyXCI7XG5cdFx0fVxuXHRcdCYubGl2cmU6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG5cdFx0fVxuXHRcdCYuaWxsdXN0cmF0aW9uOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlxcZTkwNlwiO1xuXHRcdH1cblx0fVxufVxuXG5cbi5ibG9jay1zZWFyY2gtYXJ0aXN0IHtcblx0cGFkZGluZzogMjBweCAwO1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG5cdGJhY2tncm91bmQ6ICNmZmY7XG5cblx0LmlucHV0LXNlYXJjaCB7XG5cdFx0bWF4LXdpZHRoOiA3MDBweDtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuXHRcdFx0d2lkdGg6IDkwJTtcblx0XHR9XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IFwiXFxmMDAyXCI7XG5cdFx0XHRmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogOHB4O1xuXHRcdFx0cmlnaHQ6IDZweDtcblx0XHRcdGNvbG9yOiAkcmVkO1xuXG5cblxuXHRcdH1cblxuXHRcdGlucHV0IHtcblx0XHRcdGJvcmRlci10b3A6IDA7XG5cdFx0XHRib3JkZXItcmlnaHQ6IDA7XG5cdFx0XHRib3JkZXItbGVmdDogMDtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmFiYWJhO1xuXHRcdFx0Ym94LXNoYWRvdzogIDAgMDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR9XG5cdH1cblxuXHRpbnB1dDo6cGxhY2Vob2xkZXIsIHRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG5cdFx0Y29sb3I6ICNiYWJhYmE7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cbn1cblxucC5uby1yZXN1bHQtdGV4dCB7XG5cdHBhZGRpbmc6IDMwcHggMDtcblx0Zm9udC1zaXplOiAxLjFlbTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4uQmxvY2tBcnRpc3Qge1xuXHRtYXJnaW46IDIwcHggMDtcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0cGFkZGluZzogMjBweDtcblxuXHQuQmxvY2tBcnRpc3QtaGVhZGVyIHtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHBhZGRpbmc6IDIwcHg7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcblx0XHRcdHBhZGRpbmc6IDIwcHggMDtcblx0XHR9XG5cblx0XHRoMiB7XG5cdFx0XHRjb2xvcjogIzFlMWUxZTtcblx0XHRcdGZvbnQtc2l6ZTogMjRweDtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApe1xuXHRcdFx0XHRmb250LXNpemU6IDMwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGEge1xuXHRcdFx0Y29sb3I6ICM1ZjVmNWY7XG5cdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKXtcblx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0fVxuXHRcdFx0aSB7XG5cdFx0XHRcdGNvbG9yOiAkcmVkO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuYXZhdGFyIHtcblx0XHRcdGhlaWdodDogODBweDtcblx0XHRcdHdpZHRoOiA4MHB4O1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdG1hcmdpbi1yaWdodDogMjBweDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0fVxuXHR9XG5cbiAgLkJsb2NrQXJ0aXN0LWNhcm91c2VsIHtcbiAgICBoZWlnaHQ6IDI2NXB4O1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcblxuICAgIC5zbGljay1zbGlkZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWFycm93IHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBoZWlnaHQ6IDc1cHg7XG4gICAgICB3aWR0aDogNzVweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjIpO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNik7XG4gICAgICB9XG4gICAgfVxuICAgIC5zbGljay1wcmV2IHtcbiAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGYwNTNcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpY2stbmV4dCB7XG4gICAgICByaWdodDogMDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZjA1NFwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6IDI2NXB4O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2Fzc2V0cy9zY3NzL2Zyb250ZW5kL3BhZ2VzL19hcnRpc3Rlcy5zY3NzIiwicC50b3RhbCB7XG4gIGZvbnQtZmFtaWx5OiAnR290aGFtJywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG5cbiAgc3BhbiB7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBzYW5zLXNlcmlmO1xuICB9XG59XG5cbi5tYWluLWNoZWNrb3V0IHtcblx0YmFja2dyb3VuZDogI2Y1ZjVmNTtcblxuXHRwYWRkaW5nOiAyMHB4IDA7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCl7XG5cdFx0cGFkZGluZzogMjBweCAyMHB4O1xuXHR9XG5cblx0aDEucGFnZS10aXRsZSB7XG5cdFx0QGluY2x1ZGUgdGl0bGUtcGFnZSgpO1xuXG5cdFx0Ji5yb2JvdG8ge1xuXHRcdFx0Zm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYicsIHNlcmlmO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0fVxuXHR9XG5cblx0c2VsZWN0Lm51bWVybyB7XG5cblx0XHRtaW4td2lkdGg6IDUwcHg7XG5cdFx0d2lkdGg6IDYwcHg7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAycHg7XG5cdFx0fVxuXHR9XG5cblx0LnBhbmVsLndoaXRlIHtcblx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdHBhZGRpbmc6IDIwcHg7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblxuXG5cdC5hY3Rpb25zIHtcblx0XHRjbGVhcjogYm90aDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nOiAzMHB4IDAgMCAwO1xuXG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuXHRcdGZsZXgtZmxvdzogd3JhcCByb3c7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCl7XG5cdFx0XHRmbGV4LWZsb3c6IG5vd3JhcCByb3c7XG5cdFx0fVxuXG5cdFx0LmJ1dHRvbiB7XG5cdFx0XHRoZWlnaHQ6IDQ4cHg7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0cGFkZGluZzogMCAwO1xuXHRcdH1cblxuXHRcdC5idXR0b24udHJhbnNwYXJlbnQtcmVkIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0fVxuXG5cdFx0LmJ1dHRvbi5ncmF5LWxpZ2h0IHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHRwYWRkaW5nOiAyMHB4IDQwcHg7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG5cdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmJhY2sgaSB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXHRcdH1cblxuXHRcdC5zdWJtaXQgaSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDEwcHg7XG5cdFx0fVxuXG5cdFx0LnN1Ym1pdCB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdG1heC13aWR0aDogMzIycHg7XG5cblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXG5cblxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdH1cblxuXG5cdC5wcm9tby1jb2RlIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXgtd2lkdGg6IDMyMnB4O1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdGZsb2F0OiByaWdodDtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cblx0XHRpbnB1dCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXG5cdFx0fVxuXG5cblx0XHRhLnN1Ym1pdC1jb2RlLmJsYWNrIHtcblx0XHRcdGJvcmRlcjogMDtcblx0XHRcdGJhY2tncm91bmQ6ICMwMDAwMDA7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDZweDtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjY1cyBlYXNlLWluO1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0b3BhY2l0eTogMC42NTtcblx0XHRcdH1cblx0XHR9XG5cblxuXHR9XG5cblxuXHQudG90YWwge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGZsb2F0OiByaWdodDtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRtYXJnaW4tdG9wOiAzMHB4O1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCl7XG5cdFx0XHR3aWR0aDogNDAlO1xuXHRcdH1cblxuXHRcdGgyIHtcblx0XHRcdGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnR290aGFtJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHQucmVkIHtcblx0XHRcdFx0Y29sb3I6ICRyZWQ7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdH1cblxuXG5cdC5ib3gtcHJvZHVjdCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0ZmxleC1mbG93OiBub3dyYXAgcm93O1xuXHRcdHBhZGRpbmc6IDI1cHggMDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG5cdFx0XHRmbGV4LWZsb3c6IHdyYXAgcm93O1xuXHRcdH1cblxuXG5cdFx0Lmdyb3VwLWxlZnQge1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCl7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogODBweDtcblx0XHRcdH1cblxuXHRcdFx0aW1nIHtcblx0XHRcdFx0bWF4LWhlaWdodDogMTc1cHg7XG5cdFx0XHRcdG1heC13aWR0aDogMTc1cHg7XG5cdFx0XHRcdC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDJweCA1cHggMHB4IHJnYmEoMCwwLDAsMC43NSk7XG5cdFx0XHRcdC1tb3otYm94LXNoYWRvdzogMHB4IDJweCA1cHggMHB4IHJnYmEoMCwwLDAsMC43NSk7XG5cdFx0XHRcdGJveC1zaGFkb3c6IDBweCAycHggNXB4IDBweCByZ2JhKDAsMCwwLDAuNzUpO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdFx0fVxuXG5cblx0XHR9XG5cblx0XHQuZ3JvdXAtcmlnaHQge1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cblx0XHR9XG5cblx0XHRoMiB7XG5cdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHRcdGZvbnQtZmFtaWx5OiAnR290aGFtLUJvb2snLCBzYW5zLXNlcmlmO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdFx0fVxuXG5cdFx0XHQmLmFydGlzdCB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdHb3RoYW0nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aDMge1xuXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdGZvbnQtZmFtaWx5OiAnR290aGFtLUJvb2snLCBzYW5zLXNlcmlmO1xuXHRcdH1cblxuXHR9XG5cblx0c2VjdGlvbi5wYW5lbC53aGl0ZSB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdH1cblx0fVxuXG5cblx0LnNwaW5uZXIge1xuXHRcdHdpZHRoOiA5MHB4O1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHR9XG5cblx0LmRlbGV0ZSBpIHtcblx0XHRjb2xvcjogIzgwODA4MDtcblx0XHRmb250LXNpemU6IDI2cHg7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24gKSB7XG5cdFx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0fVxuXHR9XG5cblxuXG5cdC5tYWluLWdyb3VwIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRmbGV4LWZsb3c6IHdyYXAgcm93O1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuXHRcdFx0ZmxleC1mbG93OiBub3dyYXAgcm93O1xuXHRcdH1cblxuXHRcdD4gZGl2LmxlZnQge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcblx0XHRcdFx0d2lkdGg6IDY3JTtcblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdGFzaWRlIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG5cdFx0XHRcdHdpZHRoOiAzMCU7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdH1cblxuXHRcdH1cblxuXHR9XG5cblxuXHQjZ3VhcmFudGVlcyB7XG5cdFx0cGFkZGluZy10b3A6IDQ4cHg7XG5cdFx0cGFkZGluZy1ib3R0b206IDQ4cHg7XG5cblx0XHQuY29sLWd1YXJhbnRlZXMge1xuXHRcdFx0Ym9yZGVyLXJpZ2h0OiAycHggc29saWQgIzkzOTM5MztcblxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGNvbG9yOiAjNDk0OTQ5O1xuXG5cdFx0aDQsIHAsXG5cdFx0aSB7XG5cdFx0XHRjb2xvcjogIzQ5NDk0OTtcblx0XHR9XG5cblxuXHR9XG5cblx0c2VsZWN0LFxuXHR0ZXh0YXJlYSxcblx0aW5wdXQge1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICM4ODg4ODg7XG5cdFx0Ym94LXNoYWRvdzogMCAwO1xuXHR9XG5cblx0dGV4dGFyZWEge1xuXHRcdHJlc2l6ZTogbm9uZTtcblx0fVxuXG59XG5cblxuLnRhYmxlLWNoZWNrb3V0IHtcblx0Ym9yZGVyOiAwO1xuXG5cdHRoZWFkLFxuXHR0Ym9keSxcblx0dGZvb3Qge1xuXHRcdGJvcmRlcjogMDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuXHR9XG5cblx0dGgsXG5cdHRkIHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdHBhZGRpbmctbGVmdDogNXB4O1xuXHRcdFx0cGFkZGluZy1yaWdodDogNXB4O1xuXHRcdH1cblx0fVxuXG5cblxuXHR0aGVhZCB7XG5cdFx0YmFja2dyb3VuZDogI2U5ZTllOTtcblx0XHRjb2xvcjogIzNiMzkzOTtcblxuXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0dGgge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXHRcdFx0aGVpZ2h0OiA0OHB4O1xuXHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblxuXHRcdFx0JjpudGgtY2hpbGQoMykge1xuXHRcdFx0XHRjb250ZW50OiBcIlNVUFwiO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtY2hpbGQoNCkge1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKXtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuXG5cblx0dGJvZHkge1xuXG5cdFx0dGQge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdHb3RoYW0nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdHBhZGRpbmctdG9wOiAzMHB4O1xuXHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiAyMHB4O1xuXHRcdFx0fVxuXG5cdFx0XHQmOm50aC1jaGlsZCgxKSB7XG5cdFx0XHRcdC8vQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0XHRcdC8vfS9cblx0XHRcdH1cblxuXHRcdFx0JjpudGgtY2hpbGQoNCkge1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKXtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5wcmljZSB7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pe1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdH1cblxufVxuXG5cbi5ibG9jay1tb24tcGFuaWVyIHtcblxuXHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRwYWRkaW5nOiAyMHB4O1xuXG5cdCYuZml4ZWQge1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHR0b3A6IDIwcHg7XG5cdH1cblx0Ji5hYnNvbHV0ZSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMjBweDtcblx0fVxuXG5cdGgyLmJsb2NrLXRpdGxlIHtcblx0XHRAaW5jbHVkZSB0aXRsZS1wYWdlKCk7XG5cdFx0Zm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYicsIHNlcmlmO1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdH1cblxuXHR1bCB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXG5cdHVsIGxpIHtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QzZDNkMztcblx0XHRwYWRkaW5nLXRvcDogMjRweDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMjRweDtcblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdGNsZWFyOiBib3RoO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRib3JkZXItYm90dG9tOiAwO1xuXHRcdH1cblxuXHR9XG5cblx0dWwgbGkgc3BhbiB7XG5cblx0XHQmLmJveC10ZXh0IHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdH1cblxuXHRcdCYudGV4dCB7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0fVxuXG5cdFx0Ji5ib2xkIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdH1cblxuXHRcdCYucHJpY2Uge1xuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdGZsb2F0OiByaWdodDtcblxuXHRcdFx0Ji5yZWQge1xuXHRcdFx0XHRjb2xvcjogJHJlZDtcblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdCYudG90YWwge1xuXHRcdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdGNvbG9yOiAjM2IzOTM5O1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlIHVwKXtcblx0XHRcdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYucmVkIHtcblx0XHRcdGNvbG9yOiAkcmVkO1xuXHRcdH1cblxuXHR9XG5cblx0YS5tb2RpZmllciB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0Y29sb3I6ICMzYjM5Mzk7XG5cdFx0Zm9udC1zaXplOiAxNHB4O1xuXG5cdFx0cGFkZGluZy1ib3R0b206IDJweDtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0b3BhY2l0eTogMC44O1xuXHRcdH1cblx0fVxuXG5cblx0aW1nIHtcblx0XHQtd2Via2l0LWJveC1zaGFkb3c6IDBweCAycHggNXB4IDBweCByZ2JhKDAsMCwwLDAuNzUpO1xuXHRcdC1tb3otYm94LXNoYWRvdzogMHB4IDJweCA1cHggMHB4IHJnYmEoMCwwLDAsMC43NSk7XG5cdFx0Ym94LXNoYWRvdzogMHB4IDJweCA1cHggMHB4IHJnYmEoMCwwLDAsMC43NSk7XG5cblx0XHRtYXgtd2lkdGg6IDY4cHg7XG5cdH1cblxuXG5cdC5ib3gtaXRlbXtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRmbGV4LWZsb3c6IG5vd3JhcCByb3c7XG5cblx0XHQ+IGRpdiB7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdH1cblxuXHRcdC5xdHkge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRjbGVhcjogYm90aDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0cGFkZGluZy10b3A6IDIwcHg7XG5cdFx0fVxuXG5cdFx0LmFydGlzdCB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnR290aGFtJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0fVxuXG5cdFx0LnRleHQsXG5cdFx0Lm5hbWUtYXJ0IHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0fVxuXG5cdFx0Lmdyb3VwLW9uZSB7XG5cdFx0XHR3aWR0aDogNDAlO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDIwcHg7XG5cdFx0XHR9XG5cblx0XHRcdHNwYW4ge1xuXHRcdFx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0XHR9XG5cblx0XHR9XG5cblx0XHQuZ3JvdXAtdHdvIHtcblx0XHRcdHdpZHRoOiA0MCU7XG5cblx0XHRcdHNwYW4ge1xuXHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Lmdyb3VwLXRocmVlIHtcblx0XHRcdHdpZHRoOiAyMCU7XG5cdFx0fVxuXG5cblx0fVxuXG5cdC5qcy1yZW1vdmUtcGF5bWVudCB7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHR9XG59XG5cblxuLmJsb2NrLWJvZGUtcGFpZW1lbnQge1xuXG5cdGJhY2tncm91bmQ6ICNmZmY7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdG1hcmdpbi1ib3R0b206IDUwcHg7XG5cblx0aDIuYmxvY2stdGl0bGUge1xuXHRcdEBpbmNsdWRlIHRpdGxlLXBhZ2UoKTtcblxuXHRcdGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInLCBzZXJpZjtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cblx0XHRpbWcge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAxNnB4O1xuXHRcdH1cblx0fVxuXG5cdC5idXR0b24ucmVkLWxpZ2h0IHtcblx0XHRtYXgtd2lkdGg6IDMyMHB4O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdGZsb2F0OiByaWdodDtcblx0XHRtYXJnaW46IDIwcHggMDtcblxuXHRcdGhlaWdodDogNDdweDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0cGFkZGluZzogMCAwO1xuXHR9XG5cblx0LmJ1dHRvbi5ncmVlbi1saWdodCB7XG5cdFx0bWF4LXdpZHRoOiAzMjBweDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRjbGVhcjogYm90aDtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0bWFyZ2luOiAyMHB4IDA7XG5cdH1cblxuXHQuYWN0aW9uIHtcblx0XHRjbGVhcjogYm90aDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHR9XG5cblx0LmluZm9ybWF0aW9uIHtcblx0XHRjbGVhcjogYm90aDtcblx0fVxuXG5cdC5wYXltZW50LXRhYnMge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0LmFjdGl2ZS10YWIge1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuNjZzIGVhc2UtaW47XG5cdFx0XHR3aWR0aDogMDtcblx0XHRcdGhlaWdodDogMDtcblx0XHRcdGJvcmRlci1sZWZ0OiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0Ym9yZGVyLXJpZ2h0OiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG5cdFx0XHRib3JkZXItYm90dG9tOiAyMHB4IHNvbGlkICNlM2UzZTM7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXAgKSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdH1cblxuXHQudGFicyB7XG5cdFx0Ym9yZGVyOiAwO1xuXG5cdFx0LnRhYnMtdGl0bGUge1xuXG5cblx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdHdpZHRoOiAyMCU7XG5cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXApe1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuXHRcdFx0fVxuXG5cblxuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsIG9ubHkgKXtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRwYWRkaW5nOiA0cHggMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsIG9ubHkgKXtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsIG9ubHkgKXtcblx0XHRcdFx0d2lkdGg6IDUwJTtcblx0XHRcdFx0cGFkZGluZzogNHB4IDA7XG5cdFx0XHR9XG5cblxuXHRcdFx0PiBhIHtcblx0XHRcdFx0YmFja2dyb3VuZDogI2UzZTNlMztcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG5cdFx0XHRcdHBhZGRpbmc6IDEwcHggOHB4O1xuXHRcdFx0XHRvdXRsaW5lOiBub25lO1xuXG5cdFx0XHRcdGhlaWdodDogODBweDtcblxuXHRcdFx0XHR3aWR0aDogOTUlO1xuXG5cblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuXHRcdFx0XHRcdC8vd2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0aGVpZ2h0OiA4MHB4O1xuXHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OjA7XG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCY6bGFzdC1jaGlsZCBhIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cblx0XHRcdD4gYTpob3ZlciB7XG5cblx0XHRcdFx0Ym9yZGVyOiAycHggc29saWQgIzk5OTk5OTtcblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuXHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICM5OTk5OTk7XG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXG5cblx0XHR9XG5cblx0XHQuaXMtYWN0aXZlIHtcblxuXG5cdFx0XHQ+IGEge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZTNlM2UzO1xuXHRcdFx0XHRib3JkZXI6IDJweCBzb2xpZCAjOTk5OTk5O1xuXG5cdFx0XHR9XG5cblxuXHRcdH1cblxuXG5cblx0fVxuXG5cblx0LnRhYnMtY29udGVudCB7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdGJhY2tncm91bmQ6ICNlM2UzZTM7XG5cdH1cblxuXG5cdC50d28tY29sIHtcblxuXHRcdHBhZGRpbmctdG9wOiAyMHB4O1xuXHRcdHBhZGRpbmctYm90dG9tOiAxMHB4O1xuXG5cblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuXHRcdGZsZXgtZmxvdzogd3JhcCByb3c7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwICl7XG5cdFx0XHRmbGV4LWZsb3c6IG5vd3JhcCByb3c7XG5cblx0XHR9XG5cblx0XHQuZmlyc3QtY29sIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXAgKXtcblx0XHRcdFx0d2lkdGg6IDQwJTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuc2Vjb25kLWNvbCB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXAgKXtcblx0XHRcdFx0d2lkdGg6IDYwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0fVxuXG5cdC5mb3JtLWl0ZW0ge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0ZmxleC1mbG93OiB3cmFwO1xuXG5cdFx0LmJveC1sYWJlbCB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cblx0XHRcdGNvbG9yOiAjM2IzOTM5O1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCApe1xuXHRcdFx0XHR3aWR0aDogMzAlO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMjBweDtcblx0XHRcdFx0cGFkZGluZy10b3A6IDRweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuYm94LWlucHV0IHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTZweDtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICM4ODg4ODg7XG5cdFx0XHRwYWRkaW5nOiA4cHggMTJweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXAgKXtcblx0XHRcdFx0d2lkdGg6IDY1JTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuYm94LWVycm9yIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdG1hcmdpbjogLTE2cHggMCAxMHB4O1xuXHRcdFx0Y29sb3I6ICRyZWQ7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXAgKXtcblx0XHRcdFx0d2lkdGg6IDY1JTtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDMwJTtcblx0XHRcdH1cblxuXHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cblx0XHR9XG5cblx0XHQjc3RyaXBlLWNhcmRFeHBpcnktZWxlbWVudCB7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMHB4O1xuXHRcdH1cblx0XHQjc3RyaXBlLWNhcmRDdmMtZWxlbWVudCB7XG5cdFx0XHRtYXgtd2lkdGg6IDU1cHg7XG5cdFx0fVxuXG5cdFx0aW1nLnBvd2VyZWQge1xuXHRcdFx0bWFyZ2luLXRvcDogMTZweDtcblx0XHR9XG5cdH1cblxuXHQjc3RyaXBlLWZvcm0ge1xuXHRcdHdpZHRoOiA3NSU7XG5cdFx0bWFyZ2luOiAyMHB4IGF1dG87XG5cdH1cblxufVxuXG4ubW9kZS1saXZyYWlzb24ge1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRwYWRkaW5nOiAyMHB4O1xuXHRtYXJnaW4tYm90dG9tOiA1MHB4O1xuXG5cdGgyLmJsb2NrLXRpdGxlIHtcblx0XHRAaW5jbHVkZSB0aXRsZS1wYWdlKCk7XG5cdFx0Zm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYicsIHNlcmlmO1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcblx0fVxuXG5cdC5zaGlwcGluZy10YWJzIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdC5hY3RpdmUtdGFiIHtcblx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjY2cyBlYXNlLWluO1xuXHRcdFx0d2lkdGg6IDA7XG5cdFx0XHRoZWlnaHQ6IDA7XG5cdFx0XHRib3JkZXItbGVmdDogMjBweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdGJvcmRlci1yaWdodDogMjBweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMjBweCBzb2xpZCAjZTNlM2UzO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwICkge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdC50YWJzIHtcblx0XHRcdGJvcmRlcjogMDtcblxuXHRcdFx0LnRhYnMtdGl0bGUge1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0XHR3aWR0aDogMzMuMzMlO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKXtcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgb25seSApe1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDRweCAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0PiBhIHtcblx0XHRcdFx0XHRjb2xvcjogIzNiMzkzOTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjZTNlM2UzO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2ZmZjtcblx0XHRcdFx0XHRwYWRkaW5nOiAxMHB4IDhweDtcblx0XHRcdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdFx0XHRcdGhlaWdodDogNTVweDtcblx0XHRcdFx0XHR3aWR0aDogOTUlO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0XHRmb250LXNpemU6IC45cmVtO1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiA4MHB4O1xuXHRcdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2ZmZjtcblx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDowO1xuXHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRpIHtcblx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDhweDtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjJweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmxhc3QtY2hpbGQgYSB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQ+IGE6aG92ZXIge1xuXHRcdFx0XHRcdGJvcmRlcjogMnB4IHNvbGlkICM5OTk5OTk7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuXHRcdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgIzk5OTk5OTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LmlzLWFjdGl2ZSA+IGEge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZTNlM2UzO1xuXHRcdFx0XHRib3JkZXI6IDJweCBzb2xpZCAjOTk5OTk5O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC50YWJzLWNvbnRlbnQge1xuXHRcdGJhY2tncm91bmQ6ICNlM2UzZTM7XG5cdFx0cGFkZGluZzogMjBweDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG5cdFx0XHRwYWRkaW5nOiAyMHB4IDEwcHg7XG5cdFx0fVxuXHR9XG5cblxuXHQuZm9ybSB7XG5cblx0XHQudHdvLWNvbCB7XG5cdFx0XHRwYWRkaW5nLXRvcDogMjBweDtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXG5cblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuXHRcdFx0ZmxleC1mbG93OiB3cmFwIHJvdztcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCl7XG5cdFx0XHRcdGZsZXgtZmxvdzogbm93cmFwIHJvdztcblx0XHRcdH1cblxuXHRcdFx0Lmdyb3VwLWxlZnR7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApe1xuXHRcdFx0XHRcdHdpZHRoOiA0OCU7XG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXG5cdFx0XHQuZ3JvdXAtcmlnaHQge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKXtcblx0XHRcdFx0XHR3aWR0aDogNDglO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5oYXMtZXJyb3Ige1xuXHRcdFx0XHRpbnB1dCxcblx0XHRcdFx0c2VsZWN0IHtcblx0XHRcdFx0XHRib3JkZXItY29sb3I6ICRyZWQ7XG5cdFx0XHRcdH1cblx0XHRcdFx0dWwge1xuXHRcdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMnB4O1xuXHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAkcmVkO1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAuOWVtO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jb21tZW50cyB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGNsZWFyOiBib3RoO1xuXG5cdFx0XHR0ZXh0YXJlYSB7XG5cdFx0XHRcdGhlaWdodDogOThweDtcblx0XHRcdH1cblx0XHR9XG5cblxuXG5cdH1cblxuXHQuYWN0aW9ucyB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuXHRcdGEge1xuXHRcdFx0Y29sb3I6ICM2NjY7XG5cdFx0fVxuXHR9XG5cblx0LnN1Ym1pdCB7XG5cdFx0d2lkdGg6IDMyMHB4O1xuXHRcdGZsb2F0OiByaWdodDtcblx0XHRjbGVhcjogYm90aDtcblx0fVxuXG5cdC5ib3gtbGFiZWwge1xuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y29sb3I6ICMzYjM5Mzk7XG5cdH1cblxuXHRzcGFuLnJhZGlvIHtcblx0XHRtYXJnaW4tdG9wOiA0cHg7XG5cdH1cblxuXHQubGFiZWwtcmFkaW8ge1xuXHRcdGNvbG9yOiAjM2IzOTM5O1xuXHR9XG5cblx0Lmdyb3VwLXRvcCB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRwYWRkaW5nOiAxMHB4IDA7XG5cblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRmbGV4LWZsb3c6IG5vd3JhcCByb3c7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCl7XG5cdFx0XHR3aWR0aDogNjAlO1xuXHRcdH1cblxuXHRcdC5ib3gtaW1hZ2UgaW1nIHtcblx0XHRcdG1heC13aWR0aDogNDBweDtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcblx0XHRcdFx0bWF4LXdpZHRoOiA3NXB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5ib3gtZGVzYyB7XG5cdFx0XHRwYWRkaW5nOiAwIDEwcHg7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG5cdFx0XHRcdHBhZGRpbmc6IDAgMjBweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRoMyxcblx0XHRoMiB7XG5cdFx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0XHRtYXJnaW46IDAgMDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTVweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRoMiB7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHR9XG5cblx0XHQucHJpY2Uge1xuXHRcdFx0Zm9udC1zaXplOiAxNXB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRjb2xvcjogJHJlZDtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0bWluLXdpZHRoOiAyNXB4O1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMjJweDtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCl7XG5cdFx0XHRcdHdpZHRoOiAxMCU7XG5cdFx0XHR9XG5cblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuXHRcdC5kZWxpdmVyeS1tZXRob2RzLXNlbGVjdGlvbiB7XG5cdFx0XHRmb250LXNpemU6IDEwcHg7XG5cblx0XHRcdHRkIHtcblx0XHRcdFx0cGFkZGluZzogM3B4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4jdmFsaWRhdGUtY291cG9uIHtcblx0d2lkdGg6IDkzJTtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cblx0ZmxleC1mbG93OiB3cmFwIHJvdztcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwICl7XG5cdFx0ZmxleC1mbG93OiBub3dyYXAgcm93O1xuXHR9XG5cblx0LmJveC1sYWJlbCB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0cGFkZGluZy1yaWdodDogMjBweDtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwICl7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdFx0d2lkdGg6IDE2MHB4O1xuXHRcdH1cblxuXHR9XG5cblx0aW5wdXQge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblxuXHRpbnB1dC5idXR0b24uYmxhY2suc3VibWl0IHtcblxuXHRcdGJhY2tncm91bmQ6ICMxZTFlMWU7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0Ym9yZGVyOiAycHggc29saWQgIzFlMWUxZTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0bWFyZ2luLXRvcDogMTBweDtcblx0XHR9XG5cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXAgKXtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxNnB4O1xuXHRcdH1cblxuXG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdFx0Y29sb3I6ICMxZTFlMWU7XG5cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cbn1cblxuXG5zcGFuLnJhZGlvIHtcblx0aGVpZ2h0OiAxN3B4O1xuXHR3aWR0aDogMTdweDtcblx0Ly9ib3JkZXItcmFkaXVzOiAxMDAlO1xuXHQvL2JvcmRlcjogMXB4IHNvbGlkICMwMDA7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHQvL3Bvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRjb2xvcjogIzhlOGQ4ZDtcblx0ZmxvYXQ6IGxlZnQ7XG5cdGJvcmRlcjogMXB4IHNvbGlkICM4ZThkOGQ7XG5cdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cdG1hcmdpbi1yaWdodDogOHB4O1xuXG5cdCY6YmVmb3JlIHtcblx0XHRmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcblx0XHQvLyAgY29udGVudDogXCJcXGYxMGNcIjtcblx0XHRmb250LXNpemU6IDExcHg7XG5cdH1cblxuXHQmLmNoZWNrZWQge1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICAkcmVkO1xuXHR9XG5cblxufVxuXG5zcGFuLnJhZGlvLmNoZWNrZWQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXGYwMGNcIjtcblx0Y29sb3I6ICRyZWQ7XG5cbn1cblxuXG4uYnV0dG9ucy10YWJzIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdC5hY3RpdmUtdGFiIHtcblx0XHR0cmFuc2l0aW9uOiBhbGwgMC42NnMgZWFzZS1pbjtcblx0XHR3aWR0aDogMDtcblx0XHRoZWlnaHQ6IDA7XG5cdFx0Ym9yZGVyLWxlZnQ6IDIwcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXJpZ2h0OiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG5cdFx0Ym9yZGVyLWJvdHRvbTogMjBweCBzb2xpZCAjZTNlM2UzO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogMDtcblx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCApIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblxuXHR9XG5cbn1cblxuc3Bhbi5scGF5IHtcblx0Y29sb3I6ICMzYjM5Mzk7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Zm9udC1mYW1pbHk6ICdHb3RoYW0tQm9vaycsIHNhbnMtc2VyaWY7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGNsZWFyOiBib3RoO1xuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luLXRvcDogM3B4O1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG5cdFx0d2lkdGg6IDk2JTtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRmb250LXNpemU6IDlweDtcblx0fVxuXG59XG5cbnNwYW4uYm94cGF5IHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdGltZyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHR9XG5cbn1cblxuI2NvbmZpcm1hdGlvbi1ibG9jayB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXgtd2lkdGg6IDEwMDBweDtcblx0bWFyZ2luOiAyMHB4IGF1dG87XG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdHBhZGRpbmc6IDUwcHggMzBweDtcblxuXHQuaGVhZGVyIHtcblx0XHRmb250LXNpemU6IDIxcHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcblx0fVxufVxuXG4uYWxtYS1hbGVydC1naWZ0dm91Y2hlciB7XG5cdC5yZWQge1xuXHRcdGNvbG9yOiAkcmVkO1xuXHR9XG5cdC5ib2xkIHtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0fVxufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2Fzc2V0cy9zY3NzL2Zyb250ZW5kL3BhZ2VzL19jaGVja291dC5zY3NzIiwibWFpbi5OZXdzSXRlbUNvbnRhaW5lciB7XG4gIGgxIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDIwcHggMTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXApIHtcbiAgICAgIHBhZGRpbmc6IDEwMHB4IDEwcHggNTBweCAxMHB4O1xuICAgIH1cbiAgfVxufVxuXG5zZWN0aW9uLk5ld3NJdGVtQ29udGFpbmVyIHtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG4gICAgcGFkZGluZzogMTBweCA3MHB4O1xuICB9XG59XG5cbmRpdi5OZXdzSXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbjogMjBweCAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKXtcbiAgICBmbGV4LWZsb3c6IHJvdztcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG4gICAgbWFyZ2luOiA1MHB4IDA7XG4gIH1cblxuICAuTmV3c0l0ZW0taW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgIGZsZXg6IDAgMCAzMDBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5OZXdzSXRlbS10ZXh0IHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cblxuICAuTmV3c0l0ZW0tdGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCl7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAuTmV3c0l0ZW0tYWRkcmVzcyB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG5cbiAgICBpIHtcbiAgICAgIGNvbG9yOiAkcmVkO1xuICAgIH1cbiAgfVxuXG4gIC5zZXBhcmF0b3Ige1xuICAgIHdpZHRoOiAxNTBweDtcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgJHJlZDtcbiAgfVxuXG4gIC5OZXdzSXRlbS1kYXRlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAucmVkIHtcbiAgICAgIGNvbG9yOiAkcmVkO1xuICAgIH1cbiAgfVxuXG4gIC5OZXdzSXRlbS12ZXJuaXNzYWdlIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3Zlcm5pc3NhZ2UucG5nKSBuby1yZXBlYXQ7XG4gICAgd2lkdGg6IDExN3B4O1xuICAgIGhlaWdodDogMTE4cHg7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgfVxuXG4gIGEuaW52aXRhdGlvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgcGFkZGluZzogMC43MWVtIDFlbTtcblxuICAgIGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogLTJweDtcbiAgICB9XG4gIH1cbn1cblxubWFpbi5OZXdzSXRlbSB7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xufVxuXG4uTmV3c0l0ZW1BcnRpY2xlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW47XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApe1xuICAgIGZsZXgtZmxvdzogcm93O1xuICAgIHBhZGRpbmc6IDUwcHggMTAwcHg7XG4gIH1cblxuICBhcnRpY2xlIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKXtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC5zZXBhcmF0b3Ige1xuICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgJHJlZDtcbiAgICB9XG4gIH1cblxuICBhc2lkZSB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCl7XG4gICAgICBtYXJnaW4tbGVmdDogMTAwcHg7XG4gICAgICBmbGV4OiAwIDAgMzUwcHg7XG4gICAgfVxuXG4gICAgc2VjdGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICAgICAgcGFkZGluZzogMjBweCAxMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAgICAgLmJ1dHRvbi5yZWQtbGlnaHQge1xuICAgICAgICBwYWRkaW5nOiAwLjcxZW0gMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiAtMnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jaXJjbGUge1xuICAgICAgICBtYXJnaW46IDEwcHggYXV0byAyMHB4IGF1dG87XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgLy9wYWRkaW5nOiAwIDI7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkcmVkO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcblxuICAgICAgfVxuXG4gICAgICAuYm94LWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIGNvbG9yOiAjM2IzOTM5O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDAgMDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgICAgICAgdGV4dC1pbmRlbnQ6IC0uN2VtO1xuXG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiw6LCgMKiIFwiO1xuICAgICAgICAgICAgY29sb3I6ICRyZWQ7IC8qIG9yIHdoYXRldmVyIGNvbG9yIHlvdSBwcmVmZXIgKi9cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmljb24tZmlsbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICAgIH1cblxuICAgICAgLmZhLWNhbGVuZGFyLWNoZWNrLW8ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApe1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICAmLWFkZHJlc3Mge1xuICAgIGZvbnQtc2l6ZTogMjAuODdweDtcbiAgICBjb2xvcjogIzY2NjY2NjtcbiAgICBmb250LXdlaWdodDogMzAwO1xuXG4gICAgaSB7XG4gICAgICBjb2xvcjogJHJlZDtcbiAgICB9XG4gIH1cblxuICAmLWRhdGUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcblxuICAgIC5yZWQge1xuICAgICAgY29sb3I6ICRyZWQ7XG4gICAgfVxuICB9XG5cbiAgLmNpcmNsZSB7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcblxuICAgIGkge1xuICAgICAgY29sb3I6ICMxMDEyMTI7XG4gICAgICBmb250LXNpemU6IDYwcHg7XG4gICAgfVxuICB9XG5cbiAgLmJsb2NrLXRpdGxlLWdhbGxlcnkge1xuICAgIG1hcmdpbjogMCAyMHB4IDEwcHggMjBweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJHJlZDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAucmVkIHtcbiAgICAgIGNvbG9yOiAkcmVkO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICBtYXJnaW46IDAgODBweCAzMHB4IDgwcHg7XG4gICAgfVxuICB9XG59XG5cbi5OZXdzSXRlbUFydGlzdHMge1xuICBwYWRkaW5nOiAyMHB4IDIwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIG1hcmdpbjogNTBweCAwIDtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gIGZsZXgtZmxvdzogd3JhcCByb3c7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBmbGV4LWZsb3c6IG5vd3JhcCByb3c7XG4gICAgcGFkZGluZzogNTBweCAxMDBweDtcbiAgfVxuXG4gIC5ncm91cC1sZWZ0IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDU1cHg7XG4gICAgfVxuICB9XG5cbiAgLmJveC10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRyZWQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICAuY2lyY2xlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICAgIGhlaWdodDogMTUwcHg7XG4gICAgd2lkdGg6IDE1MHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5pYy1wZW9wbGUge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWMtcGVvcGxlLnBuZykgbm8tcmVwZWF0O1xuICAgIGhlaWdodDogNTVweDtcbiAgICB3aWR0aDogNzhweDtcbiAgfVxuXG5cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgdWwgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogJHJlZDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJ8XCI7XG4gICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgY29sb3I6ICM2MjYwNjA7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXNzZXRzL3Njc3MvZnJvbnRlbmQvcGFnZXMvX25ld3Muc2NzcyIsIi5jbXMge1xuICAgIHBhZGRpbmc6IDUwcHggMTAwcHg7XG59XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXNzZXRzL3Njc3MvZnJvbnRlbmQvcGFnZXMvX2Ntcy5zY3NzIl0sInNvdXJjZVJvb3QiOiIifQ==*/