/*- Global Variables -*/
@import url("https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@400;500&display=swap");
.container {
  width: 770px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 10px;
  position: relative;
  z-index: 1; }

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box; }

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeSpeed;
  overflow-x: hidden;
  margin: 0; }

main {
  display: block; }

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

b,
strong {
  font-weight: bolder; }

::-moz-selection {
  background: #0088ff;
  color: #ffffff;
  text-shadow: none;
  border: 0;
  outline: none; }

::selection {
  background: #0088ff;
  color: #ffffff;
  text-shadow: none;
  border: 0;
  outline: none; }

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

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 {
  max-width: 100%;
  height: auto;
  border: 0; }

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

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 #0088ff; }

button:active, button:focus {
  outline: none;
  border: none; }

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

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

progress {
  vertical-align: baseline; }

textarea {
  overflow: auto; }

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

[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; }

iframe {
  max-width: 100% !important; }

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  font-weight: 500; }

ul {
  margin: 0;
  padding: 0; }
  ul li {
    list-style: none; }

figure {
  width: 100% !important; }

[class*="icons-"] {
  display: inline-block; }

.fancybox-enabled {
  overflow: hidden; }

.fancybox-enabled body {
  overflow: visible;
  -ms-touch-action: none;
  touch-action: none; }

.fancybox-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99993;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

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

.fancybox-bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #0f0f11;
  opacity: 0;
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.06, 0.68, 0.19);
  -o-transition-timing-function: cubic-bezier(0.55, 0.06, 0.68, 0.19);
  transition-timing-function: cubic-bezier(0.55, 0.06, 0.68, 0.19);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.fancybox-container--ready .fancybox-bg {
  opacity: 0.87;
  -webkit-transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
  -o-transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
  transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1); }

.fancybox-controls {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  text-align: center;
  opacity: 0;
  z-index: 99994;
  -webkit-transition: opacity .2s;
  -o-transition: opacity .2s;
  transition: opacity .2s;
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  direction: ltr; }

.fancybox-show-controls .fancybox-controls {
  opacity: 1; }

.fancybox-infobar {
  display: none; }

.fancybox-show-infobar .fancybox-infobar {
  display: inline-block;
  pointer-events: all; }

.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-buttons {
  position: absolute;
  top: 0;
  right: 0;
  display: none;
  pointer-events: all; }

.fancybox-show-buttons .fancybox-buttons {
  display: block; }

.fancybox-slider-wrap {
  overflow: hidden;
  direction: ltr; }

.fancybox-slider-wrap,
.fancybox-slider {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  padding: 0;
  margin: 0;
  z-index: 99993;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-tap-highlight-color: transparent; }

.fancybox-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: auto;
  outline: none;
  white-space: normal;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
  z-index: 99994;
  -webkit-overflow-scrolling: touch; }

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

.fancybox-slide > * {
  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;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

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

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

.fancybox-content {
  display: inline-block;
  position: relative;
  margin: 44px auto;
  padding: 0;
  border: 0;
  width: 80%;
  height: calc(100% - 88px);
  vertical-align: middle;
  line-height: normal;
  text-align: left;
  white-space: normal;
  outline: none;
  font-size: 16px;
  font-family: Arial, sans-serif;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  -webkit-overflow-scrolling: touch; }

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

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

.fancybox-placeholder {
  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;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.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;
  background: transparent;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%; }

.fancybox-controls--canzoomOut .fancybox-placeholder {
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.fancybox-controls--canzoomIn .fancybox-placeholder {
  cursor: -webkit-zoom-in;
  cursor: zoom-in; }

.fancybox-controls--canGrab .fancybox-placeholder {
  cursor: -webkit-grab;
  cursor: grab; }

.fancybox-controls--isGrabbing .fancybox-placeholder {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

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

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

.fancybox-error {
  position: absolute;
  margin: 0;
  padding: 40px;
  top: 50%;
  left: 50%;
  width: 380px;
  max-width: 100%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  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: 4px;
  right: 4px;
  padding: 0;
  margin: 0;
  width: 30px;
  height: 30px;
  font: 21px/1 Arial,"Helvetica Neue",Helvetica,sans-serif;
  color: #888;
  font-weight: 300;
  text-align: center;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  border-width: 0;
  cursor: pointer;
  background: #fff;
  -webkit-transition: background .2s;
  -o-transition: background .2s;
  transition: background .2s;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 2; }

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

.fancybox-slide--video .fancybox-close-small {
  top: -36px;
  right: -36px;
  background: transparent; }

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

/* Caption */
.fancybox-caption-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 60px 30px 0 30px;
  z-index: 99998;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(20%, rgba(0, 0, 0, 0.1)), color-stop(40%, rgba(0, 0, 0, 0.2)), color-stop(80%, rgba(0, 0, 0, 0.6)), to(rgba(0, 0, 0, 0.8)));
  background: -webkit-linear-gradient(top, 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%);
  background: -o-linear-gradient(top, 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%);
  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%);
  opacity: 0;
  -webkit-transition: opacity .2s;
  -o-transition: opacity .2s;
  transition: opacity .2s;
  pointer-events: none; }

.fancybox-show-caption .fancybox-caption-wrap {
  opacity: 1; }

.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 {
  pointer-events: all; }

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

/* Buttons */
.fancybox-button {
  display: inline-block;
  position: relative;
  width: 44px;
  height: 44px;
  line-height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  -webkit-border-radius: 0;
  border-radius: 0;
  cursor: pointer;
  background: transparent;
  color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  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 {
  background: rgba(0, 0, 0, 0.8); }

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

.fancybox-button--disabled::before,
.fancybox-button--disabled::after {
  opacity: 0.5; }

.fancybox-button--left::after {
  left: 20px;
  top: 18px;
  width: 6px;
  height: 6px;
  background: transparent;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  -webkit-transform: rotate(-135deg);
  -ms-transform: rotate(-135deg);
  transform: rotate(-135deg); }

.fancybox-button--right::after {
  right: 20px;
  top: 18px;
  width: 6px;
  height: 6px;
  background: transparent;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

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

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

.fancybox-button--close {
  float: right; }

.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); }

/* Loading spinner */
.fancybox-loading {
  border: 6px solid rgba(100, 100, 100, 0.4);
  border-top: 6px solid rgba(255, 255, 255, 0.6);
  -webkit-border-radius: 100%;
  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); } }

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

/* Fullscreen  */
.fancybox-button--fullscreen::before {
  width: 15px;
  height: 11px;
  left: 15px;
  top: 16px;
  border: 2px solid;
  background: none; }

/* Slideshow button */
.fancybox-button--play::before {
  top: 16px;
  left: 18px;
  width: 0;
  height: 0;
  border-top: 6px inset transparent;
  border-bottom: 6px inset transparent;
  border-left: 10px solid;
  -webkit-border-radius: 1px;
  border-radius: 1px;
  background: transparent; }

.fancybox-button--pause::before {
  top: 16px;
  left: 18px;
  width: 7px;
  height: 11px;
  border-style: solid;
  border-width: 0 2px 0 2px;
  background: transparent; }

/* Thumbs */
.fancybox-button--thumbs span {
  font-size: 23px; }

.fancybox-button--thumbs::before {
  top: 20px;
  left: 21px;
  width: 3px;
  height: 3px;
  -webkit-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;
  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-container--thumbs .fancybox-controls,
.fancybox-container--thumbs .fancybox-slider-wrap,
.fancybox-container--thumbs .fancybox-caption-wrap {
  right: 220px; }

.fancybox-thumbs {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  width: 220px;
  margin: 0;
  padding: 5px 5px 0 0;
  background: #fff;
  z-index: 99993;
  word-break: normal;
  -webkit-overflow-scrolling: touch;
  -webkit-tap-highlight-color: transparent;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.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 #fff;
  border-top-width: 0;
  border-right-width: 0;
  -webkit-tap-highlight-color: transparent;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-box-sizing: border-box;
  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;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  border: 4px solid #4ea7f9;
  z-index: 99991;
  opacity: 0;
  -webkit-transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -o-transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.fancybox-thumbs > ul > li.fancybox-thumbs-active:before {
  opacity: 1; }

/* Styling for Small-Screen Devices */
@media all and (max-width: 800px) {
  .fancybox-thumbs {
    display: none !important; }
  .fancybox-container--thumbs .fancybox-controls,
  .fancybox-container--thumbs .fancybox-slider-wrap,
  .fancybox-container--thumbs .fancybox-caption-wrap {
    right: 0; } }

/**
 * Swiper 5.2.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://swiperjs.com
 *
 * Copyright 2014-2019 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: October 26, 2019
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, 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") format("woff");
  font-weight: 400;
  font-style: normal; }

:root {
  --swiper-theme-color:#007aff; }

.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1; }

.swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
  box-sizing: content-box; }

.swiper-container-android .swiper-slide, .swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
  transform: translate3d(0px, 0, 0); }

.swiper-container-multirow > .swiper-wrapper {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.swiper-container-multirow-column > .swiper-wrapper {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }

.swiper-container-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  margin: 0 auto; }

.swiper-slide {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform; }

.swiper-slide-invisible-blank {
  visibility: hidden; }

.swiper-container-autoheight, .swiper-container-autoheight .swiper-slide {
  height: auto; }

.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-transition-property: height,-webkit-transform;
  transition-property: height,-webkit-transform;
  -o-transition-property: transform,height;
  transition-property: transform,height;
  transition-property: transform,height,-webkit-transform; }

.swiper-container-3d {
  -webkit-perspective: 1200px;
  perspective: 1200px; }

.swiper-container-3d .swiper-cube-shadow, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-wrapper {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d; }

.swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10; }

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none; }

.swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none; }

.swiper-container-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start; }

.swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper {
  -webkit-scroll-snap-type: x mandatory;
  -ms-scroll-snap-type: x mandatory;
  scroll-snap-type: x mandatory; }

.swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper {
  -webkit-scroll-snap-type: y mandatory;
  -ms-scroll-snap-type: y mandatory;
  scroll-snap-type: y mandatory; }

:root {
  --swiper-navigation-size:44px; }

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: 50%;
  width: calc(var(--swiper-navigation-size)/ 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(-1 * var(--swiper-navigation-size)/ 2);
  z-index: 10;
  cursor: pointer;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color)); }

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: .35;
  cursor: auto;
  pointer-events: none; }

.swiper-button-next:after, .swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  text-transform: none;
  font-variant: initial; }

.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
  left: 10px;
  right: auto; }

.swiper-button-prev:after, .swiper-container-rtl .swiper-button-next:after {
  content: 'prev'; }

.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
  right: 10px;
  left: auto; }

.swiper-button-next:after, .swiper-container-rtl .swiper-button-prev:after {
  content: 'next'; }

.swiper-button-next.swiper-button-white, .swiper-button-prev.swiper-button-white {
  --swiper-navigation-color:#ffffff; }

.swiper-button-next.swiper-button-black, .swiper-button-prev.swiper-button-black {
  --swiper-navigation-color:#000000; }

.swiper-button-lock {
  display: none; }

.swiper-pagination {
  position: absolute;
  text-align: center;
  -webkit-transition: .3s opacity;
  -o-transition: .3s opacity;
  transition: .3s opacity;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 10; }

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0; }

.swiper-container-horizontal > .swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%; }

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0; }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33);
  position: relative; }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  -webkit-transform: scale(0.66);
  -ms-transform: scale(0.66);
  transform: scale(0.66); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  -webkit-transform: scale(0.66);
  -ms-transform: scale(0.66);
  transform: scale(0.66); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33); }

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  -webkit-border-radius: 100%;
  border-radius: 100%;
  background: #000;
  opacity: .2; }

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer; }

.swiper-pagination-bullet-active {
  opacity: 1;
  background: var(--swiper-pagination-color, var(--swiper-theme-color)); }

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  -webkit-transform: translate3d(0px, -50%, 0);
  transform: translate3d(0px, -50%, 0); }

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block; }

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 8px; }

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  -webkit-transition: .2s transform,.2s top;
  -o-transition: .2s transform,.2s top;
  transition: .2s transform,.2s top; }

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px; }

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  white-space: nowrap; }

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: .2s transform,.2s left;
  -o-transition: .2s transform,.2s left;
  transition: .2s transform,.2s left; }

.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: .2s transform,.2s right;
  -o-transition: .2s transform,.2s right;
  transition: .2s transform,.2s right; }

.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute; }

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top; }

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  -webkit-transform-origin: right top;
  -ms-transform-origin: right top;
  transform-origin: right top; }

.swiper-container-horizontal > .swiper-pagination-progressbar, .swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0; }

.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-container-vertical > .swiper-pagination-progressbar {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0; }

.swiper-pagination-white {
  --swiper-pagination-color:#ffffff; }

.swiper-pagination-black {
  --swiper-pagination-color:#000000; }

.swiper-pagination-lock {
  display: none; }

.swiper-scrollbar {
  -webkit-border-radius: 10px;
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1); }

.swiper-container-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%; }

.swiper-container-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%; }

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  -webkit-border-radius: 10px;
  border-radius: 10px;
  left: 0;
  top: 0; }

.swiper-scrollbar-cursor-drag {
  cursor: move; }

.swiper-scrollbar-lock {
  display: none; }

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center; }

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain; }

.swiper-slide-zoomed {
  cursor: move; }

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
  -ms-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s infinite linear;
  animation: swiper-preloader-spin 1s infinite linear;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  -webkit-border-radius: 50%;
  border-radius: 50%;
  border-top-color: transparent; }

.swiper-lazy-preloader-white {
  --swiper-preloader-color:#fff; }

.swiper-lazy-preloader-black {
  --swiper-preloader-color:#000; }

@-webkit-keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000; }

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out; }

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  -webkit-transition-property: opacity;
  -o-transition-property: opacity;
  transition-property: opacity; }

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-fade .swiper-slide-active, .swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-cube {
  overflow: visible; }

.swiper-container-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  width: 100%;
  height: 100%; }

.swiper-container-cube .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  -webkit-transform-origin: 100% 0;
  -ms-transform-origin: 100% 0;
  transform-origin: 100% 0; }

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-next + .swiper-slide, .swiper-container-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible; }

.swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right, .swiper-container-cube .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0; }

.swiper-container-flip {
  overflow: visible; }

.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1; }

.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-flip .swiper-slide-active, .swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-flip .swiper-slide-shadow-bottom, .swiper-container-flip .swiper-slide-shadow-left, .swiper-container-flip .swiper-slide-shadow-right, .swiper-container-flip .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

/*animations*/
/******************
* Bounce in right *
*******************/
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.slow {
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.slower {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.slowest {
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

/* Added by Andy Meetan */
.delay-250 {
  -webkit-animation-delay: 0.25s;
  animation-delay: 0.25s; }

.delay-500 {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s; }

.delay-750 {
  -webkit-animation-delay: 0.75s;
  animation-delay: 0.75s; }

.delay-1000 {
  -webkit-animation-delay: 1.0s;
  animation-delay: 1.0s; }

.delay-1250 {
  -webkit-animation-delay: 1.25s;
  animation-delay: 1.25s; }

.delay-1500 {
  -webkit-animation-delay: 1.5s;
  animation-delay: 1.5s; }

.delay-1750 {
  -webkit-animation-delay: 1.75s;
  animation-delay: 1.75s; }

.delay-2000 {
  -webkit-animation-delay: 2.0s;
  animation-delay: 2.0s; }

.delay-2500 {
  -webkit-animation-delay: 2.5s;
  animation-delay: 2.5s; }

.delay-2000 {
  -webkit-animation-delay: 2.0s;
  animation-delay: 2.0s; }

.delay-2500 {
  -webkit-animation-delay: 2.5s;
  animation-delay: 2.5s; }

.delay-3000 {
  -webkit-animation-delay: 3.0s;
  animation-delay: 3.0s; }

.delay-3500 {
  -webkit-animation-delay: 3.5s;
  animation-delay: 3.5s; }

.bounceInRight,
.bounceInLeft,
.bounceInUp,
.bounceInDown {
  opacity: 0;
  -webkit-transform: translateX(400px);
  -ms-transform: translateX(400px);
  transform: translateX(400px); }

.fadeInRight,
.fadeInLeft,
.fadeInUp,
.fadeInDown {
  opacity: 0;
  -webkit-transform: translateX(400px);
  -ms-transform: translateX(400px);
  transform: translateX(400px); }

.flipInX,
.flipInY,
.rotateIn,
.rotateInUpLeft,
.rotateInUpRight,
.rotateInDownLeft,
.rotateDownUpRight,
.rollIn {
  opacity: 0; }

.lightSpeedInRight,
.lightSpeedInLeft {
  opacity: 0;
  -webkit-transform: translateX(400px);
  -ms-transform: translateX(400px);
  transform: translateX(400px); }

/***********
* bounceIn *
************/
@-webkit-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05); }
  70% {
    -webkit-transform: scale(0.9); }
  100% {
    -webkit-transform: scale(1); } }

@keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    transform: scale(0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05);
    transform: scale(1.05); }
  70% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

.bounceIn.go {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn; }

/****************
* bounceInRight *
****************/
@-webkit-keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(400px); }
  60% {
    -webkit-transform: translateX(-30px); }
  80% {
    -webkit-transform: translateX(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(400px);
    transform: translateX(400px); }
  60% {
    -webkit-transform: translateX(-30px);
    transform: translateX(-30px); }
  80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.bounceInRight.go {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight; }

/******************
* Bounce in left *
*******************/
@-webkit-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-400px); }
  60% {
    -webkit-transform: translateX(30px); }
  80% {
    -webkit-transform: translateX(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-400px);
    transform: translateX(-400px); }
  60% {
    -webkit-transform: translateX(30px);
    transform: translateX(30px); }
  80% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.bounceInLeft.go {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft; }

/******************
* Bounce in up *
*******************/
@-webkit-keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(400px); }
  60% {
    -webkit-transform: translateY(-30px); }
  80% {
    -webkit-transform: translateY(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(400px);
    transform: translateY(400px); }
  60% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px); }
  80% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.bounceInUp.go {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp; }

/******************
* Bounce in down *
*******************/
@-webkit-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-400px); }
  60% {
    -webkit-transform: translateY(30px); }
  80% {
    -webkit-transform: translateY(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-400px);
    transform: translateY(-400px); }
  60% {
    -webkit-transform: translateY(30px);
    transform: translateY(30px); }
  80% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.bounceInDown.go {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown; }

/**********
* Fade In *
**********/
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1;
    display: block; } }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1;
    display: block; } }

.fadeIn {
  opacity: 0; }

.fadeIn.go {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }

/**********
* Grow in *
***********/
@-webkit-keyframes growIn {
  0% {
    -webkit-transform: scale(0.2);
    opacity: 0; }
  50% {
    -webkit-transform: scale(1.2); }
  100% {
    -webkit-transform: scale(1);
    opacity: 1; } }

@keyframes growIn {
  0% {
    -webkit-transform: scale(0.2);
    transform: scale(0.2);
    opacity: 0; }
  50% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

.growIn {
  -webkit-transform: scale(0.2);
  -ms-transform: scale(0.2);
  transform: scale(0.2);
  opacity: 0; }

.growIn.go {
  -webkit-animation-name: growIn;
  animation-name: growIn; }

/********
* Shake *
********/
@-webkit-keyframes shake {
  0%,
  100% {
    -webkit-transform: translateX(0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateX(-10px); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateX(10px); } }

@keyframes shake {
  0%,
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px); } }

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

/********
* ShakeUp *
********/
@-webkit-keyframes shakeUp {
  0%,
  100% {
    -webkit-transform: translateY(0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateY(-10px); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateY(10px); } }

@keyframes shakeUp {
  0%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px); } }

.shakeUp.go {
  -webkit-animation-name: shakeUp;
  animation-name: shakeUp; }

/*************
* FadeInLeft *
*************/
@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-400px);
    transform: translateX(-400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.fadeInLeft {
  opacity: 0;
  -webkit-transform: translateX(-400px);
  -ms-transform: translateX(-400px);
  transform: translateX(-400px); }

.fadeInLeft.go {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft; }

/*************
* FadeInRight *
*************/
@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(400px);
    transform: translateX(400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.fadeInRight {
  opacity: 0;
  -webkit-transform: translateX(400px);
  -ms-transform: translateX(400px);
  transform: translateX(400px); }

.fadeInRight.go {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight; }

/*************
* FadeInUp *
*************/
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(400px);
    transform: translateY(400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.fadeInUp {
  opacity: 0;
  -webkit-transform: translateY(400px);
  -ms-transform: translateY(400px);
  transform: translateY(400px); }

.fadeInUp.go {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp; }

/*************
* FadeInDown *
*************/
@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-400px);
    transform: translateY(-400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.fadeInDown {
  opacity: 0;
  -webkit-transform: translateY(-400px);
  -ms-transform: translateY(-400px);
  transform: translateY(-400px); }

.fadeInDown.go {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

/*****************
* rotateIn *
*****************/
@-webkit-keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(-200deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateIn.go {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn; }

/*****************
* rotateInUpLeft *
*****************/
@-webkit-keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateInUpLeft.go {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft; }

/*******************
* rotateInDownLeft *
*******************/
@-webkit-keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateInDownLeft.go {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft; }

/******************
* rotateInUpRight *
*******************/
@-webkit-keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateInUpRight.go {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight; }

/********************
* rotateInDownRight *
********************/
@-webkit-keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateInDownRight.go {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight; }

/*********
* rollIn *
**********/
@-webkit-keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg); } }

@keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); } }

.rollIn.go {
  -webkit-animation-name: rollIn;
  animation-name: rollIn; }

/*********
* wiggle *
**********/
@-webkit-keyframes wiggle {
  0% {
    -webkit-transform: skewX(9deg); }
  10% {
    -webkit-transform: skewX(-8deg); }
  20% {
    -webkit-transform: skewX(7deg); }
  30% {
    -webkit-transform: skewX(-6deg); }
  40% {
    -webkit-transform: skewX(5deg); }
  50% {
    -webkit-transform: skewX(-4deg); }
  60% {
    -webkit-transform: skewX(3deg); }
  70% {
    -webkit-transform: skewX(-2deg); }
  80% {
    -webkit-transform: skewX(1deg); }
  90% {
    -webkit-transform: skewX(0deg); }
  100% {
    -webkit-transform: skewX(0deg); } }

@keyframes wiggle {
  0% {
    -webkit-transform: skewX(9deg);
    transform: skewX(9deg); }
  10% {
    -webkit-transform: skewX(-8deg);
    transform: skewX(-8deg); }
  20% {
    -webkit-transform: skewX(7deg);
    transform: skewX(7deg); }
  30% {
    -webkit-transform: skewX(-6deg);
    transform: skewX(-6deg); }
  40% {
    -webkit-transform: skewX(5deg);
    transform: skewX(5deg); }
  50% {
    -webkit-transform: skewX(-4deg);
    transform: skewX(-4deg); }
  60% {
    -webkit-transform: skewX(3deg);
    transform: skewX(3deg); }
  70% {
    -webkit-transform: skewX(-2deg);
    transform: skewX(-2deg); }
  80% {
    -webkit-transform: skewX(1deg);
    transform: skewX(1deg); }
  90% {
    -webkit-transform: skewX(0deg);
    transform: skewX(0deg); }
  100% {
    -webkit-transform: skewX(0deg);
    transform: skewX(0deg); } }

.wiggle.go {
  -webkit-animation-name: wiggle;
  animation-name: wiggle;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

/********
* swing *
*********/
@-webkit-keyframes swing {
  20%,
  40%,
  60%,
  80%,
  100% {
    -webkit-transform-origin: top center; }
  20% {
    -webkit-transform: rotate(15deg); }
  40% {
    -webkit-transform: rotate(-10deg); }
  60% {
    -webkit-transform: rotate(5deg); }
  80% {
    -webkit-transform: rotate(-5deg); }
  100% {
    -webkit-transform: rotate(0deg); } }

@keyframes swing {
  20% {
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg); }
  40% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  60% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg); }
  80% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg); }
  100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); } }

.swing.go {
  -webkit-transform-origin: top center;
  -ms-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing; }

/*******
* tada *
********/
@-webkit-keyframes tada {
  0% {
    -webkit-transform: scale(1); }
  10%,
  20% {
    -webkit-transform: scale(0.9) rotate(-3deg); }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale(1.1) rotate(3deg); }
  40%,
  60%,
  80% {
    -webkit-transform: scale(1.1) rotate(-3deg); }
  100% {
    -webkit-transform: scale(1) rotate(0); } }

@keyframes tada {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  10%,
  20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  40%,
  60%,
  80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  100% {
    -webkit-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0); } }

.tada.go {
  -webkit-animation-name: tada;
  animation-name: tada; }

/*********
* wobble *
**********/
@-webkit-keyframes wobble {
  0% {
    -webkit-transform: translateX(0%); }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg); }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg); }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg); }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg); }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg); }
  100% {
    -webkit-transform: translateX(0%); } }

@keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%); }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
    transform: translateX(-25%) rotate(-5deg); }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
    transform: translateX(20%) rotate(3deg); }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
    transform: translateX(-15%) rotate(-3deg); }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
    transform: translateX(10%) rotate(2deg); }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
    transform: translateX(-5%) rotate(-1deg); }
  100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%); } }

.wobble.go {
  -webkit-animation-name: wobble;
  animation-name: wobble; }

/********
* pulse *
*********/
@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    -webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7); }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
    box-shadow: 0 0 0 10px rgba(0, 0, 0, 0); }
  100% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    -webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0); } }

@keyframes pulse {
  0% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    -webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7); }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
    box-shadow: 0 0 0 10px rgba(0, 0, 0, 0); }
  100% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    -webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0); } }

.pulse.go {
  -webkit-animation-name: pulse;
  animation-name: pulse; }

/***************
* lightSpeedInRight *
****************/
@-webkit-keyframes lightSpeedInRight {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1; } }

@keyframes lightSpeedInRight {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    transform: translateX(-20%) skewX(30deg);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    transform: translateX(0%) skewX(-15deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1; } }

.lightSpeedInRight.go {
  -webkit-animation-name: lightSpeedInRight;
  animation-name: lightSpeedInRight;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

/***************
* lightSpeedInLeft *
****************/
@-webkit-keyframes lightSpeedInLeft {
  0% {
    -webkit-transform: translateX(-100%) skewX(30deg);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(20%) skewX(-30deg);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(15deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1; } }

@keyframes lightSpeedInLeft {
  0% {
    -webkit-transform: translateX(-100%) skewX(30deg);
    transform: translateX(-100%) skewX(30deg);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(20%) skewX(-30deg);
    transform: translateX(20%) skewX(-30deg);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(15deg);
    transform: translateX(0%) skewX(15deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1; } }

.lightSpeedInLeft.go {
  -webkit-animation-name: lightSpeedInLeft;
  animation-name: lightSpeedInLeft;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

/*******
* Flip *
*******/
@-webkit-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    -webkit-animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -webkit-animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in; }
  100% {
    -webkit-transform: perspective(400px) scale(1);
    -webkit-animation-timing-function: ease-in; } }

@keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    transform: perspective(400px) rotateY(0);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
    transform: perspective(400px) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  100% {
    -webkit-transform: perspective(400px) scale(1);
    transform: perspective(400px) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

.flip.go {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flip;
  backface-visibility: visible !important;
  animation-name: flip; }

/**********
* flipInX *
**********/
@-webkit-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    opacity: 1; } }

@keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
    transform: perspective(400px) rotateX(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    opacity: 1; } }

.flipInX.go {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  backface-visibility: visible !important;
  animation-name: flipInX; }

/**********
* flipInY *
**********/
@-webkit-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    opacity: 1; } }

@keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
    transform: perspective(400px) rotateY(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    opacity: 1; } }

.flipInY.go {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  backface-visibility: visible !important;
  animation-name: flipInY; }

/*****************
* Out animations *
*****************/
/************
* bounceOut *
*************/
@-webkit-keyframes bounceOut {
  0% {
    -webkit-transform: scale(1); }
  25% {
    -webkit-transform: scale(0.95); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3); } }

@keyframes bounceOut {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  25% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1);
    transform: scale(1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    transform: scale(0.3); } }

.bounceOut.goAway {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut; }

/************
* bounceOutUp *
*************/
@-webkit-keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px); } }

@keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px); } }

.bounceOutUp.goAway {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp; }

/************
* bounceOutDown *
*************/
@-webkit-keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px); } }

@keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px); } }

.bounceOutDown.goAway {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown; }

/************
* bounceOutLeft *
*************/
@-webkit-keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px); } }

@keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    transform: translateX(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

.bounceOutLeft.goAway {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft; }

/************
* bounceOutRight *
*************/
@-webkit-keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px); } }

@keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px); } }

.bounceOutRight.goAway {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight; }

/************
* fadeOut *
*************/
@-webkit-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

.fadeOut.goAway {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut; }

/************
* fadeOutUp *
*************/
@-webkit-keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px); } }

@keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px); } }

.fadeOutUp.goAway {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp; }

/************
* fadeOutDown *
*************/
@-webkit-keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px); } }

@keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px); } }

.fadeOutDown.goAway {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown; }

/************
* fadeOutLeft *
*************/
@-webkit-keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px); } }

@keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

.fadeOutLeft.goAway {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft; }

/************
* fadeOutRight *
*************/
@-webkit-keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px); } }

@keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px); } }

.fadeOutRight.goAway {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight; }

/************
* flipOutX *
*************/
@-webkit-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    opacity: 0; } }

@keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0; } }

.flipOutX.goAway {
  -webkit-animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  animation-name: flipOutX;
  backface-visibility: visible !important; }

/************
* flipOutY *
*************/
@-webkit-keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    opacity: 0; } }

@keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0; } }

.flipOutY {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  backface-visibility: visible !important;
  animation-name: flipOutY; }

/************
* lightSpeedOutRight *
*************/
@-webkit-keyframes lightSpeedOutRight {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    opacity: 0; } }

@keyframes lightSpeedOutRight {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0; } }

.lightSpeedOutRight.goAway {
  -webkit-animation-name: lightSpeedOutRight;
  animation-name: lightSpeedOutRight;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

/************
* lightSpeedOutLeft *
*************/
@-webkit-keyframes lightSpeedOutLeft {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(-100%) skewX(30deg);
    opacity: 0; } }

@keyframes lightSpeedOutLeft {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(-100%) skewX(30deg);
    transform: translateX(-100%) skewX(30deg);
    opacity: 0; } }

.lightSpeedOutLeft.goAway {
  -webkit-animation-name: lightSpeedOutLeft;
  animation-name: lightSpeedOutLeft;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

/************
* rotateOut *
*************/
@-webkit-keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(200deg);
    opacity: 0; } }

@keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0; } }

.rotateOut.goAway {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut; }

/************
* rotateOutUpLeft *
*************/
@-webkit-keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0; } }

@keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -transform-origin: left bottom;
    -transform: rotate(-90deg);
    opacity: 0; } }

.rotateOutUpLeft.goAway {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft; }

/************
* rotateOutDownLeft *
*************/
@-webkit-keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; } }

@keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

.rotateOutDownLeft.goAway {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft; }

/************
* rotateOutUpRight *
*************/
@-webkit-keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; } }

@keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

.rotateOutUpRight.goAway {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight; }

/************
* rollOut *
*************/
@-webkit-keyframes rollOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg); } }

@keyframes rollOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg);
    transform: translateX(100%) rotate(120deg); } }

.rollOut.goAway {
  -webkit-animation-name: rollOut;
  animation-name: rollOut; }

/*****************
* Short Animations
*******************/
/*********************
* fadeInUpShort
*********************/
@-webkit-keyframes fadeInUpShort {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInUpShort {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.fadeInUpShort {
  opacity: 0;
  -webkit-transform: translateY(20px);
  -ms-transform: translateY(20px);
  transform: translateY(20px); }

.fadeInUpShort.go {
  -webkit-animation-name: fadeInUpShort;
  animation-name: fadeInUpShort; }

/*********************
* fadeInDownShort
*********************/
@-webkit-keyframes fadeInDownShort {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInDownShort {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.fadeInDownShort {
  opacity: 0;
  -webkit-transform: translateY(-20px);
  -ms-transform: translateY(-20px);
  transform: translateY(-20px); }

.fadeInDownShort.go {
  -webkit-animation-name: fadeInDownShort;
  animation-name: fadeInDownShort; }

/*********************
* fadeInRightShort 
*********************/
@-webkit-keyframes fadeInRightShort {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInRightShort {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    transform: translateX(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.fadeInRightShort {
  opacity: 0;
  -webkit-transform: translateX(20px);
  -ms-transform: translateX(20px);
  transform: translateX(20px); }

.fadeInRightShort.go {
  -webkit-animation-name: fadeInRightShort;
  animation-name: fadeInRightShort; }

/*********************
* fadeInLeftShort 
*********************/
@-webkit-keyframes fadeInLeftShort {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInLeftShort {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.fadeInLeftShort {
  opacity: 0;
  -webkit-transform: translateX(-20px);
  -ms-transform: translateX(-20px);
  transform: translateX(-20px); }

.fadeInLeftShort.go {
  -webkit-animation-name: fadeInLeftShort;
  animation-name: fadeInLeftShort; }

/**********
* Zoom in *
***********/
@-webkit-keyframes zoomIn {
  0% {
    -webkit-transform: scale(5);
    transform: scale(5);
    opacity: 0; }
  80% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
    opacity: .8; }
  80% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8); }
  90% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

@keyframes zoomIn {
  0% {
    -webkit-transform: scale(5);
    transform: scale(5);
    opacity: 0; }
  80% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
    opacity: .8; }
  80% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8); }
  90% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

.zoomIn {
  -webkit-transform: scale(5);
  -ms-transform: scale(5);
  transform: scale(5);
  opacity: 0; }

.zoomIn.go {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn;
  -webkit-animation-duration: .5s;
  animation-duration: .5s; }

/********
* ShakeUp2 *
Shake and pause 
********/
@-webkit-keyframes shakeUp2 {
  0%,
  50%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  70%,
  90% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px); }
  60%,
  80% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px); } }
@keyframes shakeUp2 {
  0%,
  50%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  70%,
  90% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px); }
  60%,
  80% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px); } }

.shakeup2 {
  -webkit-animation-name: shakeUp2;
  animation-name: shakeUp2; }

.shake2 {
  /* Start the shake animation and make the animation last for 0.5 seconds */
  -webkit-animation: shake 1s;
  animation: shake 1s;
  /* When the animation is finished, start again */
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

@keyframes shake {
  0% {
    -webkit-transform: translate(1px, 1px) rotate(0deg);
    transform: translate(1px, 1px) rotate(0deg); }
  10% {
    -webkit-transform: translate(-1px, -2px) rotate(-1deg);
    transform: translate(-1px, -2px) rotate(-1deg); }
  20% {
    -webkit-transform: translate(-3px, 0px) rotate(1deg);
    transform: translate(-3px, 0px) rotate(1deg); }
  30% {
    -webkit-transform: translate(3px, 2px) rotate(0deg);
    transform: translate(3px, 2px) rotate(0deg); }
  40% {
    -webkit-transform: translate(1px, -1px) rotate(1deg);
    transform: translate(1px, -1px) rotate(1deg); }
  50% {
    -webkit-transform: translate(-1px, 2px) rotate(-1deg);
    transform: translate(-1px, 2px) rotate(-1deg); }
  60% {
    -webkit-transform: translate(-3px, 1px) rotate(0deg);
    transform: translate(-3px, 1px) rotate(0deg); }
  70% {
    -webkit-transform: translate(3px, 1px) rotate(-1deg);
    transform: translate(3px, 1px) rotate(-1deg); }
  80% {
    -webkit-transform: translate(-1px, -1px) rotate(1deg);
    transform: translate(-1px, -1px) rotate(1deg); }
  90% {
    -webkit-transform: translate(1px, 2px) rotate(0deg);
    transform: translate(1px, 2px) rotate(0deg); }
  100% {
    -webkit-transform: translate(1px, -2px) rotate(-1deg);
    transform: translate(1px, -2px) rotate(-1deg); } }

@-webkit-keyframes flashlight {
  0% {
    -webkit-transform: translate(0, 0) scale(1);
    transform: translate(0, 0) scale(1); }
  100% {
    -webkit-transform: translate(-20px, -40px) scale(1.1);
    transform: translate(-20px, -40px) scale(1.1); } }

@keyframes flashlight {
  0% {
    -webkit-transform: translate(0, 0) scale(1);
    -ms-transform: translate(0, 0) scale(1);
    transform: translate(0, 0) scale(1); }
  100% {
    -webkit-transform: translate(-20px, -40px) scale(1.1);
    -ms-transform: translate(-20px, -40px) scale(1.1);
    transform: translate(-20px, -40px) scale(1.1); } }

.rotating {
  -webkit-animation: rotating 30s linear infinite;
  animation: rotating 30s linear infinite; }

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

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

/*--- About Text ---*/
/* text truncate multiline */
/*--- About Images ---*/
/*--- About Position ---*/
/*------------------------------------------------------*/
/*--- About Button ---*/
/*------------------------------------------------------*/
/*--- Customize Scrollbar ---*/
/*--- About Text ---*/
/*--- Smooth Scroll ---*/
::-moz-selection {
  color: #004CA2;
  background: #c0c0c0; }
::selection {
  color: #004CA2;
  background: #c0c0c0; }

/*--- Animate a ---*/
a {
  -webkit-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s; }
  a img {
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }

/*--- Customize Scrollbar ---*/
* {
  /* Work on Firefox */
  scrollbar-width: 5px;
  scrollbar-color: #004CA2 #c0c0c0; }

*::-webkit-scrollbar {
  /* Works on Chrome, Edge, and Safari */
  width: 5px; }

*::-webkit-scrollbar-track {
  background: #c0c0c0;
  -webkit-border-radius: 5px;
  border-radius: 5px; }

*::-webkit-scrollbar-thumb {
  background-color: #004CA2;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #004CA2; }

/*--- Common ClassName ---*/
.loop-infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

.loop-5 {
  -webkit-animation-iteration-count: 5;
  animation-iteration-count: 5; }

/*--- About Button ---*/
.btn-image {
  position: relative;
  overflow: hidden;
  display: inline-block;
  vertical-align: middle;
  line-height: 0; }
  .btn-image img:last-child {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    visibility: hidden;
    opacity: 0; }
  .btn-image:hover img:last-child {
    visibility: visible;
    opacity: 1; }

.btn-hover-zoom, .chieumo .chieumo-btn, .popup-btn {
  display: inline-block;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  .btn-hover-zoom:hover, .chieumo .chieumo-btn:hover, .popup-btn:hover {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1); }

.btn-hover-translateX {
  display: inline-block;
  -webkit-transition: -webkit-transform 0.1s ease-in-out;
  transition: -webkit-transform 0.1s ease-in-out;
  -o-transition: transform 0.1s ease-in-out;
  transition: transform 0.1s ease-in-out;
  transition: transform 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out; }
  .btn-hover-translateX:hover {
    -webkit-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    transform: translateX(-10px); }

.btn-hover-translateY {
  display: inline-block;
  -webkit-transition: -webkit-transform 0.1s ease-in-out;
  transition: -webkit-transform 0.1s ease-in-out;
  -o-transition: transform 0.1s ease-in-out;
  transition: transform 0.1s ease-in-out;
  transition: transform 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out; }
  .btn-hover-translateY:hover {
    -webkit-transform: translateY(-5px);
    -ms-transform: translateY(-5px);
    transform: translateY(-5px); }

.btn-hover-underline {
  position: relative;
  display: inline-block;
  text-decoration: none; }
  .btn-hover-underline:before {
    width: 0;
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    height: 1px;
    background: #000;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }
  .btn-hover-underline:hover:before {
    width: 100%; }

.btn-hover-border-wrapping {
  padding: 20px;
  font-size: 18px;
  position: relative;
  border: none; }
  .btn-hover-border-wrapping:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    border: #fff000 dashed;
    border-width: 0;
    -webkit-transition: border-width 0.1s ease-out;
    -o-transition: border-width 0.1s ease-out;
    transition: border-width 0.1s ease-out; }
  .btn-hover-border-wrapping:hover:before {
    z-index: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    border-width: 5px; }

.btn-hover-shine {
  display: inline-block;
  position: relative;
  overflow: hidden; }
  .btn-hover-shine:after {
    content: '';
    position: absolute;
    pointer-events: none;
    top: -110%;
    left: -210%;
    width: 200%;
    height: 200%;
    opacity: 0;
    background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.13)), color-stop(77%, rgba(255, 255, 255, 0.13)), color-stop(92%, rgba(255, 255, 255, 0.5)), to(rgba(255, 255, 255, 0)));
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.13) 0%, rgba(255, 255, 255, 0.13) 77%, rgba(255, 255, 255, 0.5) 92%, rgba(255, 255, 255, 0) 100%);
    background: -o-linear-gradient(left, rgba(255, 255, 255, 0.13) 0%, rgba(255, 255, 255, 0.13) 77%, rgba(255, 255, 255, 0.5) 92%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(to right, rgba(255, 255, 255, 0.13) 0%, rgba(255, 255, 255, 0.13) 77%, rgba(255, 255, 255, 0.5) 92%, rgba(255, 255, 255, 0) 100%);
    -webkit-transform: rotate(30deg);
    -ms-transform: rotate(30deg);
    transform: rotate(30deg); }
  .btn-hover-shine:hover:after {
    -webkit-animation: shine .75s;
    animation: shine .75s;
    opacity: 1;
    top: -30%;
    left: -30%;
    -webkit-transition-property: left, top, opacity;
    -o-transition-property: left, top, opacity;
    transition-property: left, top, opacity;
    -webkit-transition-duration: 1s, 1s, .15s;
    -o-transition-duration: 1s, 1s, .15s;
    transition-duration: 1s, 1s, .15s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease; }

/*--- About Text ---*/
.text-truncate {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  padding-bottom: 0 !important; }

.text-stroke {
  font-size: 100px;
  color: #fff;
  text-transform: uppercase;
  background: -webkit-linear-gradient(90deg, #000 20%, #f00 50%);
  /* Chrome10+,Safari5.1+ */
  -webkit-text-stroke: 5px rgba(255, 255, 255, 0.01);
  -webkit-background-clip: text; }

.text-gradient {
  text-transform: uppercase;
  font-weight: normal;
  font-size: 100px;
  background: #000;
  background: -webkit-linear-gradient(legacy-direction(180deg), #000, #f00, #fff000);
  background: -webkit-gradient(linear, left top, left bottom, from(#000), color-stop(#f00), to(#fff000));
  background: -webkit-linear-gradient(top, #000, #f00, #fff000);
  background: -o-linear-gradient(top, #000, #f00, #fff000);
  background: linear-gradient(180deg, #000, #f00, #fff000);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; }

/*--- About Image ---*/
.image-fit {
  width: 250px;
  display: block;
  height: 350px;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }

/*--- About Effect ---*/
.effect-gradient-linear {
  background: #77D7E7;
  background: -webkit-linear-gradient(legacy-direction(to bottom), #77D7E7 50%, #ff0000 50%, #fff000 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #77D7E7), color-stop(50%, #ff0000), to(#fff000));
  background: -webkit-linear-gradient(top, #77D7E7 50%, #ff0000 50%, #fff000 100%);
  background: -o-linear-gradient(top, #77D7E7 50%, #ff0000 50%, #fff000 100%);
  background: linear-gradient(to bottom, #77D7E7 50%, #ff0000 50%, #fff000 100%); }

/*--- About Other ---*/
.hover-stop-animated:hover {
  -webkit-animation-play-state: paused;
  animation-play-state: paused;
  -webkit-animation: step-end;
  -moz-animationanimation: step-end;
  animation: step-end; }

@font-face {
  font-family: "SF";
  src: url(../fonts/SF-Pro-Display-Regular.eot);
  src: url(../fonts/SF-Pro-Display-Regular.eot#iefix) format("eot"), url(../fonts/SF-Pro-Display-Regular.woff2) format("woff2"), url(../fonts/SF-Pro-Display-Regular.woff) format("woff"), url(../fonts/SF-Pro-Display-Regular.ttf) format("truetype"), url(../fonts/SF-Pro-Display-Regular.svg) format("svg"); }

@font-face {
  font-family: "utm_alberta_heavy";
  src: url(../fonts/utm_alberta_heavy.eot);
  src: url(../fonts/utm_alberta_heavy.eot#iefix) format("eot"), url(../fonts/utm_alberta_heavy.woff2) format("woff2"), url(../fonts/utm_alberta_heavy.woff) format("woff"), url(../fonts/utm_alberta_heavy.ttf) format("truetype"), url(../fonts/utm_alberta_heavy.svg) format("svg"); }

@font-face {
  font-family: "fzaugillion";
  src: url(../fonts/fzaugillion.eot);
  src: url(../fonts/fzaugillion.eot#iefix) format("eot"), url(../fonts/fzaugillion.woff2) format("woff2"), url(../fonts/fzaugillion.woff) format("woff"), url(../fonts/fzaugillion.ttf) format("truetype"), url(../fonts/fzaugillion.svg) format("svg"); }

.header {
  position: relative;
  z-index: 2;
  max-width: 100%;
  margin: 0 auto;
  height: 520px;
  background: url(../images/header-bg.jpg) no-repeat center top/cover;
  padding: 0 0; }
  @media only screen and (max-width: 480px) {
    .header {
      height: 300px; } }
  .header .container {
    position: relative;
    z-index: 1;
    margin: 0 auto;
    height: 100%; }

.text {
  position: absolute;
  top: 45%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 1; }
  @media only screen and (max-width: 768px) {
    .text {
      display: block; } }
  @media only screen and (max-width: 480px) {
    .text {
      width: 60%;
      top: 45%; } }

.logo {
  display: block;
  position: absolute;
  top: 0px;
  left: 50%;
  -webkit-transform: translateX(-55%);
  -ms-transform: translateX(-55%);
  transform: translateX(-55%);
  z-index: 11; }
  @media only screen and (max-width: 480px) {
    .logo {
      top: 5px; }
      .logo img {
        max-width: 80px; } }

.taigame {
  float: right;
  margin: 12px 45px 0 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media only screen and (max-width: 480px) {
    .taigame {
      margin-top: 13px; } }
  .taigame li a {
    color: #fff;
    font-size: 25px;
    padding: 0 5px;
    line-height: 0.7; }
    .taigame li a:hover {
      color: #ffb70a; }
    @media only screen and (max-width: 480px) {
      .taigame li a {
        font-size: 18px; } }
  .taigame li:last-child a:hover {
    -webkit-filter: brightness(150%);
    filter: brightness(150%); }
  .taigame li .logged {
    display: initial;
    color: #ededed;
    font-size: 16px;
    padding-left: 5px; }
    @media only screen and (max-width: 480px) {
      .taigame li .logged {
        font-size: 11px; } }
  .taigame li .logout {
    font-size: 16px; }
    @media only screen and (max-width: 480px) {
      .taigame li .logout {
        font-size: 11px; } }
  .taigame li .user {
    font-size: 18px;
    color: #bcfeff;
    font-weight: bold;
    display: inline-block;
    padding: 0 0 0 5px; }
    @media only screen and (max-width: 480px) {
      .taigame li .user {
        font-size: 12px;
        white-space: nowrap;
        width: 75px;
        overflow: hidden;
        -o-text-overflow: ellipsis;
        text-overflow: ellipsis;
        margin: -5px 0; } }
  @media only screen and (max-width: 640px) {
    .taigame li img {
      max-width: 70px; } }

.navbar-nav {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  padding: 0 0;
  background: #000;
  height: 60px; }
  @media only screen and (max-width: 768px) {
    .navbar-nav {
      position: fixed; } }
  @media only screen and (max-width: 480px) {
    .navbar-nav {
      height: 45px; } }
  .navbar-nav .age18 {
    position: absolute;
    top: 10px;
    left: 10px; }
    @media only screen and (max-width: 480px) {
      .navbar-nav .age18 {
        max-width: 30px;
        top: 10px; } }
  .navbar-nav ul.menu {
    display: none;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 770px;
    max-width: 100%;
    margin: 0;
    padding: 0 0; }
    @media only screen and (max-width: 768px) {
      .navbar-nav ul.menu {
        visibility: hidden;
        opacity: 0;
        display: block;
        padding-top: 60px;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1; } }
    .navbar-nav ul.menu.active {
      opacity: 1;
      background: rgba(0, 0, 0, 0.8);
      visibility: visible; }
    .navbar-nav ul.menu li {
      position: relative; }
      .navbar-nav ul.menu li:nth-child(2) {
        margin-right: calc(2rem + 9vw); }
        @media (min-width: 1200px) {
          .navbar-nav ul.menu li:nth-child(2) {
            margin-right: 8.75rem; } }
        @media only screen and (max-width: 768px) {
          .navbar-nav ul.menu li:nth-child(2) {
            margin-right: 0; } }
      .navbar-nav ul.menu li a {
        display: block;
        -webkit-animation: all .2s ease-in-out;
        animation: all .2s ease-in-out;
        color: #fee7bc;
        text-transform: uppercase;
        text-align: center;
        font-weight: normal;
        font-size: 20px;
        padding: 0 0 0 0;
        line-height: 60px;
        height: 60px;
        width: 193px; }
        @media only screen and (max-width: 768px) {
          .navbar-nav ul.menu li a {
            display: block;
            width: 100%;
            text-align: right;
            padding-right: 20px; } }
        .navbar-nav ul.menu li a:hover, .navbar-nav ul.menu li a.active {
          color: #fff;
          background: url(../images/menu-bg-hover.jpg) no-repeat 0 0; }
          @media only screen and (max-width: 768px) {
            .navbar-nav ul.menu li a:hover, .navbar-nav ul.menu li a.active {
              background: none; } }
          .navbar-nav ul.menu li a:hover:hover, .navbar-nav ul.menu li a.active:hover {
            color: #fff; }
      .navbar-nav ul.menu li:hover a {
        color: #978b75; }
  .navbar-nav .btn-ham {
    position: fixed;
    top: 10px;
    right: 10px;
    z-index: 2;
    width: 35px;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    outline: none;
    border: none; }
    @media only screen and (max-width: 768px) {
      .navbar-nav .btn-ham {
        display: block; } }
    @media only screen and (max-width: 480px) {
      .navbar-nav .btn-ham {
        top: 5px; } }
  .navbar-nav .btn-ham span,
  .navbar-nav .btn-ham:after,
  .navbar-nav .btn-ham:before {
    content: '';
    display: block;
    width: 100%;
    height: 5px;
    background-color: #FFF;
    margin: 6px 0px;
    -webkit-transition: 0.4s;
    -o-transition: 0.4s;
    transition: 0.4s; }
  .navbar-nav .btn-ham.active:before {
    -webkit-transform: rotate(-45deg) translate(-8px, 6px);
    -ms-transform: rotate(-45deg) translate(-8px, 6px);
    transform: rotate(-45deg) translate(-8px, 6px); }
  .navbar-nav .btn-ham.active:after {
    -webkit-transform: rotate(45deg) translate(-9px, -8px);
    -ms-transform: rotate(45deg) translate(-9px, -8px);
    transform: rotate(45deg) translate(-9px, -8px); }
  .navbar-nav .btn-ham.active span {
    opacity: 0;
    -webkit-transform: translateX(-30px);
    -ms-transform: translateX(-30px);
    transform: translateX(-30px); }

.avatar {
  display: inline-block;
  margin: 6px 0px 0 65px; }
  .avatar img {
    -webkit-border-radius: 20px;
    border-radius: 20px; }
  @media only screen and (max-width: 480px) {
    .avatar {
      margin: 10px 0px 0 27px; }
      .avatar img {
        max-width: 40px; } }

.play-video {
  display: block;
  text-align: center;
  line-height: 0.7;
  z-index: 8;
  position: absolute;
  top: 30%;
  left: 60%;
  z-index: 11;
  -webkit-transition: all 0.1s linear;
  -o-transition: all 0.1s linear;
  transition: all 0.1s linear; }
  .play-video:hover {
    -webkit-filter: brightness(110%);
    filter: brightness(110%); }
  @media only screen and (max-width: 480px) {
    .play-video img {
      max-width: 80px; } }

.dangkysom {
  position: absolute;
  bottom: 0px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 10; }
  .dangkysom img:nth-child(2) {
    -webkit-animation: fadeButtonInOut 0.5s ease-in-out 0s infinite alternate;
    animation: fadeButtonInOut 0.5s ease-in-out 0s infinite alternate; }
  @media only screen and (max-width: 480px) {
    .dangkysom {
      max-width: 35%;
      bottom: 0%; } }

.opening {
  width: 130px;
  height: 130px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  font-family: 'Roboto Slab';
  color: #fff;
  text-transform: initial;
  text-align: center;
  font-weight: 500;
  font-size: 0.875rem;
  position: absolute;
  top: 50%;
  right: 10%;
  z-index: 10;
  background: url(../images/opening-bg.png) no-repeat 0 0/100%;
  line-height: 1.1; }
  .opening .date {
    color: #fff;
    font-size: calc(1.275rem + 0.3vw);
    padding: 0 0 0 0px; }
    @media (min-width: 1200px) {
      .opening .date {
        font-size: 1.5rem; } }

.buttons-block {
  max-width: 100%;
  height: 100%;
  padding: 15px 0px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  position: absolute;
  z-index: 7;
  top: 50px;
  left: 0px;
  right: 0px; }
  .buttons-block li {
    margin: 0 5px; }
  @media only screen and (max-width: 480px) {
    .buttons-block {
      top: 35px; }
      .buttons-block li {
        margin: -5px 10px 0; } }
  .buttons-block a {
    display: block;
    padding: 0 0px; }
    @media only screen and (max-width: 480px) {
      .buttons-block a img {
        width: 100px; } }
    .buttons-block a:hover {
      -webkit-filter: brightness(110%);
      filter: brightness(110%); }

ul.menu {
  display: none;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 770px;
  max-width: 100%;
  margin: 0;
  padding: 0 0; }
  @media only screen and (max-width: 1000px) {
    ul.menu {
      visibility: hidden;
      opacity: 0;
      display: block;
      padding-top: 80px;
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 2; } }
  ul.menu.active {
    opacity: 1;
    background: rgba(0, 0, 0, 0.8);
    visibility: visible; }
  ul.menu li {
    position: relative; }
    ul.menu li:nth-child(2) {
      margin-right: calc(2rem + 9vw); }
      @media (min-width: 1200px) {
        ul.menu li:nth-child(2) {
          margin-right: 8.75rem; } }
      @media only screen and (max-width: 768px) {
        ul.menu li:nth-child(2) {
          margin-right: 0; } }
    ul.menu li a {
      display: block;
      -webkit-animation: all .2s ease-in-out;
      animation: all .2s ease-in-out;
      color: #fee9be;
      text-transform: uppercase;
      text-align: center;
      font-weight: normal;
      font-size: 20px;
      padding: 0 0 0 0;
      line-height: 60px;
      height: 60px;
      width: 193px; }
      @media only screen and (max-width: 768px) {
        ul.menu li a {
          display: block;
          width: 100%;
          text-align: right;
          padding-right: 20px; } }
      ul.menu li a:hover, ul.menu li a.active {
        color: #be3c2a;
        background: url(../images/menu-bg-hover.jpg) no-repeat 0 0; }
        @media only screen and (max-width: 768px) {
          ul.menu li a:hover, ul.menu li a.active {
            background: none; } }
        ul.menu li a:hover:hover, ul.menu li a.active:hover {
          color: #be3c2a; }
    ul.menu li:hover a {
      color: #978b75; }

:root {
  /* Not my favorite that line-height has to be united, but needed */
  --lh: 1.4rem; }

html {
  font-size: 16px;
  line-height: var(--lh); }

body {
  background-color: #fff !important;
  color: #010101 !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  font-family: "SF" !important;
  font-size: 1rem; }

a {
  cursor: pointer;
  color: #04459b;
  text-decoration: none;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  a:hover, a:focus {
    text-decoration: none !important;
    outline: none;
    color: #055bcd; }
  a img {
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }

.show-mobile {
  display: none; }
  @media only screen and (max-width: 768px) {
    .show-mobile {
      display: block; } }

.show-desktop {
  display: block; }
  @media only screen and (max-width: 768px) {
    .show-desktop {
      display: none; } }

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

.loop-5 {
  -webkit-animation-iteration-count: 5;
  animation-iteration-count: 5; }

/*---- Content CSS Varibles ----*/
/*--- Image -----*/
/*--- Notice Box ---*/
/*---- End Content CSS Varibles ----*/
/* General */
.StaticMain {
  clear: both;
  text-align: justify;
  color: #363636;
  /* Text styles */
  /* END. Text styles */
  /* Image styles */
  /* Notice box */
  /* List styles */ }
  .StaticMain h3 {
    font-family: SF-Bold;
    color: #292826;
    font-size: 3em;
    font-weight: bold;
    text-align: center;
    margin: 0px 0 30px 0; }
  .StaticMain a {
    color: #9b2a2e;
    text-decoration: underline; }
    .StaticMain a:hover {
      color: #a18c5c;
      text-decoration: none; }
  .StaticMain p {
    margin: 0 0 10px; }
  .StaticMain ul {
    list-style: disc;
    padding: 0 0 0 0; }
    .StaticMain ul li {
      list-style: disc;
      padding: 0 0 0 0px;
      margin: 0 0 5px 20px; }
      .StaticMain ul li ul {
        list-style: circle;
        padding: 0 0 10px 0; }
  .StaticMain ol {
    margin: 0 0 20px;
    padding: 0 0 0 20px; }
    .StaticMain ol li {
      margin: 0 0 10px;
      list-style: decimal !important; }
  .StaticMain .AnchorLink {
    margin: 0px 30px 20px;
    overflow: hidden;
    list-style: none outside none; }
    .StaticMain .AnchorLink li {
      float: left;
      width: 49%;
      padding: 0 0 5px 5px;
      margin: 0 1% 0 0;
      list-style: none; }
      @media only screen and (max-width: 768px) {
        .StaticMain .AnchorLink li {
          width: 31%;
          margin-right: 2%; } }
      @media only screen and (max-width: 480px) {
        .StaticMain .AnchorLink li {
          width: 48%;
          margin-right: 2%; } }
      @media only screen and (max-width: 320px) {
        .StaticMain .AnchorLink li {
          width: 98%;
          margin-right: 2%; } }
      .StaticMain .AnchorLink li a {
        text-decoration: none;
        padding-left: 15px;
        font-weight: bold;
        position: relative;
        color: #9b2a2e; }
        .StaticMain .AnchorLink li a:before {
          content: '';
          width: 5px;
          height: 5px;
          border: solid 1px #9b2a2e;
          position: absolute;
          top: 7px;
          left: 0;
          -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          transform: rotate(45deg); }
      .StaticMain .AnchorLink li a.Active,
      .StaticMain .AnchorLink li a.Active:hover,
      .StaticMain .AnchorLink li a:hover {
        color: #a18c5c; }
        .StaticMain .AnchorLink li a.Active:before,
        .StaticMain .AnchorLink li a.Active:hover:before,
        .StaticMain .AnchorLink li a:hover:before {
          content: '';
          position: absolute;
          top: 7px;
          left: 0;
          background: #a18c5c;
          border: solid 1px #a18c5c;
          -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          transform: rotate(45deg);
          color: #055bcd; }
  .StaticMain .FirstChar {
    padding: 4px 4px 0 0;
    line-height: 30px;
    font-size: 42px;
    font-weight: bold;
    float: left;
    color: #292826; }
  .StaticMain .ContentBlock {
    padding-bottom: 20px;
    clear: both; }
  .StaticMain .ImagesBlock {
    text-align: center;
    margin-bottom: 20px; }
  .StaticMain .ImgCenter {
    text-align: center !important;
    margin-bottom: 20px !important;
    font-size: 90%;
    font-style: italic; }
  .StaticMain h4 {
    color: #912929;
    padding: 10px 0 10px 40px;
    font-size: 20px;
    font-weight: bold;
    margin: 0 0 5px 0px;
    background: url("../images/content/icon-h4.png") no-repeat; }
  .StaticMain .ContentH4 {
    clear: both;
    margin: 0 0 10px 40px;
    padding: 0 0 0 0px; }
    .StaticMain .ContentH4 p {
      margin-bottom: 10px;
      /*text-align: justify;*/ }
  .StaticMain .ImagesH4 {
    text-align: center;
    margin: 0 0 20px 40px; }
  .StaticMain h5 {
    color: #912929;
    padding: 10px 0 10px 30px;
    margin: 0 0 10px 40px;
    font-size: 18px;
    font-weight: bold;
    background: url("../images/content/icon-h5.png") no-repeat 0 10px; }
  .StaticMain .ContentH5 {
    clear: both;
    margin: 0 0 0 70px;
    padding: 0 0 20px; }
    .StaticMain .ContentH5 p {
      margin-bottom: 10px;
      text-align: justify; }
  .StaticMain .ImagesH5 {
    text-align: center;
    margin: 0 0 20px 30px; }
  .StaticMain table {
    border-top: solid 1px #1f002b;
    margin: 0 auto 20px;
    border-collapse: collapse; }
    .StaticMain table thead tr th {
      color: #eef9f9;
      background: #333333;
      font-weight: bolder;
      padding: 10px 10px;
      border-right: 1px solid #1f002b;
      border-left: 1px solid #1f002b;
      border-bottom: 1px solid #1f002b;
      text-align: center; }
    .StaticMain table tbody tr:nth-child(odd) {
      background-color: #b7d8e3; }
    .StaticMain table tbody tr:nth-child(even) {
      background-color: #e3f1f6; }
    .StaticMain table tbody tr td {
      padding: 10px 10px;
      border: 1px solid #1f002b;
      border-top: none;
      color: #1a222a; }
      .StaticMain table tbody tr td a {
        color: #1a222a; }
        .StaticMain table tbody tr td a:hover {
          color: #055bcd; }
  .StaticMain table.Notice {
    border: 1px solid #1f002b; }
    .StaticMain table.Notice tr td {
      padding: 10px 20px;
      border: 1px solid #1f002b; }
      .StaticMain table.Notice tr td p {
        margin-bottom: 10px; }
      .StaticMain table.Notice tr td ul,
      .StaticMain table.Notice tr td ol {
        padding-bottom: 0px;
        margin-bottom: 0px; }
  .StaticMain .TextCenter {
    text-align: center; }
  .StaticMain .TextRight {
    text-align: right; }
  .StaticMain .Strong01 {
    font-weight: bolder;
    color: #9b2a2e; }
  .StaticMain .Strong02 {
    font-weight: bolder;
    color: #a18c5c; }
  .StaticMain .Strong03 {
    font-weight: bolder;
    color: #006cc8; }
  .StaticMain .TextFont17 {
    font-size: 17px; }
  .StaticMain .TextFont19 {
    font-size: 19px; }
  .StaticMain .TextFont21 {
    font-size: 21px; }
  .StaticMain .NoBorderImg {
    border: none;
    background: none;
    padding: 0; }
  .StaticMain .BorderImg {
    background: #000;
    border: 1px solid #000;
    padding: 0px; }
  .StaticMain .ImgLeft {
    float: left;
    margin: 1px 10px 5px 0;
    border: 1px solid #000; }
  .StaticMain .ImgRight {
    float: right;
    margin: 0 0 5px 10px;
    border: 1px solid #000; }
  .StaticMain blockquote {
    border-left: 2px solid #1f002b;
    font-size: 14px;
    margin: 0 20px;
    padding: 10px 40px;
    margin: 0;
    position: relative;
    font-style: italic; }
    .StaticMain blockquote:before, .StaticMain blockquote:after {
      position: absolute;
      display: block;
      width: 20px;
      height: 20px;
      content: ''; }
    .StaticMain blockquote:before {
      top: 0;
      left: 10px;
      background-position: 0 0; }
    .StaticMain blockquote:after {
      right: 0;
      bottom: 0;
      background-position: -20px 0; }
  .StaticMain .NoticeBox {
    border: solid 1px #8d8d8d;
    padding: 10px;
    background: #e3e7ef; }
    .StaticMain .NoticeBox p.Legend {
      font-size: 13px;
      font-weight: bolder;
      padding: 0 15px;
      color: #fff;
      background: #912929;
      height: 20px;
      margin: -20px 0 10px;
      float: left;
      border: solid 1px #912929; }
    .StaticMain .NoticeBox .NoteContent {
      width: 100%;
      overflow: hidden;
      text-align: justify;
      color: #1e2c19; }
      .StaticMain .NoticeBox .NoteContent a {
        color: #1c76fd; }
        .StaticMain .NoticeBox .NoteContent a:hover {
          color: #fd4b36; }
  .StaticMain ul.Decimal {
    margin: 0px 0px 10px 0px; }
    .StaticMain ul.Decimal li {
      list-style-type: decimal;
      margin-bottom: 10px;
      text-align: justify; }
      .StaticMain ul.Decimal li ul {
        padding-top: 5px; }
  .StaticMain ul.UpperAlpha {
    margin: 0px 0px 10px 0px; }
    .StaticMain ul.UpperAlpha li {
      list-style-type: upper-alpha;
      margin-bottom: 10px;
      text-align: justify; }
      .StaticMain ul.UpperAlpha li ul {
        padding-top: 5px; }
  .StaticMain ul.LowerAlpha {
    margin: 0px 0px 10px 0px; }
    .StaticMain ul.LowerAlpha li {
      list-style-type: lower-alpha;
      margin-bottom: 10px;
      text-align: justify; }
      .StaticMain ul.LowerAlpha li ul {
        padding-top: 5px; }
  .StaticMain ul.Icon {
    margin: 0px 0px 10px 5px; }
    .StaticMain ul.Icon li {
      margin-bottom: 10px;
      padding-left: 15px;
      list-style-type: none;
      text-align: justify;
      position: relative; }
      .StaticMain ul.Icon li:before {
        font-size: 8px;
        content: "\e074";
        font-family: 'GlyphiconsHalflings';
        position: absolute;
        top: 4px;
        left: 0;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg); }
      .StaticMain ul.Icon li ul {
        padding-top: 5px; }
      .StaticMain ul.Icon li ul.LowerAlpha li {
        list-style-type: lower-alpha;
        margin-bottom: 10px;
        background: none;
        padding-left: 0px; }
  .StaticMain ul.Dash {
    margin: 0px 0px 10px 5px; }
    .StaticMain ul.Dash li {
      margin-bottom: 10px;
      padding-left: 15px;
      list-style-type: none;
      text-align: justify;
      position: relative; }
      .StaticMain ul.Dash li:before {
        font-size: 8px;
        content: "\2212";
        font-family: 'GlyphiconsHalflings';
        position: absolute;
        top: 5px;
        left: 0; }
      .StaticMain ul.Dash li ul {
        padding-top: 5px; }
  .StaticMain ul.Disc {
    margin: 0px 0px 10px 5px; }
    .StaticMain ul.Disc li {
      list-style-type: none;
      margin: 0 0 10px 0;
      padding: 0 0 0 15px;
      text-align: justify;
      position: relative; }
      .StaticMain ul.Disc li:before {
        font-size: 8px;
        content: "\e165";
        font-family: 'GlyphiconsHalflings';
        position: absolute;
        top: 5px;
        left: 0; }
      .StaticMain ul.Disc li ul {
        padding-top: 5px; }

body {
  overflow-x: hidden; }
  body .wrapper {
    max-width: 770px;
    overflow-x: hidden;
    margin: 0 auto; }
  body .title {
    text-align: center;
    margin: 0 0; }
    body .title-sub {
      font-size: calc(1.3125rem + 0.75vw);
      color: #092a4d;
      text-align: inherit;
      font-weight: normal;
      line-height: 1.2; }
      @media (min-width: 1200px) {
        body .title-sub {
          font-size: 1.875rem; } }
      @media only screen and (max-width: 480px) {
        body .title-sub {
          font-size: 17px; } }
  body > .container {
    position: relative; }

.popover {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding: 5px 10px;
  background: rgba(65, 48, 31, 0.8);
  border: solid 1px #9f8065;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  line-height: 30px;
  z-index: 5;
  visibility: hidden;
  -webkit-transform: translateY(-20px);
  -ms-transform: translateY(-20px);
  transform: translateY(-20px);
  -webkit-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
  opacity: 0;
  color: #ffffff;
  font-size: 15px;
  position: absolute;
  top: 0;
  left: 0; }

a:hover .popover {
  visibility: visible;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
  z-index: 100; }

main {
  position: relative;
  z-index: 5; }

.baodanh {
  padding: 20px 0 0;
  text-align: center;
  height: 497px;
  background: url(../images/baodanh-bg.jpg) no-repeat center top/cover; }
  @media only screen and (max-width: 480px) {
    .baodanh {
      height: 290px;
      padding: 0; } }
  @media only screen and (max-width: 400px) {
    .baodanh {
      height: 290px; } }
  .baodanh .title {
    width: 580px;
    max-width: 100%;
    margin: 0px auto 0; }
    @media only screen and (max-width: 480px) {
      .baodanh .title img {
        max-width: 60%; } }
  .baodanh .container {
    z-index: 5;
    overflow: hidden; }
    @media only screen and (max-width: 480px) {
      .baodanh .container {
        padding: 10px; } }
  .baodanh-qua {
    max-width: 80%;
    margin: 0; }
  .baodanh .taphop {
    margin: 0px 0 0 0px;
    padding: 0 0 0 20%;
    color: #4d1e1c;
    text-align: center;
    font-weight: 500;
    font-size: 20px;
    paint-order: stroke fill;
    font-family: 'Roboto Slab'; }
    @media only screen and (max-width: 480px) {
      .baodanh .taphop {
        margin-bottom: 0;
        font-size: 15px; } }
    .baodanh .taphop .total {
      color: #4d1e1c;
      font-size: 20px;
      display: inline-block;
      padding: 20px 0 0 0px;
      font-weight: 500;
      line-height: 1; }
      @media only screen and (max-width: 480px) {
        .baodanh .taphop .total {
          padding: 0;
          font-size: 15px; } }
      .baodanh .taphop .total span {
        display: inline-block;
        padding: 0 0 0 10px;
        font-size: 38px;
        font-weight: 900;
        background: #57a77a;
        background: -webkit-linear-gradient(legacy-direction(0deg), #57a77a 5%, #276755);
        background: -webkit-gradient(linear, left bottom, left top, color-stop(5%, #57a77a), to(#276755));
        background: -webkit-linear-gradient(bottom, #57a77a 5%, #276755);
        background: -o-linear-gradient(bottom, #57a77a 5%, #276755);
        background: linear-gradient(0deg, #57a77a 5%, #276755);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent; }
        @media only screen and (max-width: 480px) {
          .baodanh .taphop .total span {
            font-size: 22px;
            -webkit-text-stroke: 0px #faf2d1; } }
  .baodanh .loading-block {
    width: 490px;
    max-width: 100%;
    position: relative;
    margin: 0 auto; }
    .baodanh .loading-block a {
      display: block;
      line-height: 1; }
  .baodanh .loading {
    width: 100%;
    background: url(../images/loading-bg.png) no-repeat 0px 4px/100%;
    position: relative;
    margin: 25px 0 0 0;
    padding: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 40px; }
    @media only screen and (max-width: 480px) {
      .baodanh .loading {
        margin-bottom: 30px;
        padding: 0 0 0 40px;
        -webkit-box-pack: start;
        -webkit-justify-content: start;
        -ms-flex-pack: start;
        justify-content: start;
        gap: 30px; } }
    @media only screen and (max-width: 400px) {
      .baodanh .loading {
        gap: 15px; } }
    .baodanh .loading li {
      position: relative;
      padding: 0px 0px 0; }
      .baodanh .loading li:not(.loading-bar) {
        margin: 0 0 0 0; }
        @media only screen and (max-width: 480px) {
          .baodanh .loading li:not(.loading-bar) {
            margin-bottom: 0; } }
        .baodanh .loading li:not(.loading-bar) .popover {
          width: -webkit-max-content;
          width: -moz-max-content;
          width: max-content;
          padding: 5px;
          background: rgba(0, 0, 0, 0.8);
          border: solid 1px #569fb2;
          position: absolute;
          right: 0;
          left: 0;
          -webkit-border-radius: 5px;
          border-radius: 5px;
          z-index: 5;
          visibility: hidden;
          -webkit-transform: translateY(-20px);
          -ms-transform: translateY(-20px);
          transform: translateY(-20px);
          -webkit-transition: all 0.2s;
          -o-transition: all 0.2s;
          transition: all 0.2s;
          opacity: 0;
          color: #eaf3f8;
          font-family: 'Roboto Slab';
          font-size: 14px;
          text-align: center;
          padding: 0 5px; }
        .baodanh .loading li:not(.loading-bar):hover .popover {
          visibility: visible;
          -webkit-transform: translateY(0);
          -ms-transform: translateY(0);
          transform: translateY(0);
          opacity: 1;
          z-index: 100; }
      @media only screen and (max-width: 768px) {
        .baodanh .loading li {
          padding: 0 0px; } }
      .baodanh .loading li.loading-bar {
        position: absolute;
        top: 9px;
        left: 35px;
        background: #feda5d;
        width: 0;
        height: 7px;
        -webkit-border-radius: 3px;
        border-radius: 3px; }
        @media only screen and (max-width: 480px) {
          .baodanh .loading li.loading-bar {
            height: 7px;
            top: 15%;
            left: 30px; } }
        .baodanh .loading li.loading-bar:before {
          content: '';
          width: 45px;
          height: 45px;
          background: url(../images/loading-icon.png) no-repeat;
          position: absolute;
          top: -45px;
          right: 0; }
      .baodanh .loading li img:first-child {
        display: block; }
      .baodanh .loading li a {
        display: block;
        text-align: center;
        margin-top: 15px; }
        .baodanh .loading li a:hover {
          -webkit-filter: brightness(115%);
          filter: brightness(115%); }
        .baodanh .loading li a.off {
          cursor: default;
          -webkit-filter: grayscale(100%);
          filter: grayscale(100%); }
  .baodanh .baodanh-btn {
    display: block;
    margin: 10px 0 0;
    line-height: 1;
    -webkit-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s; }
    .baodanh .baodanh-btn.off {
      -webkit-filter: grayscale(1);
      filter: grayscale(1);
      cursor: default; }
      .baodanh .baodanh-btn.off:hover {
        -webkit-filter: grayscale(1) brightness(100%) !important;
        filter: grayscale(1) brightness(100%) !important; }
    @media only screen and (max-width: 480px) {
      .baodanh .baodanh-btn img {
        max-width: 120px; } }
  .baodanh .nhanqua-btn {
    position: absolute;
    top: -30px;
    right: -65px; }
    @media only screen and (max-width: 480px) {
      .baodanh .nhanqua-btn {
        right: 0; } }
    .baodanh .nhanqua-btn.off {
      -webkit-filter: grayscale(100%);
      filter: grayscale(100%);
      cursor: default; }

.chieumo {
  position: relative;
  height: 945px;
  padding: 0px 10px 30px;
  background: url(../images/chieumo-bg.jpg) no-repeat center top/cover; }
  @media only screen and (max-width: 480px) {
    .chieumo {
      height: 550px; } }
  .chieumo .title {
    margin: 0 0 0px; }
    @media only screen and (max-width: 480px) {
      .chieumo .title img {
        width: 60%; } }
  .chieumo-tuong {
    position: absolute;
    top: 120px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    margin: 0 auto; }
  .chieumo .yourid {
    color: #46341d;
    text-transform: uppercase;
    text-align: center;
    font-weight: normal;
    font-size: 20px;
    margin: 0px auto 10px; }
    .chieumo .yourid span {
      font-weight: 600;
      font-size: 23px;
      display: inline-block; }
  .chieumo .vongquay {
    width: 770px;
    max-width: 100%;
    margin: 0px auto 0;
    position: relative; }
    .chieumo .vongquay ul {
      width: 100%;
      max-width: 100%;
      position: relative;
      margin-top: 0px; }
      @media only screen and (max-width: 480px) {
        .chieumo .vongquay ul {
          margin-top: -10px; } }
    .chieumo .vongquay li img {
      -webkit-transition: all 0.2s ease-in-out;
      -o-transition: all 0.2s ease-in-out;
      transition: all 0.2s ease-in-out;
      -webkit-filter: brightness(95%);
      filter: brightness(95%); }
    .chieumo .vongquay li.active img:last-child {
      opacity: 1;
      visibility: visible; }
    .chieumo .vongquay li .popover {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      padding: 5px;
      background: rgba(0, 0, 0, 0.8);
      border: solid 1px #9f8065;
      position: absolute;
      bottom: 0;
      left: 25%;
      -webkit-border-radius: 5px;
      border-radius: 5px;
      z-index: 5;
      visibility: hidden;
      -webkit-transform: translateY(-20px);
      -ms-transform: translateY(-20px);
      transform: translateY(-20px);
      -webkit-transition: all 0.2s;
      -o-transition: all 0.2s;
      transition: all 0.2s;
      opacity: 0;
      color: #aba281;
      font-size: 14px;
      text-align: center;
      padding: 0 5px; }
    .chieumo .vongquay li:hover .popover {
      visibility: visible;
      -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
      transform: translateY(0);
      opacity: 1;
      z-index: 100; }
    @media only screen and (max-width: 480px) {
      .chieumo .vongquay ul li img {
        max-width: 100px; } }
    .chieumo .vongquay .qua-01 {
      position: absolute;
      top: 10%;
      left: 12%; }
      @media only screen and (max-width: 480px) {
        .chieumo .vongquay .qua-01 {
          left: 4%; } }
    .chieumo .vongquay .qua-02 {
      position: absolute;
      top: 140px;
      left: 20px; }
      @media only screen and (max-width: 480px) {
        .chieumo .vongquay .qua-02 {
          top: 80px;
          left: -10px; } }
    .chieumo .vongquay .qua-03 {
      position: absolute;
      top: 290px;
      left: 30px; }
      @media only screen and (max-width: 480px) {
        .chieumo .vongquay .qua-03 {
          top: 170px;
          left: 0; } }
    .chieumo .vongquay .qua-04 {
      position: absolute;
      top: 410px;
      left: 100px; }
      @media only screen and (max-width: 480px) {
        .chieumo .vongquay .qua-04 {
          top: 235px;
          left: 45px; } }
    .chieumo .vongquay .qua-05 {
      position: absolute;
      top: 15px;
      right: 80px; }
      @media only screen and (max-width: 480px) {
        .chieumo .vongquay .qua-05 {
          top: 0;
          right: 10px; } }
    .chieumo .vongquay .qua-06 {
      position: absolute;
      top: 140px;
      right: 20px; }
      @media only screen and (max-width: 480px) {
        .chieumo .vongquay .qua-06 {
          top: 80px;
          right: -15px; } }
    .chieumo .vongquay .qua-07 {
      position: absolute;
      top: 290px;
      right: 30px; }
      @media only screen and (max-width: 480px) {
        .chieumo .vongquay .qua-07 {
          top: 170px;
          right: 0; } }
    .chieumo .vongquay .qua-08 {
      position: absolute;
      top: 410px;
      right: 100px; }
      @media only screen and (max-width: 480px) {
        .chieumo .vongquay .qua-08 {
          top: 235px;
          right: 60px; } }
  .chieumo .luotquay {
    width: 270px;
    height: 56px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background: url(../images/luotquay-bg.png) no-repeat 0 0;
    color: #4d1e1c;
    text-align: center;
    font-weight: 600;
    font-size: 15px;
    padding: 0 0;
    font-family: 'Roboto Slab';
    position: absolute;
    top: 500px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 10; }
    @media only screen and (max-width: 480px) {
      .chieumo .luotquay {
        top: 310px;
        left: 42%;
        -webkit-transform: scale(0.75) translateX(-50%);
        -ms-transform: scale(0.75) translateX(-50%);
        transform: scale(0.75) translateX(-50%); } }
    @media only screen and (max-width: 400px) {
      .chieumo .luotquay {
        top: 290px;
        left: 44%;
        -webkit-transform: scale(0.65) translateX(-65%);
        -ms-transform: scale(0.65) translateX(-65%);
        transform: scale(0.65) translateX(-65%); } }
    .chieumo .luotquay .total {
      color: #276755;
      font-size: 25px;
      font-weight: 600;
      display: inline-block;
      padding: 0 10px; }
  .chieumo .chieumo-btn {
    width: 110px;
    display: block;
    position: absolute;
    top: 230px;
    left: 400px; }
    @media only screen and (max-width: 480px) {
      .chieumo .chieumo-btn {
        max-width: 65px;
        top: 140px;
        left: 55%; } }
  .chieumo .qua-list {
    max-width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 75% auto 5px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 60px; }
    @media only screen and (max-width: 480px) {
      .chieumo .qua-list {
        margin-top: 80%;
        gap: 0; } }
    @media only screen and (max-width: 400px) {
      .chieumo .qua-list {
        margin-top: 100%;
        gap: 0; } }
    .chieumo .qua-list li {
      position: relative;
      margin: 0 10px; }
      .chieumo .qua-list li span {
        position: absolute;
        bottom: 25px;
        left: 50%;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%); }
      .chieumo .qua-list li.off img {
        -webkit-filter: grayscale(100%);
        filter: grayscale(100%); }
        .chieumo .qua-list li.off img:last-child {
          display: none; }
      .chieumo .qua-list li.off a {
        cursor: default; }
      .chieumo .qua-list li a {
        position: relative;
        overflow: initial;
        display: block;
        line-height: 0.9; }

.btns-block {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
  margin: 0px auto 0px;
  z-index: 3; }
  .btns-block a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 0 10px; }
    @media only screen and (max-width: 480px) {
      .btns-block a {
        font-size: 15px; } }
    .btns-block a:hover {
      -webkit-filter: brightness(120%);
      filter: brightness(120%); }

/*--- Dac sac ---*/
.dacsac {
  height: 545px;
  padding: 40px 10px 0;
  margin: 0;
  background: url(../images/dacsac-bg.jpg) no-repeat center top/cover; }
  @media only screen and (max-width: 480px) {
    .dacsac {
      height: 390px; } }
  .dacsac .title {
    margin: 0 0 0px 0px; }
  .dacsac-frame {
    width: 550px;
    max-width: 100%;
    margin: 0 auto;
    padding: 19px 20px 10px 25px;
    background: url(../images/dacsac-frame.png) no-repeat 0 0/cover; }
    @media only screen and (max-width: 480px) {
      .dacsac-frame {
        padding: 14px 23px 7px 19px;
        -webkit-transform: scale(0.9);
        -ms-transform: scale(0.9);
        transform: scale(0.9);
        margin-top: -7%; } }
  .dacsac .dacsac-slider {
    margin: 0px auto 0 !important;
    overflow: hidden !important; }
    .dacsac .dacsac-slider .swiper-slide {
      -webkit-filter: blur(4px);
      filter: blur(4px); }
      .dacsac .dacsac-slider .swiper-slide.swiper-slide-active {
        -webkit-filter: blur(0px);
        filter: blur(0px); }
    .dacsac .dacsac-slider a {
      display: block;
      position: relative; }
  .dacsac-pagination {
    width: 100%;
    text-align: center;
    padding: 0px 0 0 0; }
    .dacsac-pagination .swiper-pagination-bullet {
      width: 20px;
      height: 20px;
      margin: 0 5px;
      background: url(../images/dacsac-dot.png) no-repeat 0 0;
      opacity: 1; }
      .dacsac-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
        background: url(../images/dacsac-dot-hover.png) no-repeat 0 0; }
  .dacsac .prev-btn {
    position: absolute;
    left: 45px;
    top: 58%;
    z-index: 5;
    margin: 0; }
    @media only screen and (max-width: 480px) {
      .dacsac .prev-btn {
        left: -43px;
        top: 40%; } }
  .dacsac .next-btn {
    position: absolute;
    right: 45px;
    top: 58%;
    z-index: 5;
    margin: 0; }
    @media only screen and (max-width: 480px) {
      .dacsac .next-btn {
        right: -43px;
        top: 40%; } }
  .dacsac [class*="-btn"] {
    cursor: pointer; }
    .dacsac [class*="-btn"]:hover {
      -webkit-filter: brightness(115%);
      filter: brightness(115%); }

/*--- Popup ---*/
.popup {
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 1001;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  visibility: hidden;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s; }
  .popup .popup-bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.7); }
  .popup.active {
    visibility: visible;
    opacity: 1; }
  .popup-close {
    padding: 0px;
    display: block;
    position: absolute;
    right: 10px;
    top: -50px;
    font-size: 30px;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s; }
    .popup-close:hover {
      -webkit-filter: brightness(180%);
      filter: brightness(180%); }
  .popup-content {
    z-index: 2;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    pointer-events: none;
    width: 505px;
    max-width: 100%;
    height: 300px;
    padding: 30px 70px 30px;
    background: url(../images/popup-bg.png) no-repeat center center/100%;
    color: #fff;
    text-align: center;
    font-weight: normal;
    font-size: 18px;
    font-family: 'Roboto Slab';
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
    .popup-content p {
      text-shadow: -1px -1px 0 #314e2d, 1px -1px 0 #314e2d, -1px 1px 0 #314e2d, 1px 1px 0 #314e2d; }
  .popup.active .popup-content {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    pointer-events: all; }
  .popup-title {
    font-family: 'Roboto Slab';
    color: #fff;
    text-align: center;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
    margin-bottom: 5px;
    text-shadow: -1px -1px 0 #314e2d, 1px -1px 0 #314e2d, -1px 1px 0 #314e2d, 1px 1px 0 #314e2d; }
  .popup p {
    margin-bottom: 5px; }

.popup-moiban,
.popup-tang,
.popup-giftcode {
  color: #fff;
  text-align: center;
  font-weight: normal;
  font-size: 18px; }
  .popup-moiban .value,
  .popup-tang .value,
  .popup-giftcode .value {
    padding: 5px;
    background: #121212;
    width: 90%;
    color: #fef7ed;
    font-size: 20px;
    text-align: center;
    margin: 0 auto 10px;
    border: solid 1px #121212;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    width: 300px;
    white-space: nowrap;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis; }
  .popup-moiban .id,
  .popup-tang .id,
  .popup-giftcode .id {
    padding: 5px;
    background: #ffedcf;
    width: 80%;
    color: #f7faff;
    text-transform: uppercase;
    font-size: 21px;
    text-align: center;
    margin: 0 auto 20px;
    border: solid 1px #ffedcf; }
  .popup-moiban .submit,
  .popup-tang .submit,
  .popup-giftcode .submit {
    border: none;
    background: none;
    cursor: pointer; }

.popup-scroll {
  height: 100%;
  width: 100%;
  padding-right: 10px;
  scrollbar-width: 5px;
  scrollbar-color: #b16000 #fff;
  overflow: auto; }
  .popup-scroll::-webkit-scrollbar {
    /* Works on Chrome, Edge, and Safari */
    width: 5px; }
  .popup-scroll::-webkit-scrollbar-track {
    background: #fff;
    -webkit-border-radius: 5px;
    border-radius: 5px; }
  .popup-scroll::-webkit-scrollbar-thumb {
    background-color: #b16000;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    border: 1px solid #b16000; }

.popup-chieumo,
.popup-lichsu,
.popup-thele {
  text-align: justify;
  width: 545px;
  height: 580px;
  background: url(../images/popup-bg-2.jpg) no-repeat center bottom;
  padding: 50px 20px 50px 40px;
  border: solid 2px #43ab92; }
  .popup-chieumo p,
  .popup-lichsu p,
  .popup-thele p {
    text-shadow: none;
    color: #4b614a; }
  .popup-chieumo .popup-close,
  .popup-lichsu .popup-close,
  .popup-thele .popup-close {
    right: -2px;
    top: -35px; }
  .popup-chieumo .popup-title,
  .popup-lichsu .popup-title,
  .popup-thele .popup-title {
    margin-bottom: 20px; }

.popup-lichsu table,
.popup-thele table {
  font-size: 16px;
  width: 100%;
  border-collapse: collapse; }
  .popup-lichsu table thead,
  .popup-thele table thead {
    background: #42a189; }
    .popup-lichsu table thead td,
    .popup-thele table thead td {
      text-transform: uppercase;
      font-weight: bold;
      color: #f2f2f2;
      padding: 5px;
      text-align: center; }
  .popup-lichsu table tbody tr:nth-child(odd),
  .popup-thele table tbody tr:nth-child(odd) {
    background-color: #ffffff; }
  .popup-lichsu table tbody tr:nth-child(even),
  .popup-thele table tbody tr:nth-child(even) {
    background-color: #ffffff; }
  .popup-lichsu table td,
  .popup-thele table td {
    border: solid 1px #000000;
    text-transform: none;
    font-weight: normal;
    color: #000;
    padding: 5px;
    text-align: center; }

.popup-lichsu .StaticMain,
.popup-thele .StaticMain {
  font-size: 16px;
  color: #fff; }

.popup-tui-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  margin: 10px 0 0 0;
  gap: 15px; }
  .popup-tui-list li {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
    .popup-tui-list li img {
      -webkit-border-radius: 5px;
      border-radius: 5px;
      margin-bottom: 5px; }
      @media only screen and (max-width: 480px) {
        .popup-tui-list li img {
          max-width: 55px; } }
      @media only screen and (max-width: 400px) {
        .popup-tui-list li img {
          max-width: 47px; } }
  .popup-tui-list .quantity {
    position: absolute;
    top: -16px;
    left: -16px;
    width: 32px;
    height: 32px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background: url(../images/popup-soluong-inputtext.png) no-repeat 0 0;
    color: #fff;
    text-transform: uppercase;
    text-align: center;
    font-weight: 600;
    font-size: 15px;
    padding: 0 0 0 0px;
    margin: 0;
    text-shadow: -1px -1px 0 #314e2d, 1px -1px 0 #314e2d, -1px 1px 0 #314e2d, 1px 1px 0 #314e2d; }
  .popup-tui-list .tang-btn {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 0 auto; }

.popup-qua {
  text-align: center;
  height: 400px;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%; }
  .popup-qua .gift-name {
    font-size: 1.125rem;
    color: #363636;
    text-transform: uppercase;
    text-align: center;
    font-weight: normal;
    margin: 0 0 1.25rem 0; }
  .popup-qua .xemlichsu-btn {
    display: block;
    margin: -30px 0 0 0; }

.popup-dangkysom {
  width: 665px;
  height: 480px;
  background: url(../images/popup-dangkysom.png) no-repeat 0 0/100%; }
  @media only screen and (max-width: 480px) {
    .popup-dangkysom {
      height: 325px; } }
  .popup-dangkysom .popup-close {
    top: 80px;
    right: 0px; }
    @media only screen and (max-width: 480px) {
      .popup-dangkysom .popup-close {
        top: 0; } }
  .popup-dangkysom-btn {
    position: absolute;
    bottom: 5%;
    left: 65%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }
    .popup-dangkysom-btn:hover {
      -webkit-filter: brightness(120%);
      filter: brightness(120%); }

.fadeButtonInOut img:nth-child(2) {
  -webkit-animation: fadeButtonInOut 1s ease-in-out 0s infinite alternate;
  animation: fadeButtonInOut 1s ease-in-out 0s infinite alternate; }

@-webkit-keyframes fadeButtonInOut {
  0% {
    visibility: hidden;
    opacity: 0;
    -webkit-filter: brightness(100%);
    filter: brightness(100%); }
  100% {
    visibility: visible;
    opacity: 1;
    -webkit-filter: brightness(115%);
    filter: brightness(115%); } }

@keyframes fadeButtonInOut {
  0% {
    visibility: hidden;
    opacity: 0;
    -webkit-filter: brightness(100%);
    filter: brightness(100%); }
  100% {
    visibility: visible;
    opacity: 1;
    -webkit-filter: brightness(115%);
    filter: brightness(115%); } }

@-webkit-keyframes rotating

/* Safari and Chrome */ {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes rotating {
  from {
    -ms-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -ms-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

.rotating {
  -webkit-animation: rotating 30s linear infinite;
  animation: rotating 30s linear infinite; }

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

@-webkit-keyframes lanterna {
  0% {
    -webkit-transform: translate(0, 0) scale(1);
    -ms-transform: translate(0, 0) scale(1);
    transform: translate(0, 0) scale(1); }
  100% {
    -webkit-transform: translate(-20px, -40px) scale(1.1);
    -ms-transform: translate(-20px, -40px) scale(1.1);
    transform: translate(-20px, -40px) scale(1.1); } }

@keyframes lanterna {
  0% {
    -webkit-transform: translate(0, 0) scale(1);
    -ms-transform: translate(0, 0) scale(1);
    transform: translate(0, 0) scale(1); }
  100% {
    -webkit-transform: translate(-20px, -40px) scale(1.1);
    -ms-transform: translate(-20px, -40px) scale(1.1);
    transform: translate(-20px, -40px) scale(1.1); } }

.buttons-footer {
  padding: 10px;
  background: #0b0b0b;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  margin: 0 0 0; }
  .buttons-footer a {
    margin: 0 3px; }

.footer {
  color: #7a7a7a;
  padding: 20px 0;
  position: relative;
  background: #191919;
  font-size: 11px; }
  .footer .container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
  .footer-item {
    margin: 0 auto; }
    @media only screen and (max-width: 480px) {
      .footer-item {
        margin-top: 25px; } }
    .footer-item li {
      color: #7a7a7a;
      display: inline-block; }
      .footer-item li a {
        font-size: 15px;
        color: inherit;
        font-weight: bold;
        padding: 0 10px; }
        @media only screen and (max-width: 480px) {
          .footer-item li a {
            padding: 0 5px;
            font-size: 12px; } }
        .footer-item li a:hover, .footer-item li a:focus {
          color: #e8a587; }
  .footer .cmn-name {
    color: #fff;
    font-weight: bold; }
  .footer .copyright {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    color: #7a7a7a;
    font-size: 12px;
    margin: 0 auto;
    padding: 10px 10px 0; }
  .footer .img18 {
    margin: 0 10px; }
    @media only screen and (max-width: 480px) {
      .footer .img18 {
        width: 35px;
        margin-left: 5px; } }
  .footer a {
    color: #fff; }
  .footer .cmn {
    margin-right: 0px; }
    @media only screen and (max-width: 480px) {
      .footer .cmn {
        width: 60px;
        margin-right: 5px; } }
  .footer .address {
    width: 100%;
    padding: 0 10%;
    text-align: center; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNldHRpbmcvX3ZhcmlhYmxlLnNjc3MiLCJ0aGVtZS9fbG9hZC1mb250cy5zY3NzIiwic2V0dGluZy9fcmVzZXQuc2NzcyIsInN0eWxlLmNzcyIsInZlbmRvci9fZmFuY3lib3guc2NzcyIsInZlbmRvci9fc3dpcGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaG50LXNjc3MtbnBtL3NyYy9zY3NzL3ZlbmRvci9fYW5pbWF0ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2hudC1zY3NzLW5wbS9zcmMvc2Nzcy92ZW5kb3IvX2FuaW1hdGUtbXktb3duLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaG50LXNjc3MtbnBtL3NyYy9zY3NzL3ZlbmRvci9fbWl4aW5zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaG50LXNjc3MtbnBtL3NyYy9zY3NzL3ZlbmRvci9fZXh0ZW5kLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaG50LXNjc3MtbnBtL3NyYy9zY3NzL3ZlbmRvci9fY29tbW9uLnNjc3MiLCJ0aGVtZS9faGVhZGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvcmZzL3Njc3Muc2NzcyIsInRoZW1lL19jb21tb24uc2NzcyIsInRoZW1lL190eXBpbmcuc2NzcyIsInRoZW1lL19wYWdlcy5zY3NzIiwidGhlbWUvX2Zvb3Rlci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdCQUF3QjtBQ0F4Qiw4RkFBWTtBRGtCWjtFQUNFLGFBSHFCO0VBSXJCLGdCQUFlO0VBQ2YsZUFBYztFQUNkLGdCQUFlO0VBQ2YsbUJBQWtCO0VBQ2xCLFdBQVUsRUFDWDs7QUV6QkQ7RUFDRSxVQUFTO0VBQ1QsV0FBVTtFQUNWLHVCQUFzQjtFQUN0Qiw0QkFBMkI7RUFDM0IsK0JBQThCO0VBQzlCLDJCQUEwQixFQUMzQjs7QUFHRDtFQUVFLG9DQUFtQztFQUNuQyxtQ0FBa0M7RUFDbEMsOEJBQTZCO0VBQzdCLG1CQUFrQjtFQUNsQixVQUFTLEVBQ1Y7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RVlqdkhJLGdCQUFlO0VBQ2YsWUFBWSxFQUFBOztBWnF2SGhCO0VZenZIRyxxQkFBQTtFQUFBLHNCQUFBO0VBQUEscUJBQUE7RUFBQSxjQUFBO0VaMnZIRCx3QllsdkhjO0Vaa3ZIZCxvQllsdkhjO0Vaa3ZIZCxnQllsdkhjO0VabXZIZCx5QllqdkhpQjtFWml2SGpCLGdDWWp2SGlCO0VaaXZIakIsc0JZanZIaUI7RVppdkhqQix3QllqdkhpQjtFWmt2SGpCLG1CWWp2SG9CO0Vaa3ZIcEIsbUJZdHZIRTtFWnV2SEYsVVlodkhNLEVBQUE7RVppdkhOO0lBQ0UsbUJLcG9KVTtJTHFvSlYscUJZbHdIRDtJWmt3SEMsc0JZbHdIRDtJWmt3SEMscUJZbHdIRDtJWmt3SEMsY1lsd0hEO0labXdIQyw2QllqdkhxQjtJWml2SHJCLDhCWWp2SHFCO0laaXZIckIsK0JZanZIcUI7SVppdkhyQiwyQllqdkhxQjtJWml2SHJCLHVCWWp2SHFCLEVBS2xCO0laNnVISDtNQUNFLDJCWTd2SEY7TVo2dkhFLG1CWTd2SEY7TVo4dkhFLG1CWWp2SG1CLEVBQUE7TUFyQnRCO1FQaDJCRDtVTzIzQmlDLGdCQUFJLEVBQUEsRUFBQTtNUHQzQmpDO1FPdTNCQTtVQUNNLGdCQUFNLEVBQUEsRUFBQTtFWmd2SGhCO0lZOXVISSxtQkFBaUI7SUFDakIsV0FBVztJQUNYLFlBQVk7SVAxK0JoQixZTzIrQjRCO0lQMStCNUIsYUFBQTtJQUNBLHFCT3krQitDO0lQeitCL0Msc0JPeStCK0M7SVB6K0IvQyxxQk95K0IrQztJUHorQi9DLGNPeStCK0M7SVB4K0IvQyx5Qk93K0IwRDtJUHgrQjFELGdDT3crQjBEO0lQeCtCMUQsc0JPdytCMEQ7SVB4K0IxRCx3Qk93K0IwRDtJUHIrQnhELDBCT3ErQmdDO0lQcitCaEMsNEJPcStCZ0M7SVByK0JoQyx1Qk9xK0JnQztJUHIrQmhDLG9CT3ErQmdDO0lBQzlCLHFFQUFrQjtJQUNsQixZQUFTO0lBQ1QsMEJBQ0U7SUF0Q0wsbUJBNkNDO0lBQ0UsaUJBQWE7SUFDYixnQkFBYztJWjZ1SGhCLG1CQUFt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MEpXLEVBQUE7SWJrMEpYO01BQ0U7UUs1eEpKLGlCQUFZLEVBQU0sRUFBQTtJTDh4SmhCO01BQ0UsZWFqMEphO01iazBKYixzQmFqMEptQixFQU9sQjtNYjJ6SkQ7UUFDRSxnQmE5ekpnQjtRQXBDeEIsZUEwQ1k7UUFDUixrQkFBVztRQUNYLGdCQUNELEVBQUE7UUE3Q0g7VUFnREk7WUFDQSxlQUF1QjtZQUN2QixnQkFBbUIsRUFBQSxFQUFBO1FBQ25CO1VBQ0EsZUFBZSxFQUFBO0Vid3pKakI7SWF0ekpFLFlBQVM7SUF0RGIsa0JBeURTLEVBQUE7RWJzekpQO0lLL3lKQSxxQkFBWTtJQUFaLHNCQUFZO0lBQVoscUJBQVk7SUFBWixjQUFZO0lMaXpKVix5QmF4ekpLO0lid3pKTCxnQ2F4ekpLO0lid3pKTCxzQmF4ekpLO0lid3pKTCx3QmF4ekpLO0lieXpKTCwwQmFwekphO0lib3pKYiw0QmFwekphO0lib3pKYix1QmFwekphO0lib3pKYixvQmFwekphO0licXpKYixlYXB6SmE7SUEvRGpCLGdCQW1FSTtJQUNBLGVBQ0Q7SUFyRUgscUJBdUVPLEVBQUE7RWJnekpMO0lLdnpKQSxlQUFZLEVBQUE7SUx5ekpWO01BQ0U7UWE3eUpBLFlBQVk7UUE3RWxCLGlCQWlGVyxFQUFBLEVBQUE7RWI0eUpUO0lhMXlKRSxZQUFTLEVBQUs7RWI0eUpoQjtJQUNFLGtCQUFrQixFQUFFO0lBQ3BCO01BQ0U7UUFDRSxZQUFZO1FBQ1osa0JBQWtCLEVBQUUsRUFBRTtFQUM1QjtJQUNFLFlBQVk7SUFDWixlQUFlO0lBQ2YsbUJBQW1CLEVBQUUiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyotIEdsb2JhbCBWYXJpYWJsZXMgLSovXHJcbiRtYWluQ29sb3I6ICMwMTAxMDE7XHJcbiRtYWluTGlua0NvbG9yOiAjMDQ0NTliO1xyXG4kbWFpbkxpbmtDb2xvci1ob3ZlcjogbGlnaHRlbigkbWFpbkxpbmtDb2xvciwgMTAlKTtcclxuJGJhY2tncm91bmRDb2xvcjogI2ZmZjtcclxuJGZvbnRTaXplSHRtbFRhZzogMTZweDtcclxuJGZvbnRTaXplOiAxcmVtOyAvLyA9PSAxNnB4XHJcbiRmb250Tm9ybWFsOiA0MDA7XHJcbiRmb250Qm9sZDogNTAwO1xyXG4kZm9udEJvbGRlcjogNzAwO1xyXG4kbGluZUhlaWdodDogMS41O1xyXG4kZm9udEZhbWlseTogJ1NGJztcclxuXHJcblxyXG5cclxuJGdyaWQtZ3V0dGVyLXdpZHRoOiAyMHB4O1xyXG4kY29udGFpbmVyLXdpZHRoOiA3NzBweDtcclxuXHJcbi5jb250YWluZXIge1xyXG4gIHdpZHRoOiAkY29udGFpbmVyLXdpZHRoO1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHotaW5kZXg6IDE7XHJcbn0iLCJAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1Sb2JvdG8rU2xhYjp3Z2h0QDQwMDs1MDAmZGlzcGxheT1zd2FwJyk7XHJcbi8vIEBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PVJvYm90bzp3Z2h0QDUwMCZkaXNwbGF5PXN3YXAnKTtcclxuXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiBcIlNGXCI7XHJcbiAgc3JjOiB1cmwoLi4vZm9udHMvU0YtUHJvLURpc3BsYXktUmVndWxhci5lb3QpO1xyXG4gIHNyYzogdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVJlZ3VsYXIuZW90I2llZml4KSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICB1cmwoLi4vZm9udHMvU0YtUHJvLURpc3BsYXktUmVndWxhci53b2ZmMikgZm9ybWF0KCd3b2ZmMicpLFxyXG4gICAgdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVJlZ3VsYXIud29mZikgZm9ybWF0KCd3b2ZmJyksXHJcbiAgICB1cmwoLi4vZm9udHMvU0YtUHJvLURpc3BsYXktUmVndWxhci50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcclxuICAgIHVybCguLi9mb250cy9TRi1Qcm8tRGlzcGxheS1SZWd1bGFyLnN2ZykgZm9ybWF0KCdzdmcnKTtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6IFwidXRtX2FsYmVydGFfaGVhdnlcIjtcclxuICBzcmM6IHVybCguLi9mb250cy91dG1fYWxiZXJ0YV9oZWF2eS5lb3QpO1xyXG4gIHNyYzogdXJsKC4uL2ZvbnRzL3V0bV9hbGJlcnRhX2hlYXZ5LmVvdCNpZWZpeCkgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgdXJsKC4uL2ZvbnRzL3V0bV9hbGJlcnRhX2hlYXZ5LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyksXHJcbiAgICB1cmwoLi4vZm9udHMvdXRtX2FsYmVydGFfaGVhdnkud29mZikgZm9ybWF0KCd3b2ZmJyksXHJcbiAgICB1cmwoLi4vZm9udHMvdXRtX2FsYmVydGFfaGVhdnkudHRmKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbiAgICB1cmwoLi4vZm9udHMvdXRtX2FsYmVydGFfaGVhdnkuc3ZnKSBmb3JtYXQoJ3N2ZycpO1xyXG59XHJcblxyXG4vLyBAZm9udC1mYWNlIHtcclxuLy8gICBmb250LWZhbWlseTogXCJteXJpYWRfcHJvX2JsYWNrX2NvbmRlbnNlZFwiO1xyXG4vLyAgIHNyYzogdXJsKC4uL2ZvbnRzL215cmlhZF9wcm9fYmxhY2tfY29uZGVuc2VkLmVvdCk7XHJcbi8vICAgc3JjOiB1cmwoLi4vZm9udHMvbXlyaWFkX3Byb19ibGFja19jb25kZW5zZWQuZW90I2llZml4KSBmb3JtYXQoXCJlb3RcIiksXHJcbi8vICAgICB1cmwoLi4vZm9udHMvbXlyaWFkX3Byb19ibGFja19jb25kZW5zZWQud29mZjIpIGZvcm1hdCgnd29mZjInKSxcclxuLy8gICAgIHVybCguLi9mb250cy9teXJpYWRfcHJvX2JsYWNrX2NvbmRlbnNlZC53b2ZmKSBmb3JtYXQoJ3dvZmYnKSxcclxuLy8gICAgIHVybCguLi9mb250cy9teXJpYWRfcHJvX2JsYWNrX2NvbmRlbnNlZC50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcclxuLy8gICAgIHVybCguLi9mb250cy9teXJpYWRfcHJvX2JsYWNrX2NvbmRlbnNlZC5zdmcpIGZvcm1hdCgnc3ZnJyk7XHJcbi8vIH1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiBcImZ6YXVnaWxsaW9uXCI7XHJcbiAgc3JjOiB1cmwoLi4vZm9udHMvZnphdWdpbGxpb24uZW90KTtcclxuICBzcmM6IHVybCguLi9mb250cy9memF1Z2lsbGlvbi5lb3QjaWVmaXgpIGZvcm1hdChcImVvdFwiKSxcclxuICAgIHVybCguLi9mb250cy9memF1Z2lsbGlvbi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpLFxyXG4gICAgdXJsKC4uL2ZvbnRzL2Z6YXVnaWxsaW9uLndvZmYpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgdXJsKC4uL2ZvbnRzL2Z6YXVnaWxsaW9uLnR0ZikgZm9ybWF0KCd0cnVldHlwZScpLFxyXG4gICAgdXJsKC4uL2ZvbnRzL2Z6YXVnaWxsaW9uLnN2ZykgZm9ybWF0KCdzdmcnKTtcclxufSIsIioge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAtbXMtYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuXHJcbmJvZHkge1xyXG5cclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZVNwZWVkO1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbm1haW4ge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG5wcmUge1xyXG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcclxuICBmb250LXNpemU6IDFyZW07XHJcbn1cclxuXHJcbmIsXHJcbnN0cm9uZyB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxufVxyXG5cclxuOjpzZWxlY3Rpb24ge1xyXG4gIGJhY2tncm91bmQ6ICMwMDg4ZmY7XHJcbiAgY29sb3I6ICNmZmZmZmY7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbmNvZGUsXHJcbmtiZCxcclxuc2FtcCB7XHJcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xyXG4gIGZvbnQtc2l6ZTogMXJlbTtcclxufVxyXG5cclxuc21hbGwge1xyXG4gIGZvbnQtc2l6ZTogODAlO1xyXG59XHJcblxyXG5zdWIsXHJcbnN1cCB7XHJcbiAgZm9udC1zaXplOiA3NSU7XHJcbiAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5cclxuc3ViIHtcclxuICBib3R0b206IC0wLjI1ZW07XHJcbn1cclxuXHJcbnN1cCB7XHJcbiAgdG9wOiAtMC41ZW07XHJcbn1cclxuXHJcbmltZyB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogYXV0bztcclxuICBib3JkZXI6IDA7XHJcbn1cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQsXHJcbm9wdGdyb3VwLFxyXG5zZWxlY3QsXHJcbnRleHRhcmVhIHtcclxuICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuICBmb250LXNpemU6IDEwMCU7XHJcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XHJcbiAgbWFyZ2luOiAwO1xyXG5cclxuICAmOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQge1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xyXG59XHJcblxyXG5idXR0b24sXHJcbnNlbGVjdCB7XHJcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbn1cclxuXHJcbmJ1dHRvbixcclxuW3R5cGU9XCJidXR0b25cIl0sXHJcblt0eXBlPVwicmVzZXRcIl0sXHJcblt0eXBlPVwic3VibWl0XCJdIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcclxufVxyXG5cclxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxyXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcclxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcclxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xyXG4gIGJvcmRlci1zdHlsZTogbm9uZTtcclxuICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG5idXR0b246LW1vei1mb2N1c3JpbmcsXHJcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxyXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxyXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XHJcbiAgb3V0bGluZTogMXB4IGRvdHRlZCAjMDA4OGZmO1xyXG59XHJcblxyXG5idXR0b24ge1xyXG5cclxuICAmOmFjdGl2ZSxcclxuICAmOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5maWVsZHNldCB7XHJcbiAgcGFkZGluZzogMC4zNXJlbSAwLjc1cmVtIDAuNjI1cmVtO1xyXG59XHJcblxyXG5sZWdlbmQge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgY29sb3I6IGluaGVyaXQ7XHJcbiAgZGlzcGxheTogdGFibGU7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxufVxyXG5cclxucHJvZ3Jlc3Mge1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5cclxudGV4dGFyZWEge1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG5bdHlwZT1cImNoZWNrYm94XCJdLFxyXG5bdHlwZT1cInJhZGlvXCJdIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIC8qIDEgKi9cclxuICBwYWRkaW5nOiAwO1xyXG4gIC8qIDIgKi9cclxufVxyXG5cclxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXHJcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcblt0eXBlPVwic2VhcmNoXCJdIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcclxuICBvdXRsaW5lLW9mZnNldDogLTJweDtcclxufVxyXG5cclxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxufVxyXG5cclxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XHJcbiAgZm9udDogaW5oZXJpdDtcclxufVxyXG5cclxuZGV0YWlscyB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbnN1bW1hcnkge1xyXG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcclxufVxyXG5cclxudGVtcGxhdGUge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbltoaWRkZW5dIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG5pZnJhbWUge1xyXG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5oMSxcclxuaDIsXHJcbmgzLFxyXG5oNCxcclxuaDUsXHJcbmg2IHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG5cclxuXHJcbnVsIHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuXHJcbiAgbGkge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbmZpZ3VyZSB7XHJcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxufVxyXG5cclxuW2NsYXNzICo9XCJpY29ucy1cIl0ge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufSIsIi8qLSBHbG9iYWwgVmFyaWFibGVzIC0qL1xuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PVJvYm90bytTbGFiOndnaHRANDAwOzUwMCZkaXNwbGF5PXN3YXBcIik7XG4uY29udGFpbmVyIHtcbiAgd2lkdGg6IDc3MHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuXG4qIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1zLWJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuYm9keSB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVTcGVlZDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBtYXJnaW46IDA7IH1cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogIzAwODhmZjtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBib3JkZXI6IDA7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBib3JkZXI6IDA7IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIG1hcmdpbjogMDsgfVxuICBidXR0b246Zm9jdXMsXG4gIGlucHV0OmZvY3VzLFxuICBvcHRncm91cDpmb2N1cyxcbiAgc2VsZWN0OmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgIzAwODhmZjsgfVxuXG5idXR0b246YWN0aXZlLCBidXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IG5vbmU7IH1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1cmVtIDAuNzVyZW0gMC42MjVyZW07IH1cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IH1cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICBmb250OiBpbmhlcml0OyB9XG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuaWZyYW1lIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbnVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIHVsIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbmZpZ3VyZSB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuW2NsYXNzKj1cImljb25zLVwiXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uZmFuY3lib3gtZW5hYmxlZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmZhbmN5Ym94LWVuYWJsZWQgYm9keSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7IH1cblxuLmZhbmN5Ym94LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiA5OTk5MztcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vKiBNYWtlIHN1cmUgdGhhdCB0aGUgZmlyc3Qgb25lIGlzIG9uIHRoZSB0b3AgKi9cbi5mYW5jeWJveC1jb250YWluZXIgfiAuZmFuY3lib3gtY29udGFpbmVyIHtcbiAgei1pbmRleDogOTk5OTI7IH1cblxuLmZhbmN5Ym94LWJnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICMwZjBmMTE7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNiwgMC42OCwgMC4xOSk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLmZhbmN5Ym94LWNvbnRhaW5lci0tcmVhZHkgLmZhbmN5Ym94LWJnIHtcbiAgb3BhY2l0eTogMC44NztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTsgfVxuXG4uZmFuY3lib3gtY29udHJvbHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogOTk5OTQ7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlyZWN0aW9uOiBsdHI7IH1cblxuLmZhbmN5Ym94LXNob3ctY29udHJvbHMgLmZhbmN5Ym94LWNvbnRyb2xzIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmFuY3lib3gtaW5mb2JhciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZhbmN5Ym94LXNob3ctaW5mb2JhciAuZmFuY3lib3gtaW5mb2JhciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxuXG4uZmFuY3lib3gtaW5mb2Jhcl9fYm9keSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDcwcHg7XG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNkZGQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzAsIDMwLCAzMCwgMC43KTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cblxuLmZhbmN5Ym94LXNob3ctYnV0dG9ucyAuZmFuY3lib3gtYnV0dG9ucyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mYW5jeWJveC1zbGlkZXItd3JhcCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpcmVjdGlvbjogbHRyOyB9XG5cbi5mYW5jeWJveC1zbGlkZXItd3JhcCxcbi5mYW5jeWJveC1zbGlkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB6LWluZGV4OiA5OTk5MztcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uZmFuY3lib3gtc2xpZGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogYXV0bztcbiAgb3V0bGluZTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB6LWluZGV4OiA5OTk5NDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbi5mYW5jeWJveC1zbGlkZTo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMDsgfVxuXG4uZmFuY3lib3gtc2xpZGUgPiAqIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1hcmdpbjogNDRweCAwIDQ0cHg7XG4gIGJvcmRlci13aWR0aDogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmFuY3lib3gtY29udGVudCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDQ0cHggYXV0bztcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICB3aWR0aDogODAlO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDg4cHgpO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBvdXRsaW5lOiBub25lO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbi5mYW5jeWJveC1pZnJhbWUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS12aWRlbyAuZmFuY3lib3gtY29udGVudCxcbi5mYW5jeWJveC1zbGlkZS0tdmlkZW8gLmZhbmN5Ym94LWlmcmFtZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi5mYW5jeWJveC1wbGFjZWhvbGRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgei1pbmRleDogOTk5OTU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtaW1hZ2UsXG4uZmFuY3lib3gtc3BhY2ViYWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTsgfVxuXG4uZmFuY3lib3gtY29udHJvbHMtLWNhbnpvb21PdXQgLmZhbmN5Ym94LXBsYWNlaG9sZGVyIHtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xuICBjdXJzb3I6IHpvb20tb3V0OyB9XG5cbi5mYW5jeWJveC1jb250cm9scy0tY2Fuem9vbUluIC5mYW5jeWJveC1wbGFjZWhvbGRlciB7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuICBjdXJzb3I6IHpvb20taW47IH1cblxuLmZhbmN5Ym94LWNvbnRyb2xzLS1jYW5HcmFiIC5mYW5jeWJveC1wbGFjZWhvbGRlciB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xuICBjdXJzb3I6IGdyYWI7IH1cblxuLmZhbmN5Ym94LWNvbnRyb2xzLS1pc0dyYWJiaW5nIC5mYW5jeWJveC1wbGFjZWhvbGRlciB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZztcbiAgY3Vyc29yOiBncmFiYmluZzsgfVxuXG4uZmFuY3lib3gtc3BhY2ViYWxsIHtcbiAgei1pbmRleDogMTsgfVxuXG4uZmFuY3lib3gtdG1wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIGxlZnQ6IC05OTk5cHg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtZXJyb3Ige1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogNDBweDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDM4MHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4uZmFuY3lib3gtZXJyb3IgcCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICM0NDQ7XG4gIGZvbnQ6IDE2cHgvMjBweCBcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7IH1cblxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDRweDtcbiAgcmlnaHQ6IDRweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBmb250OiAyMXB4LzEgQXJpYWwsXCJIZWx2ZXRpY2EgTmV1ZVwiLEhlbHZldGljYSxzYW5zLXNlcmlmO1xuICBjb2xvcjogIzg4ODtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlci13aWR0aDogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4ycztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgei1pbmRleDogMjsgfVxuXG4uZmFuY3lib3gtY2xvc2Utc21hbGw6Zm9jdXMge1xuICBvdXRsaW5lOiAxcHggZG90dGVkICM4ODg7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS12aWRlbyAuZmFuY3lib3gtY2xvc2Utc21hbGwge1xuICB0b3A6IC0zNnB4O1xuICByaWdodDogLTM2cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi5mYW5jeWJveC1jbG9zZS1zbWFsbDpob3ZlciB7XG4gIGNvbG9yOiAjNTU1O1xuICBiYWNrZ3JvdW5kOiAjZWVlOyB9XG5cbi8qIENhcHRpb24gKi9cbi5mYW5jeWJveC1jYXB0aW9uLXdyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDYwcHggMzBweCAwIDMwcHg7XG4gIHotaW5kZXg6IDk5OTk4O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudCAwJSwgcmdiYSgwLCAwLCAwLCAwLjEpIDIwJSwgcmdiYSgwLCAwLCAwLCAwLjIpIDQwJSwgcmdiYSgwLCAwLCAwLCAwLjYpIDgwJSwgcmdiYSgwLCAwLCAwLCAwLjgpIDEwMCUpO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLmZhbmN5Ym94LXNob3ctY2FwdGlvbiAuZmFuY3lib3gtY2FwdGlvbi13cmFwIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmFuY3lib3gtY2FwdGlvbiB7XG4gIHBhZGRpbmc6IDMwcHggMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO1xuICBjb2xvcjogI2ZmZjtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTsgfVxuXG4uZmFuY3lib3gtY2FwdGlvbiBhLFxuLmZhbmN5Ym94LWNhcHRpb24gYnV0dG9uIHtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxuXG4uZmFuY3lib3gtY2FwdGlvbiBhIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi8qIEJ1dHRvbnMgKi9cbi5mYW5jeWJveC1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2ZmZjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1kaXNhYmxlZCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLmZhbmN5Ym94LWluZm9iYXJfX2JvZHksIC5mYW5jeWJveC1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDMwLCAzMCwgMzAsIDAuNik7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uOjpiZWZvcmUsXG4uZmFuY3lib3gtYnV0dG9uOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgb3BhY2l0eTogMC45O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tZGlzYWJsZWQ6OmJlZm9yZSxcbi5mYW5jeWJveC1idXR0b24tLWRpc2FibGVkOjphZnRlciB7XG4gIG9wYWNpdHk6IDAuNTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1sZWZ0OjphZnRlciB7XG4gIGxlZnQ6IDIwcHg7XG4gIHRvcDogMThweDtcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiBzb2xpZCAycHggY3VycmVudENvbG9yO1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIDJweCBjdXJyZW50Q29sb3I7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tcmlnaHQ6OmFmdGVyIHtcbiAgcmlnaHQ6IDIwcHg7XG4gIHRvcDogMThweDtcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiBzb2xpZCAycHggY3VycmVudENvbG9yO1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIDJweCBjdXJyZW50Q29sb3I7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tbGVmdCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVweDsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1yaWdodCB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2U6OmJlZm9yZSwgLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2U6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDJweDtcbiAgd2lkdGg6IDE2cHg7XG4gIHRvcDogY2FsYyg1MCUgLSAxcHgpO1xuICBsZWZ0OiBjYWxjKDUwJSAtIDhweCk7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2U6OmJlZm9yZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2U6OmFmdGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuXG4vKiBMb2FkaW5nIHNwaW5uZXIgKi9cbi5mYW5jeWJveC1sb2FkaW5nIHtcbiAgYm9yZGVyOiA2cHggc29saWQgcmdiYSgxMDAsIDEwMCwgMTAwLCAwLjQpO1xuICBib3JkZXItdG9wOiA2cHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBoZWlnaHQ6IDUwcHg7XG4gIHdpZHRoOiA1MHB4O1xuICAtd2Via2l0LWFuaW1hdGlvbjogZmFuY3lib3gtcm90YXRlIC44cyBpbmZpbml0ZSBsaW5lYXI7XG4gIGFuaW1hdGlvbjogZmFuY3lib3gtcm90YXRlIC44cyBpbmZpbml0ZSBsaW5lYXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6IC0yNXB4O1xuICBtYXJnaW4tbGVmdDogLTI1cHg7XG4gIHotaW5kZXg6IDk5OTk5OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYW5jeWJveC1yb3RhdGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFuY3lib3gtcm90YXRlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7IH0gfVxuXG4vKiBTdHlsaW5nIGZvciBTbWFsbC1TY3JlZW4gRGV2aWNlcyAqL1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLmZhbmN5Ym94LWNvbnRyb2xzIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5mYW5jeWJveC1idXR0b24tLWxlZnQsXG4gIC5mYW5jeWJveC1idXR0b24tLXJpZ2h0LFxuICAuZmFuY3lib3gtYnV0dG9ucyBidXR0b246bm90KC5mYW5jeWJveC1idXR0b24tLWNsb3NlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5mYW5jeWJveC1jYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgbWFyZ2luOiAwOyB9IH1cblxuLyogRnVsbHNjcmVlbiAgKi9cbi5mYW5jeWJveC1idXR0b24tLWZ1bGxzY3JlZW46OmJlZm9yZSB7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDExcHg7XG4gIGxlZnQ6IDE1cHg7XG4gIHRvcDogMTZweDtcbiAgYm9yZGVyOiAycHggc29saWQ7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cblxuLyogU2xpZGVzaG93IGJ1dHRvbiAqL1xuLmZhbmN5Ym94LWJ1dHRvbi0tcGxheTo6YmVmb3JlIHtcbiAgdG9wOiAxNnB4O1xuICBsZWZ0OiAxOHB4O1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItdG9wOiA2cHggaW5zZXQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDZweCBpbnNldCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQ7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tcGF1c2U6OmJlZm9yZSB7XG4gIHRvcDogMTZweDtcbiAgbGVmdDogMThweDtcbiAgd2lkdGg6IDdweDtcbiAgaGVpZ2h0OiAxMXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAgMnB4IDAgMnB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4vKiBUaHVtYnMgKi9cbi5mYW5jeWJveC1idXR0b24tLXRodW1icyBzcGFuIHtcbiAgZm9udC1zaXplOiAyM3B4OyB9XG5cbi5mYW5jeWJveC1idXR0b24tLXRodW1iczo6YmVmb3JlIHtcbiAgdG9wOiAyMHB4O1xuICBsZWZ0OiAyMXB4O1xuICB3aWR0aDogM3B4O1xuICBoZWlnaHQ6IDNweDtcbiAgYm94LXNoYWRvdzogMCAtNHB4IDAsIC00cHggLTRweCAwLCA0cHggLTRweCAwLCAwIDAgMCAzMnB4IGluc2V0LCAtNHB4IDAgMCwgNHB4IDAgMCwgMCA0cHggMCwgLTRweCA0cHggMCwgNHB4IDRweCAwOyB9XG5cbi5mYW5jeWJveC1jb250YWluZXItLXRodW1icyAuZmFuY3lib3gtY29udHJvbHMsXG4uZmFuY3lib3gtY29udGFpbmVyLS10aHVtYnMgLmZhbmN5Ym94LXNsaWRlci13cmFwLFxuLmZhbmN5Ym94LWNvbnRhaW5lci0tdGh1bWJzIC5mYW5jeWJveC1jYXB0aW9uLXdyYXAge1xuICByaWdodDogMjIwcHg7IH1cblxuLmZhbmN5Ym94LXRodW1icyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiBhdXRvO1xuICB3aWR0aDogMjIwcHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogNXB4IDVweCAwIDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHotaW5kZXg6IDk5OTkzO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uZmFuY3lib3gtdGh1bWJzID4gdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGZvbnQtc2l6ZTogMDsgfVxuXG4uZmFuY3lib3gtdGh1bWJzID4gdWwgPiBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXgtd2lkdGg6IDUwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTA1cHg7XG4gIGhlaWdodDogNzVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogNXB4IHNvbGlkICNmZmY7XG4gIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5saS5mYW5jeWJveC10aHVtYnMtbG9hZGluZyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4uZmFuY3lib3gtdGh1bWJzID4gdWwgPiBsaSA+IGltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3JkZXI6IDRweCBzb2xpZCAjNGVhN2Y5O1xuICB6LWluZGV4OiA5OTk5MTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbi5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpLmZhbmN5Ym94LXRodW1icy1hY3RpdmU6YmVmb3JlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKiBTdHlsaW5nIGZvciBTbWFsbC1TY3JlZW4gRGV2aWNlcyAqL1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLmZhbmN5Ym94LXRodW1icyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5mYW5jeWJveC1jb250YWluZXItLXRodW1icyAuZmFuY3lib3gtY29udHJvbHMsXG4gIC5mYW5jeWJveC1jb250YWluZXItLXRodW1icyAuZmFuY3lib3gtc2xpZGVyLXdyYXAsXG4gIC5mYW5jeWJveC1jb250YWluZXItLXRodW1icyAuZmFuY3lib3gtY2FwdGlvbi13cmFwIHtcbiAgICByaWdodDogMDsgfSB9XG5cbi8qKlxyXG4gKiBTd2lwZXIgNS4yLjBcclxuICogTW9zdCBtb2Rlcm4gbW9iaWxlIHRvdWNoIHNsaWRlciBhbmQgZnJhbWV3b3JrIHdpdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnNcclxuICogaHR0cDovL3N3aXBlcmpzLmNvbVxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgMjAxNC0yMDE5IFZsYWRpbWlyIEtoYXJsYW1waWRpXHJcbiAqXHJcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZVxyXG4gKlxyXG4gKiBSZWxlYXNlZCBvbjogT2N0b2JlciAyNiwgMjAxOVxyXG4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogc3dpcGVyLWljb25zO1xuICBzcmM6IHVybChcImRhdGE6YXBwbGljYXRpb24vZm9udC13b2ZmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LCBkMDlHUmdBQkFBQUFBQVpnQUJBQUFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkdSbFJOQUFBR1JBQUFBQm9BQUFBY2k2cUhrVWRFUlVZQUFBV2dBQUFBSXdBQUFDUUFZQUJYUjFCUFV3QUFCaFFBQUFBdUFBQUFOdUFZNyt4SFUxVkNBQUFGeEFBQUFGQUFBQUJtMmZQY3pVOVRMeklBQUFIY0FBQUFTZ0FBQUdCUDlWNVJZMjFoY0FBQUFrUUFBQUNJQUFBQll0NkYwY0JqZG5RZ0FBQUN6QUFBQUFRQUFBQUVBQkVCUkdkaGMzQUFBQVdZQUFBQUNBQUFBQWovL3dBRFoyeDVaZ0FBQXl3QUFBRE1BQUFEMk1IdHJ5Vm9aV0ZrQUFBQmJBQUFBREFBQUFBMkUyK2VvV2hvWldFQUFBR2NBQUFBSHdBQUFDUUM5Z0R6YUcxMGVBQUFBaWdBQUFBWkFBQUFyZ0prQUJGc2IyTmhBQUFDMEFBQUFGb0FBQUJhRlFBVUdHMWhlSEFBQUFHOEFBQUFId0FBQUNBQWNBQkFibUZ0WlFBQUEvZ0FBQUU1QUFBQ1h2RmRCd2x3YjNOMEFBQUZOQUFBQUdJQUFBQ0U1czc0aFhqYVkyQmtZR0FBWXBmNUh1L2orVzIrTW5Bek1ZREF6YVg2UWpENi80Ly9CeGo1R0E4QXVSd01ZR2tBUHl3TDEzamFZMkJrWUdBODhQOEFneDRqKy84ZlFEWWZBMUFFQldnREFJQjJCT29BZU5wallHUmdZTkJoNEdkZ1lnQUJFTW5JQUJKellOQURDUUFBQ1dnQXNRQjQybU5nWWZ6Q09JR0JsWUdCMFljeGpZR0J3UjFLZjJXUVpHaGhZR0JpWUdWbWdBRkdCaVFRa09hYXd0REFvTUJReFhqZy93RUdQY1lEREE0d05VQTJDQ2d3c0FBQU80RUw2Z0FBZU5wajJNMGd5QUFDcXhnR05XQmtaMkQ0L3dNQSt4a0RkZ0FBQUhqYVkyQmdZR2FBWUJrR1JnWVFpQUh5R01GOEZnWUhJTTNEd01IQUJHUXJNT2d5V0RMRU0xVDkvdzhVQmZFTWdMekUvLy8vUC81Ly9mL1YveHYrcjRlYUFBZU1iQXh3SVVZbUlNSEVnS1lBWWpVY3NEQXdzTEt4YzNCeWNmUHc4akVRQS9nWkJBU0ZoRVZFeGNRbEpLV2taV1RsNUJVVWxaUlZWTlhVTlRRWkJnTUFBTVIrRStnQUVRRkVBQUFBS2dBcUFDb0FOQUErQUVnQVVnQmNBR1lBY0FCNkFJUUFqZ0NZQUtJQXJBQzJBTUFBeWdEVUFONEE2QUR5QVB3QkJnRVFBUm9CSkFFdUFUZ0JRZ0ZNQVZZQllBRnFBWFFCZmdHSUFaSUJuQUdtQWJJQnpnSHNBQUI0MnUyTk1RNkNVQXlHVzU2OHg5QW5lWVlnbTRNSmJoS0ZhRXhJT0FWWDhBcGV3U3Q0QmljNEFmZUFpZDNWT0JpeER4ZlBZRXphNU8rWGZpMDRZQURnZ2lVSVVMQ3VFSks4VmhPNGJTdnBkbmt0SEk1UUNZdGRpMnNsOFpuWGFIbHFVck5LemRLY1Q4Y2pscStyd1pTdklWY3pOaWV6c2ZuUC91em5tZlBGQk5PRE0ySzdNVFE0NVlFQVpxR1A4MUFtR0djRjNpUHFPb3AwcjFTUFRhVGJWa2ZVZTRIWGo5N3dZRSt5TndXWXh3V3U0djF1Z1dIZ28zUzFYZFpFVnFXTTdFVDBjZm5MR3hXZmtnUjQybzJQdldyRE1CU0ZqL0lITGFGMHpLalJnZGlWTXdTY05SQW9XVW9INzhZMmljQi95SVkwOUFuNkFIMkJkdS9VQit5eG9wWXNoUWlFdm52dTBkVVJnRHQ4UWVDOFBEdzdGcGppM2ZFQTR6L1BFSjZZT0I1aEtoNGRqM0V2WGh4UHFIL1NLVVkzcko3c3JaNEZabmgxUE1BdFBod1A2ZmwyUE1KTVBEZ2VRNHJZOFlUNkd6YW8wZUFFQTQwOUR1Z2dtVG5Gbk9jU0NpRWlMTWd4Q2lUSTZDcTVEWlVkM1FtcDEwdk8wTGFMVGQyY2pONGZPdW1sYzdsVVliU1FjWkZrdXRSRzdnNkpLWkt5MFJtZExZNjgwQ0RuRUorVU1rcEZGZTFSTjdueGRWcFhyQzRhVHRuYXVyT25ZZXJjWmcyWVZtTE4vZC9nY3pmRWltckUvZnMvYk91cTI5Wm1uOHRsb09SYVhnWmdHYTc4eU85L2NuWG0yQnBhR3ZxMjVEdjlTNEU5KzVTSWM5UHF1cEpLaFlGU1NsNDcrUWNyMW1ZTkFBQUFlTnB0dzBjS3drQUFBTURaSkE4UTdPVUp2a0xzUGZaNnpGVkVSUHk4cUhoMllFUiszaS9CUDgzdklCTEx5U3NvS2ltcnFLcXBhMmhwNitqcTZSc1lHaG1ibUpxWlN5MHNyYXh0Yk8zc0hSeWRuRU1VNHVSNnl4N0pKWHZlUDdXckR5Y0FBQUFBQUFILy93QUNlTnBqWUdSZ1lPQUJZaGtnWmdKQ1pnWk5Ca1lHTFFadElKc0ZMTVlBQUF3M0FMZ0FlTm9saXpFS2dEQVFCQ2NoUmJDMnNGRVIwWUQ2cVZRaUJDdi9IOWV6R0k2WjVYQkF3OENCSy9tNWlRUVZhdVZiWExuT3JNWnYyb0xkS0ZhOFBqdXJ1MmhKekdhYm1PU0x6Tk16dnV0cEIzTjQybU5nWkdCZzRHS1FZekJoWU14SkxNbGo0R0JnQVlvdy9QL1BBSkpoTE02c1NvV0tmV0NBQXdEQWpnYlJBQUI0Mm1OZ1lHQmtBSUliQ1pvNUlQcm1VbjBoR0EwQU84RUZUUUFBXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG46cm9vdCB7XG4gIC0tc3dpcGVyLXRoZW1lLWNvbG9yOiMwMDdhZmY7IH1cblxuLnN3aXBlci1jb250YWluZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIHotaW5kZXg6IDE7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5zd2lwZXItd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1hbmRyb2lkIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItd3JhcHBlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1tdWx0aXJvdyA+IC5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1tdWx0aXJvdy1jb2x1bW4gPiAuc3dpcGVyLXdyYXBwZXIge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uc3dpcGVyLXNsaWRlIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOyB9XG5cbi5zd2lwZXItc2xpZGUtaW52aXNpYmxlLWJsYW5rIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQsIC5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci1zbGlkZSB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItd3JhcHBlciB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0saGVpZ2h0OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIHtcbiAgcGVyc3BlY3RpdmU6IDEyMDBweDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLWN1YmUtc2hhZG93LCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItd3JhcHBlciB7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlID4gLnN3aXBlci13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3NzLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlIHtcbiAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0IHN0YXJ0OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwuc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsLnN3aXBlci1jb250YWluZXItY3NzLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBzY3JvbGwtc25hcC10eXBlOiB5IG1hbmRhdG9yeTsgfVxuXG46cm9vdCB7XG4gIC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZTo0NHB4OyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQsIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogY2FsYyh2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKS8gNDQgKiAyNyk7XG4gIGhlaWdodDogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSk7XG4gIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKS8gMik7XG4gIHotaW5kZXg6IDEwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tY29sb3IsIHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogLjM1O1xuICBjdXJzb3I6IGF1dG87XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIge1xuICBmb250LWZhbWlseTogc3dpcGVyLWljb25zO1xuICBmb250LXNpemU6IHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGZvbnQtdmFyaWFudDogaW5pdGlhbDsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LCAuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIGxlZnQ6IDEwcHg7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIsIC5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyIHtcbiAgY29udGVudDogJ3ByZXYnOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQsIC5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgcmlnaHQ6IDEwcHg7XG4gIGxlZnQ6IGF1dG87IH1cblxuLnN3aXBlci1idXR0b24tbmV4dDphZnRlciwgLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIge1xuICBjb250ZW50OiAnbmV4dCc7IH1cblxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlLCAuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24td2hpdGUge1xuICAtLXN3aXBlci1uYXZpZ2F0aW9uLWNvbG9yOiNmZmZmZmY7IH1cblxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWJsYWNrLCAuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2sge1xuICAtLXN3aXBlci1uYXZpZ2F0aW9uLWNvbG9yOiMwMDAwMDA7IH1cblxuLnN3aXBlci1idXR0b24tbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IC4zcyBvcGFjaXR5O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB6LWluZGV4OiAxMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24taGlkZGVuIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMsIC5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sIC5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbiB7XG4gIGJvdHRvbTogMTBweDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1tYWluIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldi1wcmV2IHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dC1uZXh0IHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogLjI7IH1cblxuYnV0dG9uLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tY2xpY2thYmxlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvciwgdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XG4gIHJpZ2h0OiAxMHB4O1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIG1hcmdpbjogNnB4IDA7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgd2lkdGg6IDhweDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2l0aW9uOiAuMnMgdHJhbnNmb3JtLC4ycyB0b3A7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBtYXJnaW46IDAgNHB4OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICB0cmFuc2l0aW9uOiAuMnMgdHJhbnNmb3JtLC4ycyBsZWZ0OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwuc3dpcGVyLWNvbnRhaW5lci1ydGwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICB0cmFuc2l0aW9uOiAuMnMgdHJhbnNmb3JtLC4ycyByaWdodDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3IsIHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7IH1cblxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLCAuc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDRweDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUsIC5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgd2lkdGg6IDRweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIHtcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvcjojZmZmZmZmOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayB7XG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3I6IzAwMDAwMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXBlci1zY3JvbGxiYXIge1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1zY3JvbGxiYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDElO1xuICBib3R0b206IDNweDtcbiAgei1pbmRleDogNTA7XG4gIGhlaWdodDogNXB4O1xuICB3aWR0aDogOTglOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1zY3JvbGxiYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAzcHg7XG4gIHRvcDogMSU7XG4gIHotaW5kZXg6IDUwO1xuICB3aWR0aDogNXB4O1xuICBoZWlnaHQ6IDk4JTsgfVxuXG4uc3dpcGVyLXNjcm9sbGJhci1kcmFnIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uc3dpcGVyLXNjcm9sbGJhci1jdXJzb3ItZHJhZyB7XG4gIGN1cnNvcjogbW92ZTsgfVxuXG4uc3dpcGVyLXNjcm9sbGJhci1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpcGVyLXpvb20tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gY2FudmFzLCAuc3dpcGVyLXpvb20tY29udGFpbmVyID4gaW1nLCAuc3dpcGVyLXpvb20tY29udGFpbmVyID4gc3ZnIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb250YWluOyB9XG5cbi5zd2lwZXItc2xpZGUtem9vbWVkIHtcbiAgY3Vyc29yOiBtb3ZlOyB9XG5cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXIge1xuICB3aWR0aDogNDJweDtcbiAgaGVpZ2h0OiA0MnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMjFweDtcbiAgbWFyZ2luLXRvcDogLTIxcHg7XG4gIHotaW5kZXg6IDEwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIGFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIGluZmluaXRlIGxpbmVhcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiA0cHggc29saWQgdmFyKC0tc3dpcGVyLXByZWxvYWRlci1jb2xvciwgdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnN3aXBlci1sYXp5LXByZWxvYWRlci13aGl0ZSB7XG4gIC0tc3dpcGVyLXByZWxvYWRlci1jb2xvcjojZmZmOyB9XG5cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXItYmxhY2sge1xuICAtLXN3aXBlci1wcmVsb2FkZXItY29sb3I6IzAwMDsgfVxuXG5Aa2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4uc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLW5vdGlmaWNhdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogLTEwMDA7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZS5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSAuc3dpcGVyLXNsaWRlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwgLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItc2xpZGUge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwgLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsIC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0LCAuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCArIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1wcmV2IHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sIC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwgLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwgLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICB6LWluZGV4OiAwO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1jdWJlLXNoYWRvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG9wYWNpdHk6IC42O1xuICAtd2Via2l0LWZpbHRlcjogYmx1cig1MHB4KTtcbiAgZmlsdGVyOiBibHVyKDUwcHgpO1xuICB6LWluZGV4OiAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUsIC5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwgLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LCAuc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LCAuc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLyphbmltYXRpb25zKi9cbi8qKioqKioqKioqKioqKioqKipcbiogQm91bmNlIGluIHJpZ2h0ICpcbioqKioqKioqKioqKioqKioqKiovXG4uYW5pbWF0ZWQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfVxuXG4uc2xvdyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfVxuXG4uc2xvd2VyIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDJzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7IH1cblxuLnNsb3dlc3Qge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogM3M7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogM3M7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfVxuXG4vKiBBZGRlZCBieSBBbmR5IE1lZXRhbiAqL1xuLmRlbGF5LTI1MCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwLjI1cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDAuMjVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDAuMjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDAuMjVzOyB9XG5cbi5kZWxheS01MDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC41cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDAuNXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMC41cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjVzOyB9XG5cbi5kZWxheS03NTAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC43NXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAwLjc1cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAwLjc1cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjc1czsgfVxuXG4uZGVsYXktMTAwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxLjBzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMS4wcztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAxLjBzO1xuICBhbmltYXRpb24tZGVsYXk6IDEuMHM7IH1cblxuLmRlbGF5LTEyNTAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMS4yNXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAxLjI1cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAxLjI1cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAxLjI1czsgfVxuXG4uZGVsYXktMTUwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxLjVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMS41cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAxLjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDEuNXM7IH1cblxuLmRlbGF5LTE3NTAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMS43NXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAxLjc1cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAxLjc1cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAxLjc1czsgfVxuXG4uZGVsYXktMjAwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAyLjBzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMi4wcztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAyLjBzO1xuICBhbmltYXRpb24tZGVsYXk6IDIuMHM7IH1cblxuLmRlbGF5LTI1MDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMi41cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDIuNXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMi41cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAyLjVzOyB9XG5cbi5kZWxheS0yMDAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDIuMHM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAyLjBzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDIuMHM7XG4gIGFuaW1hdGlvbi1kZWxheTogMi4wczsgfVxuXG4uZGVsYXktMjUwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAyLjVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMi41cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAyLjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDIuNXM7IH1cblxuLmRlbGF5LTMwMDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMy4wcztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDMuMHM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMy4wcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAzLjBzOyB9XG5cbi5kZWxheS0zNTAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDMuNXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAzLjVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDMuNXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMy41czsgfVxuXG4uYm91bmNlSW5SaWdodCxcbi5ib3VuY2VJbkxlZnQsXG4uYm91bmNlSW5VcCxcbi5ib3VuY2VJbkRvd24ge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7IH1cblxuLmZhZGVJblJpZ2h0LFxuLmZhZGVJbkxlZnQsXG4uZmFkZUluVXAsXG4uZmFkZUluRG93biB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTsgfVxuXG4uZmxpcEluWCxcbi5mbGlwSW5ZLFxuLnJvdGF0ZUluLFxuLnJvdGF0ZUluVXBMZWZ0LFxuLnJvdGF0ZUluVXBSaWdodCxcbi5yb3RhdGVJbkRvd25MZWZ0LFxuLnJvdGF0ZURvd25VcFJpZ2h0LFxuLnJvbGxJbiB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmxpZ2h0U3BlZWRJblJpZ2h0LFxuLmxpZ2h0U3BlZWRJbkxlZnQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7IH1cblxuLyoqKioqKioqKioqXG4qIGJvdW5jZUluICpcbioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjMpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOyB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG4uYm91bmNlSW4uZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluOyB9XG5cbi8qKioqKioqKioqKioqKioqXG4qIGJvdW5jZUluUmlnaHQgKlxuKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpOyB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLmJvdW5jZUluUmlnaHQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDsgfVxuXG4vKioqKioqKioqKioqKioqKioqXG4qIEJvdW5jZSBpbiBsZWZ0ICpcbioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpOyB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpOyB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi5ib3VuY2VJbkxlZnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7IH1cblxuLyoqKioqKioqKioqKioqKioqKlxuKiBCb3VuY2UgaW4gdXAgKlxuKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDAwcHgpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MDBweCk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpOyB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuLmJvdW5jZUluVXAuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDsgfVxuXG4vKioqKioqKioqKioqKioqKioqXG4qIEJvdW5jZSBpbiBkb3duICpcbioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwMHB4KTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDAwcHgpOyB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpOyB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi5ib3VuY2VJbkRvd24uZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247IH1cblxuLyoqKioqKioqKipcbiogRmFkZSBJbiAqXG4qKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uZmFkZUluIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4uZmFkZUluLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluOyB9XG5cbi8qKioqKioqKioqXG4qIEdyb3cgaW4gKlxuKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZ3Jvd0luIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgZ3Jvd0luIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4yKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5ncm93SW4ge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4yKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5ncm93SW4uZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBncm93SW47XG4gIGFuaW1hdGlvbi1uYW1lOiBncm93SW47IH1cblxuLyoqKioqKioqXG4qIFNoYWtlICpcbioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlIHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgc2hha2Uge1xuICAwJSxcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOyB9IH1cblxuLnNoYWtlLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZTsgfVxuXG4vKioqKioqKipcbiogU2hha2VVcCAqXG4qKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZVVwIHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgc2hha2VVcCB7XG4gIDAlLFxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7IH0gfVxuXG4uc2hha2VVcC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZVVwOyB9XG5cbi8qKioqKioqKioqKioqXG4qIEZhZGVJbkxlZnQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjM7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4uZmFkZUluTGVmdCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpOyB9XG5cbi5mYWRlSW5MZWZ0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7IH1cblxuLyoqKioqKioqKioqKipcbiogRmFkZUluUmlnaHQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjM7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4uZmFkZUluUmlnaHQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7IH1cblxuLmZhZGVJblJpZ2h0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDsgfVxuXG4vKioqKioqKioqKioqKlxuKiBGYWRlSW5VcCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDAwcHgpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwMHB4KTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi5mYWRlSW5VcCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwMHB4KTsgfVxuXG4uZmFkZUluVXAuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwOyB9XG5cbi8qKioqKioqKioqKioqXG4qIEZhZGVJbkRvd24gKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwMHB4KTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MDBweCk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjM7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG4uZmFkZUluRG93biB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDAwcHgpOyB9XG5cbi5mYWRlSW5Eb3duLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247IH1cblxuLyoqKioqKioqKioqKioqKioqXG4qIHJvdGF0ZUluICpcbioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlSW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5yb3RhdGVJbi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW47IH1cblxuLyoqKioqKioqKioqKioqKioqXG4qIHJvdGF0ZUluVXBMZWZ0ICpcbioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5yb3RhdGVJblVwTGVmdC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7IH1cblxuLyoqKioqKioqKioqKioqKioqKipcbiogcm90YXRlSW5Eb3duTGVmdCAqXG4qKioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5yb3RhdGVJbkRvd25MZWZ0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7IH1cblxuLyoqKioqKioqKioqKioqKioqKlxuKiByb3RhdGVJblVwUmlnaHQgKlxuKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5yb3RhdGVJblVwUmlnaHQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqXG4qIHJvdGF0ZUluRG93blJpZ2h0ICpcbioqKioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4ucm90YXRlSW5Eb3duUmlnaHQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0OyB9XG5cbi8qKioqKioqKipcbiogcm9sbEluICpcbioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZSgtMTIwZGVnKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyByb2xsSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZSgtMTIwZGVnKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTsgfSB9XG5cbi5yb2xsSW4uZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47IH1cblxuLyoqKioqKioqKlxuKiB3aWdnbGUgKlxuKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyB3aWdnbGUge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDlkZWcpOyB9XG4gIDEwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC04ZGVnKTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg3ZGVnKTsgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNmRlZyk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNWRlZyk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTRkZWcpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDNkZWcpOyB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0yZGVnKTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxZGVnKTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHdpZ2dsZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDlkZWcpOyB9XG4gIDEwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtOGRlZyk7IH1cbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDdkZWcpOyB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNmRlZyk7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDVkZWcpOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNGRlZyk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDNkZWcpOyB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMmRlZyk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDFkZWcpOyB9XG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDBkZWcpOyB9IH1cblxuLndpZ2dsZS5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZTtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG5cbi8qKioqKioqKlxuKiBzd2luZyAqXG4qKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmcge1xuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUsXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHN3aW5nIHtcbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpOyB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH0gfVxuXG4uc3dpbmcuZ28ge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHN3aW5nO1xuICBhbmltYXRpb24tbmFtZTogc3dpbmc7IH1cblxuLyoqKioqKipcbiogdGFkYSAqXG4qKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyB0YWRhIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAxMCUsXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTsgfVxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTsgfVxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHRhZGEge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAxMCUsXG4gIDIwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHJvdGF0ZSgtM2RlZyk7IH1cbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpOyB9XG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDApOyB9IH1cblxuLnRhZGEuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB0YWRhO1xuICBhbmltYXRpb24tbmFtZTogdGFkYTsgfVxuXG4vKioqKioqKioqXG4qIHdvYmJsZSAqXG4qKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHdvYmJsZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH1cbiAgMTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUlKSByb3RhdGUoLTVkZWcpOyB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSByb3RhdGUoM2RlZyk7IH1cbiAgNDUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKSByb3RhdGUoLTNkZWcpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZyk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpIHJvdGF0ZSgtMWRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOyB9IH1cblxuQGtleWZyYW1lcyB3b2JibGUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxuICAxNSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUlKSByb3RhdGUoLTVkZWcpOyB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpOyB9XG4gIDQ1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZyk7IH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKSByb3RhdGUoLTFkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH0gfVxuXG4ud29iYmxlLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogd29iYmxlO1xuICBhbmltYXRpb24tbmFtZTogd29iYmxlOyB9XG5cbi8qKioqKioqKlxuKiBwdWxzZSAqXG4qKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMC43KTsgfVxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDApOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBwdWxzZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwLjcpOyB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7IH0gfVxuXG4ucHVsc2UuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlOyB9XG5cbi8qKioqKioqKioqKioqKipcbiogbGlnaHRTcGVlZEluUmlnaHQgKlxuKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW5SaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAlKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJblJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwJSkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKC0xNWRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4ubGlnaHRTcGVlZEluUmlnaHQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJblJpZ2h0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuXG4vKioqKioqKioqKioqKioqXG4qIGxpZ2h0U3BlZWRJbkxlZnQgKlxuKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW5MZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW5MZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5saWdodFNwZWVkSW5MZWZ0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbkxlZnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG5cbi8qKioqKioqXG4qIEZsaXAgKlxuKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE3MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxOTBkZWcpIHNjYWxlKDEpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKDAuOTUpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlKDEpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfSB9XG5cbkBrZXlmcmFtZXMgZmxpcCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxNzBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxOTBkZWcpIHNjYWxlKDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDM2MGRlZykgc2NhbGUoMC45NSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZSgxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9IH1cblxuLmZsaXAuZ28ge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcDsgfVxuXG4vKioqKioqKioqKlxuKiBmbGlwSW5YICpcbioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTEwZGVnKTsgfVxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgxMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZsaXBJblgge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTEwZGVnKTsgfVxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5mbGlwSW5YLmdvIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7IH1cblxuLyoqKioqKioqKipcbiogZmxpcEluWSAqXG4qKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblkge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyk7IH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyk7IH1cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uZmxpcEluWS5nbyB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZOyB9XG5cbi8qKioqKioqKioqKioqKioqKlxuKiBPdXQgYW5pbWF0aW9ucyAqXG4qKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKipcbiogYm91bmNlT3V0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAyNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgMjUlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMyk7IH0gfVxuXG4uYm91bmNlT3V0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDsgfVxuXG4vKioqKioqKioqKioqXG4qIGJvdW5jZU91dFVwICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOyB9IH1cblxuLmJvdW5jZU91dFVwLmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7IH1cblxuLyoqKioqKioqKioqKlxuKiBib3VuY2VPdXREb3duICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsgfSB9XG5cbi5ib3VuY2VPdXREb3duLmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duOyB9XG5cbi8qKioqKioqKioqKipcbiogYm91bmNlT3V0TGVmdCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7IH0gfVxuXG4uYm91bmNlT3V0TGVmdC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDsgfVxuXG4vKioqKioqKioqKioqXG4qIGJvdW5jZU91dFJpZ2h0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOyB9IH1cblxuLmJvdW5jZU91dFJpZ2h0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7IH1cblxuLyoqKioqKioqKioqKlxuKiBmYWRlT3V0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmZhZGVPdXQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7IH1cblxuLyoqKioqKioqKioqKlxuKiBmYWRlT3V0VXAgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7IH0gfVxuXG4uZmFkZU91dFVwLmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDsgfVxuXG4vKioqKioqKioqKioqXG4qIGZhZGVPdXREb3duICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7IH0gfVxuXG4uZmFkZU91dERvd24uZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjsgfVxuXG4vKioqKioqKioqKioqXG4qIGZhZGVPdXRMZWZ0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsgfSB9XG5cbi5mYWRlT3V0TGVmdC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0OyB9XG5cbi8qKioqKioqKioqKipcbiogZmFkZU91dFJpZ2h0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsgfSB9XG5cbi5mYWRlT3V0UmlnaHQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0OyB9XG5cbi8qKioqKioqKioqKipcbiogZmxpcE91dFggKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmZsaXBPdXRYLmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH1cblxuLyoqKioqKioqKioqKlxuKiBmbGlwT3V0WSAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgZmxpcE91dFkge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uZmxpcE91dFkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZOyB9XG5cbi8qKioqKioqKioqKipcbiogbGlnaHRTcGVlZE91dFJpZ2h0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dFJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dFJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmxpZ2h0U3BlZWRPdXRSaWdodC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0UmlnaHQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuXG4vKioqKioqKioqKioqXG4qIGxpZ2h0U3BlZWRPdXRMZWZ0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0TGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5saWdodFNwZWVkT3V0TGVmdC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRMZWZ0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cblxuLyoqKioqKioqKioqKlxuKiByb3RhdGVPdXQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4ucm90YXRlT3V0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDsgfVxuXG4vKioqKioqKioqKioqXG4qIHJvdGF0ZU91dFVwTGVmdCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5yb3RhdGVPdXRVcExlZnQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0OyB9XG5cbi8qKioqKioqKioqKipcbiogcm90YXRlT3V0RG93bkxlZnQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4ucm90YXRlT3V0RG93bkxlZnQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDsgfVxuXG4vKioqKioqKioqKioqXG4qIHJvdGF0ZU91dFVwUmlnaHQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5yb3RhdGVPdXRVcFJpZ2h0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0OyB9XG5cbi8qKioqKioqKioqKipcbiogcm9sbE91dCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHJvdGF0ZSgxMjBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyByb2xsT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHJvdGF0ZSgxMjBkZWcpOyB9IH1cblxuLnJvbGxPdXQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbE91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7IH1cblxuLyoqKioqKioqKioqKioqKioqXG4qIFNob3J0IEFuaW1hdGlvbnNcbioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqXG4qIGZhZGVJblVwU2hvcnRcbioqKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcFNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluVXBTaG9ydCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi5mYWRlSW5VcFNob3J0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsgfVxuXG4uZmFkZUluVXBTaG9ydC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwU2hvcnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcFNob3J0OyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKipcbiogZmFkZUluRG93blNob3J0XG4qKioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93blNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25TaG9ydCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG4uZmFkZUluRG93blNob3J0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOyB9XG5cbi5mYWRlSW5Eb3duU2hvcnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duU2hvcnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duU2hvcnQ7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuKiBmYWRlSW5SaWdodFNob3J0IFxuKioqKioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0U2hvcnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodFNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLmZhZGVJblJpZ2h0U2hvcnQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOyB9XG5cbi5mYWRlSW5SaWdodFNob3J0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRTaG9ydDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0U2hvcnQ7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuKiBmYWRlSW5MZWZ0U2hvcnQgXG4qKioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdFNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRTaG9ydCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4uZmFkZUluTGVmdFNob3J0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOyB9XG5cbi5mYWRlSW5MZWZ0U2hvcnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0U2hvcnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0U2hvcnQ7IH1cblxuLyoqKioqKioqKipcbiogWm9vbSBpbiAqXG4qKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoNSk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICBvcGFjaXR5OiAuODsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyB6b29tSW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoNSk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICBvcGFjaXR5OiAuODsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnpvb21JbiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSg1KTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoNSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnpvb21Jbi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbjtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNXM7IH1cblxuLyoqKioqKioqXG4qIFNoYWtlVXAyICpcblNoYWtlIGFuZCBwYXVzZSBcbioqKioqKioqL1xuQGtleWZyYW1lcyBzaGFrZVVwMiB7XG4gIDAlLFxuICA1MCUsXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsgfSB9XG5cbi5zaGFrZXVwMiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlVXAyO1xuICBhbmltYXRpb24tbmFtZTogc2hha2VVcDI7IH1cblxuLnNoYWtlMiB7XG4gIC8qIFN0YXJ0IHRoZSBzaGFrZSBhbmltYXRpb24gYW5kIG1ha2UgdGhlIGFuaW1hdGlvbiBsYXN0IGZvciAwLjUgc2Vjb25kcyAqL1xuICBhbmltYXRpb246IHNoYWtlIDFzO1xuICAvKiBXaGVuIHRoZSBhbmltYXRpb24gaXMgZmluaXNoZWQsIHN0YXJ0IGFnYWluICovXG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbkBrZXlmcmFtZXMgc2hha2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAxcHgpIHJvdGF0ZSgwZGVnKTsgfVxuICAxMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xcHgsIC0ycHgpIHJvdGF0ZSgtMWRlZyk7IH1cbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtM3B4LCAwcHgpIHJvdGF0ZSgxZGVnKTsgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDNweCwgMnB4KSByb3RhdGUoMGRlZyk7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIC0xcHgpIHJvdGF0ZSgxZGVnKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xcHgsIDJweCkgcm90YXRlKC0xZGVnKTsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0zcHgsIDFweCkgcm90YXRlKDBkZWcpOyB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoM3B4LCAxcHgpIHJvdGF0ZSgtMWRlZyk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMXB4LCAtMXB4KSByb3RhdGUoMWRlZyk7IH1cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIDJweCkgcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgLTJweCkgcm90YXRlKC0xZGVnKTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGFzaGxpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgLTQwcHgpIHNjYWxlKDEuMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwcHgsIC00MHB4KSBzY2FsZSgxLjEpOyB9IH1cblxuQGtleWZyYW1lcyBmbGFzaGxpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHNjYWxlKDEpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwcHgsIC00MHB4KSBzY2FsZSgxLjEpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgLTQwcHgpIHNjYWxlKDEuMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwcHgsIC00MHB4KSBzY2FsZSgxLjEpOyB9IH1cblxuLnJvdGF0aW5nIHtcbiAgYW5pbWF0aW9uOiByb3RhdGluZyAzMHMgbGluZWFyIGluZmluaXRlOyB9XG5cbkBrZXlmcmFtZXMgcm90YXRpb24ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTsgfSB9XG5cbi8qLS0tIEFib3V0IFRleHQgLS0tKi9cbi8qIHRleHQgdHJ1bmNhdGUgbXVsdGlsaW5lICovXG4vKi0tLSBBYm91dCBJbWFnZXMgLS0tKi9cbi8qLS0tIEFib3V0IFBvc2l0aW9uIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSBBYm91dCBCdXR0b24gLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tIEN1c3RvbWl6ZSBTY3JvbGxiYXIgLS0tKi9cbi8qLS0tIEFib3V0IFRleHQgLS0tKi9cbi8qLS0tIFNtb290aCBTY3JvbGwgLS0tKi9cbjo6c2VsZWN0aW9uIHtcbiAgY29sb3I6ICMwMDRDQTI7XG4gIGJhY2tncm91bmQ6ICNjMGMwYzA7IH1cblxuLyotLS0gQW5pbWF0ZSBhIC0tLSovXG5hIHtcbiAgdHJhbnNpdGlvbjogYWxsIC4yczsgfVxuICBhIGltZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cblxuLyotLS0gQ3VzdG9taXplIFNjcm9sbGJhciAtLS0qL1xuKiB7XG4gIC8qIFdvcmsgb24gRmlyZWZveCAqL1xuICBzY3JvbGxiYXItd2lkdGg6IDVweDtcbiAgc2Nyb2xsYmFyLWNvbG9yOiAjMDA0Q0EyICNjMGMwYzA7IH1cblxuKjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAvKiBXb3JrcyBvbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkgKi9cbiAgd2lkdGg6IDVweDsgfVxuXG4qOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJhY2tncm91bmQ6ICNjMGMwYzA7XG4gIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG4qOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDRDQTI7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwNENBMjsgfVxuXG4vKi0tLSBDb21tb24gQ2xhc3NOYW1lIC0tLSovXG4ubG9vcC1pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbi5sb29wLTUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiA1OyB9XG5cbi8qLS0tIEFib3V0IEJ1dHRvbiAtLS0qL1xuLmJ0bi1pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBsaW5lLWhlaWdodDogMDsgfVxuICAuYnRuLWltYWdlIGltZzpsYXN0LWNoaWxkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5idG4taW1hZ2U6aG92ZXIgaW1nOmxhc3QtY2hpbGQge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4uYnRuLWhvdmVyLXpvb20sIC5jaGlldW1vIC5jaGlldW1vLWJ0biwgLnBvcHVwLWJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLmJ0bi1ob3Zlci16b29tOmhvdmVyLCAuY2hpZXVtbyAuY2hpZXVtby1idG46aG92ZXIsIC5wb3B1cC1idG46aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuXG4uYnRuLWhvdmVyLXRyYW5zbGF0ZVgge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzIGVhc2UtaW4tb3V0OyB9XG4gIC5idG4taG92ZXItdHJhbnNsYXRlWDpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxuXG4uYnRuLWhvdmVyLXRyYW5zbGF0ZVkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzIGVhc2UtaW4tb3V0OyB9XG4gIC5idG4taG92ZXItdHJhbnNsYXRlWTpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpOyB9XG5cbi5idG4taG92ZXItdW5kZXJsaW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuYnRuLWhvdmVyLXVuZGVybGluZTpiZWZvcmUge1xuICAgIHdpZHRoOiAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OyB9XG4gIC5idG4taG92ZXItdW5kZXJsaW5lOmhvdmVyOmJlZm9yZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmJ0bi1ob3Zlci1ib3JkZXItd3JhcHBpbmcge1xuICBwYWRkaW5nOiAyMHB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiBub25lOyB9XG4gIC5idG4taG92ZXItYm9yZGVyLXdyYXBwaW5nOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJvcmRlcjogI2ZmZjAwMCBkYXNoZWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci13aWR0aCAwLjFzIGVhc2Utb3V0OyB9XG4gIC5idG4taG92ZXItYm9yZGVyLXdyYXBwaW5nOmhvdmVyOmJlZm9yZSB7XG4gICAgei1pbmRleDogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgYm9yZGVyLXdpZHRoOiA1cHg7IH1cblxuLmJ0bi1ob3Zlci1zaGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5idG4taG92ZXItc2hpbmU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0b3A6IC0xMTAlO1xuICAgIGxlZnQ6IC0yMTAlO1xuICAgIHdpZHRoOiAyMDAlO1xuICAgIGhlaWdodDogMjAwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEzKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEzKSA3NyUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSA5MiUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzBkZWcpOyB9XG4gIC5idG4taG92ZXItc2hpbmU6aG92ZXI6YWZ0ZXIge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBzaGluZSAuNzVzO1xuICAgIGFuaW1hdGlvbjogc2hpbmUgLjc1cztcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRvcDogLTMwJTtcbiAgICBsZWZ0OiAtMzAlO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQsIHRvcCwgb3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxcywgMXMsIC4xNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7IH1cblxuLyotLS0gQWJvdXQgVGV4dCAtLS0qL1xuLnRleHQtdHJ1bmNhdGUge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LXN0cm9rZSB7XG4gIGZvbnQtc2l6ZTogMTAwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCg5MGRlZywgIzAwMCAyMCUsICNmMDAgNTAlKTtcbiAgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogNXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMSk7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OyB9XG5cbi50ZXh0LWdyYWRpZW50IHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxMDBweDtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVnYWN5LWRpcmVjdGlvbigxODBkZWcpLCAjMDAwLCAjZjAwLCAjZmZmMDAwKTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzAwMCwgI2YwMCwgI2ZmZjAwMCk7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyotLS0gQWJvdXQgSW1hZ2UgLS0tKi9cbi5pbWFnZS1maXQge1xuICB3aWR0aDogMjUwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDM1MHB4O1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OyB9XG5cbi8qLS0tIEFib3V0IEVmZmVjdCAtLS0qL1xuLmVmZmVjdC1ncmFkaWVudC1saW5lYXIge1xuICBiYWNrZ3JvdW5kOiAjNzdEN0U3O1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWdhY3ktZGlyZWN0aW9uKHRvIGJvdHRvbSksICM3N0Q3RTcgNTAlLCAjZmYwMDAwIDUwJSwgI2ZmZjAwMCAxMDAlKTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzc3RDdFNyA1MCUsICNmZjAwMDAgNTAlLCAjZmZmMDAwIDEwMCUpOyB9XG5cbi8qLS0tIEFib3V0IE90aGVyIC0tLSovXG4uaG92ZXItc3RvcC1hbmltYXRlZDpob3ZlciB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgLW1vei1hbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xuICAtby1hbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xuICBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xuICAtd2Via2l0LWFuaW1hdGlvbjogc3RlcC1lbmQ7XG4gIC1tb3otYW5pbWF0aW9uYW5pbWF0aW9uOiBzdGVwLWVuZDtcbiAgYW5pbWF0aW9uOiBzdGVwLWVuZDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU0ZcIjtcbiAgc3JjOiB1cmwoLi4vZm9udHMvU0YtUHJvLURpc3BsYXktUmVndWxhci5lb3QpO1xuICBzcmM6IHVybCguLi9mb250cy9TRi1Qcm8tRGlzcGxheS1SZWd1bGFyLmVvdCNpZWZpeCkgZm9ybWF0KFwiZW90XCIpLCB1cmwoLi4vZm9udHMvU0YtUHJvLURpc3BsYXktUmVndWxhci53b2ZmMikgZm9ybWF0KFwid29mZjJcIiksIHVybCguLi9mb250cy9TRi1Qcm8tRGlzcGxheS1SZWd1bGFyLndvZmYpIGZvcm1hdChcIndvZmZcIiksIHVybCguLi9mb250cy9TRi1Qcm8tRGlzcGxheS1SZWd1bGFyLnR0ZikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybCguLi9mb250cy9TRi1Qcm8tRGlzcGxheS1SZWd1bGFyLnN2ZykgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJ1dG1fYWxiZXJ0YV9oZWF2eVwiO1xuICBzcmM6IHVybCguLi9mb250cy91dG1fYWxiZXJ0YV9oZWF2eS5lb3QpO1xuICBzcmM6IHVybCguLi9mb250cy91dG1fYWxiZXJ0YV9oZWF2eS5lb3QjaWVmaXgpIGZvcm1hdChcImVvdFwiKSwgdXJsKC4uL2ZvbnRzL3V0bV9hbGJlcnRhX2hlYXZ5LndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKC4uL2ZvbnRzL3V0bV9hbGJlcnRhX2hlYXZ5LndvZmYpIGZvcm1hdChcIndvZmZcIiksIHVybCguLi9mb250cy91dG1fYWxiZXJ0YV9oZWF2eS50dGYpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoLi4vZm9udHMvdXRtX2FsYmVydGFfaGVhdnkuc3ZnKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImZ6YXVnaWxsaW9uXCI7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL2Z6YXVnaWxsaW9uLmVvdCk7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL2Z6YXVnaWxsaW9uLmVvdCNpZWZpeCkgZm9ybWF0KFwiZW90XCIpLCB1cmwoLi4vZm9udHMvZnphdWdpbGxpb24ud29mZjIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoLi4vZm9udHMvZnphdWdpbGxpb24ud29mZikgZm9ybWF0KFwid29mZlwiKSwgdXJsKC4uL2ZvbnRzL2Z6YXVnaWxsaW9uLnR0ZikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybCguLi9mb250cy9memF1Z2lsbGlvbi5zdmcpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG4uaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBoZWlnaHQ6IDUyMHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2hlYWRlci1iZy5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgdG9wL2NvdmVyO1xuICBwYWRkaW5nOiAwIDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5oZWFkZXIge1xuICAgICAgaGVpZ2h0OiAzMDBweDsgfSB9XG4gIC5oZWFkZXIgLmNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi50ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDQ1JTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHotaW5kZXg6IDE7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC50ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC50ZXh0IHtcbiAgICAgIHdpZHRoOiA2MCU7XG4gICAgICB0b3A6IDQ1JTsgfSB9XG5cbi5sb2dvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01NSUpO1xuICB6LWluZGV4OiAxMTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmxvZ28ge1xuICAgICAgdG9wOiA1cHg7IH1cbiAgICAgIC5sb2dvIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogODBweDsgfSB9XG5cbi50YWlnYW1lIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDEycHggNDVweCAwIDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC50YWlnYW1lIHtcbiAgICAgIG1hcmdpbi10b3A6IDEzcHg7IH0gfVxuICAudGFpZ2FtZSBsaSBhIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDI1cHg7XG4gICAgcGFkZGluZzogMCA1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDAuNzsgfVxuICAgIC50YWlnYW1lIGxpIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmI3MGE7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAudGFpZ2FtZSBsaSBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cbiAgLnRhaWdhbWUgbGk6bGFzdC1jaGlsZCBhOmhvdmVyIHtcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTUwJSk7IH1cbiAgLnRhaWdhbWUgbGkgLmxvZ2dlZCB7XG4gICAgZGlzcGxheTogaW5pdGlhbDtcbiAgICBjb2xvcjogI2VkZWRlZDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAudGFpZ2FtZSBsaSAubG9nZ2VkIHtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4OyB9IH1cbiAgLnRhaWdhbWUgbGkgLmxvZ291dCB7XG4gICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLnRhaWdhbWUgbGkgLmxvZ291dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDsgfSB9XG4gIC50YWlnYW1lIGxpIC51c2VyIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgY29sb3I6ICNiY2ZlZmY7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAgMCAwIDVweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgIC50YWlnYW1lIGxpIC51c2VyIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB3aWR0aDogNzVweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIG1hcmdpbjogLTVweCAwOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC50YWlnYW1lIGxpIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDcwcHg7IH0gfVxuXG4ubmF2YmFyLW5hdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMDtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgaGVpZ2h0OiA2MHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2YmFyLW5hdiB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLm5hdmJhci1uYXYge1xuICAgICAgaGVpZ2h0OiA0NXB4OyB9IH1cbiAgLm5hdmJhci1uYXYgLmFnZTE4IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMHB4O1xuICAgIGxlZnQ6IDEwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAubmF2YmFyLW5hdiAuYWdlMTgge1xuICAgICAgICBtYXgtd2lkdGg6IDMwcHg7XG4gICAgICAgIHRvcDogMTBweDsgfSB9XG4gIC5uYXZiYXItbmF2IHVsLm1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDc3MHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLm5hdmJhci1uYXYgdWwubWVudSB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgei1pbmRleDogMTsgfSB9XG4gICAgLm5hdmJhci1uYXYgdWwubWVudS5hY3RpdmUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAubmF2YmFyLW5hdiB1bC5tZW51IGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLm5hdmJhci1uYXYgdWwubWVudSBsaTpudGgtY2hpbGQoMikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMnJlbSArIDl2dyk7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgIC5uYXZiYXItbmF2IHVsLm1lbnUgbGk6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOC43NXJlbTsgfSB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAubmF2YmFyLW5hdiB1bC5tZW51IGxpOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgICAgLm5hdmJhci1uYXYgdWwubWVudSBsaSBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGFuaW1hdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgY29sb3I6ICNmZWU3YmM7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAwO1xuICAgICAgICBsaW5lLWhlaWdodDogNjBweDtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICB3aWR0aDogMTkzcHg7IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgIC5uYXZiYXItbmF2IHVsLm1lbnUgbGkgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9IH1cbiAgICAgICAgLm5hdmJhci1uYXYgdWwubWVudSBsaSBhOmhvdmVyLCAubmF2YmFyLW5hdiB1bC5tZW51IGxpIGEuYWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL21lbnUtYmctaG92ZXIuanBnKSBuby1yZXBlYXQgMCAwOyB9XG4gICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgLm5hdmJhci1uYXYgdWwubWVudSBsaSBhOmhvdmVyLCAubmF2YmFyLW5hdiB1bC5tZW51IGxpIGEuYWN0aXZlIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTsgfSB9XG4gICAgICAgICAgLm5hdmJhci1uYXYgdWwubWVudSBsaSBhOmhvdmVyOmhvdmVyLCAubmF2YmFyLW5hdiB1bC5tZW51IGxpIGEuYWN0aXZlOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAubmF2YmFyLW5hdiB1bC5tZW51IGxpOmhvdmVyIGEge1xuICAgICAgICBjb2xvcjogIzk3OGI3NTsgfVxuICAubmF2YmFyLW5hdiAuYnRuLWhhbSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMTBweDtcbiAgICByaWdodDogMTBweDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAubmF2YmFyLW5hdiAuYnRuLWhhbSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAubmF2YmFyLW5hdiAuYnRuLWhhbSB7XG4gICAgICAgIHRvcDogNXB4OyB9IH1cbiAgLm5hdmJhci1uYXYgLmJ0bi1oYW0gc3BhbixcbiAgLm5hdmJhci1uYXYgLmJ0bi1oYW06YWZ0ZXIsXG4gIC5uYXZiYXItbmF2IC5idG4taGFtOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICBtYXJnaW46IDZweCAwcHg7XG4gICAgdHJhbnNpdGlvbjogMC40czsgfVxuICAubmF2YmFyLW5hdiAuYnRuLWhhbS5hY3RpdmU6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZSgtOHB4LCA2cHgpOyB9XG4gIC5uYXZiYXItbmF2IC5idG4taGFtLmFjdGl2ZTphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZSgtOXB4LCAtOHB4KTsgfVxuICAubmF2YmFyLW5hdiAuYnRuLWhhbS5hY3RpdmUgc3BhbiB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpOyB9XG5cbi5hdmF0YXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogNnB4IDBweCAwIDY1cHg7IH1cbiAgLmF2YXRhciBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5hdmF0YXIge1xuICAgICAgbWFyZ2luOiAxMHB4IDBweCAwIDI3cHg7IH1cbiAgICAgIC5hdmF0YXIgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0MHB4OyB9IH1cblxuLnBsYXktdmlkZW8ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMC43O1xuICB6LWluZGV4OiA4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMzAlO1xuICBsZWZ0OiA2MCU7XG4gIHotaW5kZXg6IDExO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBsaW5lYXI7IH1cbiAgLnBsYXktdmlkZW86aG92ZXIge1xuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxMTAlKTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLnBsYXktdmlkZW8gaW1nIHtcbiAgICAgIG1heC13aWR0aDogODBweDsgfSB9XG5cbi5kYW5na3lzb20ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMHB4O1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgei1pbmRleDogMTA7IH1cbiAgLmRhbmdreXNvbSBpbWc6bnRoLWNoaWxkKDIpIHtcbiAgICBhbmltYXRpb246IGZhZGVCdXR0b25Jbk91dCAwLjVzIGVhc2UtaW4tb3V0IDBzIGluZmluaXRlIGFsdGVybmF0ZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmRhbmdreXNvbSB7XG4gICAgICBtYXgtd2lkdGg6IDM1JTtcbiAgICAgIGJvdHRvbTogMCU7IH0gfVxuXG4ub3BlbmluZyB7XG4gIHdpZHRoOiAxMzBweDtcbiAgaGVpZ2h0OiAxMzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDEwJTtcbiAgei1pbmRleDogMTA7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvb3BlbmluZy1iZy5wbmcpIG5vLXJlcGVhdCAwIDAvMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMTsgfVxuICAub3BlbmluZyAuZGF0ZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiBjYWxjKDEuMjc1cmVtICsgMC4zdncpO1xuICAgIHBhZGRpbmc6IDAgMCAwIDBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC5vcGVuaW5nIC5kYXRlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuXG4uYnV0dG9ucy1ibG9jayB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAxNXB4IDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDc7XG4gIHRvcDogNTBweDtcbiAgbGVmdDogMHB4O1xuICByaWdodDogMHB4OyB9XG4gIC5idXR0b25zLWJsb2NrIGxpIHtcbiAgICBtYXJnaW46IDAgNXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAuYnV0dG9ucy1ibG9jayB7XG4gICAgICB0b3A6IDM1cHg7IH1cbiAgICAgIC5idXR0b25zLWJsb2NrIGxpIHtcbiAgICAgICAgbWFyZ2luOiAtNXB4IDEwcHggMDsgfSB9XG4gIC5idXR0b25zLWJsb2NrIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAgMHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLmJ1dHRvbnMtYmxvY2sgYSBpbWcge1xuICAgICAgICB3aWR0aDogMTAwcHg7IH0gfVxuICAgIC5idXR0b25zLWJsb2NrIGE6aG92ZXIge1xuICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDExMCUpOyB9XG5cbnVsLm1lbnUge1xuICBkaXNwbGF5OiBub25lO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDc3MHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgdWwubWVudSB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHotaW5kZXg6IDI7IH0gfVxuICB1bC5tZW51LmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICB1bC5tZW51IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICB1bC5tZW51IGxpOm50aC1jaGlsZCgyKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMnJlbSArIDl2dyk7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgdWwubWVudSBsaTpudGgtY2hpbGQoMikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogOC43NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIHVsLm1lbnUgbGk6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgIHVsLm1lbnUgbGkgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGFuaW1hdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgICAgIGNvbG9yOiAjZmVlOWJlO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICB3aWR0aDogMTkzcHg7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgdWwubWVudSBsaSBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9IH1cbiAgICAgIHVsLm1lbnUgbGkgYTpob3ZlciwgdWwubWVudSBsaSBhLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjYmUzYzJhO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL21lbnUtYmctaG92ZXIuanBnKSBuby1yZXBlYXQgMCAwOyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICB1bC5tZW51IGxpIGE6aG92ZXIsIHVsLm1lbnUgbGkgYS5hY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTsgfSB9XG4gICAgICAgIHVsLm1lbnUgbGkgYTpob3Zlcjpob3ZlciwgdWwubWVudSBsaSBhLmFjdGl2ZTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNiZTNjMmE7IH1cbiAgICB1bC5tZW51IGxpOmhvdmVyIGEge1xuICAgICAgY29sb3I6ICM5NzhiNzU7IH1cblxuOnJvb3Qge1xuICAvKiBOb3QgbXkgZmF2b3JpdGUgdGhhdCBsaW5lLWhlaWdodCBoYXMgdG8gYmUgdW5pdGVkLCBidXQgbmVlZGVkICovXG4gIC0tbGg6IDEuNHJlbTsgfVxuXG5odG1sIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGgpOyB9XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMDEwMTAxICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuNSAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogXCJTRlwiICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG5hIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogIzA0NDU5YjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGNvbG9yOiAjMDU1YmNkOyB9XG4gIGEgaW1nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuXG4uc2hvdy1tb2JpbGUge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuc2hvdy1tb2JpbGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uc2hvdy1kZXNrdG9wIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5zaG93LWRlc2t0b3Age1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbi5sb29wLTUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiA1OyB9XG5cbi8qLS0tLSBDb250ZW50IENTUyBWYXJpYmxlcyAtLS0tKi9cbi8qLS0tIEltYWdlIC0tLS0tKi9cbi8qLS0tIE5vdGljZSBCb3ggLS0tKi9cbi8qLS0tLSBFbmQgQ29udGVudCBDU1MgVmFyaWJsZXMgLS0tLSovXG4vKiBHZW5lcmFsICovXG4uU3RhdGljTWFpbiB7XG4gIGNsZWFyOiBib3RoO1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICBjb2xvcjogIzM2MzYzNjtcbiAgLyogVGV4dCBzdHlsZXMgKi9cbiAgLyogRU5ELiBUZXh0IHN0eWxlcyAqL1xuICAvKiBJbWFnZSBzdHlsZXMgKi9cbiAgLyogTm90aWNlIGJveCAqL1xuICAvKiBMaXN0IHN0eWxlcyAqLyB9XG4gIC5TdGF0aWNNYWluIGgzIHtcbiAgICBmb250LWZhbWlseTogU0YtQm9sZDtcbiAgICBjb2xvcjogIzI5MjgyNjtcbiAgICBmb250LXNpemU6IDNlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwcHggMCAzMHB4IDA7IH1cbiAgLlN0YXRpY01haW4gYSB7XG4gICAgY29sb3I6ICM5YjJhMmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuU3RhdGljTWFpbiBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjYTE4YzVjO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5TdGF0aWNNYWluIHAge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgLlN0YXRpY01haW4gdWwge1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgcGFkZGluZzogMCAwIDAgMDsgfVxuICAgIC5TdGF0aWNNYWluIHVsIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7XG4gICAgICBtYXJnaW46IDAgMCA1cHggMjBweDsgfVxuICAgICAgLlN0YXRpY01haW4gdWwgbGkgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBjaXJjbGU7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4IDA7IH1cbiAgLlN0YXRpY01haW4gb2wge1xuICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgcGFkZGluZzogMCAwIDAgMjBweDsgfVxuICAgIC5TdGF0aWNNYWluIG9sIGxpIHtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICBsaXN0LXN0eWxlOiBkZWNpbWFsICFpbXBvcnRhbnQ7IH1cbiAgLlN0YXRpY01haW4gLkFuY2hvckxpbmsge1xuICAgIG1hcmdpbjogMHB4IDMwcHggMjBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZSBub25lOyB9XG4gICAgLlN0YXRpY01haW4gLkFuY2hvckxpbmsgbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNDklO1xuICAgICAgcGFkZGluZzogMCAwIDVweCA1cHg7XG4gICAgICBtYXJnaW46IDAgMSUgMCAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuU3RhdGljTWFpbiAuQW5jaG9yTGluayBsaSB7XG4gICAgICAgICAgd2lkdGg6IDMxJTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIlOyB9IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgLlN0YXRpY01haW4gLkFuY2hvckxpbmsgbGkge1xuICAgICAgICAgIHdpZHRoOiA0OCU7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyJTsgfSB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMyMHB4KSB7XG4gICAgICAgIC5TdGF0aWNNYWluIC5BbmNob3JMaW5rIGxpIHtcbiAgICAgICAgICB3aWR0aDogOTglO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMiU7IH0gfVxuICAgICAgLlN0YXRpY01haW4gLkFuY2hvckxpbmsgbGkgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogIzliMmEyZTsgfVxuICAgICAgICAuU3RhdGljTWFpbiAuQW5jaG9yTGluayBsaSBhOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAjOWIyYTJlO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDdweDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICAgICAgLlN0YXRpY01haW4gLkFuY2hvckxpbmsgbGkgYS5BY3RpdmUsXG4gICAgICAuU3RhdGljTWFpbiAuQW5jaG9yTGluayBsaSBhLkFjdGl2ZTpob3ZlcixcbiAgICAgIC5TdGF0aWNNYWluIC5BbmNob3JMaW5rIGxpIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2ExOGM1YzsgfVxuICAgICAgICAuU3RhdGljTWFpbiAuQW5jaG9yTGluayBsaSBhLkFjdGl2ZTpiZWZvcmUsXG4gICAgICAgIC5TdGF0aWNNYWluIC5BbmNob3JMaW5rIGxpIGEuQWN0aXZlOmhvdmVyOmJlZm9yZSxcbiAgICAgICAgLlN0YXRpY01haW4gLkFuY2hvckxpbmsgbGkgYTpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDdweDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNhMThjNWM7XG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggI2ExOGM1YztcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgY29sb3I6ICMwNTViY2Q7IH1cbiAgLlN0YXRpY01haW4gLkZpcnN0Q2hhciB7XG4gICAgcGFkZGluZzogNHB4IDRweCAwIDA7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgZm9udC1zaXplOiA0MnB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNvbG9yOiAjMjkyODI2OyB9XG4gIC5TdGF0aWNNYWluIC5Db250ZW50QmxvY2sge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5TdGF0aWNNYWluIC5JbWFnZXNCbG9jayB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLlN0YXRpY01haW4gLkltZ0NlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogOTAlO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAuU3RhdGljTWFpbiBoNCB7XG4gICAgY29sb3I6ICM5MTI5Mjk7XG4gICAgcGFkZGluZzogMTBweCAwIDEwcHggNDBweDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luOiAwIDAgNXB4IDBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvY29udGVudC9pY29uLWg0LnBuZ1wiKSBuby1yZXBlYXQ7IH1cbiAgLlN0YXRpY01haW4gLkNvbnRlbnRINCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luOiAwIDAgMTBweCA0MHB4O1xuICAgIHBhZGRpbmc6IDAgMCAwIDBweDsgfVxuICAgIC5TdGF0aWNNYWluIC5Db250ZW50SDQgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgLyp0ZXh0LWFsaWduOiBqdXN0aWZ5OyovIH1cbiAgLlN0YXRpY01haW4gLkltYWdlc0g0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIDAgMjBweCA0MHB4OyB9XG4gIC5TdGF0aWNNYWluIGg1IHtcbiAgICBjb2xvcjogIzkxMjkyOTtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCAzMHB4O1xuICAgIG1hcmdpbjogMCAwIDEwcHggNDBweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2NvbnRlbnQvaWNvbi1oNS5wbmdcIikgbm8tcmVwZWF0IDAgMTBweDsgfVxuICAuU3RhdGljTWFpbiAuQ29udGVudEg1IHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBtYXJnaW46IDAgMCAwIDcwcHg7XG4gICAgcGFkZGluZzogMCAwIDIwcHg7IH1cbiAgICAuU3RhdGljTWFpbiAuQ29udGVudEg1IHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cbiAgLlN0YXRpY01haW4gLkltYWdlc0g1IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIDAgMjBweCAzMHB4OyB9XG4gIC5TdGF0aWNNYWluIHRhYmxlIHtcbiAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggIzFmMDAyYjtcbiAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IH1cbiAgICAuU3RhdGljTWFpbiB0YWJsZSB0aGVhZCB0ciB0aCB7XG4gICAgICBjb2xvcjogI2VlZjlmOTtcbiAgICAgIGJhY2tncm91bmQ6ICMzMzMzMzM7XG4gICAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgICAgcGFkZGluZzogMTBweCAxMHB4O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzFmMDAyYjtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzFmMDAyYjtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMWYwMDJiO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLlN0YXRpY01haW4gdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2I3ZDhlMzsgfVxuICAgIC5TdGF0aWNNYWluIHRhYmxlIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNmMWY2OyB9XG4gICAgLlN0YXRpY01haW4gdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgcGFkZGluZzogMTBweCAxMHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzFmMDAyYjtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICBjb2xvcjogIzFhMjIyYTsgfVxuICAgICAgLlN0YXRpY01haW4gdGFibGUgdGJvZHkgdHIgdGQgYSB7XG4gICAgICAgIGNvbG9yOiAjMWEyMjJhOyB9XG4gICAgICAgIC5TdGF0aWNNYWluIHRhYmxlIHRib2R5IHRyIHRkIGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjMDU1YmNkOyB9XG4gIC5TdGF0aWNNYWluIHRhYmxlLk5vdGljZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzFmMDAyYjsgfVxuICAgIC5TdGF0aWNNYWluIHRhYmxlLk5vdGljZSB0ciB0ZCB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMWYwMDJiOyB9XG4gICAgICAuU3RhdGljTWFpbiB0YWJsZS5Ob3RpY2UgdHIgdGQgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAgIC5TdGF0aWNNYWluIHRhYmxlLk5vdGljZSB0ciB0ZCB1bCxcbiAgICAgIC5TdGF0aWNNYWluIHRhYmxlLk5vdGljZSB0ciB0ZCBvbCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDsgfVxuICAuU3RhdGljTWFpbiAuVGV4dENlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5TdGF0aWNNYWluIC5UZXh0UmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5TdGF0aWNNYWluIC5TdHJvbmcwMSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICBjb2xvcjogIzliMmEyZTsgfVxuICAuU3RhdGljTWFpbiAuU3Ryb25nMDIge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgY29sb3I6ICNhMThjNWM7IH1cbiAgLlN0YXRpY01haW4gLlN0cm9uZzAzIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgIGNvbG9yOiAjMDA2Y2M4OyB9XG4gIC5TdGF0aWNNYWluIC5UZXh0Rm9udDE3IHtcbiAgICBmb250LXNpemU6IDE3cHg7IH1cbiAgLlN0YXRpY01haW4gLlRleHRGb250MTkge1xuICAgIGZvbnQtc2l6ZTogMTlweDsgfVxuICAuU3RhdGljTWFpbiAuVGV4dEZvbnQyMSB7XG4gICAgZm9udC1zaXplOiAyMXB4OyB9XG4gIC5TdGF0aWNNYWluIC5Ob0JvcmRlckltZyB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgcGFkZGluZzogMDsgfVxuICAuU3RhdGljTWFpbiAuQm9yZGVySW1nIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgcGFkZGluZzogMHB4OyB9XG4gIC5TdGF0aWNNYWluIC5JbWdMZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDFweCAxMHB4IDVweCAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7IH1cbiAgLlN0YXRpY01haW4gLkltZ1JpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luOiAwIDAgNXB4IDEwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDsgfVxuICAuU3RhdGljTWFpbiBibG9ja3F1b3RlIHtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICMxZjAwMmI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbjogMCAyMHB4O1xuICAgIHBhZGRpbmc6IDEwcHggNDBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAgIC5TdGF0aWNNYWluIGJsb2NrcXVvdGU6YmVmb3JlLCAuU3RhdGljTWFpbiBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBjb250ZW50OiAnJzsgfVxuICAgIC5TdGF0aWNNYWluIGJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgICAuU3RhdGljTWFpbiBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwcHggMDsgfVxuICAuU3RhdGljTWFpbiAuTm90aWNlQm94IHtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjOGQ4ZDhkO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogI2UzZTdlZjsgfVxuICAgIC5TdGF0aWNNYWluIC5Ob3RpY2VCb3ggcC5MZWdlbmQge1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZDogIzkxMjkyOTtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIG1hcmdpbjogLTIwcHggMCAxMHB4O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBib3JkZXI6IHNvbGlkIDFweCAjOTEyOTI5OyB9XG4gICAgLlN0YXRpY01haW4gLk5vdGljZUJveCAuTm90ZUNvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAgIGNvbG9yOiAjMWUyYzE5OyB9XG4gICAgICAuU3RhdGljTWFpbiAuTm90aWNlQm94IC5Ob3RlQ29udGVudCBhIHtcbiAgICAgICAgY29sb3I6ICMxYzc2ZmQ7IH1cbiAgICAgICAgLlN0YXRpY01haW4gLk5vdGljZUJveCAuTm90ZUNvbnRlbnQgYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNmZDRiMzY7IH1cbiAgLlN0YXRpY01haW4gdWwuRGVjaW1hbCB7XG4gICAgbWFyZ2luOiAwcHggMHB4IDEwcHggMHB4OyB9XG4gICAgLlN0YXRpY01haW4gdWwuRGVjaW1hbCBsaSB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuICAgICAgLlN0YXRpY01haW4gdWwuRGVjaW1hbCBsaSB1bCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7IH1cbiAgLlN0YXRpY01haW4gdWwuVXBwZXJBbHBoYSB7XG4gICAgbWFyZ2luOiAwcHggMHB4IDEwcHggMHB4OyB9XG4gICAgLlN0YXRpY01haW4gdWwuVXBwZXJBbHBoYSBsaSB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLWFscGhhO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cbiAgICAgIC5TdGF0aWNNYWluIHVsLlVwcGVyQWxwaGEgbGkgdWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogNXB4OyB9XG4gIC5TdGF0aWNNYWluIHVsLkxvd2VyQWxwaGEge1xuICAgIG1hcmdpbjogMHB4IDBweCAxMHB4IDBweDsgfVxuICAgIC5TdGF0aWNNYWluIHVsLkxvd2VyQWxwaGEgbGkge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG4gICAgICAuU3RhdGljTWFpbiB1bC5Mb3dlckFscGhhIGxpIHVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxuICAuU3RhdGljTWFpbiB1bC5JY29uIHtcbiAgICBtYXJnaW46IDBweCAwcHggMTBweCA1cHg7IH1cbiAgICAuU3RhdGljTWFpbiB1bC5JY29uIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuU3RhdGljTWFpbiB1bC5JY29uIGxpOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgICBjb250ZW50OiBcIlxcZTA3NFwiO1xuICAgICAgICBmb250LWZhbWlseTogJ0dseXBoaWNvbnNIYWxmbGluZ3MnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgICAgIC5TdGF0aWNNYWluIHVsLkljb24gbGkgdWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogNXB4OyB9XG4gICAgICAuU3RhdGljTWFpbiB1bC5JY29uIGxpIHVsLkxvd2VyQWxwaGEgbGkge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDsgfVxuICAuU3RhdGljTWFpbiB1bC5EYXNoIHtcbiAgICBtYXJnaW46IDBweCAwcHggMTBweCA1cHg7IH1cbiAgICAuU3RhdGljTWFpbiB1bC5EYXNoIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuU3RhdGljTWFpbiB1bC5EYXNoIGxpOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgICBjb250ZW50OiBcIlxcMjIxMlwiO1xuICAgICAgICBmb250LWZhbWlseTogJ0dseXBoaWNvbnNIYWxmbGluZ3MnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNXB4O1xuICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAuU3RhdGljTWFpbiB1bC5EYXNoIGxpIHVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxuICAuU3RhdGljTWFpbiB1bC5EaXNjIHtcbiAgICBtYXJnaW46IDBweCAwcHggMTBweCA1cHg7IH1cbiAgICAuU3RhdGljTWFpbiB1bC5EaXNjIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7XG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuU3RhdGljTWFpbiB1bC5EaXNjIGxpOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgICBjb250ZW50OiBcIlxcZTE2NVwiO1xuICAgICAgICBmb250LWZhbWlseTogJ0dseXBoaWNvbnNIYWxmbGluZ3MnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNXB4O1xuICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAuU3RhdGljTWFpbiB1bC5EaXNjIGxpIHVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxuXG5ib2R5IHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG4gIGJvZHkgLndyYXBwZXIge1xuICAgIG1heC13aWR0aDogNzcwcHg7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIGJvZHkgLnRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIDA7IH1cbiAgICBib2R5IC50aXRsZS1zdWIge1xuICAgICAgZm9udC1zaXplOiBjYWxjKDEuMzEyNXJlbSArIDAuNzV2dyk7XG4gICAgICBjb2xvcjogIzA5MmE0ZDtcbiAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICBib2R5IC50aXRsZS1zdWIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07IH0gfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICBib2R5IC50aXRsZS1zdWIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDsgfSB9XG4gIGJvZHkgPiAuY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnBvcG92ZXIge1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDY1LCA0OCwgMzEsIDAuOCk7XG4gIGJvcmRlcjogc29saWQgMXB4ICM5ZjgwNjU7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIHotaW5kZXg6IDU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gIG9wYWNpdHk6IDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDE1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwOyB9XG5cbmE6aG92ZXIgLnBvcG92ZXIge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIG9wYWNpdHk6IDE7XG4gIHotaW5kZXg6IDEwMDsgfVxuXG5tYWluIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA1OyB9XG5cbi5iYW9kYW5oIHtcbiAgcGFkZGluZzogMjBweCAwIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgaGVpZ2h0OiA0OTdweDtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9iYW9kYW5oLWJnLmpwZykgbm8tcmVwZWF0IGNlbnRlciB0b3AvY292ZXI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5iYW9kYW5oIHtcbiAgICAgIGhlaWdodDogMjkwcHg7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MDBweCkge1xuICAgIC5iYW9kYW5oIHtcbiAgICAgIGhlaWdodDogMjkwcHg7IH0gfVxuICAuYmFvZGFuaCAudGl0bGUge1xuICAgIHdpZHRoOiA1ODBweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwcHggYXV0byAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLmJhb2RhbmggLnRpdGxlIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogNjAlOyB9IH1cbiAgLmJhb2RhbmggLmNvbnRhaW5lciB7XG4gICAgei1pbmRleDogNTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLmJhb2RhbmggLmNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAuYmFvZGFuaC1xdWEge1xuICAgIG1heC13aWR0aDogODAlO1xuICAgIG1hcmdpbjogMDsgfVxuICAuYmFvZGFuaCAudGFwaG9wIHtcbiAgICBtYXJnaW46IDBweCAwIDAgMHB4O1xuICAgIHBhZGRpbmc6IDAgMCAwIDIwJTtcbiAgICBjb2xvcjogIzRkMWUxYztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgcGFpbnQtb3JkZXI6IHN0cm9rZSBmaWxsO1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLmJhb2RhbmggLnRhcGhvcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDsgfSB9XG4gICAgLmJhb2RhbmggLnRhcGhvcCAudG90YWwge1xuICAgICAgY29sb3I6ICM0ZDFlMWM7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAyMHB4IDAgMCAwcHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgLmJhb2RhbmggLnRhcGhvcCAudG90YWwge1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxNXB4OyB9IH1cbiAgICAgIC5iYW9kYW5oIC50YXBob3AgLnRvdGFsIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMzhweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgYmFja2dyb3VuZDogIzU3YTc3YTtcbiAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVnYWN5LWRpcmVjdGlvbigwZGVnKSwgIzU3YTc3YSA1JSwgIzI3Njc1NSk7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCAjNTdhNzdhIDUlLCAjMjc2NzU1KTtcbiAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgICAgLmJhb2RhbmggLnRhcGhvcCAudG90YWwgc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICAtd2Via2l0LXRleHQtc3Ryb2tlOiAwcHggI2ZhZjJkMTsgfSB9XG4gIC5iYW9kYW5oIC5sb2FkaW5nLWJsb2NrIHtcbiAgICB3aWR0aDogNDkwcHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIC5iYW9kYW5oIC5sb2FkaW5nLWJsb2NrIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuYmFvZGFuaCAubG9hZGluZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9sb2FkaW5nLWJnLnBuZykgbm8tcmVwZWF0IDBweCA0cHgvMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAyNXB4IDAgMCAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDQwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAuYmFvZGFuaCAubG9hZGluZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDQwcHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgICAgIGdhcDogMzBweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MDBweCkge1xuICAgICAgLmJhb2RhbmggLmxvYWRpbmcge1xuICAgICAgICBnYXA6IDE1cHg7IH0gfVxuICAgIC5iYW9kYW5oIC5sb2FkaW5nIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDBweCAwcHggMDsgfVxuICAgICAgLmJhb2RhbmggLmxvYWRpbmcgbGk6bm90KC5sb2FkaW5nLWJhcikge1xuICAgICAgICBtYXJnaW46IDAgMCAwIDA7IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAgIC5iYW9kYW5oIC5sb2FkaW5nIGxpOm5vdCgubG9hZGluZy1iYXIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgICAgICAuYmFvZGFuaCAubG9hZGluZyBsaTpub3QoLmxvYWRpbmctYmFyKSAucG9wb3ZlciB7XG4gICAgICAgICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggIzU2OWZiMjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIGNvbG9yOiAjZWFmM2Y4O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZzogMCA1cHg7IH1cbiAgICAgICAgLmJhb2RhbmggLmxvYWRpbmcgbGk6bm90KC5sb2FkaW5nLWJhcik6aG92ZXIgLnBvcG92ZXIge1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgei1pbmRleDogMTAwOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5iYW9kYW5oIC5sb2FkaW5nIGxpIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDBweDsgfSB9XG4gICAgICAuYmFvZGFuaCAubG9hZGluZyBsaS5sb2FkaW5nLWJhciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA5cHg7XG4gICAgICAgIGxlZnQ6IDM1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZWRhNWQ7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDdweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgICAuYmFvZGFuaCAubG9hZGluZyBsaS5sb2FkaW5nLWJhciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDdweDtcbiAgICAgICAgICAgIHRvcDogMTUlO1xuICAgICAgICAgICAgbGVmdDogMzBweDsgfSB9XG4gICAgICAgIC5iYW9kYW5oIC5sb2FkaW5nIGxpLmxvYWRpbmctYmFyOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbG9hZGluZy1pY29uLnBuZykgbm8tcmVwZWF0O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IC00NXB4O1xuICAgICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAuYmFvZGFuaCAubG9hZGluZyBsaSBpbWc6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmJhb2RhbmggLmxvYWRpbmcgbGkgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAgICAgLmJhb2RhbmggLmxvYWRpbmcgbGkgYTpob3ZlciB7XG4gICAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDExNSUpOyB9XG4gICAgICAgIC5iYW9kYW5oIC5sb2FkaW5nIGxpIGEub2ZmIHtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7IH1cbiAgLmJhb2RhbmggLmJhb2RhbmgtYnRuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDEwcHggMCAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzOyB9XG4gICAgLmJhb2RhbmggLmJhb2RhbmgtYnRuLm9mZiB7XG4gICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgICAgLmJhb2RhbmggLmJhb2RhbmgtYnRuLm9mZjpob3ZlciB7XG4gICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEpIGJyaWdodG5lc3MoMTAwJSkgIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgIC5iYW9kYW5oIC5iYW9kYW5oLWJ0biBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEyMHB4OyB9IH1cbiAgLmJhb2RhbmggLm5oYW5xdWEtYnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMzBweDtcbiAgICByaWdodDogLTY1cHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAuYmFvZGFuaCAubmhhbnF1YS1idG4ge1xuICAgICAgICByaWdodDogMDsgfSB9XG4gICAgLmJhb2RhbmggLm5oYW5xdWEtYnRuLm9mZiB7XG4gICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4uY2hpZXVtbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiA5NDVweDtcbiAgcGFkZGluZzogMHB4IDEwcHggMzBweDtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9jaGlldW1vLWJnLmpwZykgbm8tcmVwZWF0IGNlbnRlciB0b3AvY292ZXI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5jaGlldW1vIHtcbiAgICAgIGhlaWdodDogNTUwcHg7IH0gfVxuICAuY2hpZXVtbyAudGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgIC5jaGlldW1vIC50aXRsZSBpbWcge1xuICAgICAgICB3aWR0aDogNjAlOyB9IH1cbiAgLmNoaWV1bW8tdHVvbmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEyMHB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLmNoaWV1bW8gLnlvdXJpZCB7XG4gICAgY29sb3I6ICM0NjM0MWQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbWFyZ2luOiAwcHggYXV0byAxMHB4OyB9XG4gICAgLmNoaWV1bW8gLnlvdXJpZCBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmNoaWV1bW8gLnZvbmdxdWF5IHtcbiAgICB3aWR0aDogNzcwcHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMHB4IGF1dG8gMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY2hpZXVtbyAudm9uZ3F1YXkgdWwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tdG9wOiAwcHg7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgLmNoaWV1bW8gLnZvbmdxdWF5IHVsIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDsgfSB9XG4gICAgLmNoaWV1bW8gLnZvbmdxdWF5IGxpIGltZyB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcyg5NSUpOyB9XG4gICAgLmNoaWV1bW8gLnZvbmdxdWF5IGxpLmFjdGl2ZSBpbWc6bGFzdC1jaGlsZCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5jaGlldW1vIC52b25ncXVheSBsaSAucG9wb3ZlciB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gICAgICBib3JkZXI6IHNvbGlkIDFweCAjOWY4MDY1O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMjUlO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgei1pbmRleDogNTtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBjb2xvcjogI2FiYTI4MTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDAgNXB4OyB9XG4gICAgLmNoaWV1bW8gLnZvbmdxdWF5IGxpOmhvdmVyIC5wb3BvdmVyIHtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgei1pbmRleDogMTAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLmNoaWV1bW8gLnZvbmdxdWF5IHVsIGxpIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwcHg7IH0gfVxuICAgIC5jaGlldW1vIC52b25ncXVheSAucXVhLTAxIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTAlO1xuICAgICAgbGVmdDogMTIlOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIC5jaGlldW1vIC52b25ncXVheSAucXVhLTAxIHtcbiAgICAgICAgICBsZWZ0OiA0JTsgfSB9XG4gICAgLmNoaWV1bW8gLnZvbmdxdWF5IC5xdWEtMDIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxNDBweDtcbiAgICAgIGxlZnQ6IDIwcHg7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgLmNoaWV1bW8gLnZvbmdxdWF5IC5xdWEtMDIge1xuICAgICAgICAgIHRvcDogODBweDtcbiAgICAgICAgICBsZWZ0OiAtMTBweDsgfSB9XG4gICAgLmNoaWV1bW8gLnZvbmdxdWF5IC5xdWEtMDMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAyOTBweDtcbiAgICAgIGxlZnQ6IDMwcHg7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgLmNoaWV1bW8gLnZvbmdxdWF5IC5xdWEtMDMge1xuICAgICAgICAgIHRvcDogMTcwcHg7XG4gICAgICAgICAgbGVmdDogMDsgfSB9XG4gICAgLmNoaWV1bW8gLnZvbmdxdWF5IC5xdWEtMDQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA0MTBweDtcbiAgICAgIGxlZnQ6IDEwMHB4OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIC5jaGlldW1vIC52b25ncXVheSAucXVhLTA0IHtcbiAgICAgICAgICB0b3A6IDIzNXB4O1xuICAgICAgICAgIGxlZnQ6IDQ1cHg7IH0gfVxuICAgIC5jaGlldW1vIC52b25ncXVheSAucXVhLTA1IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTVweDtcbiAgICAgIHJpZ2h0OiA4MHB4OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIC5jaGlldW1vIC52b25ncXVheSAucXVhLTA1IHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDEwcHg7IH0gfVxuICAgIC5jaGlldW1vIC52b25ncXVheSAucXVhLTA2IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTQwcHg7XG4gICAgICByaWdodDogMjBweDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAuY2hpZXVtbyAudm9uZ3F1YXkgLnF1YS0wNiB7XG4gICAgICAgICAgdG9wOiA4MHB4O1xuICAgICAgICAgIHJpZ2h0OiAtMTVweDsgfSB9XG4gICAgLmNoaWV1bW8gLnZvbmdxdWF5IC5xdWEtMDcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAyOTBweDtcbiAgICAgIHJpZ2h0OiAzMHB4OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIC5jaGlldW1vIC52b25ncXVheSAucXVhLTA3IHtcbiAgICAgICAgICB0b3A6IDE3MHB4O1xuICAgICAgICAgIHJpZ2h0OiAwOyB9IH1cbiAgICAuY2hpZXVtbyAudm9uZ3F1YXkgLnF1YS0wOCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDQxMHB4O1xuICAgICAgcmlnaHQ6IDEwMHB4OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIC5jaGlldW1vIC52b25ncXVheSAucXVhLTA4IHtcbiAgICAgICAgICB0b3A6IDIzNXB4O1xuICAgICAgICAgIHJpZ2h0OiA2MHB4OyB9IH1cbiAgLmNoaWV1bW8gLmx1b3RxdWF5IHtcbiAgICB3aWR0aDogMjcwcHg7XG4gICAgaGVpZ2h0OiA1NnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2x1b3RxdWF5LWJnLnBuZykgbm8tcmVwZWF0IDAgMDtcbiAgICBjb2xvcjogIzRkMWUxYztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgcGFkZGluZzogMCAwO1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwMHB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgei1pbmRleDogMTA7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAuY2hpZXVtbyAubHVvdHF1YXkge1xuICAgICAgICB0b3A6IDMxMHB4O1xuICAgICAgICBsZWZ0OiA0MiU7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSkgdHJhbnNsYXRlWCgtNTAlKTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MDBweCkge1xuICAgICAgLmNoaWV1bW8gLmx1b3RxdWF5IHtcbiAgICAgICAgdG9wOiAyOTBweDtcbiAgICAgICAgbGVmdDogNDQlO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNjUpIHRyYW5zbGF0ZVgoLTY1JSk7IH0gfVxuICAgIC5jaGlldW1vIC5sdW90cXVheSAudG90YWwge1xuICAgICAgY29sb3I6ICMyNzY3NTU7XG4gICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMCAxMHB4OyB9XG4gIC5jaGlldW1vIC5jaGlldW1vLWJ0biB7XG4gICAgd2lkdGg6IDExMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDIzMHB4O1xuICAgIGxlZnQ6IDQwMHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLmNoaWV1bW8gLmNoaWV1bW8tYnRuIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2NXB4O1xuICAgICAgICB0b3A6IDE0MHB4O1xuICAgICAgICBsZWZ0OiA1NSU7IH0gfVxuICAuY2hpZXVtbyAucXVhLWxpc3Qge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogNzUlIGF1dG8gNXB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogNjBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgIC5jaGlldW1vIC5xdWEtbGlzdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDgwJTtcbiAgICAgICAgZ2FwOiAwOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwMHB4KSB7XG4gICAgICAuY2hpZXVtbyAucXVhLWxpc3Qge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMDAlO1xuICAgICAgICBnYXA6IDA7IH0gfVxuICAgIC5jaGlldW1vIC5xdWEtbGlzdCBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDAgMTBweDsgfVxuICAgICAgLmNoaWV1bW8gLnF1YS1saXN0IGxpIHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMjVweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgICAgIC5jaGlldW1vIC5xdWEtbGlzdCBsaS5vZmYgaW1nIHtcbiAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7IH1cbiAgICAgICAgLmNoaWV1bW8gLnF1YS1saXN0IGxpLm9mZiBpbWc6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLmNoaWV1bW8gLnF1YS1saXN0IGxpLm9mZiBhIHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgICAuY2hpZXVtbyAucXVhLWxpc3QgbGkgYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGluaXRpYWw7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMC45OyB9XG5cbi5idG5zLWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBtYXJnaW46IDBweCBhdXRvIDBweDtcbiAgei1pbmRleDogMzsgfVxuICAuYnRucy1ibG9jayBhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMCAxMHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLmJ0bnMtYmxvY2sgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDsgfSB9XG4gICAgLmJ0bnMtYmxvY2sgYTpob3ZlciB7XG4gICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTIwJSk7IH1cblxuLyotLS0gRGFjIHNhYyAtLS0qL1xuLmRhY3NhYyB7XG4gIGhlaWdodDogNTQ1cHg7XG4gIHBhZGRpbmc6IDQwcHggMTBweCAwO1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZGFjc2FjLWJnLmpwZykgbm8tcmVwZWF0IGNlbnRlciB0b3AvY292ZXI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5kYWNzYWMge1xuICAgICAgaGVpZ2h0OiAzOTBweDsgfSB9XG4gIC5kYWNzYWMgLnRpdGxlIHtcbiAgICBtYXJnaW46IDAgMCAwcHggMHB4OyB9XG4gIC5kYWNzYWMtZnJhbWUge1xuICAgIHdpZHRoOiA1NTBweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMTlweCAyMHB4IDEwcHggMjVweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2RhY3NhYy1mcmFtZS5wbmcpIG5vLXJlcGVhdCAwIDAvY292ZXI7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAuZGFjc2FjLWZyYW1lIHtcbiAgICAgICAgcGFkZGluZzogMTRweCAyM3B4IDdweCAxOXB4O1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgICAgIG1hcmdpbi10b3A6IC03JTsgfSB9XG4gIC5kYWNzYWMgLmRhY3NhYy1zbGlkZXIge1xuICAgIG1hcmdpbjogMHB4IGF1dG8gMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsgfVxuICAgIC5kYWNzYWMgLmRhY3NhYy1zbGlkZXIgLnN3aXBlci1zbGlkZSB7XG4gICAgICBmaWx0ZXI6IGJsdXIoNHB4KTsgfVxuICAgICAgLmRhY3NhYyAuZGFjc2FjLXNsaWRlciAuc3dpcGVyLXNsaWRlLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICAgICAgICBmaWx0ZXI6IGJsdXIoMHB4KTsgfVxuICAgIC5kYWNzYWMgLmRhY3NhYy1zbGlkZXIgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZGFjc2FjLXBhZ2luYXRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwcHggMCAwIDA7IH1cbiAgICAuZGFjc2FjLXBhZ2luYXRpb24gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2RhY3NhYy1kb3QucG5nKSBuby1yZXBlYXQgMCAwO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLmRhY3NhYy1wYWdpbmF0aW9uIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZGFjc2FjLWRvdC1ob3Zlci5wbmcpIG5vLXJlcGVhdCAwIDA7IH1cbiAgLmRhY3NhYyAucHJldi1idG4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA0NXB4O1xuICAgIHRvcDogNTglO1xuICAgIHotaW5kZXg6IDU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLmRhY3NhYyAucHJldi1idG4ge1xuICAgICAgICBsZWZ0OiAtNDNweDtcbiAgICAgICAgdG9wOiA0MCU7IH0gfVxuICAuZGFjc2FjIC5uZXh0LWJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiA0NXB4O1xuICAgIHRvcDogNTglO1xuICAgIHotaW5kZXg6IDU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLmRhY3NhYyAubmV4dC1idG4ge1xuICAgICAgICByaWdodDogLTQzcHg7XG4gICAgICAgIHRvcDogNDAlOyB9IH1cbiAgLmRhY3NhYyBbY2xhc3MqPVwiLWJ0blwiXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmRhY3NhYyBbY2xhc3MqPVwiLWJ0blwiXTpob3ZlciB7XG4gICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTE1JSk7IH1cblxuLyotLS0gUG9wdXAgLS0tKi9cbi5wb3B1cCB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgei1pbmRleDogMTAwMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXM7IH1cbiAgLnBvcHVwIC5wb3B1cC1iZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7IH1cbiAgLnBvcHVwLmFjdGl2ZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5wb3B1cC1jbG9zZSB7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTBweDtcbiAgICB0b3A6IC01MHB4O1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41czsgfVxuICAgIC5wb3B1cC1jbG9zZTpob3ZlciB7XG4gICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTgwJSk7IH1cbiAgLnBvcHVwLWNvbnRlbnQge1xuICAgIHotaW5kZXg6IDI7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB3aWR0aDogNTA1cHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMzAwcHg7XG4gICAgcGFkZGluZzogMzBweCA3MHB4IDMwcHg7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wb3B1cC1iZy5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyLzEwMCU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLnBvcHVwLWNvbnRlbnQgcCB7XG4gICAgICB0ZXh0LXNoYWRvdzogLTFweCAtMXB4IDAgIzMxNGUyZCxcciAxcHggLTFweCAwICMzMTRlMmQsXHIgLTFweCAxcHggMCAjMzE0ZTJkLFxyIDFweCAxcHggMCAjMzE0ZTJkOyB9XG4gIC5wb3B1cC5hY3RpdmUgLnBvcHVwLWNvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxuICAucG9wdXAtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB0ZXh0LXNoYWRvdzogLTFweCAtMXB4IDAgIzMxNGUyZCxcciAxcHggLTFweCAwICMzMTRlMmQsXHIgLTFweCAxcHggMCAjMzE0ZTJkLFxyIDFweCAxcHggMCAjMzE0ZTJkOyB9XG4gIC5wb3B1cCBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cblxuLnBvcHVwLW1vaWJhbixcbi5wb3B1cC10YW5nLFxuLnBvcHVwLWdpZnRjb2RlIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxOHB4OyB9XG4gIC5wb3B1cC1tb2liYW4gLnZhbHVlLFxuICAucG9wdXAtdGFuZyAudmFsdWUsXG4gIC5wb3B1cC1naWZ0Y29kZSAudmFsdWUge1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBiYWNrZ3JvdW5kOiAjMTIxMjEyO1xuICAgIHdpZHRoOiA5MCU7XG4gICAgY29sb3I6ICNmZWY3ZWQ7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0byAxMHB4O1xuICAgIGJvcmRlcjogc29saWQgMXB4ICMxMjEyMTI7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cbiAgLnBvcHVwLW1vaWJhbiAuaWQsXG4gIC5wb3B1cC10YW5nIC5pZCxcbiAgLnBvcHVwLWdpZnRjb2RlIC5pZCB7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmVkY2Y7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBjb2xvcjogI2Y3ZmFmZjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjZmZlZGNmOyB9XG4gIC5wb3B1cC1tb2liYW4gLnN1Ym1pdCxcbiAgLnBvcHVwLXRhbmcgLnN1Ym1pdCxcbiAgLnBvcHVwLWdpZnRjb2RlIC5zdWJtaXQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ucG9wdXAtc2Nyb2xsIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgc2Nyb2xsYmFyLXdpZHRoOiA1cHg7XG4gIHNjcm9sbGJhci1jb2xvcjogI2IxNjAwMCAjZmZmO1xuICBvdmVyZmxvdzogYXV0bzsgfVxuICAucG9wdXAtc2Nyb2xsOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgLyogV29ya3Mgb24gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpICovXG4gICAgd2lkdGg6IDVweDsgfVxuICAucG9wdXAtc2Nyb2xsOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgLnBvcHVwLXNjcm9sbDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiMTYwMDA7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiMTYwMDA7IH1cblxuLnBvcHVwLWNoaWV1bW8sXG4ucG9wdXAtbGljaHN1LFxuLnBvcHVwLXRoZWxlIHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgd2lkdGg6IDU0NXB4O1xuICBoZWlnaHQ6IDU4MHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3BvcHVwLWJnLTIuanBnKSBuby1yZXBlYXQgY2VudGVyIGJvdHRvbTtcbiAgcGFkZGluZzogNTBweCAyMHB4IDUwcHggNDBweDtcbiAgYm9yZGVyOiBzb2xpZCAycHggIzQzYWI5MjsgfVxuICAucG9wdXAtY2hpZXVtbyBwLFxuICAucG9wdXAtbGljaHN1IHAsXG4gIC5wb3B1cC10aGVsZSBwIHtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICBjb2xvcjogIzRiNjE0YTsgfVxuICAucG9wdXAtY2hpZXVtbyAucG9wdXAtY2xvc2UsXG4gIC5wb3B1cC1saWNoc3UgLnBvcHVwLWNsb3NlLFxuICAucG9wdXAtdGhlbGUgLnBvcHVwLWNsb3NlIHtcbiAgICByaWdodDogLTJweDtcbiAgICB0b3A6IC0zNXB4OyB9XG4gIC5wb3B1cC1jaGlldW1vIC5wb3B1cC10aXRsZSxcbiAgLnBvcHVwLWxpY2hzdSAucG9wdXAtdGl0bGUsXG4gIC5wb3B1cC10aGVsZSAucG9wdXAtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLnBvcHVwLWxpY2hzdSB0YWJsZSxcbi5wb3B1cC10aGVsZSB0YWJsZSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IH1cbiAgLnBvcHVwLWxpY2hzdSB0YWJsZSB0aGVhZCxcbiAgLnBvcHVwLXRoZWxlIHRhYmxlIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAjNDJhMTg5OyB9XG4gICAgLnBvcHVwLWxpY2hzdSB0YWJsZSB0aGVhZCB0ZCxcbiAgICAucG9wdXAtdGhlbGUgdGFibGUgdGhlYWQgdGQge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6ICNmMmYyZjI7XG4gICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnBvcHVwLWxpY2hzdSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSxcbiAgLnBvcHVwLXRoZWxlIHRhYmxlIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIC5wb3B1cC1saWNoc3UgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pLFxuICAucG9wdXAtdGhlbGUgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIC5wb3B1cC1saWNoc3UgdGFibGUgdGQsXG4gIC5wb3B1cC10aGVsZSB0YWJsZSB0ZCB7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggIzAwMDAwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnBvcHVwLWxpY2hzdSAuU3RhdGljTWFpbixcbi5wb3B1cC10aGVsZSAuU3RhdGljTWFpbiB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICNmZmY7IH1cblxuLnBvcHVwLXR1aS1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDEwcHggMCAwIDA7XG4gIGdhcDogMTVweDsgfVxuICAucG9wdXAtdHVpLWxpc3QgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAucG9wdXAtdHVpLWxpc3QgbGkgaW1nIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAucG9wdXAtdHVpLWxpc3QgbGkgaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDU1cHg7IH0gfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MDBweCkge1xuICAgICAgICAucG9wdXAtdHVpLWxpc3QgbGkgaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDQ3cHg7IH0gfVxuICAucG9wdXAtdHVpLWxpc3QgLnF1YW50aXR5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTZweDtcbiAgICBsZWZ0OiAtMTZweDtcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcG9wdXAtc29sdW9uZy1pbnB1dHRleHQucG5nKSBuby1yZXBlYXQgMCAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIHBhZGRpbmc6IDAgMCAwIDBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1zaGFkb3c6IC0xcHggLTFweCAwICMzMTRlMmQsXHIgMXB4IC0xcHggMCAjMzE0ZTJkLFxyIC0xcHggMXB4IDAgIzMxNGUyZCxcciAxcHggMXB4IDAgIzMxNGUyZDsgfVxuICAucG9wdXAtdHVpLWxpc3QgLnRhbmctYnRuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5wb3B1cC1xdWEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGhlaWdodDogNDAwcHg7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlOyB9XG4gIC5wb3B1cC1xdWEgLmdpZnQtbmFtZSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBjb2xvcjogIzM2MzYzNjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbjogMCAwIDEuMjVyZW0gMDsgfVxuICAucG9wdXAtcXVhIC54ZW1saWNoc3UtYnRuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IC0zMHB4IDAgMCAwOyB9XG5cbi5wb3B1cC1kYW5na3lzb20ge1xuICB3aWR0aDogNjY1cHg7XG4gIGhlaWdodDogNDgwcHg7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcG9wdXAtZGFuZ2t5c29tLnBuZykgbm8tcmVwZWF0IDAgMC8xMDAlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAucG9wdXAtZGFuZ2t5c29tIHtcbiAgICAgIGhlaWdodDogMzI1cHg7IH0gfVxuICAucG9wdXAtZGFuZ2t5c29tIC5wb3B1cC1jbG9zZSB7XG4gICAgdG9wOiA4MHB4O1xuICAgIHJpZ2h0OiAwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAucG9wdXAtZGFuZ2t5c29tIC5wb3B1cC1jbG9zZSB7XG4gICAgICAgIHRvcDogMDsgfSB9XG4gIC5wb3B1cC1kYW5na3lzb20tYnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiA1JTtcbiAgICBsZWZ0OiA2NSU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gICAgLnBvcHVwLWRhbmdreXNvbS1idG46aG92ZXIge1xuICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDEyMCUpOyB9XG5cbi5mYWRlQnV0dG9uSW5PdXQgaW1nOm50aC1jaGlsZCgyKSB7XG4gIGFuaW1hdGlvbjogZmFkZUJ1dHRvbkluT3V0IDFzIGVhc2UtaW4tb3V0IDBzIGluZmluaXRlIGFsdGVybmF0ZTsgfVxuXG5Aa2V5ZnJhbWVzIGZhZGVCdXR0b25Jbk91dCB7XG4gIDAlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTAwJSk7IH1cbiAgMTAwJSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxMTUlKTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGluZ1xyXG5cclxuLyogU2FmYXJpIGFuZCBDaHJvbWUgKi8ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGluZyB7XG4gIGZyb20ge1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgdG8ge1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuLnJvdGF0aW5nIHtcbiAgYW5pbWF0aW9uOiByb3RhdGluZyAzMHMgbGluZWFyIGluZmluaXRlOyB9XG5cbkBrZXlmcmFtZXMgcm90YXRpb24ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgbGFudGVybmEge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgLTQwcHgpIHNjYWxlKDEuMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC0yMHB4LCAtNDBweCkgc2NhbGUoMS4xKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgLTQwcHgpIHNjYWxlKDEuMSk7IH0gfVxuXG4uYnV0dG9ucy1mb290ZXIge1xuICBwYWRkaW5nOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjMGIwYjBiO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgbWFyZ2luOiAwIDAgMDsgfVxuICAuYnV0dG9ucy1mb290ZXIgYSB7XG4gICAgbWFyZ2luOiAwIDNweDsgfVxuXG4uZm9vdGVyIHtcbiAgY29sb3I6ICM3YTdhN2E7XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjMTkxOTE5O1xuICBmb250LXNpemU6IDExcHg7IH1cbiAgLmZvb3RlciAuY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuZm9vdGVyLWl0ZW0ge1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLmZvb3Rlci1pdGVtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDsgfSB9XG4gICAgLmZvb3Rlci1pdGVtIGxpIHtcbiAgICAgIGNvbG9yOiAjN2E3YTdhO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAuZm9vdGVyLWl0ZW0gbGkgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAgIC5mb290ZXItaXRlbSBsaSBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4OyB9IH1cbiAgICAgICAgLmZvb3Rlci1pdGVtIGxpIGE6aG92ZXIsIC5mb290ZXItaXRlbSBsaSBhOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogI2U4YTU4NzsgfVxuICAuZm9vdGVyIC5jbW4tbmFtZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLmZvb3RlciAuY29weXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICM3YTdhN2E7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDEwcHggMTBweCAwOyB9XG4gIC5mb290ZXIgLmltZzE4IHtcbiAgICBtYXJnaW46IDAgMTBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgIC5mb290ZXIgLmltZzE4IHtcbiAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH0gfVxuICAuZm9vdGVyIGEge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5mb290ZXIgLmNtbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAuZm9vdGVyIC5jbW4ge1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH0gfVxuICAuZm9vdGVyIC5hZGRyZXNzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDEwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiIsIi5mYW5jeWJveC1lbmFibGVkIHtcclxuICBvdmVyZmxvdzogaGlkZGVuOyB9XHJcblxyXG4uZmFuY3lib3gtZW5hYmxlZCBib2R5IHtcclxuICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xyXG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxyXG5cclxuLmZhbmN5Ym94LWNvbnRhaW5lciB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB6LWluZGV4OiA5OTk5MztcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cclxuXHJcbi8qIE1ha2Ugc3VyZSB0aGF0IHRoZSBmaXJzdCBvbmUgaXMgb24gdGhlIHRvcCAqL1xyXG4uZmFuY3lib3gtY29udGFpbmVyIH4gLmZhbmN5Ym94LWNvbnRhaW5lciB7XHJcbiAgei1pbmRleDogOTk5OTI7IH1cclxuXHJcbi5mYW5jeWJveC1iZyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICBiYWNrZ3JvdW5kOiAjMGYwZjExO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA2LCAwLjY4LCAwLjE5KTtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cclxuXHJcbi5mYW5jeWJveC1jb250YWluZXItLXJlYWR5IC5mYW5jeWJveC1iZyB7XHJcbiAgb3BhY2l0eTogMC44NztcclxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpOyB9XHJcblxyXG4uZmFuY3lib3gtY29udHJvbHMge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgb3BhY2l0eTogMDtcclxuICB6LWluZGV4OiA5OTk5NDtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycztcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgZGlyZWN0aW9uOiBsdHI7IH1cclxuXHJcbi5mYW5jeWJveC1zaG93LWNvbnRyb2xzIC5mYW5jeWJveC1jb250cm9scyB7XHJcbiAgb3BhY2l0eTogMTsgfVxyXG5cclxuLmZhbmN5Ym94LWluZm9iYXIge1xyXG4gIGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbi5mYW5jeWJveC1zaG93LWluZm9iYXIgLmZhbmN5Ym94LWluZm9iYXIge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwb2ludGVyLWV2ZW50czogYWxsOyB9XHJcblxyXG4uZmFuY3lib3gtaW5mb2Jhcl9fYm9keSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiA3MHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBjb2xvcjogI2RkZDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMwLCAzMCwgMzAsIDAuNyk7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XHJcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDsgfVxyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbnMge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBwb2ludGVyLWV2ZW50czogYWxsOyB9XHJcblxyXG4uZmFuY3lib3gtc2hvdy1idXR0b25zIC5mYW5jeWJveC1idXR0b25zIHtcclxuICBkaXNwbGF5OiBibG9jazsgfVxyXG5cclxuLmZhbmN5Ym94LXNsaWRlci13cmFwIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGRpcmVjdGlvbjogbHRyOyB9XHJcblxyXG4uZmFuY3lib3gtc2xpZGVyLXdyYXAsXHJcbi5mYW5jeWJveC1zbGlkZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICBib3R0b206IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBtYXJnaW46IDA7XHJcbiAgei1pbmRleDogOTk5OTM7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cclxuXHJcbi5mYW5jeWJveC1zbGlkZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBvdmVyZmxvdzogYXV0bztcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgei1pbmRleDogOTk5OTQ7XHJcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XHJcblxyXG4uZmFuY3lib3gtc2xpZGU6OmJlZm9yZSB7XHJcbiAgY29udGVudDogJyc7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHdpZHRoOiAwOyB9XHJcblxyXG4uZmFuY3lib3gtc2xpZGUgPiAqIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmc6IDI0cHg7XHJcbiAgbWFyZ2luOiA0NHB4IDAgNDRweDtcclxuICBib3JkZXItd2lkdGg6IDA7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG5cclxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG5cclxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZTo6YmVmb3JlIHtcclxuICBkaXNwbGF5OiBub25lOyB9XHJcblxyXG4uZmFuY3lib3gtY29udGVudCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW46IDQ0cHggYXV0bztcclxuICBwYWRkaW5nOiAwO1xyXG4gIGJvcmRlcjogMDtcclxuICB3aWR0aDogODAlO1xyXG4gIGhlaWdodDogY2FsYygxMDAlIC0gODhweCk7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxyXG5cclxuLmZhbmN5Ym94LWlmcmFtZSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XHJcblxyXG4uZmFuY3lib3gtc2xpZGUtLXZpZGVvIC5mYW5jeWJveC1jb250ZW50LFxyXG4uZmFuY3lib3gtc2xpZGUtLXZpZGVvIC5mYW5jeWJveC1pZnJhbWUge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XHJcblxyXG4uZmFuY3lib3gtcGxhY2Vob2xkZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBib3JkZXI6IDA7XHJcbiAgei1pbmRleDogOTk5OTU7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XHJcblxyXG4uZmFuY3lib3gtaW1hZ2UsXHJcbi5mYW5jeWJveC1zcGFjZWJhbGwge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIG1heC13aWR0aDogbm9uZTtcclxuICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlOyB9XHJcblxyXG4uZmFuY3lib3gtY29udHJvbHMtLWNhbnpvb21PdXQgLmZhbmN5Ym94LXBsYWNlaG9sZGVyIHtcclxuICBjdXJzb3I6IC13ZWJraXQtem9vbS1vdXQ7XHJcbiAgY3Vyc29yOiB6b29tLW91dDsgfVxyXG5cclxuLmZhbmN5Ym94LWNvbnRyb2xzLS1jYW56b29tSW4gLmZhbmN5Ym94LXBsYWNlaG9sZGVyIHtcclxuICBjdXJzb3I6IC13ZWJraXQtem9vbS1pbjtcclxuICBjdXJzb3I6IHpvb20taW47IH1cclxuXHJcbi5mYW5jeWJveC1jb250cm9scy0tY2FuR3JhYiAuZmFuY3lib3gtcGxhY2Vob2xkZXIge1xyXG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xyXG4gIGN1cnNvcjogZ3JhYjsgfVxyXG5cclxuLmZhbmN5Ym94LWNvbnRyb2xzLS1pc0dyYWJiaW5nIC5mYW5jeWJveC1wbGFjZWhvbGRlciB7XHJcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xyXG4gIGN1cnNvcjogZ3JhYmJpbmc7IH1cclxuXHJcbi5mYW5jeWJveC1zcGFjZWJhbGwge1xyXG4gIHotaW5kZXg6IDE7IH1cclxuXHJcbi5mYW5jeWJveC10bXAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IC05OTk5cHg7XHJcbiAgbGVmdDogLTk5OTlweDtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cclxuXHJcbi5mYW5jeWJveC1lcnJvciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiA0MHB4O1xyXG4gIHRvcDogNTAlO1xyXG4gIGxlZnQ6IDUwJTtcclxuICB3aWR0aDogMzgwcHg7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XHJcblxyXG4uZmFuY3lib3gtZXJyb3IgcCB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgY29sb3I6ICM0NDQ7XHJcbiAgZm9udDogMTZweC8yMHB4IFwiSGVsdmV0aWNhIE5ldWVcIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjsgfVxyXG5cclxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA0cHg7XHJcbiAgcmlnaHQ6IDRweDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogMDtcclxuICB3aWR0aDogMzBweDtcclxuICBoZWlnaHQ6IDMwcHg7XHJcbiAgZm9udDogMjFweC8xIEFyaWFsLFwiSGVsdmV0aWNhIE5ldWVcIixIZWx2ZXRpY2Esc2Fucy1zZXJpZjtcclxuICBjb2xvcjogIzg4ODtcclxuICBmb250LXdlaWdodDogMzAwO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgYm9yZGVyLXdpZHRoOiAwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgei1pbmRleDogMjsgfVxyXG5cclxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmZvY3VzIHtcclxuICBvdXRsaW5lOiAxcHggZG90dGVkICM4ODg7IH1cclxuXHJcbi5mYW5jeWJveC1zbGlkZS0tdmlkZW8gLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcclxuICB0b3A6IC0zNnB4O1xyXG4gIHJpZ2h0OiAtMzZweDtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxyXG5cclxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmhvdmVyIHtcclxuICBjb2xvcjogIzU1NTtcclxuICBiYWNrZ3JvdW5kOiAjZWVlOyB9XHJcblxyXG4vKiBDYXB0aW9uICovXHJcbi5mYW5jeWJveC1jYXB0aW9uLXdyYXAge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBwYWRkaW5nOiA2MHB4IDMwcHggMCAzMHB4O1xyXG4gIHotaW5kZXg6IDk5OTk4O1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50IDAlLCByZ2JhKDAsIDAsIDAsIDAuMSkgMjAlLCByZ2JhKDAsIDAsIDAsIDAuMikgNDAlLCByZ2JhKDAsIDAsIDAsIDAuNikgODAlLCByZ2JhKDAsIDAsIDAsIDAuOCkgMTAwJSk7XHJcbiAgb3BhY2l0eTogMDtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycztcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxyXG5cclxuLmZhbmN5Ym94LXNob3ctY2FwdGlvbiAuZmFuY3lib3gtY2FwdGlvbi13cmFwIHtcclxuICBvcGFjaXR5OiAxOyB9XHJcblxyXG4uZmFuY3lib3gtY2FwdGlvbiB7XHJcbiAgcGFkZGluZzogMzBweCAwO1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBub25lOyB9XHJcblxyXG4uZmFuY3lib3gtY2FwdGlvbiBhLFxyXG4uZmFuY3lib3gtY2FwdGlvbiBidXR0b24ge1xyXG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cclxuXHJcbi5mYW5jeWJveC1jYXB0aW9uIGEge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XHJcblxyXG4vKiBCdXR0b25zICovXHJcbi5mYW5jeWJveC1idXR0b24ge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDQ0cHg7XHJcbiAgaGVpZ2h0OiA0NHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGJvcmRlcjogMDtcclxuICBib3JkZXItcmFkaXVzOiAwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBjb2xvcjogI2ZmZjtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgb3V0bGluZTogbm9uZTsgfVxyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbi0tZGlzYWJsZWQge1xyXG4gIGN1cnNvcjogZGVmYXVsdDtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxyXG5cclxuLmZhbmN5Ym94LWluZm9iYXJfX2JvZHksIC5mYW5jeWJveC1idXR0b24ge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMzAsIDMwLCAzMCwgMC42KTsgfVxyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpOyB9XHJcblxyXG4uZmFuY3lib3gtYnV0dG9uOjpiZWZvcmUsXHJcbi5mYW5jeWJveC1idXR0b246OmFmdGVyIHtcclxuICBjb250ZW50OiAnJztcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYm9yZGVyLWNvbG9yOiAjZmZmO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcclxuICBjb2xvcjogY3VycmVudENvbG9yO1xyXG4gIG9wYWNpdHk6IDAuOTtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbi0tZGlzYWJsZWQ6OmJlZm9yZSxcclxuLmZhbmN5Ym94LWJ1dHRvbi0tZGlzYWJsZWQ6OmFmdGVyIHtcclxuICBvcGFjaXR5OiAwLjU7IH1cclxuXHJcbi5mYW5jeWJveC1idXR0b24tLWxlZnQ6OmFmdGVyIHtcclxuICBsZWZ0OiAyMHB4O1xyXG4gIHRvcDogMThweDtcclxuICB3aWR0aDogNnB4O1xyXG4gIGhlaWdodDogNnB4O1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci10b3A6IHNvbGlkIDJweCBjdXJyZW50Q29sb3I7XHJcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAycHggY3VycmVudENvbG9yO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XHJcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpOyB9XHJcblxyXG4uZmFuY3lib3gtYnV0dG9uLS1yaWdodDo6YWZ0ZXIge1xyXG4gIHJpZ2h0OiAyMHB4O1xyXG4gIHRvcDogMThweDtcclxuICB3aWR0aDogNnB4O1xyXG4gIGhlaWdodDogNnB4O1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci10b3A6IHNvbGlkIDJweCBjdXJyZW50Q29sb3I7XHJcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAycHggY3VycmVudENvbG9yO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XHJcblxyXG4uZmFuY3lib3gtYnV0dG9uLS1sZWZ0IHtcclxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7IH1cclxuXHJcbi5mYW5jeWJveC1idXR0b24tLXJpZ2h0IHtcclxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4OyB9XHJcblxyXG4uZmFuY3lib3gtYnV0dG9uLS1jbG9zZSB7XHJcbiAgZmxvYXQ6IHJpZ2h0OyB9XHJcblxyXG4uZmFuY3lib3gtYnV0dG9uLS1jbG9zZTo6YmVmb3JlLCAuZmFuY3lib3gtYnV0dG9uLS1jbG9zZTo6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgaGVpZ2h0OiAycHg7XHJcbiAgd2lkdGg6IDE2cHg7XHJcbiAgdG9wOiBjYWxjKDUwJSAtIDFweCk7XHJcbiAgbGVmdDogY2FsYyg1MCUgLSA4cHgpOyB9XHJcblxyXG4uZmFuY3lib3gtYnV0dG9uLS1jbG9zZTo6YmVmb3JlIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2U6OmFmdGVyIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxyXG5cclxuLyogTG9hZGluZyBzcGlubmVyICovXHJcbi5mYW5jeWJveC1sb2FkaW5nIHtcclxuICBib3JkZXI6IDZweCBzb2xpZCByZ2JhKDEwMCwgMTAwLCAxMDAsIDAuNCk7XHJcbiAgYm9yZGVyLXRvcDogNnB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcclxuICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gIGhlaWdodDogNTBweDtcclxuICB3aWR0aDogNTBweDtcclxuICAtd2Via2l0LWFuaW1hdGlvbjogZmFuY3lib3gtcm90YXRlIC44cyBpbmZpbml0ZSBsaW5lYXI7XHJcbiAgYW5pbWF0aW9uOiBmYW5jeWJveC1yb3RhdGUgLjhzIGluZmluaXRlIGxpbmVhcjtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIG1hcmdpbi10b3A6IC0yNXB4O1xyXG4gIG1hcmdpbi1sZWZ0OiAtMjVweDtcclxuICB6LWluZGV4OiA5OTk5OTsgfVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhbmN5Ym94LXJvdGF0ZSB7XHJcbiAgZnJvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpOyB9IH1cclxuXHJcbkBrZXlmcmFtZXMgZmFuY3lib3gtcm90YXRlIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7IH0gfVxyXG5cclxuLyogU3R5bGluZyBmb3IgU21hbGwtU2NyZWVuIERldmljZXMgKi9cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcclxuICAuZmFuY3lib3gtY29udHJvbHMge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxyXG4gIC5mYW5jeWJveC1idXR0b24tLWxlZnQsXHJcbiAgLmZhbmN5Ym94LWJ1dHRvbi0tcmlnaHQsXHJcbiAgLmZhbmN5Ym94LWJ1dHRvbnMgYnV0dG9uOm5vdCguZmFuY3lib3gtYnV0dG9uLS1jbG9zZSkge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcbiAgLmZhbmN5Ym94LWNhcHRpb24ge1xyXG4gICAgcGFkZGluZzogMjBweCAwO1xyXG4gICAgbWFyZ2luOiAwOyB9IH1cclxuXHJcbi8qIEZ1bGxzY3JlZW4gICovXHJcbi5mYW5jeWJveC1idXR0b24tLWZ1bGxzY3JlZW46OmJlZm9yZSB7XHJcbiAgd2lkdGg6IDE1cHg7XHJcbiAgaGVpZ2h0OiAxMXB4O1xyXG4gIGxlZnQ6IDE1cHg7XHJcbiAgdG9wOiAxNnB4O1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkO1xyXG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cclxuXHJcbi8qIFNsaWRlc2hvdyBidXR0b24gKi9cclxuLmZhbmN5Ym94LWJ1dHRvbi0tcGxheTo6YmVmb3JlIHtcclxuICB0b3A6IDE2cHg7XHJcbiAgbGVmdDogMThweDtcclxuICB3aWR0aDogMDtcclxuICBoZWlnaHQ6IDA7XHJcbiAgYm9yZGVyLXRvcDogNnB4IGluc2V0IHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1ib3R0b206IDZweCBpbnNldCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItbGVmdDogMTBweCBzb2xpZDtcclxuICBib3JkZXItcmFkaXVzOiAxcHg7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cclxuXHJcbi5mYW5jeWJveC1idXR0b24tLXBhdXNlOjpiZWZvcmUge1xyXG4gIHRvcDogMTZweDtcclxuICBsZWZ0OiAxOHB4O1xyXG4gIHdpZHRoOiA3cHg7XHJcbiAgaGVpZ2h0OiAxMXB4O1xyXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgYm9yZGVyLXdpZHRoOiAwIDJweCAwIDJweDtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxyXG5cclxuLyogVGh1bWJzICovXHJcbi5mYW5jeWJveC1idXR0b24tLXRodW1icyBzcGFuIHtcclxuICBmb250LXNpemU6IDIzcHg7IH1cclxuXHJcbi5mYW5jeWJveC1idXR0b24tLXRodW1iczo6YmVmb3JlIHtcclxuICB0b3A6IDIwcHg7XHJcbiAgbGVmdDogMjFweDtcclxuICB3aWR0aDogM3B4O1xyXG4gIGhlaWdodDogM3B4O1xyXG4gIGJveC1zaGFkb3c6IDAgLTRweCAwLCAtNHB4IC00cHggMCwgNHB4IC00cHggMCwgMCAwIDAgMzJweCBpbnNldCwgLTRweCAwIDAsIDRweCAwIDAsIDAgNHB4IDAsIC00cHggNHB4IDAsIDRweCA0cHggMDsgfVxyXG5cclxuLmZhbmN5Ym94LWNvbnRhaW5lci0tdGh1bWJzIC5mYW5jeWJveC1jb250cm9scyxcclxuLmZhbmN5Ym94LWNvbnRhaW5lci0tdGh1bWJzIC5mYW5jeWJveC1zbGlkZXItd3JhcCxcclxuLmZhbmN5Ym94LWNvbnRhaW5lci0tdGh1bWJzIC5mYW5jeWJveC1jYXB0aW9uLXdyYXAge1xyXG4gIHJpZ2h0OiAyMjBweDsgfVxyXG5cclxuLmZhbmN5Ym94LXRodW1icyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogYXV0bztcclxuICB3aWR0aDogMjIwcHg7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDVweCA1cHggMCAwO1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgei1pbmRleDogOTk5OTM7XHJcbiAgd29yZC1icmVhazogbm9ybWFsO1xyXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuXHJcbi5mYW5jeWJveC10aHVtYnMgPiB1bCB7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxuICBmb250LXNpemU6IDA7IH1cclxuXHJcbi5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpIHtcclxuICBmbG9hdDogbGVmdDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIG1heC13aWR0aDogNTAlO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHdpZHRoOiAxMDVweDtcclxuICBoZWlnaHQ6IDc1cHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIGJvcmRlcjogNXB4IHNvbGlkICNmZmY7XHJcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcclxuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XHJcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG5cclxubGkuZmFuY3lib3gtdGh1bWJzLWxvYWRpbmcge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxyXG5cclxuLmZhbmN5Ym94LXRodW1icyA+IHVsID4gbGkgPiBpbWcge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICBtaW4td2lkdGg6IDEwMCU7XHJcbiAgbWluLWhlaWdodDogMTAwJTtcclxuICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgbWF4LWhlaWdodDogbm9uZTtcclxuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxyXG5cclxuLmZhbmN5Ym94LXRodW1icyA+IHVsID4gbGk6YmVmb3JlIHtcclxuICBjb250ZW50OiAnJztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICBib3JkZXI6IDRweCBzb2xpZCAjNGVhN2Y5O1xyXG4gIHotaW5kZXg6IDk5OTkxO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzID4gdWwgPiBsaS5mYW5jeWJveC10aHVtYnMtYWN0aXZlOmJlZm9yZSB7XHJcbiAgb3BhY2l0eTogMTsgfVxyXG5cclxuLyogU3R5bGluZyBmb3IgU21hbGwtU2NyZWVuIERldmljZXMgKi9cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcclxuICAuZmFuY3lib3gtdGh1bWJzIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxyXG4gIC5mYW5jeWJveC1jb250YWluZXItLXRodW1icyAuZmFuY3lib3gtY29udHJvbHMsXHJcbiAgLmZhbmN5Ym94LWNvbnRhaW5lci0tdGh1bWJzIC5mYW5jeWJveC1zbGlkZXItd3JhcCxcclxuICAuZmFuY3lib3gtY29udGFpbmVyLS10aHVtYnMgLmZhbmN5Ym94LWNhcHRpb24td3JhcCB7XHJcbiAgICByaWdodDogMDsgfSB9XHJcbiIsIi8qKlxyXG4gKiBTd2lwZXIgNS4yLjBcclxuICogTW9zdCBtb2Rlcm4gbW9iaWxlIHRvdWNoIHNsaWRlciBhbmQgZnJhbWV3b3JrIHdpdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnNcclxuICogaHR0cDovL3N3aXBlcmpzLmNvbVxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgMjAxNC0yMDE5IFZsYWRpbWlyIEtoYXJsYW1waWRpXHJcbiAqXHJcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZVxyXG4gKlxyXG4gKiBSZWxlYXNlZCBvbjogT2N0b2JlciAyNiwgMjAxOVxyXG4gKi9cclxuXHJcbkBmb250LWZhY2V7Zm9udC1mYW1pbHk6c3dpcGVyLWljb25zO3NyYzp1cmwoXCJkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCwgZDA5R1JnQUJBQUFBQUFaZ0FCQUFBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJHUmxSTkFBQUdSQUFBQUJvQUFBQWNpNnFIa1VkRVJVWUFBQVdnQUFBQUl3QUFBQ1FBWUFCWFIxQlBVd0FBQmhRQUFBQXVBQUFBTnVBWTcreEhVMVZDQUFBRnhBQUFBRkFBQUFCbTJmUGN6VTlUTHpJQUFBSGNBQUFBU2dBQUFHQlA5VjVSWTIxaGNBQUFBa1FBQUFDSUFBQUJZdDZGMGNCamRuUWdBQUFDekFBQUFBUUFBQUFFQUJFQlJHZGhjM0FBQUFXWUFBQUFDQUFBQUFqLy93QURaMng1WmdBQUF5d0FBQURNQUFBRDJNSHRyeVZvWldGa0FBQUJiQUFBQURBQUFBQTJFMitlb1dob1pXRUFBQUdjQUFBQUh3QUFBQ1FDOWdEemFHMTBlQUFBQWlnQUFBQVpBQUFBcmdKa0FCRnNiMk5oQUFBQzBBQUFBRm9BQUFCYUZRQVVHRzFoZUhBQUFBRzhBQUFBSHdBQUFDQUFjQUJBYm1GdFpRQUFBL2dBQUFFNUFBQUNYdkZkQndsd2IzTjBBQUFGTkFBQUFHSUFBQUNFNXM3NGhYamFZMkJrWUdBQVlwZjVIdS9qK1cyK01uQXpNWURBemFYNlFqRDYvNC8vQnhqNUdBOEF1UndNWUdrQVB5d0wxM2phWTJCa1lHQTg4UDhBZ3g0aisvOGZRRFlmQTFBRUJXZ0RBSUIyQk9vQWVOcGpZR1JnWU5CaDRHZGdZZ0FCRU1uSUFCSnpZTkFEQ1FBQUNXZ0FzUUI0Mm1OZ1lmekNPSUdCbFlHQjBZY3hqWUdCd1IxS2YyV1FaR2hoWUdCaVlHVm1nQUZHQmlRUWtPYWF3dERBb01CUXhYamcvd0VHUGNZRERBNHdOVUEyQ0Nnd3NBQUFPNEVMNmdBQWVOcGoyTTBneUFBQ3F4Z0dOV0JrWjJENC93TUEreGtEZGdBQUFIamFZMkJnWUdhQVlCa0dSZ1lRaUFIeUdNRjhGZ1lISU0zRHdNSEFCR1FyTU9neVdETEVNMVQ5L3c4VUJmRU1nTHpFLy8vL1AvNS8vZi9WL3h2K3I0ZWFBQWVNYkF4d0lVWW1JTUhFZ0tZQVlqVWNzREF3c0xLeGMzQnljZlB3OGpFUUEvZ1pCQVNGaEVWRXhjUWxKS1drWldUbDVCVVVsWlJWVk5YVU5UUVpCZ01BQU1SK0UrZ0FFUUZFQUFBQUtnQXFBQ29BTkFBK0FFZ0FVZ0JjQUdZQWNBQjZBSVFBamdDWUFLSUFyQUMyQU1BQXlnRFVBTjRBNkFEeUFQd0JCZ0VRQVJvQkpBRXVBVGdCUWdGTUFWWUJZQUZxQVhRQmZnR0lBWklCbkFHbUFiSUJ6Z0hzQUFCNDJ1Mk5NUTZDVUF5R1c1Njh4OUFuZVlZZ200TUpiaEtGYUV4SU9BVlg4QXBld1N0NEJpYzRBZmVBaWQzVk9CaXhEeGZQWUV6YTVPK1hmaTA0WUFEZ2dpVUlVTEN1RUpLOFZoTzRiU3ZwZG5rdEhJNVFDWXRkaTJzbDhablhhSGxxVXJOS3pkS2NUOGNqbHErcndaU3ZJVmN6TmllenNmblAvdXpubWZQRkJOT0RNMks3TVRRNDVZRUFacUdQODFBbUdHY0YzaVBxT29wMHIxU1BUYVRiVmtmVWU0SFhqOTd3WUUreU53V1l4d1d1NHYxdWdXSGdvM1MxWGRaRVZxV003RVQwY2ZuTEd4V2ZrZ1I0Mm8yUHZXckRNQlNGai9JSExhRjB6S2pSZ2RpVk13U2NOUkFvV1VvSDc4WTJpY0IveUlZMDlBbjZBSDJCZHUvVUIreXhvcFlzaFFpRXZudnUwZFVSZ0R0OFFlQzhQRHc3RnBqaTNmRUE0ei9QRUo2WU9CNWhLaDRkajNFdlhoeFBxSC9TS1VZM3JKN3NyWjRGWm5oMVBNQXRQaHdQNmZsMlBNSk1QRGdlUTRyWThZVDZHemFvMGVBRUE0MDlEdWdnbVRuRm5PY1NDaUVpTE1neENpVEk2Q3E1RFpVZDNRbXAxMHZPMExhTFRkMmNqTjRmT3VtbGM3bFVZYlNRY1pGa3V0Ukc3ZzZKS1pLeTBSbWRMWTY4MENEbkVKK1VNa3BGRmUxUk43bnhkVnBYckM0YVR0bmF1ck9uWWVyY1pnMllWbUxOL2QvZ2N6ZkVpbXJFL2ZzL2JPdXEyOVptbjh0bG9PUmFYZ1pnR2E3OHlPOS9jblhtMkJwYUd2cTI1RHY5UzRFOSs1U0ljOVBxdXBKS2hZRlNTbDQ3K1FjcjFtWU5BQUFBZU5wdHcwY0t3a0FBQU1EWkpBOFE3T1VKdmtMc1BmWjZ6RlZFUlB5OHFIaDJZRVIrM2kvQlA4M3ZJQkxMeVNzb0tpbXJxS3FwYTJocDYranE2UnNZR2htYm1KcVpTeTBzcmF4dGJPM3NIUnlkbkVNVTR1UjZ5eDdKSlh2ZVA3V3JEeWNBQUFBQUFBSC8vd0FDZU5wallHUmdZT0FCWWhrZ1pnSkNaZ1pOQmtZR0xRWnRJSnNGTE1ZQUFBdzNBTGdBZU5vbGl6RUtnREFRQkNjaFJiQzJzRkVSMFlENnFWUWlCQ3YvSDllekdJNlo1WEJBdzhDQksvbTVpUVFWYXVWYlhMbk9yTVp2Mm9MZEtGYThQanVydTJoSnpHYWJtT1NMek5NenZ1dHBCM040Mm1OZ1pHQmc0R0tRWXpCaFlNeEpMTWxqNEdCZ0FZb3cvUC9QQUpKaExNNnNTb1dLZldDQUF3REFqZ2JSQUFCNDJtTmdZR0JrQUlJYkNabzVJUHJtVW4waEdBMEFPOEVGVFFBQVwiKSBmb3JtYXQoXCJ3b2ZmXCIpO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1hbH06cm9vdHstLXN3aXBlci10aGVtZS1jb2xvcjojMDA3YWZmfS5zd2lwZXItY29udGFpbmVye21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG87cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO2xpc3Qtc3R5bGU6bm9uZTtwYWRkaW5nOjA7ei1pbmRleDoxfS5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsPi5zd2lwZXItd3JhcHBlcntmbGV4LWRpcmVjdGlvbjpjb2x1bW59LnN3aXBlci13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDoxO2Rpc3BsYXk6ZmxleDt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTtib3gtc2l6aW5nOmNvbnRlbnQtYm94fS5zd2lwZXItY29udGFpbmVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSwuc3dpcGVyLXdyYXBwZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDBweCwwLDApfS5zd2lwZXItY29udGFpbmVyLW11bHRpcm93Pi5zd2lwZXItd3JhcHBlcntmbGV4LXdyYXA6d3JhcH0uc3dpcGVyLWNvbnRhaW5lci1tdWx0aXJvdy1jb2x1bW4+LnN3aXBlci13cmFwcGVye2ZsZXgtd3JhcDp3cmFwO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGU+LnN3aXBlci13cmFwcGVye3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O21hcmdpbjowIGF1dG99LnN3aXBlci1zbGlkZXtmbGV4LXNocmluazowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm19LnN3aXBlci1zbGlkZS1pbnZpc2libGUtYmxhbmt7dmlzaWJpbGl0eTpoaWRkZW59LnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCwuc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGV7aGVpZ2h0OmF1dG99LnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXdyYXBwZXJ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSxoZWlnaHR9LnN3aXBlci1jb250YWluZXItM2R7cGVyc3BlY3RpdmU6MTIwMHB4fS5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItY3ViZS1zaGFkb3csLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZSwuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci13cmFwcGVye3RyYW5zZm9ybS1zdHlsZTpwcmVzZXJ2ZS0zZH0uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3B7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4OjEwfS5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnR7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gbGVmdCxyZ2JhKDAsMCwwLC41KSxyZ2JhKDAsMCwwLDApKX0uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodHtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCxyZ2JhKDAsMCwwLC41KSxyZ2JhKDAsMCwwLDApKX0uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3B7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gdG9wLHJnYmEoMCwwLDAsLjUpLHJnYmEoMCwwLDAsMCkpfS5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20scmdiYSgwLDAsMCwuNSkscmdiYSgwLDAsMCwwKSl9LnN3aXBlci1jb250YWluZXItY3NzLW1vZGU+LnN3aXBlci13cmFwcGVye292ZXJmbG93OmF1dG87c2Nyb2xsYmFyLXdpZHRoOm5vbmU7LW1zLW92ZXJmbG93LXN0eWxlOm5vbmV9LnN3aXBlci1jb250YWluZXItY3NzLW1vZGU+LnN3aXBlci13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmV9LnN3aXBlci1jb250YWluZXItY3NzLW1vZGU+LnN3aXBlci13cmFwcGVyPi5zd2lwZXItc2xpZGV7c2Nyb2xsLXNuYXAtYWxpZ246c3RhcnQgc3RhcnR9LnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbC5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlPi5zd2lwZXItd3JhcHBlcntzY3JvbGwtc25hcC10eXBlOnggbWFuZGF0b3J5fS5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsLnN3aXBlci1jb250YWluZXItY3NzLW1vZGU+LnN3aXBlci13cmFwcGVye3Njcm9sbC1zbmFwLXR5cGU6eSBtYW5kYXRvcnl9OnJvb3R7LS1zd2lwZXItbmF2aWdhdGlvbi1zaXplOjQ0cHh9LnN3aXBlci1idXR0b24tbmV4dCwuc3dpcGVyLWJ1dHRvbi1wcmV2e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7d2lkdGg6Y2FsYyh2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKS8gNDQgKiAyNyk7aGVpZ2h0OnZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpO21hcmdpbi10b3A6Y2FsYygtMSAqIHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpLyAyKTt6LWluZGV4OjEwO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjb2xvcjp2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1jb2xvcix2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKX0uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tZGlzYWJsZWQsLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWRpc2FibGVke29wYWNpdHk6LjM1O2N1cnNvcjphdXRvO3BvaW50ZXItZXZlbnRzOm5vbmV9LnN3aXBlci1idXR0b24tbmV4dDphZnRlciwuc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVye2ZvbnQtZmFtaWx5OnN3aXBlci1pY29ucztmb250LXNpemU6dmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSk7dGV4dC10cmFuc2Zvcm06bm9uZSFpbXBvcnRhbnQ7bGV0dGVyLXNwYWNpbmc6MDt0ZXh0LXRyYW5zZm9ybTpub25lO2ZvbnQtdmFyaWFudDppbml0aWFsfS5zd2lwZXItYnV0dG9uLXByZXYsLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHR7bGVmdDoxMHB4O3JpZ2h0OmF1dG99LnN3aXBlci1idXR0b24tcHJldjphZnRlciwuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dDphZnRlcntjb250ZW50OidwcmV2J30uc3dpcGVyLWJ1dHRvbi1uZXh0LC5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2e3JpZ2h0OjEwcHg7bGVmdDphdXRvfS5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXJ7Y29udGVudDonbmV4dCd9LnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlLC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi13aGl0ZXstLXN3aXBlci1uYXZpZ2F0aW9uLWNvbG9yOiNmZmZmZmZ9LnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWJsYWNrLC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1ibGFja3stLXN3aXBlci1uYXZpZ2F0aW9uLWNvbG9yOiMwMDAwMDB9LnN3aXBlci1idXR0b24tbG9ja3tkaXNwbGF5Om5vbmV9LnN3aXBlci1wYWdpbmF0aW9ue3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3RyYW5zaXRpb246LjNzIG9wYWNpdHk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTt6LWluZGV4OjEwfS5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1oaWRkZW57b3BhY2l0eTowfS5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMsLnN3aXBlci1wYWdpbmF0aW9uLWN1c3RvbSwuc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb257Ym90dG9tOjEwcHg7bGVmdDowO3dpZHRoOjEwMCV9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pY3tvdmVyZmxvdzpoaWRkZW47Zm9udC1zaXplOjB9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e3RyYW5zZm9ybTpzY2FsZSguMzMpO3Bvc2l0aW9uOnJlbGF0aXZlfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmV7dHJhbnNmb3JtOnNjYWxlKDEpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbWFpbnt0cmFuc2Zvcm06c2NhbGUoMSl9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2e3RyYW5zZm9ybTpzY2FsZSguNjYpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldi1wcmV2e3RyYW5zZm9ybTpzY2FsZSguMzMpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dHt0cmFuc2Zvcm06c2NhbGUoLjY2KX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQtbmV4dHt0cmFuc2Zvcm06c2NhbGUoLjMzKX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e3dpZHRoOjhweDtoZWlnaHQ6OHB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JvcmRlci1yYWRpdXM6MTAwJTtiYWNrZ3JvdW5kOiMwMDA7b3BhY2l0eTouMn1idXR0b24uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e2JvcmRlcjpub25lO21hcmdpbjowO3BhZGRpbmc6MDtib3gtc2hhZG93Om5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lfS5zd2lwZXItcGFnaW5hdGlvbi1jbGlja2FibGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHtjdXJzb3I6cG9pbnRlcn0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZXtvcGFjaXR5OjE7YmFja2dyb3VuZDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvcix2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKX0uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0c3tyaWdodDoxMHB4O3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDBweCwtNTAlLDApfS5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7bWFyZ2luOjZweCAwO2Rpc3BsYXk6YmxvY2t9LnN3aXBlci1jb250YWluZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWlje3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7d2lkdGg6OHB4fS5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RyYW5zaXRpb246LjJzIHRyYW5zZm9ybSwuMnMgdG9wfS5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHttYXJnaW46MCA0cHh9LnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWN7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7d2hpdGUtc3BhY2U6bm93cmFwfS5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7dHJhbnNpdGlvbjouMnMgdHJhbnNmb3JtLC4ycyBsZWZ0fS5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwuc3dpcGVyLWNvbnRhaW5lci1ydGw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e3RyYW5zaXRpb246LjJzIHRyYW5zZm9ybSwuMnMgcmlnaHR9LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFye2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMjUpO3Bvc2l0aW9uOmFic29sdXRlfS5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbHtiYWNrZ3JvdW5kOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yLHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2Zvcm0tb3JpZ2luOmxlZnQgdG9wfS5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGx7dHJhbnNmb3JtLW9yaWdpbjpyaWdodCB0b3B9LnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIsLnN3aXBlci1jb250YWluZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRle3dpZHRoOjEwMCU7aGVpZ2h0OjRweDtsZWZ0OjA7dG9wOjB9LnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUsLnN3aXBlci1jb250YWluZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFye3dpZHRoOjRweDtoZWlnaHQ6MTAwJTtsZWZ0OjA7dG9wOjB9LnN3aXBlci1wYWdpbmF0aW9uLXdoaXRley0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3I6I2ZmZmZmZn0uc3dpcGVyLXBhZ2luYXRpb24tYmxhY2t7LS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvcjojMDAwMDAwfS5zd2lwZXItcGFnaW5hdGlvbi1sb2Nre2Rpc3BsYXk6bm9uZX0uc3dpcGVyLXNjcm9sbGJhcntib3JkZXItcmFkaXVzOjEwcHg7cG9zaXRpb246cmVsYXRpdmU7LW1zLXRvdWNoLWFjdGlvbjpub25lO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMSl9LnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbD4uc3dpcGVyLXNjcm9sbGJhcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjElO2JvdHRvbTozcHg7ei1pbmRleDo1MDtoZWlnaHQ6NXB4O3dpZHRoOjk4JX0uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbD4uc3dpcGVyLXNjcm9sbGJhcntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDozcHg7dG9wOjElO3otaW5kZXg6NTA7d2lkdGg6NXB4O2hlaWdodDo5OCV9LnN3aXBlci1zY3JvbGxiYXItZHJhZ3toZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNSk7Ym9yZGVyLXJhZGl1czoxMHB4O2xlZnQ6MDt0b3A6MH0uc3dpcGVyLXNjcm9sbGJhci1jdXJzb3ItZHJhZ3tjdXJzb3I6bW92ZX0uc3dpcGVyLXNjcm9sbGJhci1sb2Nre2Rpc3BsYXk6bm9uZX0uc3dpcGVyLXpvb20tY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3RleHQtYWxpZ246Y2VudGVyfS5zd2lwZXItem9vbS1jb250YWluZXI+Y2FudmFzLC5zd2lwZXItem9vbS1jb250YWluZXI+aW1nLC5zd2lwZXItem9vbS1jb250YWluZXI+c3Zne21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvbnRhaW59LnN3aXBlci1zbGlkZS16b29tZWR7Y3Vyc29yOm1vdmV9LnN3aXBlci1sYXp5LXByZWxvYWRlcnt3aWR0aDo0MnB4O2hlaWdodDo0MnB4O3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO3RvcDo1MCU7bWFyZ2luLWxlZnQ6LTIxcHg7bWFyZ2luLXRvcDotMjFweDt6LWluZGV4OjEwO3RyYW5zZm9ybS1vcmlnaW46NTAlO2FuaW1hdGlvbjpzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgaW5maW5pdGUgbGluZWFyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6NHB4IHNvbGlkIHZhcigtLXN3aXBlci1wcmVsb2FkZXItY29sb3IsdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXRvcC1jb2xvcjp0cmFuc3BhcmVudH0uc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRley0tc3dpcGVyLXByZWxvYWRlci1jb2xvcjojZmZmfS5zd2lwZXItbGF6eS1wcmVsb2FkZXItYmxhY2t7LS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiMwMDB9QGtleWZyYW1lcyBzd2lwZXItcHJlbG9hZGVyLXNwaW57MTAwJXt0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fS5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbm90aWZpY2F0aW9ue3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDt6LWluZGV4Oi0xMDAwfS5zd2lwZXItY29udGFpbmVyLWZhZGUuc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgLnN3aXBlci1zbGlkZXt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGV7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHl9LnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGV7cG9pbnRlci1ldmVudHM6bm9uZX0uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlLC5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmV7cG9pbnRlci1ldmVudHM6YXV0b30uc3dpcGVyLWNvbnRhaW5lci1jdWJle292ZXJmbG93OnZpc2libGV9LnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRle3BvaW50ZXItZXZlbnRzOm5vbmU7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjt6LWluZGV4OjE7dmlzaWJpbGl0eTpoaWRkZW47dHJhbnNmb3JtLW9yaWdpbjowIDA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lfS5zd2lwZXItY29udGFpbmVyLWN1YmUuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1zbGlkZXt0cmFuc2Zvcm0tb3JpZ2luOjEwMCUgMH0uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmV7cG9pbnRlci1ldmVudHM6YXV0b30uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0LC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0Ky5zd2lwZXItc2xpZGUsLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXByZXZ7cG9pbnRlci1ldmVudHM6YXV0bzt2aXNpYmlsaXR5OnZpc2libGV9LnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3B7ei1pbmRleDowOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59LnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtib3R0b206MHB4O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDojMDAwO29wYWNpdHk6LjY7LXdlYmtpdC1maWx0ZXI6Ymx1cig1MHB4KTtmaWx0ZXI6Ymx1cig1MHB4KTt6LWluZGV4OjB9LnN3aXBlci1jb250YWluZXItZmxpcHtvdmVyZmxvdzp2aXNpYmxlfS5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47ei1pbmRleDoxfS5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRle3BvaW50ZXItZXZlbnRzOm5vbmV9LnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwuc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZle3BvaW50ZXItZXZlbnRzOmF1dG99LnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LC5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3B7ei1pbmRleDowOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59IiwiLyphbmltYXRpb25zKi9cblxuLyoqKioqKioqKioqKioqKioqKlxuKiBCb3VuY2UgaW4gcmlnaHQgKlxuKioqKioqKioqKioqKioqKioqKi9cblxuXG4uYW5pbWF0ZWQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLnNsb3cge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cbi5zbG93ZXIge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLnNsb3dlc3Qge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogM3M7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogM3M7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLyogQWRkZWQgYnkgQW5keSBNZWV0YW4gKi9cbi5kZWxheS0yNTAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC4yNXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAwLjI1cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAwLjI1cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjI1cztcbn1cblxuLmRlbGF5LTUwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwLjVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMC41cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAwLjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDAuNXM7XG59XG5cbi5kZWxheS03NTAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC43NXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAwLjc1cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAwLjc1cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjc1cztcbn1cblxuLmRlbGF5LTEwMDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMS4wcztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDEuMHM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMS4wcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAxLjBzO1xufVxuXG4uZGVsYXktMTI1MCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxLjI1cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDEuMjVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDEuMjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDEuMjVzO1xufVxuXG4uZGVsYXktMTUwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxLjVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMS41cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAxLjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDEuNXM7XG59XG5cbi5kZWxheS0xNzUwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDEuNzVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMS43NXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMS43NXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMS43NXM7XG59XG5cbi5kZWxheS0yMDAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDIuMHM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAyLjBzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDIuMHM7XG4gIGFuaW1hdGlvbi1kZWxheTogMi4wcztcbn1cblxuLmRlbGF5LTI1MDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMi41cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDIuNXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMi41cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAyLjVzO1xufVxuXG4uZGVsYXktMjAwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAyLjBzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMi4wcztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAyLjBzO1xuICBhbmltYXRpb24tZGVsYXk6IDIuMHM7XG59XG5cbi5kZWxheS0yNTAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDIuNXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAyLjVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDIuNXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMi41cztcbn1cblxuLmRlbGF5LTMwMDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMy4wcztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDMuMHM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMy4wcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAzLjBzO1xufVxuXG4uZGVsYXktMzUwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAzLjVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMy41cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAzLjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDMuNXM7XG59XG5cbi5ib3VuY2VJblJpZ2h0LFxuLmJvdW5jZUluTGVmdCxcbi5ib3VuY2VJblVwLFxuLmJvdW5jZUluRG93biB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbn1cblxuLmZhZGVJblJpZ2h0LFxuLmZhZGVJbkxlZnQsXG4uZmFkZUluVXAsXG4uZmFkZUluRG93biB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbn1cblxuLmZsaXBJblgsXG4uZmxpcEluWSxcbi5yb3RhdGVJbixcbi5yb3RhdGVJblVwTGVmdCxcbi5yb3RhdGVJblVwUmlnaHQsXG4ucm90YXRlSW5Eb3duTGVmdCxcbi5yb3RhdGVEb3duVXBSaWdodCxcbi5yb2xsSW4ge1xuICBvcGFjaXR5OiAwO1xufVxuXG4ubGlnaHRTcGVlZEluUmlnaHQsXG4ubGlnaHRTcGVlZEluTGVmdCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbn1cblxuLyoqKioqKioqKioqXG4qIGJvdW5jZUluICpcbioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMyk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjkpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC4zKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICB9XG5cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC45KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cblxuLmJvdW5jZUluLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbn1cblxuLyoqKioqKioqKioqKioqKipcbiogYm91bmNlSW5SaWdodCAqXG4qKioqKioqKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpO1xuICB9XG5cbiAgNjAlIHtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMHB4KTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpO1xuICB9XG5cbiAgNjAlIHtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7XG4gIH1cblxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuXG4uYm91bmNlSW5SaWdodC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xufVxuXG4vKioqKioqKioqKioqKioqKioqXG4qIEJvdW5jZSBpbiBsZWZ0ICpcbioqKioqKioqKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7XG4gIH1cblxuICA2MCUge1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7XG4gIH1cblxuICA2MCUge1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpO1xuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG4uYm91bmNlSW5MZWZ0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xufVxuXG4vKioqKioqKioqKioqKioqKioqXG4qIEJvdW5jZSBpbiB1cCAqXG4qKioqKioqKioqKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDAwcHgpO1xuICB9XG5cbiAgNjAlIHtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDAwcHgpO1xuICB9XG5cbiAgNjAlIHtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XG4gIH1cblxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLmJvdW5jZUluVXAuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqXG4qIEJvdW5jZSBpbiBkb3duICpcbioqKioqKioqKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MDBweCk7XG4gIH1cblxuICA2MCUge1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MDBweCk7XG4gIH1cblxuICA2MCUge1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpO1xuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG4uYm91bmNlSW5Eb3duLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xufVxuXG5cbi8qKioqKioqKioqXG4qIEZhZGUgSW4gKlxuKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLmZhZGVJbiB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5mYWRlSW4uZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG59XG5cbi8qKioqKioqKioqXG4qIEdyb3cgaW4gKlxuKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBncm93SW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMik7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMik7XG5cbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZ3Jvd0luIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4yKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG5cbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uZ3Jvd0luIHtcblxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4yKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uZ3Jvd0luLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZ3Jvd0luO1xuICBhbmltYXRpb24tbmFtZTogZ3Jvd0luO1xufVxuXG4vKioqKioqKipcbiogU2hha2UgKlxuKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2Uge1xuXG4gIDAlLFxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gIH1cblxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2hha2Uge1xuXG4gIDAlLFxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgfVxuXG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICB9XG59XG5cbi5zaGFrZS5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlO1xuICBhbmltYXRpb24tbmFtZTogc2hha2U7XG59XG5cbi8qKioqKioqKlxuKiBTaGFrZVVwICpcbioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlVXAge1xuXG4gIDAlLFxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gIH1cblxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2hha2VVcCB7XG5cbiAgMCUsXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICB9XG5cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gIH1cbn1cblxuLnNoYWtlVXAuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZVVwO1xuICBhbmltYXRpb24tbmFtZTogc2hha2VVcDtcbn1cblxuLyoqKioqKioqKioqKipcbiogRmFkZUluTGVmdCAqXG4qKioqKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbi5mYWRlSW5MZWZ0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7XG59XG5cbi5mYWRlSW5MZWZ0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG59XG5cblxuLyoqKioqKioqKioqKipcbiogRmFkZUluUmlnaHQgKlxuKioqKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG4uZmFkZUluUmlnaHQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG59XG5cbi5mYWRlSW5SaWdodC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG59XG5cbi8qKioqKioqKioqKioqXG4qIEZhZGVJblVwICpcbioqKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwMHB4KTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwMHB4KTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLmZhZGVJblVwIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDAwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDAwcHgpO1xufVxuXG4uZmFkZUluVXAuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xufVxuXG4vKioqKioqKioqKioqKlxuKiBGYWRlSW5Eb3duICpcbioqKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwMHB4KTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwMHB4KTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLmZhZGVJbkRvd24ge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDAwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwMHB4KTtcbn1cblxuLmZhZGVJbkRvd24uZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbn1cblxuLyoqKioqKioqKioqKioqKioqXG4qIHJvdGF0ZUluICpcbioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJbi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW47XG59XG5cbi8qKioqKioqKioqKioqKioqKlxuKiByb3RhdGVJblVwTGVmdCAqXG4qKioqKioqKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJblVwTGVmdC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqXG4qIHJvdGF0ZUluRG93bkxlZnQgKlxuKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW5Eb3duTGVmdC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xufVxuXG4vKioqKioqKioqKioqKioqKioqXG4qIHJvdGF0ZUluVXBSaWdodCAqXG4qKioqKioqKioqKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW5VcFJpZ2h0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKipcbiogcm90YXRlSW5Eb3duUmlnaHQgKlxuKioqKioqKioqKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluRG93blJpZ2h0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDtcbn1cblxuLyoqKioqKioqKlxuKiByb2xsSW4gKlxuKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGUoLTEyMGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm9sbEluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGUoLTEyMGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgfVxufVxuXG4ucm9sbEluLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbEluO1xuICBhbmltYXRpb24tbmFtZTogcm9sbEluO1xufVxuXG4vKioqKioqKioqXG4qIHdpZ2dsZSAqXG4qKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgd2lnZ2xlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg5ZGVnKTtcbiAgfVxuXG4gIDEwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC04ZGVnKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDdkZWcpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTZkZWcpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNWRlZyk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNGRlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgzZGVnKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0yZGVnKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDFkZWcpO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB3aWdnbGUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg5ZGVnKTtcbiAgfVxuXG4gIDEwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtOGRlZyk7XG4gIH1cblxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goN2RlZyk7XG4gIH1cblxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goLTZkZWcpO1xuICB9XG5cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDVkZWcpO1xuICB9XG5cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC00ZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgzZGVnKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMmRlZyk7XG4gIH1cblxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goMWRlZyk7XG4gIH1cblxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goMGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDBkZWcpO1xuICB9XG59XG5cbi53aWdnbGUuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB3aWdnbGU7XG4gIGFuaW1hdGlvbi1uYW1lOiB3aWdnbGU7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbn1cblxuLyoqKioqKioqXG4qIHN3aW5nICpcbioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aW5nIHtcblxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUsXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3dpbmcge1xuICAyMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7XG4gIH1cblxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG59XG5cbi5zd2luZy5nbyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmc7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZztcbn1cblxuLyoqKioqKipcbiogdGFkYSAqXG4qKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHRhZGEge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgMTAlLFxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHJvdGF0ZSgtM2RlZyk7XG4gIH1cblxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTtcbiAgfVxuXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgdGFkYSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgMTAlLFxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KSByb3RhdGUoLTNkZWcpO1xuICB9XG5cbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpO1xuICB9XG5cbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTtcbiAgfVxufVxuXG4udGFkYS5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHRhZGE7XG4gIGFuaW1hdGlvbi1uYW1lOiB0YWRhO1xufVxuXG4vKioqKioqKioqXG4qIHdvYmJsZSAqXG4qKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgd29iYmxlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxuXG4gIDE1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1JSkgcm90YXRlKC01ZGVnKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSByb3RhdGUoM2RlZyk7XG4gIH1cblxuICA0NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwJSkgcm90YXRlKDJkZWcpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpIHJvdGF0ZSgtMWRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB3b2JibGUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxuXG4gIDE1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHJvdGF0ZSgtNWRlZyk7XG4gIH1cblxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMCUpIHJvdGF0ZSgzZGVnKTtcbiAgfVxuXG4gIDQ1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpIHJvdGF0ZSgyZGVnKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01JSkgcm90YXRlKC0xZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbn1cblxuLndvYmJsZS5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTtcbn1cblxuLyoqKioqKioqXG4qIHB1bHNlICpcbioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcbiAgLy8gMCUge1xuICAvLyAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgLy8gfVxuXG4gIC8vIDUwJSB7XG4gIC8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gIC8vIH1cblxuICAvLyAxMDAlIHtcbiAgLy8gICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIC8vIH1cbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gIH1cblxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBwdWxzZSB7XG4gIC8vIDAlIHtcbiAgLy8gICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAvLyB9XG5cbiAgLy8gNTAlIHtcbiAgLy8gICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gIC8vIH1cblxuICAvLyAxMDAlIHtcbiAgLy8gICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAvLyB9XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwLjcpO1xuICB9XG5cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xuICB9XG59XG5cbi5wdWxzZS5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xuICBhbmltYXRpb24tbmFtZTogcHVsc2U7XG59XG5cbi8qKioqKioqKioqKioqKipcbiogbGlnaHRTcGVlZEluUmlnaHQgKlxuKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW5SaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMCUpIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW5SaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwJSkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5saWdodFNwZWVkSW5SaWdodC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluUmlnaHQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xufVxuXG4vKioqKioqKioqKioqKioqXG4qIGxpZ2h0U3BlZWRJbkxlZnQgKlxuKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW5MZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgxNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZEluTGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmxpZ2h0U3BlZWRJbkxlZnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluTGVmdDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG5cblxuLyoqKioqKipcbiogRmxpcCAqXG4qKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxNzBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxOTBkZWcpIHNjYWxlKDEpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDM2MGRlZykgc2NhbGUoLjk1KTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlKDEpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXAge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxNzBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKC45NSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlKDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbn1cblxuLmZsaXAuZ28ge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcDtcbn1cblxuLyoqKioqKioqKipcbiogZmxpcEluWCAqXG4qKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblgge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTEwZGVnKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcEluWCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZyk7XG4gIH1cblxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5mbGlwSW5YLmdvIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XG59XG5cbi8qKioqKioqKioqXG4qIGZsaXBJblkgKlxuKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblkge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTEwZGVnKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcEluWSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyk7XG4gIH1cblxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5mbGlwSW5ZLmdvIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7XG59XG5cbi8qKioqKioqKioqKioqKioqKlxuKiBPdXQgYW5pbWF0aW9ucyAqXG4qKioqKioqKioqKioqKioqKi9cblxuXG4vKioqKioqKioqKioqXG4qIGJvdW5jZU91dCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cblxuICAyNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguOTUpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjMpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cblxuICAyNSUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjk1KTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjMpO1xuICB9XG59XG5cbi5ib3VuY2VPdXQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0O1xufVxuXG4vKioqKioqKioqKioqXG4qIGJvdW5jZU91dFVwICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICB9XG59XG5cbi5ib3VuY2VPdXRVcC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xufVxuXG4vKioqKioqKioqKioqXG4qIGJvdW5jZU91dERvd24gKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xuICB9XG59XG5cbi5ib3VuY2VPdXREb3duLmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xufVxuXG5cbi8qKioqKioqKioqKipcbiogYm91bmNlT3V0TGVmdCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XG4gIH1cbn1cblxuLmJvdW5jZU91dExlZnQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XG59XG5cbi8qKioqKioqKioqKipcbiogYm91bmNlT3V0UmlnaHQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gIH1cbn1cblxuLmJvdW5jZU91dFJpZ2h0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XG59XG5cbi8qKioqKioqKioqKipcbiogZmFkZU91dCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mYWRlT3V0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xufVxuXG4vKioqKioqKioqKioqXG4qIGZhZGVPdXRVcCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICB9XG59XG5cbi5mYWRlT3V0VXAuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwO1xufVxuXG4vKioqKioqKioqKioqXG4qIGZhZGVPdXREb3duICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTtcbiAgfVxufVxuXG4uZmFkZU91dERvd24uZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbn1cblxuLyoqKioqKioqKioqKlxuKiBmYWRlT3V0TGVmdCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcbiAgfVxufVxuXG4uZmFkZU91dExlZnQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbn1cblxuLyoqKioqKioqKioqKlxuKiBmYWRlT3V0UmlnaHQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gIH1cbn1cblxuLmZhZGVPdXRSaWdodC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG59XG5cbi8qKioqKioqKioqKipcbiogZmxpcE91dFggKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZsaXBPdXRYLmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi8qKioqKioqKioqKipcbiogZmxpcE91dFkgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZsaXBPdXRZIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcbn1cblxuLyoqKioqKioqKioqKlxuKiBsaWdodFNwZWVkT3V0UmlnaHQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0UmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0UmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ubGlnaHRTcGVlZE91dFJpZ2h0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRSaWdodDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xufVxuXG5cbi8qKioqKioqKioqKipcbiogbGlnaHRTcGVlZE91dExlZnQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0TGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRMZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmxpZ2h0U3BlZWRPdXRMZWZ0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dExlZnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcblxufVxuXG4vKioqKioqKioqKioqXG4qIHJvdGF0ZU91dCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xufVxuXG5cbi8qKioqKioqKioqKipcbiogcm90YXRlT3V0VXBMZWZ0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dFVwTGVmdC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG59XG5cbi8qKioqKioqKioqKipcbiogcm90YXRlT3V0RG93bkxlZnQgKlxuKioqKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXREb3duTGVmdC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0O1xufVxuXG4vKioqKioqKioqKioqXG4qIHJvdGF0ZU91dFVwUmlnaHQgKlxuKioqKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dFVwUmlnaHQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG59XG5cbi8qKioqKioqKioqKipcbiogcm9sbE91dCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb2xsT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZyk7XG4gIH1cbn1cblxuLnJvbGxPdXQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbE91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKlxuKiBTaG9ydCBBbmltYXRpb25zXG4qKioqKioqKioqKioqKioqKioqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqXG4qIGZhZGVJblVwU2hvcnRcbioqKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcFNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXBTaG9ydCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi5mYWRlSW5VcFNob3J0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbn1cblxuLmZhZGVJblVwU2hvcnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcFNob3J0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXBTaG9ydDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuKiBmYWRlSW5Eb3duU2hvcnRcbioqKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duU2hvcnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93blNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi5mYWRlSW5Eb3duU2hvcnQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG59XG5cbi5mYWRlSW5Eb3duU2hvcnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duU2hvcnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duU2hvcnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKipcbiogZmFkZUluUmlnaHRTaG9ydCBcbioqKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodFNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHRTaG9ydCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbi5mYWRlSW5SaWdodFNob3J0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbn1cblxuLmZhZGVJblJpZ2h0U2hvcnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodFNob3J0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRTaG9ydDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuKiBmYWRlSW5MZWZ0U2hvcnQgXG4qKioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdFNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRTaG9ydCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG4uZmFkZUluTGVmdFNob3J0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xufVxuXG4uZmFkZUluTGVmdFNob3J0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdFNob3J0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdFNob3J0O1xufVxuIiwiLyoqKioqKioqKipcbiogWm9vbSBpbiAqXG4qKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoNSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC44KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC44KTtcbiAgICBvcGFjaXR5OiAuODtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC44KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC44KTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21JbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSg1KTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjgpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjgpO1xuICAgIG9wYWNpdHk6IC44O1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjgpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjgpO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi56b29tSW4ge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoNSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDUpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDUpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uem9vbUluLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluO1xuICBhbmltYXRpb24tZHVyYXRpb246IC41cztcbn1cblxuXG4vKioqKioqKipcbiogU2hha2VVcDIgKlxuU2hha2UgYW5kIHBhdXNlIFxuKioqKioqKiovXG4vLyBALXdlYmtpdC1rZXlmcmFtZXMgc2hha2VVcDIge1xuXG4vLyAgIDAlLFxuLy8gICAxMCUsXG4vLyAgIDIwJSxcbi8vICAgMzAlLFxuLy8gICAxMDAlIHtcbi8vICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbi8vICAgfVxuXG5cbi8vICAgNTAlLFxuLy8gICA3MCUsXG4vLyAgIDkwJSB7XG4vLyAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuLy8gICB9XG5cbi8vICAgNDAlLFxuLy8gICA2MCUsXG4vLyAgIDgwJSB7XG4vLyAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4vLyAgIH1cbi8vIH1cblxuQGtleWZyYW1lcyBzaGFrZVVwMiB7XG5cbiAgMCUsXG4gIDUwJSxcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cblxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gIH1cblxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICB9XG59XG5cbi5zaGFrZXVwMiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlVXAyO1xuICBhbmltYXRpb24tbmFtZTogc2hha2VVcDI7XG59XG5cbi5zaGFrZTIge1xuICAvKiBTdGFydCB0aGUgc2hha2UgYW5pbWF0aW9uIGFuZCBtYWtlIHRoZSBhbmltYXRpb24gbGFzdCBmb3IgMC41IHNlY29uZHMgKi9cbiAgYW5pbWF0aW9uOiBzaGFrZSAxcztcblxuICAvKiBXaGVuIHRoZSBhbmltYXRpb24gaXMgZmluaXNoZWQsIHN0YXJ0IGFnYWluICovXG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHNoYWtlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgMXB4KSByb3RhdGUoMGRlZyk7XG4gIH1cblxuICAxMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xcHgsIC0ycHgpIHJvdGF0ZSgtMWRlZyk7XG4gIH1cblxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0zcHgsIDBweCkgcm90YXRlKDFkZWcpO1xuICB9XG5cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzcHgsIDJweCkgcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIC0xcHgpIHJvdGF0ZSgxZGVnKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTFweCwgMnB4KSByb3RhdGUoLTFkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtM3B4LCAxcHgpIHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoM3B4LCAxcHgpIHJvdGF0ZSgtMWRlZyk7XG4gIH1cblxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xcHgsIC0xcHgpIHJvdGF0ZSgxZGVnKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAycHgpIHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgLTJweCkgcm90YXRlKC0xZGVnKTtcbiAgfVxufVxuXG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGFzaGxpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC0yMHB4LCAtNDBweCkgc2NhbGUoMS4xKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgLTQwcHgpIHNjYWxlKDEuMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGFzaGxpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHNjYWxlKDEpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgLTQwcHgpIHNjYWxlKDEuMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC0yMHB4LCAtNDBweCkgc2NhbGUoMS4xKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgLTQwcHgpIHNjYWxlKDEuMSk7XG4gIH1cbn1cblxuLnJvdGF0aW5nIHtcbiAgLy8gLXdlYmtpdC1hbmltYXRpb246IHJvdGF0aW5nIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAvLyAtbW96LWFuaW1hdGlvbjogcm90YXRpbmcgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gIC8vIC1tcy1hbmltYXRpb246IHJvdGF0aW5nIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAvLyAtby1hbmltYXRpb246IHJvdGF0aW5nIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICBhbmltYXRpb246IHJvdGF0aW5nIDMwcyBsaW5lYXIgaW5maW5pdGU7XG4gIFxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0aW9uIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgfVxufSIsIi8qLS0tIEFib3V0IFRleHQgLS0tKi9cbkBtaXhpbiB0ZXh0LWFsaWduKCRhbGlnbkhvcml6b3RhbDogbm9ybWFsLCAkYWxpZ25WZXJ0aWNhbDogbm9ybWFsKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogJGFsaWduSG9yaXpvdGFsO1xuICBhbGlnbi1pdGVtczogJGFsaWduVmVydGljYWw7XG59XG5cbkBtaXhpbiB0ZXh0LWRlY29yKCRjb2xvcjogaW5oZXJpdCwgJGZvbnRTaXplOiBpbmhlcml0LCAkdGV4dFRyYW5zZm9ybTogaW5oZXJpdCwgJHRleHRBbGlnbjogaW5oZXJpdCwgJGZvbnRXZWlnaHQ6IG5vcm1hbCkge1xuICBjb2xvcjogJGNvbG9yO1xuICB0ZXh0LXRyYW5zZm9ybTogJHRleHRUcmFuc2Zvcm07XG4gIHRleHQtYWxpZ246ICR0ZXh0QWxpZ247XG4gIGZvbnQtd2VpZ2h0OiAkZm9udFdlaWdodDtcblxuICBAaWYgJGZvbnRTaXplICE9aW5oZXJpdCB7XG4gICAgZm9udC1zaXplOiAkZm9udFNpemU7XG4gIH1cbn1cblxuQG1peGluIHRleHQtc3Ryb2tlKCRzdHJva2VUaGljaywgJHN0cm9rZURpcmVjdCwgJHN0cm9rZUNvbG9yMSwgJHN0cm9rZUNvbG9yMikge1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkc3Ryb2tlRGlyZWN0LCAkc3Ryb2tlQ29sb3IxLCAkc3Ryb2tlQ29sb3IyKTtcbiAgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogJHN0cm9rZVRoaWNrIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjAxKTtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG59XG5cbkBtaXhpbiB0ZXh0LWdyYWRpZW50KCRkaXJlY3Rpb246IHRvIGJvdHRvbSwgJGNvbG9yLXN0b3BzLi4uKSB7XG4gIC8vIFRoZSB2YWx1ZXMgdG8gdG9wLCB0byBib3R0b20sIHRvIGxlZnQsIGFuZCB0byByaWdodCBhcmUgZXF1aXZhbGVudCB0byB0aGUgYW5nbGVzIDBkZWcsIDE4MGRlZywgMjcwZGVnLCBhbmQgOTBkZWcsIHJlc3BlY3RpdmVseS4gVGhlIG90aGVyIHZhbHVlcyBhcmUgdHJhbnNsYXRlZCBpbnRvIGFuIGFuZ2xlLlxuICBAaWYgaXMtZGlyZWN0aW9uKCRkaXJlY3Rpb24pPT1mYWxzZSB7XG4gICAgJGNvbG9yLXN0b3BzOiAkZGlyZWN0aW9uLCAkY29sb3Itc3RvcHM7XG4gICAgJGRpcmVjdGlvbjogMTgwZGVnO1xuICB9XG4gIGJhY2tncm91bmQ6IG50aChudGgoJGNvbG9yLXN0b3BzLCAxKSwgMSk7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZ2FjeS1kaXJlY3Rpb24oJGRpcmVjdGlvbiksICRjb2xvci1zdG9wcyk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCAkY29sb3Itc3RvcHMpO1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKiB0ZXh0IHRydW5jYXRlIG11bHRpbGluZSAqL1xuQG1peGluIHRleHQtdHJ1bmNhdGUoJGxpbmVDb3VudDogMikge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAkbGluZUNvdW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXG59XG5cbi8vIHRleHQgZWxsaXBzaXNcbkBtaXhpbiB0ZXh0LWVsbGlwc2lzKCR3aWR0aCkge1xuICB3aWR0aDogJHdpZHRoO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuXG4vLyB0ZXh0IHNoYWRvd1xuQG1peGluIHRleHQtc2hhZG93KCR4LCAkeSwgJGJsdXIsICRjb2xvciwgJHRyYW5wYXJlbnQpIHtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygkeCAkeSAkYmx1ciByZ2JhKCRjb2xvciwgJHRyYW5wYXJlbnQpKTtcbn1cblxuXG5cbi8vIEFib3V0IFJlc3BvbnNpdmVcbkBtaXhpbiBtcS1taW4tbWF4KCRtaW4sICRtYXgpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG1xLW1pbigkdmFsdWUpIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdmFsdWUpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbXEtbWF4KCR2YWx1ZSkge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR2YWx1ZSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8qLS0tIEFib3V0IEltYWdlcyAtLS0qL1xuQG1peGluIGltYWdlLWZpdCgkaGVpZ2h0KSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi8vLSBHcmF5c2NhbGU6IDEgLCBOb25lOiAwXG5AbWl4aW4gaW1hZ2UtZ3JheXNjYWxlKCR2YWx1ZToxKSB7XG4gIGZpbHRlcjogZ3JheTsgICAvKiBJRTYtOSAqL1xuICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKCR2YWx1ZSk7ICAvKiBHb29nbGUgQ2hyb21lLCBTYWZhcmkgNisgJiBPcGVyYSAxNSsgKi9cbiAgZmlsdGVyOiBncmF5c2NhbGUoJHZhbHVlKTsgICAvKiBNaWNyb3NvZnQgRWRnZSBhbmQgRmlyZWZveCAzNSsgKi9cbn1cblxuXG5cbi8qLS0tIEFib3V0IFBvc2l0aW9uIC0tLSovXG5AbWl4aW4gcG9zaXRpb24oJHBvc2l0aW9uOiByZWxhdGl2ZSwgJGNvb3JkaW5hdGVzOiBudWxsIG51bGwgbnVsbCBudWxsKSB7XG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbik9PWxpc3Qge1xuICAgICRjb29yZGluYXRlczogJHBvc2l0aW9uO1xuICAgICRwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAkY29vcmRpbmF0ZXM6IHVucGFjaygkY29vcmRpbmF0ZXMpO1xuICAkb2Zmc2V0czogKHRvcDogbnRoKCRjb29yZGluYXRlcywgMSksXG4gICAgcmlnaHQ6IG50aCgkY29vcmRpbmF0ZXMsIDIpLFxuICAgIGJvdHRvbTogbnRoKCRjb29yZGluYXRlcywgMyksXG4gICAgbGVmdDogbnRoKCRjb29yZGluYXRlcywgNCkpO1xuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuXG4gIEBlYWNoICRvZmZzZXQsXG4gICR2YWx1ZSBpbiAkb2Zmc2V0cyB7XG4gICAgQGlmIGlzLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICN7JG9mZnNldH06ICR2YWx1ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8tLS0gQWJvdXQgRWZmZWN0IEhvdmVyIC0tLSovXG5AbWl4aW4gZWZmZWN0LWdyYWRpZW50LWxpbmVhcigkZGlyZWN0aW9uLCAkY29sb3Itc3RvcHMuLi4pIHtcbiAgLy8gVGhlIHZhbHVlcyB0byB0b3AsIHRvIGJvdHRvbSwgdG8gbGVmdCwgYW5kIHRvIHJpZ2h0IGFyZSBlcXVpdmFsZW50IHRvIHRoZSBhbmdsZXMgMGRlZywgMTgwZGVnLCAyNzBkZWcsIGFuZCA5MGRlZywgcmVzcGVjdGl2ZWx5LiBUaGUgb3RoZXIgdmFsdWVzIGFyZSB0cmFuc2xhdGVkIGludG8gYW4gYW5nbGUuXG4gIEBpZiBpcy1kaXJlY3Rpb24oJGRpcmVjdGlvbik9PWZhbHNlIHtcbiAgICAkY29sb3Itc3RvcHM6ICRkaXJlY3Rpb24sICRjb2xvci1zdG9wcztcbiAgICAkZGlyZWN0aW9uOiAxODBkZWc7XG4gIH1cbiAgYmFja2dyb3VuZDogbnRoKG50aCgkY29sb3Itc3RvcHMsIDEpLCAxKTtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVnYWN5LWRpcmVjdGlvbigkZGlyZWN0aW9uKSwgJGNvbG9yLXN0b3BzKTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRkaXJlY3Rpb24sICRjb2xvci1zdG9wcyk7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gQWJvdXQgQnV0dG9uIC0tLSovXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4vLy0tLSBCVE4gRWZmZWN0XG5AbWl4aW4gaG92ZXItYm9yZGVyLXdyYXBwaW5nKCRib3JkZXJDb2xvcjogIzIwOThEMSwgJGJvcmRlclN0eWxlOiBzb2xpZCwgJGJvcmRlcldpZHRoOiA1cHgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IG5vbmU7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYm9yZGVyOiAkYm9yZGVyQ29sb3IgJGJvcmRlclN0eWxlO1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItd2lkdGggMC4xcyBlYXNlLW91dDtcbiAgfVxuXG4gICY6aG92ZXI6YmVmb3JlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBib3JkZXItd2lkdGg6ICRib3JkZXJXaWR0aDtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItdHJhbnNsYXRlWCgkdmFsdWUpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlLWluLW91dDtcblxuICAmOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHZhbHVlKTtcbiAgfVxufVxuQG1peGluIGhvdmVyLXRyYW5zbGF0ZVkoJHZhbHVlKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgZWFzZS1pbi1vdXQ7XG5cbiAgJjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR2YWx1ZSk7XG4gIH1cbn1cblxuXG4vKi0tLSBDdXN0b21pemUgU2Nyb2xsYmFyIC0tLSovXG5AbWl4aW4gc2Nyb2xsLWJhcigkY29sb3Itc2Nyb2xsLWJhciwgJGNvbG9yLXNjcm9sbC1iYXItdGh1bWIsICRzY3JvbGxiYXItd2lkdGg6IDVweCkge1xuICBzY3JvbGxiYXItd2lkdGg6ICRzY3JvbGxiYXItd2lkdGg7XG4gIHNjcm9sbGJhci1jb2xvcjogJGNvbG9yLXNjcm9sbC1iYXIgJGNvbG9yLXNjcm9sbC1iYXItdGh1bWI7XG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHsgLyogV29ya3Mgb24gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpICovXG4gICAgd2lkdGg6ICRzY3JvbGxiYXItd2lkdGg7XG4gIH1cblxuICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXNjcm9sbC1iYXItdGh1bWI7XG4gICAgYm9yZGVyLXJhZGl1czogJHNjcm9sbGJhci13aWR0aDtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Nyb2xsLWJhcjtcbiAgICBib3JkZXItcmFkaXVzOiAkc2Nyb2xsYmFyLXdpZHRoO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1zY3JvbGwtYmFyO1xuICB9XG4gIG92ZXJmbG93OiBhdXRvO1xufSIsIi8qLS0tIEFib3V0IFRleHQgLS0tKi9cbi8vICV0ZXh0LWNlbnRlciB7XG4vLyAgIGRpc3BsYXk6IGZsZXg7XG4vLyAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuLy8gfVxuXG4vLyAldGV4dC1taWRkbGUge1xuLy8gICBkaXNwbGF5OiBmbGV4O1xuLy8gICBhbGlnbi1pdGVtczogY2VudGVyO1xuLy8gfVxuXG4vLyAldGV4dC1jZW50ZXItbWlkZGxlIHtcbi8vICAgZGlzcGxheTogZmxleDtcbi8vICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4vLyAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4vLyB9XG5cblxuIiwiJGNvbG9yLTE6ICMwMDRDQTI7XG4kY29sb3ItMjogI2MwYzBjMDtcblxuLyotLS0gU21vb3RoIFNjcm9sbCAtLS0qL1xuaHRtbCB7XG4gIC8vIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuOjpzZWxlY3Rpb24ge1xuICBjb2xvcjogJGNvbG9yLTE7XG4gIGJhY2tncm91bmQ6ICRjb2xvci0yO1xufVxuXG4vKi0tLSBBbmltYXRlIGEgLS0tKi9cbmEge1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xuICBpbWcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB9XG59XG5cbi8qLS0tIEN1c3RvbWl6ZSBTY3JvbGxiYXIgLS0tKi9cbiogeyAvKiBXb3JrIG9uIEZpcmVmb3ggKi9cbiAgc2Nyb2xsYmFyLXdpZHRoOiA1cHg7XG4gIHNjcm9sbGJhci1jb2xvcjogJGNvbG9yLTEgJGNvbG9yLTI7XG59XG5cbio6Oi13ZWJraXQtc2Nyb2xsYmFyIHsgLyogV29ya3Mgb24gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpICovXG4gIHdpZHRoOiA1cHg7XG59XG5cbio6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogJGNvbG9yLTI7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbn1cblxuKjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItMTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItMTtcbn1cblxuXG5cbi8qLS0tIENvbW1vbiBDbGFzc05hbWUgLS0tKi9cbi5sb29wLWluZmluaXRlIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG59XG5cbi5sb29wLTUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiA1O1xufVxuXG4vLyAuZmxhc2gtbGlnaHQge1xuLy8gICBhbmltYXRpb246IGZsYXNobGlnaHQgM3MgZWFzZS1pbi1vdXQgNXMgaW5maW5pdGUgYWx0ZXJuYXRlO1xuLy8gICAvLyAtd2Via2l0LWFuaW1hdGlvbjogZmxhc2hsaWdodCAzcyBlYXNlLWluLW91dCAwcyBpbmZpbml0ZSBhbHRlcm5hdGU7XG4vLyB9XG5cblxuXG4vKi0tLSBBYm91dCBCdXR0b24gLS0tKi9cbi5idG4taW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIGltZzpsYXN0LWNoaWxkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgaW1nOmxhc3QtY2hpbGQge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG5cblxuXG4uYnRuLWhvdmVyLXpvb20ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAmOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gIH1cbn1cblxuLmJ0bi1ob3Zlci10cmFuc2xhdGVYIHtcbiAgQGluY2x1ZGUgaG92ZXItdHJhbnNsYXRlWCgtMTBweCk7XG59XG5cbi5idG4taG92ZXItdHJhbnNsYXRlWSB7XG4gIEBpbmNsdWRlIGhvdmVyLXRyYW5zbGF0ZVkoLTVweCk7XG59XG5cbi5idG4taG92ZXItdW5kZXJsaW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAmOmJlZm9yZSB7XG4gICAgd2lkdGg6IDA7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAmOmhvdmVyOmJlZm9yZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmJ0bi1ob3Zlci1ib3JkZXItd3JhcHBpbmcge1xuICBwYWRkaW5nOiAyMHB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIEBpbmNsdWRlIGhvdmVyLWJvcmRlci13cmFwcGluZygjZmZmMDAwLCBkYXNoZWQsIDVweCk7XG59XG5cbi5idG4taG92ZXItc2hpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRvcDogLTExMCU7XG4gICAgbGVmdDogLTIxMCU7XG4gICAgd2lkdGg6IDIwMCU7XG4gICAgaGVpZ2h0OiAyMDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LFxuICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTMpIDAlLFxuICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTMpIDc3JSxcbiAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDkyJSxcbiAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjApIDEwMCUpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDMwZGVnKTtcbiAgfVxuXG4gICY6aG92ZXI6YWZ0ZXIge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBzaGluZSAuNzVzO1xuICAgIGFuaW1hdGlvbjogc2hpbmUgLjc1cztcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRvcDogLTMwJTtcbiAgICBsZWZ0OiAtMzAlO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQsXG4gICAgICB0b3AsXG4gICAgICBvcGFjaXR5O1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDFzLFxuICAgICAgMXMsXG4gICAgICAuMTVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICB9XG59XG5cbi8qLS0tIEFib3V0IFRleHQgLS0tKi9cbi50ZXh0LXRydW5jYXRlIHtcbiAgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZSgyKTtcbn1cblxuLnRleHQtc3Ryb2tlIHtcbiAgZm9udC1zaXplOiAxMDBweDtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIEBpbmNsdWRlIHRleHQtc3Ryb2tlKDVweCwgOTBkZWcsICMwMDAgMjAlLCAjZjAwIDUwJSk7XG59XG5cbi50ZXh0LWdyYWRpZW50IHtcbiAgQGluY2x1ZGUgdGV4dC1kZWNvcihudWxsLCAxMDBweCwgdXBwZXJjYXNlLCBudWxsKTtcbiAgQGluY2x1ZGUgdGV4dC1ncmFkaWVudCgxODBkZWcsICMwMDAsICNmMDAsICNmZmYwMDApO1xufVxuXG5cbi8qLS0tIEFib3V0IEltYWdlIC0tLSovXG4uaW1hZ2UtZml0IHtcbiAgd2lkdGg6IDI1MHB4O1xuICBAaW5jbHVkZSBpbWFnZS1maXQoMzUwcHgpO1xufVxuXG4vKi0tLSBBYm91dCBFZmZlY3QgLS0tKi9cbi5lZmZlY3QtZ3JhZGllbnQtbGluZWFyIHtcbiAgQGluY2x1ZGUgZWZmZWN0LWdyYWRpZW50LWxpbmVhcih0byBib3R0b20sICM3N0Q3RTcgNTAlLCAjZmYwMDAwIDUwJSwgI2ZmZjAwMCAxMDAlKTtcbn1cblxuLyotLS0gQWJvdXQgT3RoZXIgLS0tKi9cbi5ob3Zlci1zdG9wLWFuaW1hdGVkIHtcbiAgJjpob3ZlciB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xuICAgIC1tb3otYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgICAtby1hbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xuICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IHN0ZXAtZW5kO1xuICAgIC1tb3otYW5pbWF0aW9uYW5pbWF0aW9uOiBzdGVwLWVuZDtcbiAgICBhbmltYXRpb246IHN0ZXAtZW5kO1xuICB9XG59IiwiLmhlYWRlciB7XHJcbiAgLy8gQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIDAgbnVsbCBudWxsIDApO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiAyO1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICBoZWlnaHQ6IDUyMHB4O1xyXG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaGVhZGVyLWJnLmpwZykgbm8tcmVwZWF0IGNlbnRlciB0b3AvY292ZXI7XHJcbiAgQGluY2x1ZGUgcGFkZGluZygwIDApO1xyXG4gIEBpbmNsdWRlIG1xLW1heCg3NjhweCkge1xyXG4gICAgLy8gaGVpZ2h0OiA4MDBweDtcclxuICB9XHJcbiAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XHJcbiAgICBoZWlnaHQ6IDMwMHB4O1xyXG4gIH1cclxuXHJcbiAgLmNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAvLyB3aWR0aDogJGNvbnRhaW5lci13aWR0aDtcclxuXHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG4gIFxyXG4gIC8vIC5jaGFyLWxlZnQge1xyXG4gIC8vICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCAwIDEyJSk7XHJcbiAgLy8gICBAaW5jbHVkZSBtcS1tYXgoMTM2NnB4KSB7XHJcbiAgLy8gICAgIC8vIHdpZHRoOiA0OCU7XHJcbiAgLy8gICAgIGxlZnQ6IC0xMCU7XHJcbiAgLy8gICB9XHJcbiAgLy8gICBAaW5jbHVkZSBtcS1tYXgoMTAyNHB4KSB7XHJcbiAgLy8gICAgIGxlZnQ6IC0yMCU7XHJcbiAgLy8gICB9XHJcbiAgLy8gICBAaW5jbHVkZSBtcS1tYXgoNzY4cHgpIHtcclxuICAvLyAgICAgd2lkdGg6IDcwJTtcclxuICAvLyAgIH1cclxuICAvLyAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xyXG4gIC8vICAgICB3aWR0aDogODUlO1xyXG4gIC8vICAgICBsZWZ0OiAtMjAlO1xyXG4gIC8vICAgICBib3R0b206IDUlO1xyXG4gIC8vICAgfVxyXG4gIC8vIH1cclxuICAvLyAuY2hhci1yaWdodCB7XHJcbiAgLy8gICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCAxNSUgMCBudWxsKTtcclxuICAgIFxyXG4gIC8vICAgQGluY2x1ZGUgbXEtbWF4KDEzNjZweCkge1xyXG4gIC8vICAgICByaWdodDogLTEwJVxyXG4gIC8vICAgfVxyXG4gIC8vICAgQGluY2x1ZGUgbXEtbWF4KDEwMjRweCkge1xyXG4gIC8vICAgICByaWdodDogLTIwJVxyXG4gIC8vICAgfVxyXG4gIC8vICAgQGluY2x1ZGUgbXEtbWF4KDc2OHB4KSB7XHJcbiAgLy8gICAgIHdpZHRoOiA1MCU7XHJcbiAgLy8gICB9XHJcbiAgLy8gICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcclxuICAvLyAgICAgd2lkdGg6IDYwJTtcclxuICAvLyAgICAgcmlnaHQ6IC0yMCU7XHJcbiAgLy8gICAgIGJvdHRvbTogNSU7XHJcbiAgLy8gICB9XHJcbiAgLy8gfVxyXG59XHJcbi50ZXh0IHtcclxuICAvLyBkaXNwbGF5OiBub25lO1xyXG4gIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA0NSUgbnVsbCBudWxsIDUwJSk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gIHotaW5kZXg6IDE7XHJcbiAgQGluY2x1ZGUgbXEtbWF4KDc2OHB4KSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIC8vIGJvdHRvbTogODVweDtcclxuICB9XHJcbiAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XHJcbiAgICB3aWR0aDogNjAlO1xyXG4gICAgdG9wOiA0NSU7XHJcbiAgfVxyXG59XHJcblxyXG4ubG9nbyB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMHB4O1xyXG4gIGxlZnQ6IDUwJTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTU1JSk7XHJcbiAgei1pbmRleDogMTE7ICBcclxuICBAaW5jbHVkZSBtcS1tYXgoNzY4cHgpIHtcclxuICAgIC8vIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIFxyXG4gIH1cclxuICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcclxuICAgIHRvcDogNXB4O1xyXG4gICAgaW1nIHtcclxuICAgICAgbWF4LXdpZHRoOiA4MHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4udGFpZ2FtZSB7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIG1hcmdpbjogMTJweCA0NXB4IDAgMDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XHJcbiAgICBtYXJnaW4tdG9wOiAxM3B4O1xyXG4gIH1cclxuICBsaSB7XHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjVweDtcclxuICAgICAgcGFkZGluZzogMCA1cHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAwLjc7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAjZmZiNzBhOyAgICAgICAgXHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAvLyBAZXh0ZW5kIC5idG4taG92ZXItc2hpbmU7XHJcbiAgICAgIGE6aG92ZXIge1xyXG4gICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxNTAlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxvZ2dlZCB7XHJcbiAgICAgIGRpc3BsYXk6IGluaXRpYWw7XHJcbiAgICAgIGNvbG9yOiAjZWRlZGVkO1xyXG4gICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xyXG4gICAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcclxuICAgICAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5sb2dvdXQge1xyXG4gICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnVzZXIge1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgIGNvbG9yOiAjYmNmZWZmO1xyXG4gICAgICBmb250LXdlaWdodDogIGJvbGQ7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgcGFkZGluZzogMCAwIDAgNXB4O1xyXG4gICAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpICB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IFxyXG4gICAgICAgIHdpZHRoOiA3NXB4OyBcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgIG1hcmdpbjogLTVweCAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtcS1tYXgoNjQwcHgpIHtcclxuICAgICAgaW1nIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDcwcHg7XHJcbiAgICAgICAgXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuLm5hdmJhci1uYXYge1xyXG4gIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAwKTtcclxuICB6LWluZGV4OiAxMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBwYWRkaW5nOiAwIDA7XHJcbiAgYmFja2dyb3VuZDogIzAwMDtcclxuICBoZWlnaHQ6IDYwcHg7XHJcbiAgQGluY2x1ZGUgbXEtbWF4KDc2OHB4KSB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xyXG4gICAgaGVpZ2h0OiA0NXB4O1xyXG4gIH1cclxuXHJcbiAgLmFnZTE4IHtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAxMHB4IG51bGwgbnVsbCAxMHB4KTtcclxuICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xyXG4gICAgICBtYXgtd2lkdGg6IDMwcHg7XHJcbiAgICAgIHRvcDogMTBweDtcclxuICAgIH1cclxuICB9XHJcbiAgdWwubWVudSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB3aWR0aDogJGNvbnRhaW5lci13aWR0aDtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDAgMDtcclxuICAgIEBpbmNsdWRlIG1xLW1heCg3NjhweCkge1xyXG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwYWRkaW5nLXRvcDogNjBweDtcclxuICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICAgIHotaW5kZXg6IDE7XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoIzAwMDAwMCwgMC44KTtcclxuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIH1cclxuICAgIGxpIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWFyZ2luLXJpZ2h0KDE0MHB4KTtcclxuICAgICAgICBAaW5jbHVkZSBtcS1tYXgoNzY4cHgpIHtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJjpudGgtY2hpbGQoMykge1xyXG4gICAgICAgIC8vIEBpbmNsdWRlIG1hcmdpbi1sZWZ0KDcwcHgpO1xyXG4gICAgICB9XHJcbiAgICAgIGEge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGFuaW1hdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcclxuICAgICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yKCNmZWU3YmMsIDIwcHgsIHVwcGVyY2FzZSwgY2VudGVyKTtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMCAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICB3aWR0aDogMTkzcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgbXEtbWF4KDc2OHB4KSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9tZW51LWJnLWhvdmVyLmpwZykgbm8tcmVwZWF0IDAgMDtcclxuICAgICAgICAgIEBpbmNsdWRlIG1xLW1heCg3NjhweCkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICBcclxuXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xyXG4gICAgICAgICAgLy8gd2lkdGg6IDEzMHB4O1xyXG4gICAgICAgICAgLy8gaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgLy8gbGluZS1oZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgICAvLyBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgIGNvbG9yOiAjOTc4Yjc1O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyB1bCB7XHJcbiAgICAgICAgICBcclxuICAgICAgICAvLyAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgLy8gICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgIC8vICAgdG9wOiAxMDAlO1xyXG4gICAgICAgIC8vICAgYSB7XHJcbiAgICAgICAgLy8gICAgIGNvbG9yOiAjNmU2ZTZlO1xyXG4gICAgICAgIC8vICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgLy8gICAgICY6aG92ZXIsXHJcbiAgICAgICAgLy8gICAgICYuYWN0aXZlIHtcclxuICAgICAgICAvLyAgICAgICBjb2xvcjogI2ExOGM1YztcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vICAgfVxyXG4gICAgICAgIC8vIH1cclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmJ0bi1oYW0ge1xyXG4gICAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIDEwcHggMTBweCBudWxsIG51bGwpO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIC8vIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB3aWR0aDogMzVweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIEBpbmNsdWRlIG1xLW1heCg3NjhweCkge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcclxuICAgICAgICAgIHRvcDogNXB4O1xyXG4gICAgICAgIH1cclxuICB9XHJcblxyXG4gIC5idG4taGFtIHNwYW4sXHJcbiAgLmJ0bi1oYW06YWZ0ZXIsXHJcbiAgLmJ0bi1oYW06YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcclxuICAgIG1hcmdpbjogNnB4IDBweDtcclxuICAgIHRyYW5zaXRpb246IDAuNHM7XHJcbiAgfVxyXG5cclxuICAuYnRuLWhhbS5hY3RpdmU6YmVmb3JlIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlKC04cHgsIDZweCk7XHJcbiAgfVxyXG5cclxuICAuYnRuLWhhbS5hY3RpdmU6YWZ0ZXIge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZSgtOXB4LCAtOHB4KTtcclxuICB9XHJcblxyXG4gIC5idG4taGFtLmFjdGl2ZSBzcGFuIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpO1xyXG4gIH1cclxufVxyXG5cclxuLmF2YXRhciB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIG1hcmdpbjogNnB4IDBweCAwIDY1cHg7XHJcbiAgaW1nIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICAvLyBib3JkZXI6IHNvbGlkIDJweCAjZmNmZmZlO1xyXG4gIH1cclxuICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcclxuICAgIG1hcmdpbjogMTBweCAwcHggMCAyN3B4O1xyXG4gICAgaW1nIHtcclxuICAgICAgbWF4LXdpZHRoOiA0MHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnBsYXktdmlkZW8ge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBsaW5lLWhlaWdodDogMC43O1xyXG4gIHotaW5kZXg6IDg7XHJcbiAgLy8gQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCAyMCUgMjUlKTtcclxuICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMzAlIG51bGwgbnVsbCA2MCUpO1xyXG4gIHotaW5kZXg6IDExO1xyXG4gIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBsaW5lYXI7XHJcbiAgJjpob3ZlciB7XHJcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTEwJSk7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1xLW1heCg3NjhweCkge1xyXG4gICAgLy8gdG9wOiAyMCU7XHJcbiAgICAvLyBsZWZ0OiAxNSU7XHJcbiAgICBpbWcge1xyXG4gICAgICAvLyBtYXgtd2lkdGg6IDkwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xyXG4gICAgLy8gdG9wOiAyNzBweDsgXHJcbiAgICBpbWcge1xyXG4gICAgICBtYXgtd2lkdGg6IDgwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZGFuZ2t5c29tIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYm90dG9tOiAwcHg7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICB6LWluZGV4OiAxMDtcclxuICBpbWc6bnRoLWNoaWxkKDIpIHtcclxuICAgIGFuaW1hdGlvbjogZmFkZUJ1dHRvbkluT3V0IDAuNXMgZWFzZS1pbi1vdXQgMHMgaW5maW5pdGUgYWx0ZXJuYXRlO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XHJcbiAgICBtYXgtd2lkdGg6IDM1JTtcclxuICAgIGJvdHRvbTogMCU7XHJcbiAgfVxyXG59XHJcbi8vIC5kYW5na3lzb20tYnRuIHtcclxuLy8gICBkaXNwbGF5OiBibG9jaztcclxuLy8gICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbi8vICAgbGluZS1oZWlnaHQ6IDAuNztcclxuLy8gICB6LWluZGV4OiA4O1xyXG4vLyAgIC8vIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIG51bGwgMjAlIDI1JSk7XHJcbi8vICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCAtNDBweCA1MCUpO1xyXG4vLyAgIHotaW5kZXg6IDExO1xyXG4vLyAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuLy8gICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBsaW5lYXI7XHJcbi8vICAgaW1nOm50aC1jaGlsZCgyKSB7XHJcbi8vICAgICBhbmltYXRpb246IGZhZGVCdXR0b25Jbk91dCAwLjVzIGVhc2UtaW4tb3V0IDBzIGluZmluaXRlIGFsdGVybmF0ZTtcclxuLy8gICB9XHJcbi8vICAgJjpob3ZlciB7XHJcbi8vICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTEwJSk7XHJcbi8vICAgfVxyXG4vLyAgIEBpbmNsdWRlIG1xLW1heCg3NjhweCkge1xyXG4gICAgXHJcbiAgICBcclxuLy8gICB9XHJcbiAgXHJcbi8vICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XHJcbi8vICAgICBib3R0b206IDVweDtcclxuLy8gICAgIGltZyB7XHJcbi8vICAgICAgIG1heC13aWR0aDogMTUwcHg7XHJcbi8vICAgICB9XHJcbiAgICBcclxuLy8gICB9XHJcbi8vIH1cclxuXHJcbi5vcGVuaW5nIHtcclxuICB3aWR0aDogMTMwcHg7XHJcbiAgaGVpZ2h0OiAxMzBweDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJztcclxuICBAaW5jbHVkZSB0ZXh0LWRlY29yKCNmZmYsIG51bGwsIGluaXRpYWwsIGNlbnRlciwgNTAwKTtcclxuICBAaW5jbHVkZSBmb250LXNpemUoMTRweCk7XHJcbiAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSAxMCUgbnVsbCBudWxsKTtcclxuXHJcbiAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gIHotaW5kZXg6IDEwO1xyXG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvb3BlbmluZy1iZy5wbmcpIG5vLXJlcGVhdCAwIDAvMTAwJTtcclxuICBsaW5lLWhlaWdodDogMS4xO1xyXG4gIC8vIEBpbmNsdWRlIG1xLW1heCg3NjhweCkge1xyXG4gIC8vICAgd2lkdGg6IDM1NXB4O1xyXG4gIC8vICAgdG9wOiAzOSU7XHJcbiAgLy8gfVxyXG4gIC8vIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xyXG4gIC8vICAgd2lkdGg6IDIxMHB4O1xyXG4gIC8vICAgdG9wOiAzNDVweDtcclxuICAvLyAgIGZvbnQtc2l6ZTogMjVweDtcclxuICAvLyB9XHJcbiAgc3BhbiB7XHJcbiAgICAvLyBAaW5jbHVkZSB0ZXh0LWdyYWRpZW50KDBkZWcsICNmMWRlOTgsICNmY2Y4ZDgpO1xyXG4gICAgLy8gQGluY2x1ZGUgdGV4dC1zaGFkb3coMnB4LCAycHgsIDFweCAsICNjMDY1NGUsMSk7XHJcbiAgfVxyXG4gIC5kYXRlIHtcclxuICAgIC8vIEBpbmNsdWRlIHRleHQtc3Ryb2tlKDJweCwgMGRlZywgI2ZmZiwgI2ZmZik7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNHB4KTtcclxuICAgIHBhZGRpbmc6IDAgMCAwIDBweDtcclxuICB9XHJcblxyXG59XHJcblxyXG4uYnV0dG9ucy1ibG9jayB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBwYWRkaW5nOiAxNXB4IDBweDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiA3O1xyXG4gIHRvcDogNTBweDtcclxuICBsZWZ0OiAwcHg7XHJcbiAgcmlnaHQ6IDBweDtcclxuXHJcbiAgbGkge1xyXG4gICAgbWFyZ2luOiAwIDVweDtcclxuICB9XHJcblxyXG4gIC8vIEBpbmNsdWRlIG1xLW1heCg3NjhweCkge1xyXG4gIC8vICAgdG9wOiA2MDBweDtcclxuICAvLyB9XHJcbiAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XHJcbiAgICB0b3A6IDM1cHg7XHJcbiAgICBsaSB7XHJcbiAgICAgIG1hcmdpbjogLTVweCAxMHB4IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIGEge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiAwIDBweDtcclxuXHJcbiAgICBpbWcge1xyXG4gICAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcclxuICAgICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTEwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcblxyXG51bC5tZW51IHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIHdpZHRoOiAkY29udGFpbmVyLXdpZHRoO1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMCAwO1xyXG5cclxuICBAaW5jbHVkZSBtcS1tYXgoMTAwMHB4KSB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nLXRvcDogODBweDtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgfVxyXG5cclxuICAmLmFjdGl2ZSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgjMDAwMDAwLCAwLjgpO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICB9XHJcblxyXG4gIGxpIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgIEBpbmNsdWRlIG1hcmdpbi1yaWdodCgxNDBweCk7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcS1tYXgoNzY4cHgpIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOm50aC1jaGlsZCgzKSB7XHJcbiAgICAgIC8vIEBpbmNsdWRlIG1hcmdpbi1sZWZ0KDcwcHgpO1xyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgYW5pbWF0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yKCNmZWU5YmUsIDIwcHgsIHVwcGVyY2FzZSwgY2VudGVyKTtcclxuICAgICAgcGFkZGluZzogMCAwIDAgMDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XHJcbiAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgd2lkdGg6IDE5M3B4O1xyXG5cclxuICAgICAgQGluY2x1ZGUgbXEtbWF4KDc2OHB4KSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpob3ZlcixcclxuICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiAjYmUzYzJhO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbWVudS1iZy1ob3Zlci5qcGcpIG5vLXJlcGVhdCAwIDA7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1xLW1heCg3NjhweCkge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuXHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBjb2xvcjogI2JlM2MyYTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xyXG4gICAgICAgIC8vIHdpZHRoOiAxMzBweDtcclxuICAgICAgICAvLyBoZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgLy8gbGluZS1oZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgLy8gZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAjOTc4Yjc1O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyB1bCB7XHJcblxyXG4gICAgICAvLyAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIC8vICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgLy8gICB0b3A6IDEwMCU7XHJcbiAgICAgIC8vICAgYSB7XHJcbiAgICAgIC8vICAgICBjb2xvcjogIzZlNmU2ZTtcclxuICAgICAgLy8gICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgLy8gICAgICY6aG92ZXIsXHJcbiAgICAgIC8vICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgIC8vICAgICAgIGNvbG9yOiAjYTE4YzVjO1xyXG4gICAgICAvLyAgICAgfVxyXG4gICAgICAvLyAgIH1cclxuICAgICAgLy8gfVxyXG5cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0LCBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG5cbi8vIFNDU1MgUkZTIG1peGluXG4vL1xuLy8gQXV0b21hdGVkIHJlc3BvbnNpdmUgdmFsdWVzIGZvciBmb250IHNpemVzLCBwYWRkaW5ncywgbWFyZ2lucyBhbmQgbXVjaCBtb3JlXG4vL1xuLy8gTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvYmxvYi9tYXN0ZXIvTElDRU5TRSlcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIHZhbHVlXG4kcmZzLWJhc2UtdmFsdWU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kcmZzLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuQGlmICRyZnMtdW5pdCAhPSByZW0gYW5kICRyZnMtdW5pdCAhPSBweCB7XG4gIEBlcnJvciBcImAjeyRyZnMtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtdW5pdC4gVXNlIGBweGAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIEJyZWFrcG9pbnQgYXQgd2hlcmUgdmFsdWVzIHN0YXJ0IGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcHggYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IGVtIGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSByZW0ge1xuICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbn1cblxuLy8gUmVzaXplIHZhbHVlcyBiYXNlZCBvbiBzY3JlZW4gaGVpZ2h0IGFuZCB3aWR0aFxuJHJmcy10d28tZGltZW5zaW9uYWw6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWN0b3Igb2YgZGVjcmVhc2VcbiRyZnMtZmFjdG9yOiAxMCAhZGVmYXVsdDtcblxuQGlmIHR5cGUtb2YoJHJmcy1mYWN0b3IpICE9IG51bWJlciBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIE1vZGUuIFBvc3NpYmlsaXRpZXM6IFwibWluLW1lZGlhLXF1ZXJ5XCIsIFwibWF4LW1lZGlhLXF1ZXJ5XCJcbiRyZnMtbW9kZTogbWluLW1lZGlhLXF1ZXJ5ICFkZWZhdWx0O1xuXG4vLyBHZW5lcmF0ZSBlbmFibGUgb3IgZGlzYWJsZSBjbGFzc2VzLiBQb3NzaWJpbGl0aWVzOiBmYWxzZSwgXCJlbmFibGVcIiBvciBcImRpc2FibGVcIlxuJHJmcy1jbGFzczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIDEgcmVtID0gJHJmcy1yZW0tdmFsdWUgcHhcbiRyZnMtcmVtLXZhbHVlOiAxNiAhZGVmYXVsdDtcblxuLy8gU2FmYXJpIGlmcmFtZSByZXNpemUgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvaXNzdWVzLzE0XG4kcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlIFJGUyBieSBzZXR0aW5nICRlbmFibGUtcmZzIHRvIGZhbHNlXG4kZW5hYmxlLXJmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQ2FjaGUgJHJmcy1iYXNlLXZhbHVlIHVuaXRcbiRyZnMtYmFzZS12YWx1ZS11bml0OiB1bml0KCRyZnMtYmFzZS12YWx1ZSk7XG5cbi8vIFJlbW92ZSBweC11bml0IGZyb20gJHJmcy1iYXNlLXZhbHVlIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSBweCB7XG4gICRyZnMtYmFzZS12YWx1ZTogJHJmcy1iYXNlLXZhbHVlIC8gKCRyZnMtYmFzZS12YWx1ZSAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYmFzZS12YWx1ZS11bml0ID09IHJlbSB7XG4gICRyZnMtYmFzZS12YWx1ZTogJHJmcy1iYXNlLXZhbHVlIC8gKCRyZnMtYmFzZS12YWx1ZSAqIDAgKyAxIC8gJHJmcy1yZW0tdmFsdWUpO1xufVxuXG4vLyBDYWNoZSAkcmZzLWJyZWFrcG9pbnQgdW5pdCB0byBwcmV2ZW50IG11bHRpcGxlIGNhbGxzXG4kcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZTogdW5pdCgkcmZzLWJyZWFrcG9pbnQpO1xuXG4vLyBSZW1vdmUgdW5pdCBmcm9tICRyZnMtYnJlYWtwb2ludCBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gcHgge1xuICAkcmZzLWJyZWFrcG9pbnQ6ICRyZnMtYnJlYWtwb2ludCAvICgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSByZW0gb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiAkcmZzLWJyZWFrcG9pbnQgLyAoJHJmcy1icmVha3BvaW50ICogMCArIDEgLyAkcmZzLXJlbS12YWx1ZSk7XG59XG5cbi8vIENhbGN1bGF0ZSB0aGUgbWVkaWEgcXVlcnkgdmFsdWVcbiRyZnMtbXEtdmFsdWU6IGlmKCRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4LCAjeyRyZnMtYnJlYWtwb2ludH1weCwgI3skcmZzLWJyZWFrcG9pbnQgLyAkcmZzLXJlbS12YWx1ZX0jeyRyZnMtYnJlYWtwb2ludC11bml0fSk7XG4kcmZzLW1xLXByb3BlcnR5LXdpZHRoOiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCBtYXgtd2lkdGgsIG1pbi13aWR0aCk7XG4kcmZzLW1xLXByb3BlcnR5LWhlaWdodDogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgbWF4LWhlaWdodCwgbWluLWhlaWdodCk7XG5cbi8vIEludGVybmFsIG1peGluIHVzZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIG1lZGlhIHF1ZXJ5IG5lZWRzIHRvIGJlIHVzZWRcbkBtaXhpbiBfcmZzLW1lZGlhLXF1ZXJ5IHtcbiAgQGlmICRyZnMtdHdvLWRpbWVuc2lvbmFsIHtcbiAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pLCAoI3skcmZzLW1xLXByb3BlcnR5LWhlaWdodH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGRpc2FibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtcnVsZSB7XG4gIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkge1xuICAgIC8vIEFkZGluZyBhbiBleHRyYSBjbGFzcyBpbmNyZWFzZXMgc3BlY2lmaWNpdHksIHdoaWNoIHByZXZlbnRzIHRoZSBtZWRpYSBxdWVyeSB0byBvdmVycmlkZSB0aGUgcHJvcGVydHlcbiAgICAmLFxuICAgIC5kaXNhYmxlLXJmcyAmLFxuICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRyZnMtY2xhc3MgPT0gZW5hYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAuZW5hYmxlLXJmcyAmLFxuICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBlbmFibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnktcnVsZSB7XG5cbiAgQGlmICRyZnMtY2xhc3MgPT0gZW5hYmxlIHtcbiAgICBAaWYgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIC5lbmFibGUtcmZzICYsXG4gICAgICAmLmVuYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgICAgLmRpc2FibGUtcmZzICYsXG4gICAgICAmLmRpc2FibGUtcmZzIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIGZvcm1hdHRlZCBub24tcmVzcG9uc2l2ZSB2YWx1ZVxuQGZ1bmN0aW9uIHJmcy12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZih0eXBlLW9mKCR2YWx1ZXMpICE9IGxpc3QsICgkdmFsdWVzLCksICR2YWx1ZXMpO1xuXG4gICR2YWw6ICcnO1xuXG4gIC8vIExvb3Agb3ZlciBlYWNoIHZhbHVlIGFuZCBjYWxjdWxhdGUgdmFsdWVcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgIEBpZiAkdmFsdWUgPT0gMCB7XG4gICAgICAkdmFsOiAkdmFsICsgJyAwJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQ2FjaGUgJHZhbHVlIHVuaXRcbiAgICAgICR1bml0OiBpZih0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiwgdW5pdCgkdmFsdWUpLCBmYWxzZSk7XG5cbiAgICAgIEBpZiAkdW5pdCA9PSBweCB7XG4gICAgICAgIC8vIENvbnZlcnQgdG8gcmVtIGlmIG5lZWRlZFxuICAgICAgICAkdmFsOiAkdmFsICsgJyAnICsgaWYoJHJmcy11bml0ID09IHJlbSwgI3skdmFsdWUgLyAoJHZhbHVlICogMCArICRyZnMtcmVtLXZhbHVlKX1yZW0sICR2YWx1ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkdW5pdCA9PSByZW0ge1xuICAgICAgICAvLyBDb252ZXJ0IHRvIHB4IGlmIG5lZWRlZFxuICAgICAgICAkdmFsOiAkdmFsICsgJyAnICsgaWYoJHJmcy11bml0ID09IHB4LCAjeyR2YWx1ZSAvICgkdmFsdWUgKiAwICsgMSkgKiAkcmZzLXJlbS12YWx1ZX1weCwgJHZhbHVlKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgLy8gSWYgJHZhbHVlIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICR2YWx1ZSBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gICAgICAgICR2YWw6ICR2YWwgKyAnICcgKyAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlIGZpcnN0IHNwYWNlXG4gIEByZXR1cm4gdW5xdW90ZShzdHItc2xpY2UoJHZhbCwgMikpO1xufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSByZXNwb25zaXZlIHZhbHVlIGNhbGN1bGF0ZWQgYnkgUkZTXG5AZnVuY3Rpb24gcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZXMpIHtcbiAgLy8gQ29udmVydCB0byBsaXN0XG4gICR2YWx1ZXM6IGlmKHR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogJyc7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyAnIDAnO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogaWYodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIsIHVuaXQoJHZhbHVlKSwgZmFsc2UpO1xuXG4gICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgIEBpZiBub3QgJHVuaXQgb3IgJHVuaXQgIT0gcHggYW5kICR1bml0ICE9IHJlbSB7XG4gICAgICAgICR2YWw6ICR2YWwgKyAnICcgKyAkdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgLy8gUmVtb3ZlIHVuaXQgZnJvbSAkdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuICAgICAgICAkdmFsdWU6ICR2YWx1ZSAvICgkdmFsdWUgKiAwICsgaWYoJHVuaXQgPT0gcHgsIDEsIDEgLyAkcmZzLXJlbS12YWx1ZSkpO1xuXG4gICAgICAgIC8vIE9ubHkgYWRkIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGUgdmFsdWUgaXMgZ3JlYXRlciB0aGFuIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgIEBpZiBhYnMoJHZhbHVlKSA8PSAkcmZzLWJhc2UtdmFsdWUgb3Igbm90ICRlbmFibGUtcmZzIHtcbiAgICAgICAgICAkdmFsOiAkdmFsICsgJyAnICsgIGlmKCRyZnMtdW5pdCA9PSByZW0sICN7JHZhbHVlIC8gJHJmcy1yZW0tdmFsdWV9cmVtLCAjeyR2YWx1ZX1weCk7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICAgICR2YWx1ZS1taW46ICRyZnMtYmFzZS12YWx1ZSArIChhYnMoJHZhbHVlKSAtICRyZnMtYmFzZS12YWx1ZSkgLyAkcmZzLWZhY3RvcjtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gJHZhbHVlIGFuZCB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICAgICR2YWx1ZS1kaWZmOiBhYnMoJHZhbHVlKSAtICR2YWx1ZS1taW47XG5cbiAgICAgICAgICAvLyBCYXNlIHZhbHVlIGZvcm1hdHRpbmdcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkcmZzLXVuaXQgPT0gcmVtLCAjeyR2YWx1ZS1taW4gLyAkcmZzLXJlbS12YWx1ZX1yZW0sICN7JHZhbHVlLW1pbn1weCk7XG5cbiAgICAgICAgICAvLyBVc2UgbmVnYXRpdmUgdmFsdWUgaWYgbmVlZGVkXG4gICAgICAgICAgJG1pbi13aWR0aDogaWYoJHZhbHVlIDwgMCwgLSRtaW4td2lkdGgsICRtaW4td2lkdGgpO1xuXG4gICAgICAgICAgLy8gVXNlIGB2bWluYCBpZiB0d28tZGltZW5zaW9uYWwgaXMgZW5hYmxlZFxuICAgICAgICAgICR2YXJpYWJsZS11bml0OiBpZigkcmZzLXR3by1kaW1lbnNpb25hbCwgdm1pbiwgdncpO1xuXG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSB2YXJpYWJsZSB3aWR0aCBiZXR3ZWVuIDAgYW5kICRyZnMtYnJlYWtwb2ludFxuICAgICAgICAgICR2YXJpYWJsZS13aWR0aDogI3skdmFsdWUtZGlmZiAqIDEwMCAvICRyZnMtYnJlYWtwb2ludH0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgICAgIC8vIFJldHVybiB0aGUgY2FsY3VsYXRlZCB2YWx1ZVxuICAgICAgICAgICR2YWw6ICR2YWwgKyAnIGNhbGMoJyArICRtaW4td2lkdGggKyBpZigkdmFsdWUgPCAwLCAnIC0gJywgJyArICcpICsgJHZhcmlhYmxlLXdpZHRoICsgJyknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlIGZpcnN0IHNwYWNlXG4gIEByZXR1cm4gdW5xdW90ZShzdHItc2xpY2UoJHZhbCwgMikpO1xufVxuXG4vLyBSRlMgbWl4aW5cbkBtaXhpbiByZnMoJHZhbHVlcywgJHByb3BlcnR5OiBmb250LXNpemUpIHtcbiAgQGlmICR2YWx1ZXMgIT0gbnVsbCB7XG4gICAgJHZhbDogcmZzLXZhbHVlKCR2YWx1ZXMpO1xuICAgICRmbHVpZFZhbDogcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZXMpO1xuXG4gICAgLy8gRG8gbm90IHByaW50IHRoZSBtZWRpYSBxdWVyeSBpZiByZXNwb25zaXZlICYgbm9uLXJlc3BvbnNpdmUgdmFsdWVzIGFyZSB0aGUgc2FtZVxuICAgIEBpZiAkdmFsID09ICRmbHVpZFZhbCB7XG4gICAgICAjeyRwcm9wZXJ0eX06ICR2YWw7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIF9yZnMtcnVsZSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgJHZhbCwgJGZsdWlkVmFsKTtcblxuICAgICAgICAvLyBJbmNsdWRlIHNhZmFyaSBpZnJhbWUgcmVzaXplIGZpeCBpZiBuZWVkZWRcbiAgICAgICAgbWluLXdpZHRoOiBpZigkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgsICgwICogMXZ3KSwgbnVsbCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnktcnVsZSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgJGZsdWlkVmFsLCAkdmFsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU2hvcnRoYW5kIGhlbHBlciBtaXhpbnNcbkBtaXhpbiBmb250LXNpemUoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUpO1xufVxuXG5AbWl4aW4gcGFkZGluZygkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZyk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLXRvcCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy10b3ApO1xufVxuXG5AbWl4aW4gcGFkZGluZy1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1yaWdodCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLWJvdHRvbSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1ib3R0b20pO1xufVxuXG5AbWl4aW4gcGFkZGluZy1sZWZ0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLWxlZnQpO1xufVxuXG5AbWl4aW4gbWFyZ2luKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4pO1xufVxuXG5AbWl4aW4gbWFyZ2luLXRvcCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLXRvcCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tcmlnaHQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1yaWdodCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tYm90dG9tKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tYm90dG9tKTtcbn1cblxuQG1peGluIG1hcmdpbi1sZWZ0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tbGVmdCk7XG59XG4iLCI6cm9vdCB7XHJcbiAgICAvKiBOb3QgbXkgZmF2b3JpdGUgdGhhdCBsaW5lLWhlaWdodCBoYXMgdG8gYmUgdW5pdGVkLCBidXQgbmVlZGVkICovXHJcbiAgICAtLWxoOiAxLjRyZW07XHJcbn1cclxuXHJcbmh0bWwge1xyXG4gICAgZm9udC1zaXplOiAkZm9udFNpemVIdG1sVGFnO1xyXG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxoKTtcclxufVxyXG5cclxuYm9keSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZENvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJG1haW5Db2xvciAhaW1wb3J0YW50O1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250Tm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICBsaW5lLWhlaWdodDogJGxpbmVIZWlnaHQgIWltcG9ydGFudDtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udEZhbWlseSAhaW1wb3J0YW50O1xyXG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgpO1xyXG59XHJcblxyXG5hIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGNvbG9yOiAkbWFpbkxpbmtDb2xvcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICRtYWluTGlua0NvbG9yLWhvdmVyO1xyXG4gICAgfVxyXG4gICAgaW1nIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcclxuICAgIH1cclxufVxyXG5cclxuLnNob3ctbW9iaWxlIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBAaW5jbHVkZSBtcS1tYXgoNzY4cHgpIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuLnNob3ctZGVza3RvcCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIEBpbmNsdWRlIG1xLW1heCg3NjhweCkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5pbmZpbml0ZSB7XHJcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlO1xyXG59XHJcbi5sb29wLTUge1xyXG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogNTtcclxufSIsIi8qLS0tLSBDb250ZW50IENTUyBWYXJpYmxlcyAtLS0tKi9cclxuJHRleHQtY29sb3I6ICMzNjM2MzY7XHJcbiRjb2xvci1saW5rLWNvbnRlbnQ6ICM5YjJhMmU7XHJcbiRjb2xvci1saW5rLWNvbnRlbnQtaG92ZXI6ICNhMThjNWM7XHJcblxyXG4kY29sb3ItZmlyc3QtbGV0dGVyOiAjMjkyODI2O1xyXG4kY29sb3Itc3Ryb25nLTE6ICM5YjJhMmU7XHJcbiRjb2xvci1zdHJvbmctMjogI2ExOGM1YztcclxuJGNvbG9yLXN0cm9uZy0zOiAjMDA2Y2M4O1xyXG5cclxuJGgzLWNvbG9yOiAjMjkyODI2O1xyXG4kaDMtZm9udC1mYW1pbHk6IFNGLUJvbGQ7XHJcblxyXG4kaDQtY29sb3I6ICM5MTI5Mjk7XHJcbiRoNC1wYWRkaW5nOiA0MHB4O1xyXG5cclxuJGg1LWNvbG9yOiAjOTEyOTI5O1xyXG4kaDUtcGFkZGluZzogMzBweDtcclxuXHJcbiRiYWNrZ3JvdW5kLXRhYmxlLWhlYWQ6ICMzMzMzMzM7XHJcbiRjb2xvci10YWJsZS1oZWFkOiAjZWVmOWY5O1xyXG4kY29sb3ItYm9yZGVyLXRhYmxlOiAjMWYwMDJiO1xyXG4kYmFja2dyb3VuZC1yb3ctMTogI2I3ZDhlMztcclxuJGJhY2tncm91bmQtcm93LTI6ICNlM2YxZjY7XHJcbiRjb2xvci10YWJsZS10ZXh0OiAjMWEyMjJhO1xyXG4kY29sb3ItdGFibGUtdGV4dC1ob3ZlcjogJG1haW5MaW5rQ29sb3ItaG92ZXI7XHJcblxyXG4vKi0tLSBJbWFnZSAtLS0tLSovXHJcbiRjb2xvci1ib3JkZXItaW1hZ2U6ICMwMDA7XHJcbiRjb2xvci1iYWNrZ3JvdW5kLWltYWdlOiAjMDAwO1xyXG5cclxuXHJcbi8qLS0tIE5vdGljZSBCb3ggLS0tKi9cclxuJGxlZ2VuZC1iYWNrZ3JvdW5kOiAjOTEyOTI5O1xyXG4kbGVnZW5kLWJvcmRlcjogIzkxMjkyOTtcclxuJGxlZ2VuZC1jb2xvcjogI2ZmZjtcclxuJG5vdGljZS1iYWNrZ3JvdW5kOiAjZTNlN2VmO1xyXG4kbm90aWNlLWJvcmRlcjogIzhkOGQ4ZDtcclxuJG5vdGljZS1jb2xvcjogIzFlMmMxOTtcclxuJG5vdGljZS1saW5rLWNvbG9yOiAjMWM3NmZkO1xyXG4kbm90aWNlLWxpbmstY29sb3ItaG92ZXI6ICNmZDRiMzY7XHJcblxyXG4vKi0tLS0gRW5kIENvbnRlbnQgQ1NTIFZhcmlibGVzIC0tLS0qL1xyXG5cclxuLyogR2VuZXJhbCAqL1xyXG4uU3RhdGljTWFpbiB7XHJcbiAgLy8gQGluY2x1ZGUgcGFkZGluZygyMHB4IDApO1xyXG4gIGNsZWFyOiBib3RoO1xyXG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XHJcbiAgY29sb3I6ICR0ZXh0LWNvbG9yOyAgXHJcblxyXG4gIGgzIHtcclxuICAgIGZvbnQtZmFtaWx5OiAkaDMtZm9udC1mYW1pbHk7XHJcbiAgICBjb2xvcjogJGgzLWNvbG9yO1xyXG4gICAgZm9udC1zaXplOiAzZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMHB4IDAgMzBweCAwO1xyXG5cclxuICB9XHJcblxyXG4gIGEge1xyXG4gICAgY29sb3I6ICRjb2xvci1saW5rLWNvbnRlbnQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6ICRjb2xvci1saW5rLWNvbnRlbnQtaG92ZXI7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHAge1xyXG4gICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICB9XHJcblxyXG4gIHVsIHtcclxuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XHJcbiAgICBwYWRkaW5nOiAwIDAgMCAwO1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgbGlzdC1zdHlsZTogZGlzYztcclxuICAgICAgcGFkZGluZzogMCAwIDAgMHB4O1xyXG4gICAgICBtYXJnaW46IDAgMCA1cHggMjBweDtcclxuXHJcbiAgICAgIHVsIHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBjaXJjbGU7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDEwcHggMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb2wge1xyXG4gICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICBsaXN0LXN0eWxlOiBkZWNpbWFsICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuQW5jaG9yTGluayB7XHJcbiAgICBtYXJnaW46IDBweCAzMHB4IDIwcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZSBvdXRzaWRlIG5vbmU7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgd2lkdGg6IDQ5JTtcclxuICAgICAgcGFkZGluZzogMCAwIDVweCA1cHg7XHJcbiAgICAgIG1hcmdpbjogMCAxJSAwIDA7XHJcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcS1tYXgoNzY4cHgpIHtcclxuICAgICAgICB3aWR0aDogMzElO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMiU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xyXG4gICAgICAgIHdpZHRoOiA0OCU7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgbXEtbWF4KDMyMHB4KSB7XHJcbiAgICAgICAgd2lkdGg6IDk4JTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBhIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWxpbmstY29udGVudDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgIHdpZHRoOiA1cHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDVweDtcclxuICAgICAgICAgIGJvcmRlcjogc29saWQgMXB4ICRjb2xvci1saW5rLWNvbnRlbnQ7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDdweDtcclxuICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgYS5BY3RpdmUsXHJcbiAgICAgIGEuQWN0aXZlOmhvdmVyLFxyXG4gICAgICBhOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWxpbmstY29udGVudC1ob3ZlcjtcclxuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDdweDtcclxuICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbGluay1jb250ZW50LWhvdmVyO1xyXG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggJGNvbG9yLWxpbmstY29udGVudC1ob3ZlcjtcclxuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICAgIGNvbG9yOiAkbWFpbkxpbmtDb2xvci1ob3ZlcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5GaXJzdENoYXIge1xyXG4gICAgcGFkZGluZzogNHB4IDRweCAwIDA7XHJcbiAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgIGZvbnQtc2l6ZTogNDJweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yLWZpcnN0LWxldHRlcjtcclxuICB9XHJcblxyXG4gIC5Db250ZW50QmxvY2sge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcblxyXG4gIC5JbWFnZXNCbG9jayB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gIH1cclxuXHJcbiAgLkltZ0NlbnRlciB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogOTAlO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICBoNCB7XHJcbiAgICBjb2xvcjogJGg0LWNvbG9yO1xyXG4gICAgcGFkZGluZzogMTBweCAwIDEwcHggJGg0LXBhZGRpbmc7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIG1hcmdpbjogMCAwIDVweCAwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9jb250ZW50L2ljb24taDQucG5nJykgbm8tcmVwZWF0O1xyXG4gIH1cclxuXHJcbiAgLkNvbnRlbnRINCB7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICAgIG1hcmdpbjogMCAwIDEwcHggJGg0LXBhZGRpbmc7XHJcbiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7XHJcblxyXG4gICAgcCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIC8qdGV4dC1hbGlnbjoganVzdGlmeTsqL1xyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5JbWFnZXNINCB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDAgMCAyMHB4ICRoNC1wYWRkaW5nO1xyXG4gIH1cclxuXHJcblxyXG4gIGg1IHtcclxuICAgIGNvbG9yOiAkaDUtY29sb3I7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCAkaDUtcGFkZGluZztcclxuICAgIG1hcmdpbjogMCAwIDEwcHggJGg0LXBhZGRpbmc7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2NvbnRlbnQvaWNvbi1oNS5wbmcnKSBuby1yZXBlYXQgMCAxMHB4O1xyXG4gIH1cclxuXHJcbiAgLkNvbnRlbnRINSB7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICAgIG1hcmdpbjogMCAwIDAgKCRoNC1wYWRkaW5nKyRoNS1wYWRkaW5nKTtcclxuICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xyXG5cclxuICAgIHAge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5JbWFnZXNINSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDAgMCAyMHB4ICRoNS1wYWRkaW5nO1xyXG4gIH1cclxuXHJcblxyXG4gIHRhYmxlIHtcclxuICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAkY29sb3ItYm9yZGVyLXRhYmxlO1xyXG4gICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcblxyXG4gICAgdGhlYWQge1xyXG4gICAgICB0ciB7XHJcbiAgICAgICAgdGgge1xyXG4gICAgICAgICAgY29sb3I6ICRjb2xvci10YWJsZS1oZWFkO1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtdGFibGUtaGVhZDtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDEwcHg7XHJcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLXRhYmxlO1xyXG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLXRhYmxlO1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItdGFibGU7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGJvZHkge1xyXG4gICAgICB0ciB7XHJcbiAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1yb3ctMTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLXJvdy0yO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgcGFkZGluZzogMTBweCAxMHB4O1xyXG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci10YWJsZTtcclxuICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XHJcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLXRhYmxlLXRleHQ7XHJcblxyXG4gICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGFibGUtdGV4dDtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGFibGUtdGV4dC1ob3ZlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRhYmxlLk5vdGljZSB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLXRhYmxlO1xyXG5cclxuICAgIHRyIHtcclxuICAgICAgdGQge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLXRhYmxlO1xyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB1bCxcclxuICAgICAgICBvbCB7XHJcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG5cclxuICAvKiBUZXh0IHN0eWxlcyAqL1xyXG4gIC5UZXh0Q2VudGVyIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIC5UZXh0UmlnaHQge1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgfVxyXG5cclxuICAuU3Ryb25nMDEge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxuICAgIGNvbG9yOiAkY29sb3Itc3Ryb25nLTE7XHJcbiAgfVxyXG5cclxuICAuU3Ryb25nMDIge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxuICAgIGNvbG9yOiAkY29sb3Itc3Ryb25nLTI7XHJcbiAgfVxyXG5cclxuICAuU3Ryb25nMDMge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxuICAgIGNvbG9yOiAkY29sb3Itc3Ryb25nLTM7XHJcbiAgfVxyXG5cclxuICAuVGV4dEZvbnQxNyB7XHJcbiAgICBmb250LXNpemU6IDE3cHg7XHJcblxyXG4gIH1cclxuXHJcbiAgLlRleHRGb250MTkge1xyXG4gICAgZm9udC1zaXplOiAxOXB4O1xyXG5cclxuICB9XHJcblxyXG4gIC5UZXh0Rm9udDIxIHtcclxuICAgIGZvbnQtc2l6ZTogMjFweDtcclxuXHJcbiAgfVxyXG5cclxuICAvKiBFTkQuIFRleHQgc3R5bGVzICovXHJcblxyXG4gIC8qIEltYWdlIHN0eWxlcyAqL1xyXG4gIC5Ob0JvcmRlckltZyB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgcGFkZGluZzogMDtcclxuICB9XHJcblxyXG4gIC5Cb3JkZXJJbWcge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWJhY2tncm91bmQtaW1hZ2U7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLWltYWdlO1xyXG4gICAgcGFkZGluZzogMHB4O1xyXG4gIH1cclxuXHJcbiAgLkltZ0xlZnQge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBtYXJnaW46IDFweCAxMHB4IDVweCAwO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci1pbWFnZTtcclxuICB9XHJcblxyXG4gIC5JbWdSaWdodCB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBtYXJnaW46IDAgMCA1cHggMTBweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItaW1hZ2U7XHJcbiAgfVxyXG5cclxuXHJcbiAgYmxvY2txdW90ZSB7XHJcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRjb2xvci1ib3JkZXItdGFibGU7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBtYXJnaW46IDAgMjBweDtcclxuICAgIHBhZGRpbmc6IDEwcHggNDBweDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHJcbiAgICAmOmJlZm9yZSxcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB3aWR0aDogMjBweDtcclxuICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgIH1cclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMTBweDtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xyXG4gICAgfVxyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjBweCAwO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG5cclxuICAvKiBOb3RpY2UgYm94ICovXHJcbiAgLk5vdGljZUJveCB7XHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCAkbm90aWNlLWJvcmRlcjtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAkbm90aWNlLWJhY2tncm91bmQ7XHJcblxyXG4gICAgcC5MZWdlbmQge1xyXG4gICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbiAgICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgICAgY29sb3I6ICRsZWdlbmQtY29sb3I7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRsZWdlbmQtYmFja2dyb3VuZDtcclxuICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICBtYXJnaW46IC0yMHB4IDAgMTBweDtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgIGJvcmRlcjogc29saWQgMXB4ICRsZWdlbmQtYm9yZGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5Ob3RlQ29udGVudCB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG4gICAgICBjb2xvcjogJG5vdGljZS1jb2xvcjtcclxuXHJcbiAgICAgIGEge1xyXG4gICAgICAgIEBpZiAkbm90aWNlLWxpbmstY29sb3IgIT1uxrBsbCB7XHJcbiAgICAgICAgICBjb2xvcjogJG5vdGljZS1saW5rLWNvbG9yO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBAaWYgJG5vdGljZS1saW5rLWNvbG9yLWhvdmVyICE9bsawbGwge1xyXG4gICAgICAgICAgICBjb2xvcjogJG5vdGljZS1saW5rLWNvbG9yLWhvdmVyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAvKiBMaXN0IHN0eWxlcyAqL1xyXG4gIHVsLkRlY2ltYWwge1xyXG4gICAgbWFyZ2luOiAwcHggMHB4IDEwcHggMHB4O1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG5cclxuICAgICAgdWwge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVsLlVwcGVyQWxwaGEge1xyXG4gICAgbWFyZ2luOiAwcHggMHB4IDEwcHggMHB4O1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgbGlzdC1zdHlsZS10eXBlOiB1cHBlci1hbHBoYTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcclxuXHJcbiAgICAgIHVsIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1bC5Mb3dlckFscGhhIHtcclxuICAgIG1hcmdpbjogMHB4IDBweCAxMHB4IDBweDtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XHJcblxyXG4gICAgICB1bCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdWwuSWNvbiB7XHJcbiAgICBtYXJnaW46IDBweCAwcHggMTBweCA1cHg7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogOHB4O1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlMDc0XCI7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdHbHlwaGljb25zSGFsZmxpbmdzJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA0cHg7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHVsIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICB1bC5Mb3dlckFscGhhIGxpIHtcclxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdWwuRGFzaCB7XHJcbiAgICBtYXJnaW46IDBweCAwcHggMTBweCA1cHg7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogOHB4O1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyMjEyXCI7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdHbHlwaGljb25zSGFsZmxpbmdzJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA1cHg7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgdWwge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVsLkRpc2Mge1xyXG4gICAgbWFyZ2luOiAwcHggMHB4IDEwcHggNXB4O1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICBtYXJnaW46IDAgMCAxMHB4IDA7XHJcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBmb250LXNpemU6IDhweDtcclxuICAgICAgICBjb250ZW50OiBcIlxcZTE2NVwiO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29uc0hhbGZsaW5ncyc7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNXB4O1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHVsIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiYm9keSB7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIC53cmFwcGVyIHtcclxuICAgIG1heC13aWR0aDogJGNvbnRhaW5lci13aWR0aDtcclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XHJcbiAgICAgIC8vIGJhY2tncm91bmQtc2l6ZTogMzE1JTtcclxuICAgIH1cclxuICB9XHJcbiAgLnRpdGxlIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIFxyXG4gICAgQGluY2x1ZGUgbWFyZ2luKDAgMCk7XHJcbiAgICAmLXN1YiB7XHJcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzMHB4KTtcclxuICAgICAgQGluY2x1ZGUgdGV4dC1kZWNvcigjMDkyYTRkLCBudWxsLCBudWxsKTtcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gID4gLmNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgfVxyXG59XHJcblxyXG4ucG9wb3ZlciB7XHJcbiAgd2lkdGg6IG1heC1jb250ZW50O1xyXG4gIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoIzQxMzAxZiwwLjgpO1xyXG4gIGJvcmRlcjogc29saWQgMXB4ICM5ZjgwNjU7XHJcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gIHotaW5kZXg6IDU7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XHJcbiAgb3BhY2l0eTogMDtcclxuICBjb2xvcjogI2ZmZmZmZjtcclxuICBmb250LXNpemU6IDE1cHg7XHJcbiAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDApO1xyXG59XHJcblxyXG5hOmhvdmVyIHtcclxuICAucG9wb3ZlciB7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHotaW5kZXg6IDEwMDtcclxuICB9XHJcbn1cclxuXHJcbm1haW4ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiA1O1xyXG4gIC8vIEBpbmNsdWRlIHBhZGRpbmcoIDM1MHB4IDAgMHB4KTtcclxuICAvLyBwYWRkaW5nOiA0ODBweCAwIDAgMDtcclxuICAvLyBtYXJnaW46IC00MTdweCAwIDAgMDtcclxuICAvLyBwYWRkaW5nOiAkZ3JpZC1ndXR0ZXItd2lkdGgvMjtcclxuICAvLyBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL21haW4tYmcucG5nKSBuby1yZXBlYXQgY2VudGVyIC0yMzJweDtcclxuICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcclxuICB9XHJcbn1cclxuXHJcbi5iYW9kYW5oIHtcclxuICBwYWRkaW5nOiAyMHB4IDAgMDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgaGVpZ2h0OiA0OTdweDtcclxuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2Jhb2RhbmgtYmcuanBnKSBuby1yZXBlYXQgY2VudGVyIHRvcC9jb3ZlcjtcclxuICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcclxuICAgIGhlaWdodDogMjkwcHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuICBAaW5jbHVkZSBtcS1tYXgoNDAwcHgpIHtcclxuICAgIGhlaWdodDogMjkwcHg7XHJcbiAgfVxyXG4gIC50aXRsZSB7XHJcbiAgICB3aWR0aDogNTgwcHg7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IDBweCBhdXRvIDA7XHJcbiAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcclxuICAgICAgXHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA2MCU7ICAgICAgICBcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAuY29udGFpbmVyIHtcclxuICAgIHotaW5kZXg6IDU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XHJcbiAgICAgIHBhZGRpbmc6MTBweDtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG4gICYtcXVhIHtcclxuICAgIG1heC13aWR0aDogODAlO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgXHJcbiAgfVxyXG4gIFxyXG4gIC50YXBob3Age1xyXG4gICAgbWFyZ2luOiAwcHggMCAwIDBweDtcclxuICAgIHBhZGRpbmc6IDAgMCAwIDIwJTtcclxuICAgIEBpbmNsdWRlIHRleHQtZGVjb3IoIzRkMWUxYywgMjBweCwgbnVsbCwgY2VudGVyLCA1MDApO1xyXG4gICAgLy8gLXdlYmtpdC10ZXh0LXN0cm9rZTogMnB4ICM1MDFlMTg7XHJcbiAgICBwYWludC1vcmRlcjogc3Ryb2tlIGZpbGw7XHJcbiAgICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJztcclxuICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnRvdGFsIHtcclxuICAgICAgY29sb3I6ICM0ZDFlMWM7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBwYWRkaW5nOiAyMHB4IDAgMCAwcHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgfVxyXG4gICAgICBzcGFuIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMTBweDtcclxuICAgICAgICBmb250LXNpemU6IDM4cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICAgICAgICBAaW5jbHVkZSB0ZXh0LWdyYWRpZW50KDBkZWcsICM1N2E3N2EgNSUsICMyNzY3NTUpO1xyXG4gICAgICAgIC8vIC13ZWJraXQtdGV4dC1zdHJva2U6IDFweCAjZmFmMmQxO1xyXG4gICAgICAgIC8vIHBhaW50LW9yZGVyOiBzdHJva2UgZmlsbDtcclxuICAgICAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICAgIC13ZWJraXQtdGV4dC1zdHJva2U6IDBweCAjZmFmMmQxO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBcclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgLmxvYWRpbmctYmxvY2sge1xyXG4gICAgd2lkdGg6IDQ5MHB4O1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcblxyXG4gICAgQGluY2x1ZGUgbXEtbWF4KDc2OHB4KSB7XHJcbiAgICAgIC8vIHdpZHRoOiA0OCU7XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5sb2FkaW5nIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9sb2FkaW5nLWJnLnBuZykgbm8tcmVwZWF0IDBweCA0cHgvMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbjogMjVweCAwIDAgMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBnYXA6IDQwcHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDQwcHg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XHJcbiAgICAgIGdhcDogMzBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1xLW1heCg0MDBweCkge1xyXG4gICAgICBnYXA6IDE1cHg7XHJcbiAgICB9XHJcbiAgICBsaSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgcGFkZGluZzogMHB4IDBweCAwO1xyXG5cclxuICAgICAgJjpub3QoLmxvYWRpbmctYmFyKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAwO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucG9wb3ZlciB7XHJcbiAgICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XHJcbiAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCMwMDAsIDAuOCk7XHJcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAjNTY5ZmIyO1xyXG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgMCBudWxsIDApO1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgICAgICAgei1pbmRleDogNTtcclxuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcclxuICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICBjb2xvcjogI2VhZjNmODtcclxuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgcGFkZGluZzogMCA1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIC5wb3BvdmVyIHtcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxMDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcS1tYXgoNzY4cHgpIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDBweDtcclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYubG9hZGluZy1iYXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDlweDtcclxuICAgICAgICBsZWZ0OiAzNXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmZWRhNWQ7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiA3cHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtcS1tYXgoNzY4cHgpIHtcclxuICAgICAgICAgIFxyXG4gICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcclxuICAgICAgICAgIGhlaWdodDogN3B4O1xyXG4gICAgICAgICAgdG9wOiAxNSU7XHJcbiAgICAgICAgICBsZWZ0OiAzMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICB3aWR0aDogNDVweDtcclxuICAgICAgICAgIGhlaWdodDogNDVweDtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbG9hZGluZy1pY29uLnBuZykgbm8tcmVwZWF0O1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgdG9wOiAtNDVweDtcclxuICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaW1nOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG5cclxuICAgICAgaW1nOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIC8vIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAvLyBpbWc6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIC8vICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgLy8gaW1nOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIC8vICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBhIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTE1JSk7XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5vZmYge1xyXG4gICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYmFvZGFuaC1idG4ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDEwcHggMCAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcclxuXHJcbiAgICAmLm9mZiB7XHJcbiAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEpO1xyXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxKSBicmlnaHRuZXNzKDEwMCUpICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEyMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubmhhbnF1YS1idG4ge1xyXG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC0zMHB4IC02NXB4IG51bGwgbnVsbCk7XHJcbiAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgICAmLm9mZiB7XHJcbiAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xyXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcblxyXG4gICAgICAmOmhvdmVyIHt9XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7fVxyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG4uY2hpZXVtbyB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGhlaWdodDogOTQ1cHg7XHJcbiAgcGFkZGluZzogMHB4ICRncmlkLWd1dHRlci13aWR0aC8yIDMwcHg7XHJcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9jaGlldW1vLWJnLmpwZykgbm8tcmVwZWF0IGNlbnRlciB0b3AvY292ZXI7XHJcbiAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XHJcbiAgICBoZWlnaHQ6IDU1MHB4O1xyXG4gIH1cclxuICAudGl0bGUge1xyXG4gICAgbWFyZ2luOiAwIDAgMHB4O1xyXG4gICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgd2lkdGg6IDYwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi10dW9uZyB7XHJcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMTIwcHggbnVsbCBudWxsIDUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICB9XHJcblxyXG4gIC55b3VyaWQge1xyXG5cclxuICAgIEBpbmNsdWRlIHRleHQtZGVjb3IoIzQ2MzQxZCwgMjBweCwgdXBwZXJjYXNlLCBjZW50ZXIpO1xyXG4gICAgbWFyZ2luOiAwcHggYXV0byAxMHB4O1xyXG5cclxuICAgIHNwYW4ge1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICBmb250LXNpemU6IDIzcHg7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC52b25ncXVheSB7XHJcbiAgICB3aWR0aDogJGNvbnRhaW5lci13aWR0aDtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMHB4IGF1dG8gMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIFxyXG5cclxuICAgIHVsIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBpbWcge1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcyg5NSUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgaW1nOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAucG9wb3ZlciB7XHJcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCMwMDAsIDAuOCk7XHJcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggIzlmODA2NTtcclxuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCBudWxsIDAgMjUlKTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgei1pbmRleDogNTtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIGNvbG9yOiAjYWJhMjgxO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMCA1cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIC5wb3BvdmVyIHtcclxuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgei1pbmRleDogMTAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xyXG4gICAgICB1bCBsaSBpbWcge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5xdWEtMDEge1xyXG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMTAlIG51bGwgbnVsbCAxMiUpO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XHJcbiAgICAgICAgLy8gdG9wOiAtMzVweDtcclxuICAgICAgICBsZWZ0OiA0JTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5xdWEtMDIge1xyXG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMTQwcHggbnVsbCBudWxsIDIwcHgpO1xyXG4gICAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcclxuICAgICAgICB0b3A6IDgwcHg7XHJcbiAgICAgICAgbGVmdDogLTEwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucXVhLTAzIHtcclxuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDI5MHB4IG51bGwgbnVsbCAzMHB4KTtcclxuICAgICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XHJcbiAgICAgICAgdG9wOiAxNzBweDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnF1YS0wNCB7XHJcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA0MTBweCBudWxsIG51bGwgMTAwcHgpO1xyXG4gICAgICAvLyBAaW5jbHVkZSBtcS1tYXgoNzY4cHgpIHtcclxuICAgICAgLy8gICBsZWZ0OiAyOCU7XHJcbiAgICAgIC8vIH1cclxuICAgICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XHJcbiAgICAgICAgdG9wOiAyMzVweDtcclxuICAgICAgICBsZWZ0OiA0NXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnF1YS0wNSB7XHJcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAxNXB4IDgwcHggbnVsbCBudWxsKTtcclxuICAgICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnF1YS0wNiB7XHJcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAxNDBweCAyMHB4IG51bGwgbnVsbCk7XHJcbiAgICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xyXG4gICAgICAgIHRvcDogODBweDtcclxuICAgICAgICByaWdodDogLTE1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucXVhLTA3IHtcclxuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDI5MHB4IDMwcHggbnVsbCBudWxsKTtcclxuICAgICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XHJcbiAgICAgICAgdG9wOiAxNzBweDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5xdWEtMDgge1xyXG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNDEwcHggMTAwcHggbnVsbCBudWxsKTtcclxuICAgICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XHJcbiAgICAgICAgdG9wOiAyMzVweDtcclxuICAgICAgICByaWdodDogNjBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmx1b3RxdWF5IHtcclxuICAgIHdpZHRoOiAyNzBweDtcclxuICAgIGhlaWdodDogNTZweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2x1b3RxdWF5LWJnLnBuZykgbm8tcmVwZWF0IDAgMDtcclxuICAgIEBpbmNsdWRlIHRleHQtZGVjb3IoIzRkMWUxYywgMTVweCwgbnVsbCwgY2VudGVyLCA2MDApO1xyXG4gICAgLy8gLXdlYmtpdC10ZXh0LXN0cm9rZTogMXB4ICM1MDFlMTg7XHJcbiAgICAvLyBwYWludC1vcmRlcjogc3Ryb2tlIGZpbGw7XHJcbiAgICBwYWRkaW5nOiAwIDA7XHJcbiAgICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJztcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MDBweCBudWxsIG51bGwgNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIHotaW5kZXg6IDEwO1xyXG4gICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XHJcbiAgICAgIHRvcDogMzEwcHg7XHJcbiAgICAgIGxlZnQ6IDQyJTtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KSB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbXEtbWF4KDQwMHB4KSB7XHJcbiAgICAgIHRvcDogMjkwcHg7XHJcbiAgICAgIGxlZnQ6IDQ0JTtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjY1KSB0cmFuc2xhdGVYKC02NSUpO1xyXG4gICAgfVxyXG4gICAgLnRvdGFsIHtcclxuICAgICAgY29sb3I6ICMyNzY3NTU7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjVweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgIC8vIC13ZWJraXQtdGV4dC1zdHJva2U6IDNweCAjZmFmMmQxO1xyXG4gICAgICAvLyBwYWludC1vcmRlcjogc3Ryb2tlIGZpbGw7XHJcbiAgICB9XHJcbiAgICBcclxuICB9XHJcblxyXG4gIC5jaGlldW1vLWJ0biB7XHJcbiAgICB3aWR0aDogMTEwcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIEBleHRlbmQgLmJ0bi1ob3Zlci16b29tO1xyXG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDIzMHB4IG51bGwgbnVsbCA0MDBweCk7XHJcbiAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcclxuICAgICAgbWF4LXdpZHRoOiA2NXB4O1xyXG4gICAgICB0b3A6IDE0MHB4O1xyXG4gICAgICBsZWZ0OiA1NSU7XHJcbiAgICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAlKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAucXVhLWxpc3Qge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIC8vIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIG1hcmdpbjogNzUlIGF1dG8gNXB4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBnYXA6IDYwcHg7XHJcbiAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcclxuICAgICAgbWFyZ2luLXRvcDogODAlO1xyXG4gICAgICBnYXA6IDA7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtcS1tYXgoNDAwcHgpIHtcclxuICAgICAgbWFyZ2luLXRvcDogMTAwJTtcclxuICAgICAgZ2FwOiAwO1xyXG4gICAgfVxyXG4gICAgbGkge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIG1hcmdpbjogMCAxMHB4O1xyXG5cclxuICAgICAgc3BhbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCAyNXB4IDUwJSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLm9mZiB7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xyXG5cclxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGEge1xyXG4gICAgICAgIC8vIEBleHRlbmQgLmJ0bi1ob3Zlci1zaGluZTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGluaXRpYWw7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gLnBvcG92ZXIge1xyXG4gICAgICAvLyAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgIC8vICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAvLyAgIGhlaWdodDogNTAlO1xyXG4gICAgICAvLyAgIHRvcDogLTQzJTtcclxuICAgICAgLy8gfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG4uYnRucy1ibG9jayB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgdHJhbnNmb3JtOiBub25lO1xyXG4gIG1hcmdpbjogMHB4IGF1dG8gMHB4O1xyXG4gIHotaW5kZXg6IDM7XHJcblxyXG4gIGEge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbjogMCAxMHB4O1xyXG5cclxuICAgIC8vIHRleHQtc2hhZG93OiAwcHggMHB4IDJweCAjMTUxODI3O1xyXG4gICAgLy8gQGluY2x1ZGUgdGV4dC1kZWNvcihudWxsLCAxN3B4LCBudWxsLCBjZW50ZXIsIDUwMCk7XHJcblxyXG4gICAgLy8gZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYic7XHJcbiAgICAvLyBzcGFuIHtcclxuICAgIC8vICAgQGluY2x1ZGUgdGV4dC1ncmFkaWVudCgxODBkZWcsICNhMjQzMjcsICM2NzMzMjIpO1xyXG4gICAgLy8gfVxyXG4gICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XHJcbiAgICAgIC8vIHdpZHRoOiAzMCU7XHJcbiAgICAgIC8vIGhlaWdodDogNDBweDtcclxuICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAvLyBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2J1dHRvbi1iZy1ob3Zlci5wbmcpIG5vLXJlcGVhdDtcclxuICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDEyMCUpO1xyXG4gICAgICAvLyB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qLS0tIERhYyBzYWMgLS0tKi9cclxuLmRhY3NhYyB7XHJcbiAgaGVpZ2h0OiA1NDVweDtcclxuICBwYWRkaW5nOiA0MHB4ICRncmlkLWd1dHRlci13aWR0aC8yIDA7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZGFjc2FjLWJnLmpwZykgbm8tcmVwZWF0IGNlbnRlciB0b3AvY292ZXI7XHJcbiAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XHJcbiAgICBoZWlnaHQ6IDM5MHB4O1xyXG4gIH1cclxuICAudGl0bGUge1xyXG4gICAgbWFyZ2luOiAwIDAgMHB4IDBweDtcclxuICB9XHJcblxyXG4gICYtZnJhbWUge1xyXG4gICAgd2lkdGg6IDU1MHB4O1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgLy8gaGVpZ2h0OiA1ODBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgcGFkZGluZzogMTlweCAyMHB4IDEwcHggMjVweDtcclxuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZGFjc2FjLWZyYW1lLnBuZykgbm8tcmVwZWF0IDAgMC9jb3ZlcjtcclxuICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xyXG4gICAgICBwYWRkaW5nOiAxNHB4IDIzcHggN3B4IDE5cHg7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcclxuICAgICAgbWFyZ2luLXRvcDogLTclO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmRhY3NhYy1zbGlkZXIge1xyXG4gICAgbWFyZ2luOiAwcHggYXV0byAwICFpbXBvcnRhbnQ7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XHJcbiAgICAvLyB3aWR0aDogODk1cHg7XHJcbiAgICAvLyBoZWlnaHQ6IDUxNXB4O1xyXG5cclxuICAgIC8vIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgIFxyXG4gICAgLnN3aXBlci1zbGlkZSB7XHJcbiAgICAgIGZpbHRlcjogYmx1cig0cHgpO1xyXG5cclxuICAgICAgJi5zd2lwZXItc2xpZGUtYWN0aXZlIHtcclxuICAgICAgICBmaWx0ZXI6IGJsdXIoMHB4KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAvLyAmOmFmdGVyIHtcclxuICAgICAgLy8gICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIC8vICAgdG9wOiAwO1xyXG4gICAgICAvLyAgIGxlZnQ6IDA7XHJcbiAgICAgIC8vICAgYm90dG9tOiAwO1xyXG4gICAgICAvLyAgIHJpZ2h0OiAwO1xyXG4gICAgICAvLyAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAvLyAgIHotaW5kZXg6IDI7XHJcbiAgICAgIC8vICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9kYWNzYWMtYm9yZGVyLnBuZykgbm8tcmVwZWF0IDAgMC8xMDAlO1xyXG4gICAgICAvLyB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgJi1wYWdpbmF0aW9uIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMHB4IDAgMCAwO1xyXG5cclxuICAgIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xyXG4gICAgICB3aWR0aDogMjBweDtcclxuICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICBtYXJnaW46IDAgNXB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2RhY3NhYy1kb3QucG5nKSBuby1yZXBlYXQgMCAwO1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG5cclxuICAgICAgJi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2RhY3NhYy1kb3QtaG92ZXIucG5nKSBuby1yZXBlYXQgMCAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucHJldi1idG4ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogNDVweDtcclxuICAgIHRvcDogNTglO1xyXG4gICAgei1pbmRleDogNTtcclxuICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICBAaW5jbHVkZSBtcS1tYXgoNzY4cHgpIHtcclxuICAgICAgLy8gbGVmdDogMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XHJcbiAgICAgIGxlZnQ6IC00M3B4O1xyXG4gICAgICB0b3A6IDQwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5uZXh0LWJ0biB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogNDVweDtcclxuICAgIHRvcDogNTglO1xyXG4gICAgei1pbmRleDogNTtcclxuICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICBAaW5jbHVkZSBtcS1tYXgoNzY4cHgpIHtcclxuICAgICAgLy8gcmlnaHQ6IDBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xyXG4gICAgICByaWdodDogLTQzcHg7XHJcbiAgICAgIHRvcDogNDAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgW2NsYXNzKj1cIi1idG5cIl0ge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTE1JSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8qLS0tIFBvcHVwIC0tLSovXHJcbi5wb3B1cCB7XHJcbiAgb3BhY2l0eTogMDtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDB2aDtcclxuICB6LWluZGV4OiAxMDAxO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XHJcblxyXG4gIC5wb3B1cC1iZyB7XHJcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7XHJcbiAgfVxyXG5cclxuICAmLmFjdGl2ZSB7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC8vIGFuaW1hdGlvbjogZ3Jvd0luIDAuNXMgZWFzZS1pbi1vdXQ7XHJcbiAgICAvLyAtd2Via2l0LWFuaW1hdGlvbjogZ3Jvd0luIDAuNXMgZWFzZS1pbi1vdXQ7XHJcbiAgfVxyXG5cclxuICAmLWNsb3NlIHtcclxuICAgIHBhZGRpbmc6IDBweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDEwcHg7XHJcbiAgICB0b3A6IC01MHB4O1xyXG4gICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxODAlKTtcclxuICAgICAgLy8gdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtY29udGVudCB7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICB3aWR0aDogNTA1cHg7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDMwMHB4O1xyXG4gICAgcGFkZGluZzogMzBweCA3MHB4IDMwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3BvcHVwLWJnLnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIvMTAwJTtcclxuICAgIEBpbmNsdWRlIHRleHQtZGVjb3IoI2ZmZiwgMThweCwgbnVsbCwgY2VudGVyKTtcclxuICAgIC8vIC13ZWJraXQtdGV4dC1zdHJva2U6ICMzMTRlMmQgMXB4O1xyXG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYic7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICBwIHtcclxuICAgICAgdGV4dC1zaGFkb3c6XHJcbiAgICAgICAgLTFweCAtMXB4IDAgIzMxNGUyZCxcclxuICAgICAgICAxcHggLTFweCAwICMzMTRlMmQsXHJcbiAgICAgICAgLTFweCAxcHggMCAjMzE0ZTJkLFxyXG4gICAgICAgIDFweCAxcHggMCAjMzE0ZTJkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5hY3RpdmUgJi1jb250ZW50IHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xyXG4gIH1cclxuXHJcbiAgJi10aXRsZSB7XHJcbiAgICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJztcclxuICAgIEBpbmNsdWRlIHRleHQtZGVjb3IoI2ZmZiwgMjJweCwgbnVsbCwgY2VudGVyLCA1MDApO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgIHRleHQtc2hhZG93OlxyXG4gICAgICAtMXB4IC0xcHggMCAjMzE0ZTJkLFxyXG4gICAgICAxcHggLTFweCAwICMzMTRlMmQsXHJcbiAgICAgIC0xcHggMXB4IDAgIzMxNGUyZCxcclxuICAgICAgMXB4IDFweCAwICMzMTRlMmQ7XHJcbiAgfVxyXG5cclxuICBwIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4ucG9wdXAtbW9pYmFuLFxyXG4ucG9wdXAtdGFuZyxcclxuLnBvcHVwLWdpZnRjb2RlIHtcclxuICBAaW5jbHVkZSB0ZXh0LWRlY29yKCNmZmYsIDE4cHgsIG51bGwsIGNlbnRlcik7XHJcblxyXG4gIC52YWx1ZSB7XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMTIxMjEyO1xyXG4gICAgd2lkdGg6IDkwJTtcclxuICAgIGNvbG9yOiAjZmVmN2VkO1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAwIGF1dG8gMTBweDtcclxuICAgIGJvcmRlcjogc29saWQgMXB4ICMxMjEyMTI7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBAaW5jbHVkZSB0ZXh0LWVsbGlwc2lzKDMwMHB4KTtcclxuICB9XHJcblxyXG4gIC5pZCB7XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZlZGNmO1xyXG4gICAgd2lkdGg6IDgwJTtcclxuICAgIGNvbG9yOiAjZjdmYWZmO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGZvbnQtc2l6ZTogMjFweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjZmZlZGNmO1xyXG4gIH1cclxuXHJcbiAgLnN1Ym1pdCB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxufVxyXG5cclxuLnBvcHVwLXNjcm9sbCB7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgQGluY2x1ZGUgc2Nyb2xsLWJhcigjYjE2MDAwLCAjZmZmLCA1cHgpO1xyXG5cclxuICAvLyBkaXNwbGF5OiBmbGV4O1xyXG4gIC8vIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgLy8ganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgLy8gZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLnBvcHVwLWJ0biB7XHJcbiAgQGV4dGVuZCAuYnRuLWhvdmVyLXpvb207XHJcbn1cclxuXHJcbi5wb3B1cC1jaGlldW1vLFxyXG4ucG9wdXAtbGljaHN1LFxyXG4ucG9wdXAtdGhlbGUge1xyXG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XHJcbiAgd2lkdGg6IDU0NXB4O1xyXG4gIGhlaWdodDogNTgwcHg7XHJcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wb3B1cC1iZy0yLmpwZykgbm8tcmVwZWF0IGNlbnRlciBib3R0b207XHJcbiAgcGFkZGluZzogNTBweCAyMHB4IDUwcHggNDBweDtcclxuICBib3JkZXI6IHNvbGlkIDJweCAjNDNhYjkyO1xyXG5cclxuICBwIHtcclxuICAgIHRleHQtc2hhZG93OiBub25lO1xyXG4gICAgY29sb3I6ICM0YjYxNGE7XHJcbiAgfVxyXG5cclxuICAucG9wdXAtY2xvc2Uge1xyXG4gICAgcmlnaHQ6IC0ycHg7XHJcbiAgICB0b3A6IC0zNXB4O1xyXG4gIH1cclxuXHJcbiAgLnBvcHVwLXRpdGxlIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLnBvcHVwLWxpY2hzdSxcclxuLnBvcHVwLXRoZWxlIHtcclxuICB0YWJsZSB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcblxyXG4gICAgdGhlYWQge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjNDJhMTg5O1xyXG5cclxuICAgICAgdGQge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgY29sb3I6ICNmMmYyZjI7XHJcbiAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgIH1cclxuXHJcbiAgICB0ZCB7XHJcbiAgICAgIGJvcmRlcjogc29saWQgMXB4ICMwMDAwMDA7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICBjb2xvcjogIzAwMDtcclxuICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuU3RhdGljTWFpbiB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICB9XHJcbn1cclxuXHJcbi5wb3B1cC10dWkge1xyXG4gICYtbGlzdCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDEwcHggMCAwIDA7XHJcbiAgICBnYXA6IDE1cHg7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgICAgaW1nIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiA1NXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtcS1tYXgoNDAwcHgpIHtcclxuICAgICAgICAgIG1heC13aWR0aDogNDdweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucXVhbnRpdHkge1xyXG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgLTE2cHggbnVsbCBudWxsIC0xNnB4KTtcclxuICAgICAgd2lkdGg6IDMycHg7XHJcbiAgICAgIGhlaWdodDogMzJweDtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcG9wdXAtc29sdW9uZy1pbnB1dHRleHQucG5nKSBuby1yZXBlYXQgMCAwO1xyXG4gICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yKCNmZmYsIDE1cHgsIHVwcGVyY2FzZSwgY2VudGVyLCA2MDApO1xyXG4gICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgdGV4dC1zaGFkb3c6XHJcbiAgICAgICAgLTFweCAtMXB4IDAgIzMxNGUyZCxcclxuICAgICAgICAxcHggLTFweCAwICMzMTRlMmQsXHJcbiAgICAgICAgLTFweCAxcHggMCAjMzE0ZTJkLFxyXG4gICAgICAgIDFweCAxcHggMCAjMzE0ZTJkO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICAudGFuZy1idG4ge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ucG9wdXAtcXVhIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgaGVpZ2h0OiA0MDBweDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcclxuXHJcbiAgLmdpZnQtbmFtZSB7XHJcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMThweCk7XHJcbiAgICBAaW5jbHVkZSB0ZXh0LWRlY29yKCMzNjM2MzYsIG51bGwsIHVwcGVyY2FzZSwgY2VudGVyKTtcclxuICAgIEBpbmNsdWRlIG1hcmdpbigwcHggMCAyMHB4IDApO1xyXG4gIH1cclxuXHJcbiAgLnhlbWxpY2hzdS1idG4ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IC0zMHB4IDAgMCAwO1xyXG5cclxuICB9XHJcbn1cclxuXHJcblxyXG4ucG9wdXAtZGFuZ2t5c29tIHtcclxuICB3aWR0aDogNjY1cHg7XHJcbiAgaGVpZ2h0OiA0ODBweDtcclxuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3BvcHVwLWRhbmdreXNvbS5wbmcpIG5vLXJlcGVhdCAwIDAvIDEwMCU7XHJcbiAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XHJcbiAgICBoZWlnaHQ6IDMyNXB4O1xyXG4gIH1cclxuICBcclxuICAucG9wdXAtY2xvc2Uge1xyXG4gICAgdG9wOiA4MHB4O1xyXG4gICAgcmlnaHQ6IDBweDtcclxuICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xyXG4gICAgICB0b3A6IDBcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtYnRuIHtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIG51bGwgNSUgNjUlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDEyMCUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5mYWRlQnV0dG9uSW5PdXQge1xyXG4gIGltZzpudGgtY2hpbGQoMikge1xyXG4gICAgXHJcbiAgICBhbmltYXRpb246IGZhZGVCdXR0b25Jbk91dCAxcyBlYXNlLWluLW91dCAwcyBpbmZpbml0ZSBhbHRlcm5hdGU7XHJcbiAgfSBcclxufVxyXG5Aa2V5ZnJhbWVzIGZhZGVCdXR0b25Jbk91dCB7XHJcbiAgMCUge1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxMDAlKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxMTUlKTtcclxuICB9XHJcbn1cclxuXHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRpbmdcclxuXHJcbi8qIFNhZmFyaSBhbmQgQ2hyb21lICovXHJcbiAge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRpbmcge1xyXG4gIGZyb20ge1xyXG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICB9XHJcbn1cclxuXHJcbi5yb3RhdGluZyB7XHJcbiAgLy8gLXdlYmtpdC1hbmltYXRpb246IHJvdGF0aW5nIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xyXG4gIC8vIC1tb3otYW5pbWF0aW9uOiByb3RhdGluZyAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcclxuICAvLyAtbXMtYW5pbWF0aW9uOiByb3RhdGluZyAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcclxuICAvLyAtby1hbmltYXRpb246IHJvdGF0aW5nIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xyXG4gIGFuaW1hdGlvbjogcm90YXRpbmcgMzBzIGxpbmVhciBpbmZpbml0ZTtcclxuICBcclxufVxyXG5cclxuXHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0aW9uIHtcclxuICBmcm9tIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgbGFudGVybmEge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxKTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgLTQwcHgpIHNjYWxlKDEuMSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwcHgsIC00MHB4KSBzY2FsZSgxLjEpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwcHgsIC00MHB4KSBzY2FsZSgxLjEpO1xyXG4gIH1cclxufSIsIi5idXR0b25zLWZvb3RlciB7XHJcbiAgcGFkZGluZzogMTBweDtcclxuICBiYWNrZ3JvdW5kOiAjMGIwYjBiO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgQGluY2x1ZGUgbWFyZ2luKDAgMCAwcHgpO1xyXG5cclxuICBhIHtcclxuICAgIG1hcmdpbjogMCAzcHg7XHJcbiAgfVxyXG59XHJcblxyXG4kZm9vdGVyLWNvbG9yOiAjN2E3YTdhO1xyXG5cclxuLmZvb3RlciB7XHJcbiAgY29sb3I6ICRmb290ZXItY29sb3I7XHJcbiAgcGFkZGluZzogMjBweCAwO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBiYWNrZ3JvdW5kOiAjMTkxOTE5O1xyXG4gIGZvbnQtc2l6ZTogMTFweDtcclxuXHJcbiAgLmNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gIH1cclxuXHJcbiAgJi1pdGVtIHtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG5cclxuICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xyXG4gICAgICBtYXJnaW4tdG9wOiAyNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIGxpIHtcclxuICAgICAgY29sb3I6ICRmb290ZXItY29sb3I7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcbiAgICAgIGEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xyXG4gICAgICAgICAgcGFkZGluZzogMCA1cHg7XHJcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgY29sb3I6ICNlOGE1ODc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY21uLW5hbWUge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICB9XHJcblxyXG4gIC5jb3B5cmlnaHQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGNvbG9yOiAkZm9vdGVyLWNvbG9yO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMDtcclxuICB9XHJcblxyXG4gIC5pbWcxOCB7XHJcbiAgICAvLyBoZWlnaHQ6IDEwMCU7XHJcbiAgICBtYXJnaW46IDAgMTBweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcclxuICAgICAgd2lkdGg6IDM1cHg7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhIHtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gIH1cclxuXHJcbiAgLmNtbiB7XHJcbiAgICAvLyBoZWlnaHQ6IDEwMCU7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcclxuICAgICAgd2lkdGg6IDYwcHg7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmFkZHJlc3Mge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAwIDEwJTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbn0iXX0= */
